Few more fixes to the new pagetable page allocation code.

C. Jayachandran c.jayachandran at gmail.com
Thu May 27 14:26:27 UTC 2010


The attached changes
(http://people.freebsd.org/~jchandra/for-review/pmap-free-pte-page.diff)
finally seems to get rid of the occasional hangs I saw during testing.

The first part fixes a lock order reversal (in
pmap_remove_pages...pmap_release_pte_page...uma_zfree_arg...kmem_malloc).
 The pmap and pagequeue locks have to be released before calling
uma_zfree().  The second part takes the the pagequeue lock before
changing the page fields of the pte page, I'm not sure this is
necessary.

Please let me know you comments. With these changes, I can get 'make
-j128 buildworld' consistently work on a 32 cpu setup.

Thanks,
JC.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pmap-free-pte-page.diff
Type: text/x-patch
Size: 821 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-mips/attachments/20100527/dbf3859c/pmap-free-pte-page.bin


More information about the freebsd-mips mailing list