[Intel-gfx] [regression] drm/i915: Eliminate nested get/put pages
Alexey Fisher
bug-track at fisher-privat.net
Tue Nov 2 13:01:10 CET 2010
this is regression seems to depend on xserver-xorg-video-intel version.
xserver-xorg-video-intel version 2:2.12.0-1ubuntu5
i used till kernel 2.6.36-07547-g100519e, which was fine.
no i use xserver-xorg-video-intel
2:2.12.902+git20101028.b066ddda-0ubuntu0sarvatt2~maverick
what make kernel oops on dual core and complete freeze with maxcpus=1.
See oops on the end.
the commit i get first freez witch is
"e5281ccd2e0049e2b9e8ce82449630d25082372d".
The problem is, after this commit it will freeze on the boot, but last
intel_drm_next freeze on login to gnome, after x is actually started.
My HW: eeepc 1005, 945gm graphik
intel_stepping
Vendor: 0x8086, Device: 0x27ae, Revision: 0x03 (??)
commit e5281ccd2e0049e2b9e8ce82449630d25082372d
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Thu Oct 28 13:45:36 2010 +0100
drm/i915: Eliminate nested get/put pages
By using read_cache_page() for individual pages during pwrite/pread we
can eliminate an unnecessary large allocation (and immediate free) of
obj->pages. Also this eliminates any potential nesting of get/put pages,
simplifying the code and preparing the path for greater things.
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
[ 38.549876] ------------[ cut here ]------------
[ 38.550003] kernel BUG
at /home/src/linux-2.6/drivers/gpu/drm/i915/i915_gem.c:4185!
[ 38.550173] invalid opcode: 0000 [#1] SMP
[ 38.550287] last sysfs
file: /sys/devices/pci0000:00/0000:00:1b.0/sound/card0/uevent
[ 38.550464] Modules linked in: rfcomm binfmt_misc sco bnep l2cap
snd_hda_codec_realtek snd_hda_intel snd_hda_codec snd_hwdep arc4
snd_pcm_oss snd_mixer_oss snd_pcm ecb ath9k snd_seq_dummy snd_seq_oss
mac80211 snd_seq_midi ath9k_common ath9k_hw snd_rawmidi btusb
snd_seq_midi_event snd_seq bluetooth ath snd_timer snd_seq_device
cfg80211 uvcvideo psmouse atl1c videodev serio_raw v4l1_compat snd
shpchp uhci_hcd soundcore snd_page_alloc
[ 38.551648]
[ 38.551691] Pid: 1651, comm: Xorg Not tainted 2.6.36-07555-gf2a630b
#160 1005HA/1005HA
[ 38.551880] EIP: 0060:[<c1213dad>] EFLAGS: 00213202 CPU: 0
[ 38.552011] EIP is at i915_gem_object_pin+0x16b/0x176
[ 38.552011] EAX: 00009c9b EBX: f01ed540 ECX: 00000001 EDX: 00008000
[ 38.552011] ESI: f5072000 EDI: 00000000 EBP: efbaa278 ESP: f1ca9dc4
[ 38.552011] DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
[ 38.552011] Process Xorg (pid: 1651, ti=f1ca8000 task=f269f900
task.ti=f1ca8000)
[ 38.552011] Stack:
[ 38.552011] 01010969 f1ca9e98 f01ed540 00000001 c1215482 00000001
00000000 00000000
[ 38.552011] <0> efbaa240 f5031c00 f1d5c7e0 00000003 f1ca9e01 efbab940
00000003 f5072000
[ 38.552011] <0> f5072018 c1212463 00000000 f2733080 00ce9040 c12150b2
00000000 00000000
[ 38.552011] Call Trace:
[ 38.552011] [<c1215482>] ? i915_gem_do_execbuffer+0x38f/0xbe4
[ 38.552011] [<c1212463>] ? i915_gem_object_set_to_gtt_domain
+0x75/0x7b
[ 38.552011] [<c12150b2>] ? i915_gem_pwrite_ioctl+0x880/0x8c1
[ 38.552011] [<c10a445f>] ? __kmalloc+0x111/0x11c
[ 38.552011] [<c1215d6c>] ? i915_gem_execbuffer2+0x95/0xd8
[ 38.552011] [<c11f9ff1>] ? drm_ioctl+0x225/0x2d8
[ 38.552011] [<c1215cd7>] ? i915_gem_execbuffer2+0x0/0xd8
[ 38.552011] [<c11532e5>] ? smk_access+0x83/0x155
[ 38.552011] [<c1153494>] ? smk_curacc+0x76/0x81
[ 38.552011] [<c1151eb1>] ? smack_file_ioctl+0x4f/0x80
[ 38.590993] [<c11f9dcc>] ? drm_ioctl+0x0/0x2d8
[ 38.590993] [<c10b13a4>] ? do_vfs_ioctl+0x49f/0x4eb
[ 38.590993] [<c10b1435>] ? sys_ioctl+0x45/0x65
[ 38.590993] [<c1002893>] ? sysenter_do_call+0x12/0x22
[ 38.590993] Code: 41 04 89 08 8b 86 58 11 00 00 89 96 58 11 00 00 81
c6 54 11 00 00 89 43 64 89 73 60 89 10 f6 43 7a 08 75 0b 80 7c 24 02 00
74 04 <0f> 0b eb fe 31 c0 5f 5b 5e 5f c3 55 57 56 89 c6 53 8d 64 24 fc
[ 38.612053] EIP: [<c1213dad>] i915_gem_object_pin+0x16b/0x176 SS:ESP
0068:f1ca9dc4
--
Regards,
Alexey
More information about the Intel-gfx
mailing list