NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

re: kern/54817: kernel stall in radeon_gem_object_create

Izumi Tsutsui writes:
> Dec 25 02:26:49 mirage /netbsd: [ 4974.8588428] kern error: [drm:(../../../../external/bsd/drm2/dist/drm/radeon/radeon_gem.c:84)radeon_gem_object_create] *ER
> ROR* Failed to allocate GEM object (4792320, 2, 4096, -12)
[ ... ] 
> The machine has Radeon HD5450 and it fails to start Xorg,
> so I put the following line in /etc/X11/xorg.conf (see PR/54782):
> >>  Option "AccelMethod" "uxa"

hmm.  i am using a 5450 without any xorg.conf and it works
mostly fine for me.  i wonder what is up with this part.

oh perhaps it is an i386 vs amd64 specific issue.  can you
file a differenet PR for this part?

> >Fix:
> No idea.  Something uses malloc(9) with M_NOWAIT as PR/54796 in audio(9)?

i've been tracking a problem like this down for a few months.
it comes and goes for me, and usually i have to restart X to
recover (there is another one that usually requires a reboot
to get accel back, i haven't managed to get much info about
at all yet.)

for most cases i've seen with my instrumentation, the
ultimate cause is bus_dma eg, my diag patch shows this:

kern error: ttm_bus_dma_populate:82 bus_dmamap_load_pglist failed: -12

is matched with this:

        ret = -bus_dmamap_load_pglist(ttm_dma->ttm.bdev->dmat,
            ttm_dma->dma_address, &ttm_dma->ttm.pglist,
            (ttm_dma->ttm.num_pages << PAGE_SHIFT), BUS_DMA_WAITOK);
	if (ret) printk(KERN_ERR "%s:%d bus_dmamap_load_pglist failed: %d\n", __func__, __LINE__, ret);

as you can see, BUS_DMA_WAITOK is used already.

this isn't the only case i've seen, though.  i'm not sure
what is going on, and the other reboot-requiring problem
has been happening more frequently since i got as far as
locating the above.


Home | Main Index | Thread Index | Old Index