From owner-svn-src-head@FreeBSD.ORG Tue Aug 13 14:59:26 2013 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 6E5BB78B; Tue, 13 Aug 2013 14:59:26 +0000 (UTC) (envelope-from asmrookie@gmail.com) Received: from mail-wg0-x232.google.com (mail-wg0-x232.google.com [IPv6:2a00:1450:400c:c00::232]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 5AC2E2C81; Tue, 13 Aug 2013 14:59:25 +0000 (UTC) Received: by mail-wg0-f50.google.com with SMTP id m15so6752822wgh.29 for ; Tue, 13 Aug 2013 07:59:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:reply-to:sender:in-reply-to:references:date:message-id :subject:from:to:content-type:content-transfer-encoding; bh=yuVUJgACz6oE6bRPG326uGUrLvVZmTiLEDRargwsumM=; b=k1fzU6X/+yjZWDZmVJSObYWnFvcqcBFpclFXbY/sy0Yd25e37whyaVy0xei1HyyTEU 4eJKtFPCMZ/wZt9zBBL1glRdaUZSxHh8J3yFrJhi83O+kIh/h2uHLFQXW/it48QvtQ7+ TZlcU9Bl6RnuBbs1ti21JAXVHPneEcrJgOG8ibkqJaShvnmlwBvNkEZu8dpSskL8TiYd dN9zByR3TfT0pNAwtYJ/enoBRC29qLMknqgrCdK0LYnqwWhfy2JwewBPQvqu0eci9o1S 9MTqOAMjBGlkNUMOplm2pm9M2iyJKWd0PRJYOrpKXWYUQJur0z/0KDZhbWlVd0Zk49ev LAuA== MIME-Version: 1.0 X-Received: by 10.194.48.116 with SMTP id k20mr3336245wjn.23.1376405963290; Tue, 13 Aug 2013 07:59:23 -0700 (PDT) Sender: asmrookie@gmail.com Received: by 10.217.142.76 with HTTP; Tue, 13 Aug 2013 07:59:23 -0700 (PDT) In-Reply-To: <20130813142230.GE54133@acme.spoerlein.net> References: <201308091111.r79BBCbY095386@svn.freebsd.org> <20130813142230.GE54133@acme.spoerlein.net> Date: Tue, 13 Aug 2013 16:59:23 +0200 X-Google-Sender-Auth: MvG3P6DbMeckjRlapB-VU6HbKzs Message-ID: 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... From: Attilio Rao To: =?UTF-8?Q?Ulrich_Sp=C3=B6rlein?= , Attilio Rao , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: attilio@FreeBSD.org List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Aug 2013 14:59:26 -0000 On Tue, Aug 13, 2013 at 4:22 PM, Ulrich Sp=C3=B6rlein wro= te: > 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. 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. Attilio --=20 Peace can only be achieved by understanding - A. Einstein