* 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