[Nouveau] [TTM] general protection fault in ttm_tt_swapout, to_virtual looks screwed up

Maarten Maathuis madman2003 at gmail.com
Sat Jan 9 15:41:30 PST 2010


I've been noticing for a while that i've been getting general
protection faults in ttm_to_swapout, this time i was printk'ing the
virtual addresses.

In case it's not obvious, the result of kmap_atomic() is wrong.

This is nouveau/linux-2.6 which is somewhere after 2.6.32. I was
wondering if anyone has ever seen anything like this?

from_virtual ffff88003088b000 to_virtual ffff88003100f000
from_virtual ffff88003088c000 to_virtual ffff880031018000
from_virtual ffff88003088d000 to_virtual ffff880031019000
from_virtual ffff88003088e000 to_virtual ffff88003101a000
from_virtual ffff88003088f000 to_virtual ffff88003101b000
from_virtual ffff880030890000 to_virtual ffff880031016000
from_virtual ffff880030891000 to_virtual ffff880031017000
from_virtual ffff880030892000 to_virtual ffff88003101c000
from_virtual ffff880030893000 to_virtual ffff88003101d000
from_virtual ffff880030894000 to_virtual ffff88003101e000
from_virtual ffff880030895000 to_virtual ffff88003101f000
from_virtual ffff880030896000 to_virtual ffff88001c626000
from_virtual ffff880030897000 to_virtual ffff88001c627000
from_virtual ffff880030898000 to_virtual ffff88001c752000
from_virtual ffff880030899000 to_virtual ffff88001c66d000
from_virtual ffff88003089a000 to_virtual ffff88001c642000
from_virtual ffff8800308db000 to_virtual 0005d12492492000
general protection fault: 0000 [#1] PREEMPT
last sysfs file: /sys/devices/pci0000:00/0000:00:08.0/host3/uevent
CPU 0
Modules linked in: nouveau snd_ice1724 snd_rawmidi wm8775 tuner ttm
drm_kms_helper usbhid snd_ice17xx_ak4xxx snd_ac97_codec ac97_bus
snd_ak4xxx_adda snd_ak4114 cx25840 snd_pcm ivtv drm snd_timer
snd_page_alloc snd_pt2258 snd_i2c cx2341x agpgart ehci_hcd
i2c_algo_bit i2c_nforce2 tveeprom snd soundcore ohci_hcd
Pid: 1501, comm: ttm_swap Not tainted 2.6.32-00848-gedc4439-dirty #172
System Product Name
RIP: 0010:[<ffffffffa017c3fb>]  [<ffffffffa017c3fb>]
ttm_tt_swapout+0x135/0x1db [ttm]
RSP: 0000:ffff88003749fce0  EFLAGS: 00010282
RAX: 0000000000000040 RBX: 0005d12492492000 RCX: 0000000000000400
RDX: 00000000ffffffff RSI: ffff8800308db000 RDI: 0005d12492492000
RBP: ffff88003749fd30 R08: 0000000000be8bfa R09: ffff88003749fb30
R10: 000000000000000f R11: 0000000000000020 R12: ffff8800308db000
R13: ffff880030a7a4e0 R14: fffffffffffffff4 R15: ffff880037795a00
FS:  00007fa003a78700(0000) GS:ffffffff814d8000(0000) knlGS:00000000f5a256d0
CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
CR2: 00007fcac3873f80 CR3: 000000003ecfd000 CR4: 00000000000006f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process ttm_swap (pid: 1501, threadinfo ffff88003749e000, task ffff88003d2ae360)
Stack:
 ffff88003e00b910 ffff88003749ffd8 ffff880037795a00 ffff8800377918b8
<0> 000000001f4be800 ffff88001f4be870 ffff88001f4be800 0000000000000000
<0> ffff88001f4be844 ffff88003edb95d8 ffff88003749fdb0 ffffffffa017d550
Call Trace:
 [<ffffffffa017d550>] ttm_bo_swapout+0x1df/0x222 [ttm]
 [<ffffffffa017b38d>] ttm_shrink+0x9b/0xc0 [ttm]
 [<ffffffffa017b3c6>] ttm_shrink_work+0x14/0x16 [ttm]
 [<ffffffff810489c7>] worker_thread+0x1b7/0x25e
 [<ffffffffa017b3b2>] ? ttm_shrink_work+0x0/0x16 [ttm]
 [<ffffffff8104bd8a>] ? autoremove_wake_function+0x0/0x38
 [<ffffffff81048810>] ? worker_thread+0x0/0x25e
 [<ffffffff8104ba75>] kthread+0x7c/0x84
 [<ffffffff8100bd6a>] child_rip+0xa/0x20
 [<ffffffffa01d776e>] ? nouveau_mem_init_heap+0x5d/0xfd [nouveau]
 [<ffffffff8104b9f9>] ? kthread+0x0/0x84
 [<ffffffff8100bd60>] ? child_rip+0x0/0x20
Code: 04 00 00 00 e8 97 f7 ff ff 4c 89 e6 48 89 c2 48 89 c3 48 c7 c7
92 1f 18 a0 31 c0 e8 ca ad 19 e1 48 89 df 4c 89 e6 b9 00 04 00 00 <f3>
a5 e8 ba f7 ff ff e8 b5 f7 ff ff bf 01 00 00 00 e8 c4 f0 19
RIP  [<ffffffffa017c3fb>] ttm_tt_swapout+0x135/0x1db [ttm]
 RSP <ffff88003749fce0>
---[ end trace 8724ec5cfdbfe4ce ]---
note: ttm_swap[1501] exited with preempt_count 3


More information about the Nouveau mailing list