Date: Tue, 13 Aug 2013 16:22:31 +0200 From: Ulrich =?utf-8?B?U3DDtnJsZWlu?= <uqs@FreeBSD.org> To: Attilio Rao <attilio@FreeBSD.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@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: <20130813142230.GE54133@acme.spoerlein.net> In-Reply-To: <201308091111.r79BBCbY095386@svn.freebsd.org> References: <201308091111.r79BBCbY095386@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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 > > 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. > > 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 > > 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. > > Sponsored by: EMC / Isilon storage division > Discussed with: alc > Reviewed by: jeff, kib > Tested by: gavin, bapt (older version) > Tested by: pho, scottl 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. Thanks! Uli
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130813142230.GE54133>