On 06/04/16 15:02, Konstantin Belousov wrote:
> On Sat, Jun 04, 2016 at 02:59:01PM -0400, Michael Butler wrote:
>> On 06/04/16 13:47, Konstantin Belousov wrote:
>>  [ .. snip .. ]
>>> I believe that this is a bug in amd64 pmap. Fictitious pages are not
>>> promoted, in particular, the pv_table array does not span over the
>>> dynamically registered fictitious ranges. As result, pa_to_pvh() returns
>>> garbage and pvh must not be accessed in the case of 'small_mappings' in
>>> several pmap functions.  It is typically not accessed, except in case
>>> when we have to drop and reacquire pv lock, to avoid LOR with pmap.
>>> i386 does not have the issue, due to pvh_global_lock.
>>> Below is the supposed fix (not tested).
>>  [ .. snip .. ]
>> Is this something I should test and, should it not introduce any other
>> issues, might get committed?
> Would be nice to test.  I expect that this patch is going to be committed,
> after the review.

I will do so this evening and add a kprintf to the previous band-aid to
see if it prevents the problematic condition from occurring.

If it counts, my test laptop has a Core-2 Duo so it is entirely possible
that multiple threads are running concurrently,


freebsd-current@freebsd.org mailing list
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to