svn commit: r186730 - in head...
Grzegorz Bernacki
gjb at semihalf.com
Wed Jan 28 02:37:06 PST 2009
Mark Tinguely wrote:
> Here is the "svn diff" from a week or so ago. The url is below in case
> the inclusion adds some extra characters.
>
> http://www.casselton.net/~tinguely/arm_pmap_unmanage.diff
>
Mark,
I downloaded your patch and applied it (after a few modification to get rid of compile errors). However, when I boot the board with new code it hangs. The problem is with uma allocator for pv_entries. When there is no more entries available it create new ones. It includes mapping memory into kernel using pmap_qenter. And then recurrence starts, pmap_qenter calls pmap_kenter which tries to allocate pv_entry and so on.
I think that pv_entries for pmap_kenter should be allocated from some special pool to avoid this problem. Or some threshold could be set for uma allocator to force allocation of new pv_entries if number of free entries drops below the threshold, but I am not sure if it is possible without extending uma interface.
Grzesiek
More information about the freebsd-arm
mailing list