Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 9 Aug 2013 13:41:56 -0700
From:      Alan Cox <alc@rice.edu>
To:        John Baldwin <jhb@freebsd.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, "David E. O'Brien" <obrien@freebsd.org>
Subject:   Re: svn commit: r254150 - head/sys/vm
Message-ID:  <DD399E2C-B4B2-41B3-9C64-CD73FC3B5040@rice.edu>
In-Reply-To: <201308091639.30727.jhb@freebsd.org>
References:  <201308091643.r79GhoWx023884@svn.freebsd.org> <201308091556.47535.jhb@freebsd.org> <DA97389E-DAB5-4DB6-BB52-417CDBBB0BF9@rice.edu> <201308091639.30727.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

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

> On Friday, August 09, 2013 4:34:36 pm Alan Cox wrote:
>>=20
>> On Aug 9, 2013, at 12:56 PM, John Baldwin wrote:
>>=20
>>> 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
>>>>=20
>>>> Log:
>>>> Add missing 'VPO_BUSY' from r254141 to fix kernel build break.
>>>>=20
>>>> Modified:
>>>> head/sys/vm/vm_page.h
>>>=20
>>> This can't possibly be correct as r254138 just removed this flag.  =
If it=20
> isn't=20
>>> obvious how to fix the uses added back in r254141, then r254141 =
should be=20
>>> reverted instead.
>>>=20
>>> Hmm, looking at the relevant bits of r254141, it doesn't look =
obvious:
>>>=20
>>> +       /* Detach the old page from the resident tailq. */
>>> +       TAILQ_REMOVE(&object->memq, mold, listq);
>>> +       vm_page_lock(mold);
>>=20
>> Replace the next four lines with
>>=20
>> 	vm_page_xunbusy(mold);
>=20
> That is going to recurse on vm_page_lock(), is that ok?
>=20


No, it's not.


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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?DD399E2C-B4B2-41B3-9C64-CD73FC3B5040>