freebsd7 (and 8), radeon, xorg-server -> deadlock or so

Norbert Papke npapke at acm.org
Sat Feb 13 23:12:58 UTC 2010


On February 13, 2010, Robert Noland wrote:
> On Sat, 2010-02-13 at 11:37 -0800, Norbert Papke wrote:
> > On February 13, 2010, Robert Noland wrote:
> > > Ok, I've put up a patch at:
> > > 
> > > http://people.freebsd.org/~rnoland/drm-radeon-test.patch
> 
> http://people.freebsd.org/~rnoland/drm-radeon-8-test.patch
> 
> This one should work on 8...

Thanks, the patch applies and builds cleanly.

Unfortunately, it does not fix things for me.  
I am back to completely hanging the system.  I getting 
the sense that there is some randomness or a timing issue.  
Changes that improved the behavior in one trial do not 
necessarily help in another trial.

One thing I did is enable DRM_DEBUG.  I wanted to get 
sense of how far we got before the hang.  Unfortunately, 
there is no guarantee that log messages will be persisted 
before the system hangs.  In a few attempts, the latest 
messages I observed were the following:

Feb 13 13:37:58 proven kernel: [drm:pid41750:r600_do_init_cp] dev->agp_buffer_map->virtual 0xffffff807a51b000
Feb 13 13:37:58 proven kernel: info: [drm] Setting GART location based on new memory map
Feb 13 13:37:58 proven kernel: [drm:pid41750:r600_do_init_cp] fb 0xd0000000 size 536870912
Feb 13 13:37:58 proven kernel: [drm:pid41750:r600_do_init_cp] dev_priv->gart_size 33554432
Feb 13 13:37:58 proven kernel: [drm:pid41750:r600_do_init_cp] dev_priv->gart_vm_start 0xf0000000
Feb 13 13:37:58 proven kernel: [drm:pid41750:r600_do_init_cp] dev_priv->gart_buffers_offset 0xf0102000
Feb 13 13:37:58 proven kernel: [drm:pid41750:r600_do_init_cp] Using gart offset 0x0fff0000
Feb 13 13:37:58 proven kernel: [drm:pid41750:r600_do_init_cp] Setting phys_pci_gart to 0xffffff00dfff0000 0FFF0000
Feb 13 13:37:58 proven kernel: [drm:pid41750:r600_page_table_init] page entry 0: 0x00000000b956c063
Feb 13 13:37:58 proven kernel: [drm:pid41750:r600_page_table_init] page entry 128: 0x0000000082128063
Feb 13 13:37:58 proven kernel: [drm:pid41750:r600_page_table_init] page entry 256: 0x0000000098b8a063

[...]

Feb 13 13:37:58 proven kernel: [drm:pid41750:r600_page_table_init] page entry 7936: 0x00000000499df063
Feb 13 13:37:58 proven kernel: [drm:pid41750:r600_page_table_init] page entry 8064: 0x0000000049a21063
Feb 13 13:37:58 proven kernel: info: [drm] Loading RV635 Microcode
Feb 13 13:37:58 proven kernel: [drm:pid41750:r600_do_cp_stop]

I will repeat the experiment a few more times.

Cheers.

-- Norbert Papke.
   npapke at acm.org



More information about the freebsd-stable mailing list