Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 20 Aug 2013 16:26:59 -0600
From:      "Justin T. Gibbs" <gibbs@FreeBSD.org>
To:        attilio@FreeBSD.org
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, =?iso-8859-1?Q?Ulrich_Sp=F6rlein?= <uqs@freebsd.org>
Subject:   Re: svn commit: r254138 - in head: share/man/man9 sys/amd64/amd64 sys/arm/arm sys/cddl/contrib/opensolaris/uts/common/fs/zfs sys/dev/agp sys/dev/drm2/i915 sys/dev/drm2/ttm sys/dev/md sys/fs/fuse sys/fs...
Message-ID:  <F5A20064-F154-4AE9-94D0-31D32299628C@FreeBSD.org>
In-Reply-To: <CAJ-FndCKp5xfeuTp0BcpDMX8BE7-jfSePq45v-8aNdYZFyZuXw@mail.gmail.com>
References:  <201308091111.r79BBCbY095386@svn.freebsd.org> <20130813142230.GE54133@acme.spoerlein.net> <CAJ-FndCKp5xfeuTp0BcpDMX8BE7-jfSePq45v-8aNdYZFyZuXw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Aug 13, 2013, at 8:59 AM, Attilio Rao <attilio@freebsd.org> wrote:

> On Tue, Aug 13, 2013 at 4:22 PM, Ulrich Sp=F6rlein <uqs@freebsd.org> =
wrote:
>> On Fri, 2013-08-09 at 11:11:12 +0000, Attilio Rao wrote:
>>> Author: attilio
>>> Date: Fri Aug  9 11:11:11 2013
>>> New Revision: 254138
>>> URL: http://svnweb.freebsd.org/changeset/base/254138
>>>=20
>>> Log:
>>>  The soft and hard busy mechanism rely on the vm object lock to =
work.
>>>  Unify the 2 concept into a real, minimal, sxlock where the shared
>>>  acquisition represent the soft busy and the exclusive acquisition
>>>  represent the hard busy.
>>>  The old VPO_WANTED mechanism becames the hard-path for this new =
lock
>>>  and it becomes per-page rather than per-object.
>>>  The vm_object lock becames an interlock for this functionality:
>>>  it can be held in both read or write mode.
>>>  However, if the vm_object lock is held in read mode while acquiring
>>>  or releasing the busy state, the thread owner cannot make any
>>>  assumption on the busy state unless it is also busying it.
>>>=20
>>>  Also:
>>>  - Add a new flag to directly shared busy pages while vm_page_alloc
>>>    and vm_page_grab are being executed.  This will be very helpful
>>>    once these functions happen under a read object lock.
>>>  - Move the swapping sleep into its own per-object flag
>>>=20
>>>  The KPI is heavilly changed this is why the version is bumped.
>>>  It is very likely that some VM ports users will need to change
>>>  their own code.
>>>=20
>>>  Sponsored by:       EMC / Isilon storage division
>>>  Discussed with:     alc
>>>  Reviewed by:        jeff, kib
>>>  Tested by:  gavin, bapt (older version)
>>>  Tested by:  pho, scottl
>>=20
>> The changes to sys/vm/vm_fault.c introduce a call to
>> vm_page_sleep_if_busy() where the return code is not checked. The =
other
>> 5 places in the tree check the return code, please fix this here too.
>> It's CID 1062398, and I would encourage folks to get an account with
>> scan.coverity.com and have an eye on newly found defects.
>=20
> Not true.
> The same call existed also before with exactly the same semantic.
> The trick there is that it is not important to check for the return
> value because we are going to retry the operation anyway.
> The code looks ok to me.
>=20
> Attilio

If this is the case, perhaps the call should be prefixed with "(void)".
That would at least tell the next person reading the code that this
is intentional.

--
Justin=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?F5A20064-F154-4AE9-94D0-31D32299628C>