svn commit: r254150 - head/sys/vm

Alan Cox alc at rice.edu
Fri Aug 9 20:42:02 UTC 2013


On Aug 9, 2013, at 1:39 PM, John Baldwin wrote:

> On Friday, August 09, 2013 4:34:36 pm Alan Cox wrote:
>> 
>> On Aug 9, 2013, at 12:56 PM, John Baldwin wrote:
>> 
>>> On Friday, August 09, 2013 12:43:50 pm David E. O'Brien wrote:
>>>> Author: obrien
>>>> Date: Fri Aug  9 16:43:50 2013
>>>> New Revision: 254150
>>>> URL: http://svnweb.freebsd.org/changeset/base/254150
>>>> 
>>>> Log:
>>>> Add missing 'VPO_BUSY' from r254141 to fix kernel build break.
>>>> 
>>>> Modified:
>>>> head/sys/vm/vm_page.h
>>> 
>>> This can't possibly be correct as r254138 just removed this flag.  If it 
> isn't 
>>> obvious how to fix the uses added back in r254141, then r254141 should be 
>>> reverted instead.
>>> 
>>> Hmm, looking at the relevant bits of r254141, it doesn't look obvious:
>>> 
>>> +       /* Detach the old page from the resident tailq. */
>>> +       TAILQ_REMOVE(&object->memq, mold, listq);
>>> +       vm_page_lock(mold);
>> 
>> Replace the next four lines with
>> 
>> 	vm_page_xunbusy(mold);
> 
> That is going to recurse on vm_page_lock(), is that ok?
> 


No, it's not.


>>> +       if (mold->oflags & VPO_BUSY) {
>>> +               mold->oflags &= ~VPO_BUSY;
>>> +               vm_page_flash(mold);
>>> +       }
>>> 
>>> Since nothing is setting this flag, this can't possibly work correctly 
>>> currently.  I wouldn't boot a top-of-tree kernel right now. :(
>>> 
>>> -- 
>>> John Baldwin
>>> 
>> 
>> 
> 
> -- 
> John Baldwin
> 



More information about the svn-src-head mailing list