public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
* Re: commit 440fd52 drm/mm: Support 4GiB and larger ranges oops on 32bit kernel
       [not found] <54FF3532.8080701@winsoft.pl>
@ 2015-03-11  8:13 ` Chris Wilson
  2015-03-15 19:22   ` Krzysztof Kolasa
  0 siblings, 1 reply; 5+ messages in thread
From: Chris Wilson @ 2015-03-11  8:13 UTC (permalink / raw)
  To: Krzysztof Kolasa
  Cc: alexander.deucher, airlied, intel-gfx, treding, dri-devel

[cc'ing lists]

On Tue, Mar 10, 2015 at 07:17:22PM +0100, Krzysztof Kolasa wrote:
> System ( 32bit, Intel 945GM ) hangs after some short time, oops:
> 
> ------------[ cut here ]------------
> kernel BUG at drivers/gpu/drm/drm_mm.c:305!
> invalid opcode: 0000 [#1] SMP
> Modules linked in: arc4 md4 cfg80211 8192cu(O) pci_stub vboxpci(O)
> vboxnetadp(O) vboxnetflt(O) vboxdrv(O) snd_hda_codec_si3054
> snd_hda_codec_realtek snd_hda_codec_generic snd_hda_intel
> snd_hda_controller snd_hda_codec snd_hwdep snd_pcm microcode
> snd_seq_midi snd_seq_midi_event snd_rawmidi joydev serio_raw snd_seq
> snd_timer snd_seq_device rfcomm bnep bluetooth i915 snd lpc_ich
> drm_kms_helper soundcore drm i2c_algo_bit parport_pc ppdev video
> mac_hid coretemp lp parport nls_utf8 cifs usb_storage psmouse
> 8139too 8139cp mii
> CPU: 0 PID: 1165 Comm: Xorg Tainted: G           O
> 4.0.0-rc3-winsoft-x86+ #11
> Hardware name: FUJITSU SIEMENS AMILO Pro Edition V3405        /AMILO
> Pro Edition V3405        , BIOS R01-B0E    03/20/2007
> task: f64e0db0 ti: f4566000 task.ti: f4566000
> EIP: 0060:[<f88c7d62>] EFLAGS: 00213206 CPU: 0
> EIP is at drm_mm_insert_node_in_range_generic+0x432/0x4d0 [drm]
> EAX: 01000000 EBX: 00c78000 ECX: f6d4c908 EDX: 00000000
> ESI: f6d4c900 EDI: f6d4c900 EBP: f4567c78 ESP: f4567bf8
> DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
> CR0: 8005003b CR2: b4a02000 CR3: 345f2000 CR4: 000007f0
> Stack:
>  f4567c64 00000000 00800000 00000000 00800000 f6d4c900 ffffffff f4882700
>  00000000 00000000 00000000 00a88000 00000000 10000000 00478000 00000000
>  00000000 00000000 00000000 00f00000 00000000 00000000 00000000 f472c33c
> Call Trace:
>  [<f8b2634e>] i915_gem_object_pin_view+0x3ce/0x840 [i915]
>  [<f8b1f601>] ? i915_gem_obj_lookup_or_create_vma_view+0x41/0x160 [i915]
>  [<f8b196d2>] i915_gem_execbuffer_reserve_vma.isra.11+0x62/0x100 [i915]
>  [<f8b19a01>] i915_gem_execbuffer_reserve+0x291/0x2e0 [i915]
>  [<f8b1a340>] i915_gem_do_execbuffer.isra.16+0x4f0/0xd10 [i915]
>  [<c1189430>] ? poll_select_copy_remaining+0x100/0x100
>  [<c116a8fd>] ? __kmalloc+0x4d/0x190
>  [<f8b1bbdb>] i915_gem_execbuffer2+0x8b/0x2c0 [i915]
>  [<f8b1bb50>] ? i915_gem_execbuffer+0x4e0/0x4e0 [i915]
>  [<f88bffa7>] drm_ioctl+0x1b7/0x510 [drm]
>  [<f8b1bb50>] ? i915_gem_execbuffer+0x4e0/0x4e0 [i915]
>  [<c10aac52>] ? ktime_get_ts64+0x52/0x1a0
>  [<f88bfdf0>] ? drm_getmap+0xb0/0xb0 [drm]
>  [<c11888ea>] do_vfs_ioctl+0x30a/0x530
>  [<c1305626>] ? _copy_to_user+0x26/0x30
>  [<c10aac52>] ? ktime_get_ts64+0x52/0x1a0
>  [<c1190ee2>] ? __fget_light+0x22/0x60
>  [<c1188b70>] SyS_ioctl+0x60/0x90
>  [<c1630ec8>] sysenter_do_call+0x12/0x12
> Code: ff ff 3b 55 e8 8d 74 26 00 77 10 73 04 0f 0b 66 90 3b 45 e4 90
> 8d 74 26 00 72 f2 8b 75 94 03 46 20 13 56 24 3b 55 f0 72 0d 76 06
> <0f> 0b 8d 74 26 00 3b 45 ec 77 f5 39 55 c4 77 10 73 04 0f 0b 66
> EIP: [<f88c7d62>] drm_mm_insert_node_in_range_generic+0x432/0x4d0
> [drm] SS:ESP 0068:f4567bf8
> ---[ end trace 4648f53699b9eb32 ]---
> 
> after revert commit 440fd52 system working OK
> 
> Krzysztof
> 

-- 
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: commit 440fd52 drm/mm: Support 4GiB and larger ranges oops on 32bit kernel
  2015-03-11  8:13 ` commit 440fd52 drm/mm: Support 4GiB and larger ranges oops on 32bit kernel Chris Wilson
@ 2015-03-15 19:22   ` Krzysztof Kolasa
  2015-03-15 19:31     ` Chris Wilson
  0 siblings, 1 reply; 5+ messages in thread
From: Krzysztof Kolasa @ 2015-03-15 19:22 UTC (permalink / raw)
  To: Chris Wilson; +Cc: alexander.deucher, airlied, intel-gfx, treding, dri-devel

Problem solved and tested:

[PATCH] drm/mm: Fix support 4 GiB and larger ranges

bad argument if(tmp)... in check_free_hole

fix oops: kernel BUG at drivers/gpu/drm/drm_mm.c:305!

Signed-off-by: Krzysztof Kolasa <kkolasa@winsoft.pl>
---
 drivers/gpu/drm/drm_mm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/drm_mm.c b/drivers/gpu/drm/drm_mm.c
index 7fc6f8b..1134526 100644
--- a/drivers/gpu/drm/drm_mm.c
+++ b/drivers/gpu/drm/drm_mm.c
@@ -403,7 +403,7 @@ static int check_free_hole(u64 start, u64 end, u64 size, unsigned alignment)
         unsigned rem;
 
         rem = do_div(tmp, alignment);
-        if (tmp)
+        if (rem)
             start += alignment - rem;
     }
 
-- 
2.3.3.dirty

On 11.03.2015 09:13, Chris Wilson wrote:
> [cc'ing lists]
>
> On Tue, Mar 10, 2015 at 07:17:22PM +0100, Krzysztof Kolasa wrote:
>> System ( 32bit, Intel 945GM ) hangs after some short time, oops:
>>
>> ------------[ cut here ]------------
>> kernel BUG at drivers/gpu/drm/drm_mm.c:305!
>> invalid opcode: 0000 [#1] SMP
>> Modules linked in: arc4 md4 cfg80211 8192cu(O) pci_stub vboxpci(O)
>> vboxnetadp(O) vboxnetflt(O) vboxdrv(O) snd_hda_codec_si3054
>> snd_hda_codec_realtek snd_hda_codec_generic snd_hda_intel
>> snd_hda_controller snd_hda_codec snd_hwdep snd_pcm microcode
>> snd_seq_midi snd_seq_midi_event snd_rawmidi joydev serio_raw snd_seq
>> snd_timer snd_seq_device rfcomm bnep bluetooth i915 snd lpc_ich
>> drm_kms_helper soundcore drm i2c_algo_bit parport_pc ppdev video
>> mac_hid coretemp lp parport nls_utf8 cifs usb_storage psmouse
>> 8139too 8139cp mii
>> CPU: 0 PID: 1165 Comm: Xorg Tainted: G           O
>> 4.0.0-rc3-winsoft-x86+ #11
>> Hardware name: FUJITSU SIEMENS AMILO Pro Edition V3405        /AMILO
>> Pro Edition V3405        , BIOS R01-B0E    03/20/2007
>> task: f64e0db0 ti: f4566000 task.ti: f4566000
>> EIP: 0060:[<f88c7d62>] EFLAGS: 00213206 CPU: 0
>> EIP is at drm_mm_insert_node_in_range_generic+0x432/0x4d0 [drm]
>> EAX: 01000000 EBX: 00c78000 ECX: f6d4c908 EDX: 00000000
>> ESI: f6d4c900 EDI: f6d4c900 EBP: f4567c78 ESP: f4567bf8
>> DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
>> CR0: 8005003b CR2: b4a02000 CR3: 345f2000 CR4: 000007f0
>> Stack:
>>  f4567c64 00000000 00800000 00000000 00800000 f6d4c900 ffffffff f4882700
>>  00000000 00000000 00000000 00a88000 00000000 10000000 00478000 00000000
>>  00000000 00000000 00000000 00f00000 00000000 00000000 00000000 f472c33c
>> Call Trace:
>>  [<f8b2634e>] i915_gem_object_pin_view+0x3ce/0x840 [i915]
>>  [<f8b1f601>] ? i915_gem_obj_lookup_or_create_vma_view+0x41/0x160 [i915]
>>  [<f8b196d2>] i915_gem_execbuffer_reserve_vma.isra.11+0x62/0x100 [i915]
>>  [<f8b19a01>] i915_gem_execbuffer_reserve+0x291/0x2e0 [i915]
>>  [<f8b1a340>] i915_gem_do_execbuffer.isra.16+0x4f0/0xd10 [i915]
>>  [<c1189430>] ? poll_select_copy_remaining+0x100/0x100
>>  [<c116a8fd>] ? __kmalloc+0x4d/0x190
>>  [<f8b1bbdb>] i915_gem_execbuffer2+0x8b/0x2c0 [i915]
>>  [<f8b1bb50>] ? i915_gem_execbuffer+0x4e0/0x4e0 [i915]
>>  [<f88bffa7>] drm_ioctl+0x1b7/0x510 [drm]
>>  [<f8b1bb50>] ? i915_gem_execbuffer+0x4e0/0x4e0 [i915]
>>  [<c10aac52>] ? ktime_get_ts64+0x52/0x1a0
>>  [<f88bfdf0>] ? drm_getmap+0xb0/0xb0 [drm]
>>  [<c11888ea>] do_vfs_ioctl+0x30a/0x530
>>  [<c1305626>] ? _copy_to_user+0x26/0x30
>>  [<c10aac52>] ? ktime_get_ts64+0x52/0x1a0
>>  [<c1190ee2>] ? __fget_light+0x22/0x60
>>  [<c1188b70>] SyS_ioctl+0x60/0x90
>>  [<c1630ec8>] sysenter_do_call+0x12/0x12
>> Code: ff ff 3b 55 e8 8d 74 26 00 77 10 73 04 0f 0b 66 90 3b 45 e4 90
>> 8d 74 26 00 72 f2 8b 75 94 03 46 20 13 56 24 3b 55 f0 72 0d 76 06
>> <0f> 0b 8d 74 26 00 3b 45 ec 77 f5 39 55 c4 77 10 73 04 0f 0b 66
>> EIP: [<f88c7d62>] drm_mm_insert_node_in_range_generic+0x432/0x4d0
>> [drm] SS:ESP 0068:f4567bf8
>> ---[ end trace 4648f53699b9eb32 ]---
>>
>> after revert commit 440fd52 system working OK
>>
>> Krzysztof
>>

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: commit 440fd52 drm/mm: Support 4GiB and larger ranges oops on 32bit kernel
  2015-03-15 19:22   ` Krzysztof Kolasa
@ 2015-03-15 19:31     ` Chris Wilson
  2015-03-15 23:15       ` Dave Airlie
  0 siblings, 1 reply; 5+ messages in thread
From: Chris Wilson @ 2015-03-15 19:31 UTC (permalink / raw)
  To: Krzysztof Kolasa
  Cc: alexander.deucher, airlied, intel-gfx, treding, dri-devel

On Sun, Mar 15, 2015 at 08:22:36PM +0100, Krzysztof Kolasa wrote:
> Problem solved and tested:
> 
> [PATCH] drm/mm: Fix support 4 GiB and larger ranges
> 
> bad argument if(tmp)... in check_free_hole
> 
> fix oops: kernel BUG at drivers/gpu/drm/drm_mm.c:305!
> 
> Signed-off-by: Krzysztof Kolasa <kkolasa@winsoft.pl>

Nice catch!
Reviewed-by: Chris wilson <chris@chris-wilson.co.uk>
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: commit 440fd52 drm/mm: Support 4GiB and larger ranges oops on 32bit kernel
  2015-03-15 19:31     ` Chris Wilson
@ 2015-03-15 23:15       ` Dave Airlie
  2015-03-16  9:06         ` Thierry Reding
  0 siblings, 1 reply; 5+ messages in thread
From: Dave Airlie @ 2015-03-15 23:15 UTC (permalink / raw)
  To: Chris Wilson, Krzysztof Kolasa, Thierry Reding, Dave Airlie,
	Deucher, Alexander, intel-gfx@lists.freedesktop.org, dri-devel

On 16 March 2015 at 05:31, Chris Wilson <chris@chris-wilson.co.uk> wrote:
> On Sun, Mar 15, 2015 at 08:22:36PM +0100, Krzysztof Kolasa wrote:
>> Problem solved and tested:
>>
>> [PATCH] drm/mm: Fix support 4 GiB and larger ranges
>>
>> bad argument if(tmp)... in check_free_hole
>>
>> fix oops: kernel BUG at drivers/gpu/drm/drm_mm.c:305!
>>
>> Signed-off-by: Krzysztof Kolasa <kkolasa@winsoft.pl>
>
> Nice catch!
> Reviewed-by: Chris wilson <chris@chris-wilson.co.uk>
> -Chris

Nice work, that was what I planned on doing today, I've sent to Linus
and already merged for rc4.

Dave.
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: commit 440fd52 drm/mm: Support 4GiB and larger ranges oops on 32bit kernel
  2015-03-15 23:15       ` Dave Airlie
@ 2015-03-16  9:06         ` Thierry Reding
  0 siblings, 0 replies; 5+ messages in thread
From: Thierry Reding @ 2015-03-16  9:06 UTC (permalink / raw)
  To: Dave Airlie
  Cc: intel-gfx@lists.freedesktop.org, dri-devel, Deucher, Alexander,
	Dave Airlie, Krzysztof Kolasa


[-- Attachment #1.1: Type: text/plain, Size: 1038 bytes --]

On Mon, Mar 16, 2015 at 09:15:22AM +1000, Dave Airlie wrote:
> On 16 March 2015 at 05:31, Chris Wilson <chris@chris-wilson.co.uk> wrote:
> > On Sun, Mar 15, 2015 at 08:22:36PM +0100, Krzysztof Kolasa wrote:
> >> Problem solved and tested:
> >>
> >> [PATCH] drm/mm: Fix support 4 GiB and larger ranges
> >>
> >> bad argument if(tmp)... in check_free_hole
> >>
> >> fix oops: kernel BUG at drivers/gpu/drm/drm_mm.c:305!
> >>
> >> Signed-off-by: Krzysztof Kolasa <kkolasa@winsoft.pl>
> >
> > Nice catch!
> > Reviewed-by: Chris wilson <chris@chris-wilson.co.uk>
> > -Chris
> 
> Nice work, that was what I planned on doing today, I've sent to Linus
> and already merged for rc4.

I was somewhat surprised that this patch got merged. I think Russell had
some objections to it (he would've preferred to see it use page-granular
allocations and hence avoid the need to switch to u64).

But since it's already landed in Linus' tree and this fix in v4.0-rc4 I
guess it'd be too much churn to back it out again.

Thierry

[-- Attachment #1.2: Type: application/pgp-signature, Size: 819 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-03-16  9:06 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <54FF3532.8080701@winsoft.pl>
2015-03-11  8:13 ` commit 440fd52 drm/mm: Support 4GiB and larger ranges oops on 32bit kernel Chris Wilson
2015-03-15 19:22   ` Krzysztof Kolasa
2015-03-15 19:31     ` Chris Wilson
2015-03-15 23:15       ` Dave Airlie
2015-03-16  9:06         ` Thierry Reding

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox