[Nouveau] low memory

Xavier shiningxc at gmail.com
Fri Jan 8 07:15:26 PST 2010


On Fri, Jan 8, 2010 at 3:55 PM, Xavier <shiningxc at gmail.com> wrote:
> On Fri, Jan 8, 2010 at 1:50 AM, Xavier <shiningxc at gmail.com> wrote:
>>
>> Strange, I am 99% sure I did update libdrm , and before updating ddx.
>> I will double-check tomorrow.
>>
>> And I indeed found this commit :
>> http://cgit.freedesktop.org/nouveau/xf86-video-nouveau/commit/?id=bb1947831d9a4e080b8d1e9dba086af6527ef479
>> So I assume the libdrm one is this one on the same day :
>> http://cgit.freedesktop.org/mesa/drm/commit/?id=f1660c249198b5cc14ebbb75107da7bcb6972033
>>
>> So by playing with these two commits, I should also be able to provide
>> more information. Thanks !
>>
>
> So it more looks like a drm/ttm problem.
> With a recent drm/ttm (after 98ba9c1322), firefox just displays a
> black box instead of the picture, the system lags a bit, and I get the
> following in dmesg :
> [   75.800986] [drm] nouveau 0000:03:00.0: validate: -12
> [   75.801365] [drm] nouveau 0000:03:00.0: validate: -12
> [   80.772360] reserve_ram_pages_type failed 0xc403000-0xc404000,
> track 0x8, req 0x10
>
> If I go before the drm/ttm merge, it still works fine. commit b5d1f52b
> or earlier.
>
> If I try to go somewhere between b5d1f52b and 98ba9c1322, I get the
> attached bug. But that might be because some important bugfix has been
> made at the end of that range, like "drm/nouveau: Fix "general
> protection fault" in the flipd/flips eviction path."
>
> Here is the commit range I mentioned :
>

I restricted the commit range to 2 relevant commits.
b5d1f52b works.
1e6cb7f causes the NULL pointer dereference in ttm_bo_mem_space+0x1e5/0x37b
162c700 fixes the NULL pointer dereference but I get the "validate: -12" error.

I am afraid this does not shed any light on the matter, and that the
real problem came earlier (probably in the huge ttm rework) but that
it was not apparent before these two ttm/nouveau fixes.

commit 162c70052890d24e7508a3c41212a8f87f17f39f
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Wed Dec 16 19:05:00 2009 +0100

    drm/nouveau: Fix "general protection fault" in the flipd/flips
eviction path.

    Signed-off-by: Francisco Jerez <currojerez at riseup.net>

commit 1e6cb7f7e94360d06ffff481a2980cf00a8a968e
Author: Dave Airlie <airlied at redhat.com>
Date:   Mon Dec 14 14:51:35 2009 +1000

    drm/ttm: fix two bugs in new placement routines.

    a) the loops were going to <= not <, leading to illegal memory access
    b) the busy placement checks were using the placement arrays not the
       busy placement ones.

    Acked-by: Jerome Glisse <jglisse at redhat.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit b5d1f52b73059bd34355e35654abc91015e03bb5
Author: Ben Skeggs <bskeggs at redhat.com>
Date:   Wed Dec 16 16:22:42 2009 +1000

    drm/nouveau: fix bug causing pinned buffers to lose their NO_EVICT flag

    Signed-off-by: Ben Skeggs <bskeggs at redhat.com>


More information about the Nouveau mailing list