From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.4 required=3.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_IN_DEF_DKIM_WL autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A8E8DC2BA17 for ; Mon, 6 Apr 2020 15:35:19 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 31A8322B51 for ; Mon, 6 Apr 2020 15:35:19 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="nAkqWlSX" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 31A8322B51 Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=google.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 8DA438E0039; Mon, 6 Apr 2020 11:35:18 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 88A0F8E000D; Mon, 6 Apr 2020 11:35:18 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 779418E0039; Mon, 6 Apr 2020 11:35:18 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0099.hostedemail.com [216.40.44.99]) by kanga.kvack.org (Postfix) with ESMTP id 612488E000D for ; Mon, 6 Apr 2020 11:35:18 -0400 (EDT) Received: from smtpin05.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 17FCB180AD802 for ; Mon, 6 Apr 2020 15:35:18 +0000 (UTC) X-FDA: 76677829116.05.unit47_2e3fce579ed1c X-HE-Tag: unit47_2e3fce579ed1c X-Filterd-Recvd-Size: 4381 Received: from mail-yb1-f195.google.com (mail-yb1-f195.google.com [209.85.219.195]) by imf10.hostedemail.com (Postfix) with ESMTP for ; Mon, 6 Apr 2020 15:35:17 +0000 (UTC) Received: by mail-yb1-f195.google.com with SMTP id n2so67960ybg.4 for ; Mon, 06 Apr 2020 08:35:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=+MduM/9HJVy6bkh8pxzs1OTdZ7KT0AQSI+WZ1X2yWzE=; b=nAkqWlSXVzfD2OyrsJv+DJCzxxvRXhc2u3dO5RWOKYsugkUEH3VVSUI1BilNYk9C31 WRP9tVM7eYAvgL4lTtuvt7yJmwSsHFVBG+n6Img5X2LgDmDxIHTtoNkagE+qRKFDL7Jb o+zyIsJpA2SZeW5NOfkMTrCIHulQ6XoCM+SeJE+AG32lUgPjKxVD74Sq5lv3dqlkAv8v ecG7O17JF8MUs+UxoEq16pqhCUws/LIaFZKpipYOngeFqnCpAnAn5OWwmw7oFMU6Qef/ UUjov5qUBTajxiSQQ7XCNObeYX+liBiTRAnw04gUAUy28YW9E7btXfKk42fFXhwtIt3H FpOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=+MduM/9HJVy6bkh8pxzs1OTdZ7KT0AQSI+WZ1X2yWzE=; b=kbAZe99SsnE3ZfDtNsqhtiTC/lUAIeuiU9Cezp8YqNpsHXY7OLZ4cIlwUIzImV4TNa WRTQYSI2zV2Wo1ePjf7tKdg8snlMJTdoEnaxyqeKbUxP148t34PC05BTFZlNZnVpI+em MBZjBb+9e/JjrSgweJn0hsLq1CJM/Of7DV4cFxEM72asRYmioKGZZ05XFn5QXhgXt8Ay /vjwMQWf6ZhDGQOu3bzdn1AlgXW9klBeMP7ncKkVtcudaswd4usAtMmtc39cuD0ePz4X kKFKm1rvyAeriV6eonhCOyS9nOAqGjvjm3rOtLLND1/ViJAzjiCAgvTAIY0yFQ4gTxK8 4NzQ== X-Gm-Message-State: AGi0PuafUu73X3sW+FJi9jqa0a9h1hbcCd8ejSB0MlY4AOLRl9nz+k09 7podkRWzKJNsoMDh9kEB+fUIqGVcjHALxjoUse4LJw== X-Google-Smtp-Source: APiQypK4wWH0C6H6p51kRfIEovjLl5GRkWHPGwq1kBpRoJFoPHWOoWfvf1XDtP7x6tZMrnw9T7I5tse3rXnBcHoVtQ8= X-Received: by 2002:a25:d382:: with SMTP id e124mr33930648ybf.162.1586187316742; Mon, 06 Apr 2020 08:35:16 -0700 (PDT) MIME-Version: 1.0 References: <20200327225102.25061-1-walken@google.com> <20200327225102.25061-7-walken@google.com> <20200401134234.GR20696@hirez.programming.kicks-ass.net> In-Reply-To: <20200401134234.GR20696@hirez.programming.kicks-ass.net> From: Michel Lespinasse Date: Mon, 6 Apr 2020 08:35:03 -0700 Message-ID: Subject: Re: [PATCH v3 06/10] mmap locking API: convert nested write lock sites To: Peter Zijlstra Cc: Andrew Morton , linux-mm , LKML , Laurent Dufour , Vlastimil Babka , Matthew Wilcox , Liam Howlett , Jerome Glisse , Davidlohr Bueso , David Rientjes , Hugh Dickins , Ying Han , Jason Gunthorpe , Markus Elfring Content-Type: text/plain; charset="UTF-8" X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Wed, Apr 1, 2020 at 6:42 AM Peter Zijlstra wrote: > > On Fri, Mar 27, 2020 at 03:50:58PM -0700, Michel Lespinasse wrote: > > > @@ -26,6 +31,12 @@ static inline void mmap_write_unlock(struct mm_struct *mm) > > up_write(&mm->mmap_sem); > > } > > > > +/* Pairs with mmap_write_lock_nested() */ > > +static inline void mmap_write_unlock_nested(struct mm_struct *mm) > > +{ > > + up_write(&mm->mmap_sem); > > +} > > + > > static inline void mmap_downgrade_write_lock(struct mm_struct *mm) > > { > > downgrade_write(&mm->mmap_sem); > > Why does unlock_nested() make sense ? I thought it would make things more explicit to match the nested lock with the corresponding unlock site; however this information is not used at the moment (i.e. the nested unlock is implemented identically to the regular unlock). Having the matching sites explicitly identified may help when implementing lock instrumentation, or when changing the lock type (another patchset I am working on needs to pass an explicit lock range to the nested lock and unlock sites). I'll admit this is not a super strong argument, and can be deferred to when an actual need shows up in the future.