From owner-freebsd-current@FreeBSD.ORG Sun Nov 20 19:04:24 2011 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 219C3106564A; Sun, 20 Nov 2011 19:04:24 +0000 (UTC) (envelope-from asmrookie@gmail.com) Received: from mail-ww0-f42.google.com (mail-ww0-f42.google.com [74.125.82.42]) by mx1.freebsd.org (Postfix) with ESMTP id 1436F8FC08; Sun, 20 Nov 2011 19:04:22 +0000 (UTC) Received: by wwe3 with SMTP id 3so4281611wwe.1 for ; Sun, 20 Nov 2011 11:04:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=tZhJB6qt7ysCPzI6JVN+UCxnrL1NpWpZlfjQ2iJ4Hv0=; b=ji1KnA1HK58SpZz+0Ru0HAH/oUxdL0na1WFrVNQOAq1btkBayFAss/3LyuoJHqrMlN TgzgUdvPNcy0me6GVW27Ui3g4KemyQStDv0S731oSFGlPntZSaQ4lf2Yg+LwxslD+46c Huwz/7VQma8xm8NEAFwJn8qOMQuIDd2nAeuD4= MIME-Version: 1.0 Received: by 10.227.206.143 with SMTP id fu15mr6985943wbb.16.1321815861973; Sun, 20 Nov 2011 11:04:21 -0800 (PST) Sender: asmrookie@gmail.com Received: by 10.216.85.8 with HTTP; Sun, 20 Nov 2011 11:04:21 -0800 (PST) In-Reply-To: References: <20111105141306.GW50300@deviant.kiev.zoral.com.ua> <20111105151530.GX50300@deviant.kiev.zoral.com.ua> <4EB595FA.4020500@rice.edu> <20111106124331.GP50300@deviant.kiev.zoral.com.ua> <4EB81942.70501@rice.edu> <20111107193516.GA50300@deviant.kiev.zoral.com.ua> <20111116084542.GY50300@deviant.kiev.zoral.com.ua> <20111118105224.GB50300@deviant.kiev.zoral.com.ua> Date: Sun, 20 Nov 2011 20:04:21 +0100 X-Google-Sender-Auth: rrMZamo7Ym9T9VybAwIkqu0EDJ0 Message-ID: From: Attilio Rao To: Kostik Belousov Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Cc: mdf@freebsd.org, "K. Macy" , Alan Cox , Andriy Gapon , freebsd-current@freebsd.org, Benjamin Kaduk , Penta Upa Subject: Re: vm_page_t related KBI [Was: Re: panic at vm_page_wire with FreeBSD 9.0 Beta 3] X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 20 Nov 2011 19:04:24 -0000 2011/11/20 Attilio Rao : > 2011/11/18 Attilio Rao : >> 2011/11/18 Attilio Rao : >>> 2011/11/18 Kostik Belousov : >>>> On Fri, Nov 18, 2011 at 11:40:28AM +0100, Attilio Rao wrote: >>>>> 2011/11/16 Kostik Belousov : >>>>> > On Tue, Nov 15, 2011 at 07:15:01PM +0100, Attilio Rao wrote: >>>>> >> 2011/11/7 Kostik Belousov : >>>>> >> > On Mon, Nov 07, 2011 at 11:45:38AM -0600, Alan Cox wrote: >>>>> >> >> Ok. =C2=A0I'll offer one final suggestion. =C2=A0Please conside= r an alternative >>>>> >> >> suffix to "func". =C2=A0Perhaps, "kbi" or "KBI". =C2=A0In other= words, something >>>>> >> >> that hints at the function's reason for existing. >>>>> >> > >>>>> >> > Sure. Below is the extraction of only vm_page_lock() bits, toget= her >>>>> >> > with the suggested rename. When Attilio provides the promised si= mplification >>>>> >> > of the mutex KPI, this can be reduced. >>>>> >> >>>>> >> My tentative patch is here: >>>>> >> http://www.freebsd.org/~attilio/mutexfileline.patch >>>>> >> >>>>> >> I need to make more compile testing later, but it already compiles >>>>> >> GENERIC + modules fine on HEAD. >>>>> >> >>>>> >> The patch provides a common entrypoint, option independent, for bo= th >>>>> >> fast case and debug/compat case. >>>>> >> Additively, it almost entirely fixes the standard violation of the >>>>> >> reserved namespace, as you described (the notable exception being = the >>>>> >> macro used in the fast path, that I want to fix as well, but in a >>>>> >> separate commit). >>>>> >> >>>>> >> Now the file/line couplet can be passed to the "_" suffix variant = of >>>>> >> the flag functions. >>>>> > Yes, this is exactly KPI that I would use when available for the >>>>> > vm_page_lock() patch. >>>>> > >>>>> >> >>>>> >> eadler@ reviewed the mutex.h comment. >>>>> >> >>>>> >> Please let me know what you think about it, as long as we agree on= the >>>>> >> patch I'll commit it. >>>>> > But I also agree with John that imposing large churn due to the eli= mination >>>>> > of the '__' prefix is too late now. At least it will make the chang= e >>>>> > non-MFCable. Besides, we already lived with the names for 10+ years= . >>>>> > >>>>> > I will be happy to have the part of the patch that exports the mtx_= XXX_(mtx, >>>>> > file, line) defines which can be used without taking care of LOCK_D= EBUG >>>>> > or MUTEX_NOINLINE in the consumer code. >>>>> >>>>> Ok, this patch should just add the compat stub: >>>>> http://www.freebsd.org/~attilio/mutexfileline2.patch >>>> Am I right that I would use mtx_lock_(mtx, file, line) etc ? >>>> If yes, I am fine with it. >>> >>> Yes that is correct. >>> >>> However, I'm a bit confused on one aspect: would you mind using >>> _mtx_lock_flags() instead? >>> If you don't mind the "underscore namespace violation" I think I can >>> make a much smaller patch against HEAD for it. >>> >>> Otherwise, the one now posted should be ok. >> >> After thinking more about it, I think that is basically the shorter >> version I can came up with. >> >> Please consider: >> http://www.freebsd.org/~attilio/mutexfileline2.patch > > This is now committed as r227758,227759, you can update your patch now. This other patch converts sx to a similar interface which cleans up vm_map.= c: http://www.freebsd.org/~attilio/sxfileline.patch What do you think about it? Attilio --=20 Peace can only be achieved by understanding - A. Einstein