Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp2106710ybb; Thu, 26 Mar 2020 22:10:14 -0700 (PDT) X-Google-Smtp-Source: ADFU+vtdTMvW+EmKl/FNqlqg77ktLcvYbTqvhmKMprt/APvS1iQ5czy7c10DP/yavykXFSZt6Ftb X-Received: by 2002:aca:3c56:: with SMTP id j83mr2953931oia.52.1585285814705; Thu, 26 Mar 2020 22:10:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585285814; cv=none; d=google.com; s=arc-20160816; b=tKrdTeZovv1VPZIeoSlx7DZ5q+Z2D3O9JpRzEeeQW5M71H9z97KszE7fFvcgMMIpI5 HAhRdm60k1k43qIXvH70f4D9GC2TwjpV4CVneMjFglaTcVDE4ovpWshCx+kWmJ3qAdlZ CpUN1/L/bpJ4X/q2cEpm2jYGoXamY3SaJE3lgIecL58U9bUA+4PniaXmZ64aQR/HPcN1 U0KPSNb9Q9+fBM7ZUO/36wiA+gITD626ZJN8fD9+BnLuTvXNESJosmTtxivxNn7hVWLG J8OlRiaMpihuzNiuCawedZzQURkdmoYJRVDexxBhfUmO+wGRqnmSaXj99TTUpLmAc1GX TrUg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=ohnZNgjDeOcrrgII3KrdEi2hNuGyHzs9U8pjD+WsuTc=; b=ELl5zqMb21JOVGwR2VTwRHc8LSqiij8JQwGV60hgwnS9eq0ZeMAVdjxdNvZ61lXLem IflTbdA2E2sfNkk73GuNiMHJLdjYndoZkQ3bI16B9Sfx16Z5kaagroiBTOJehrkOTF2t AsUGfOcb6E7OnuOa1241B+Kt3zdnrT1aEBnzl3YyiyG+WPfCGjmqARX3jnwdV4FQQxPn lU/DY7ggzG15CRLspp6FmeIsKOwJz4ukgl/JqkOQo8/7PkZrVbLy34M353STUou8rTxs WTQbLwxCmaLoFF3Du2WpXtKEGtQeBX7xwtg6krowLmmHVFzfjiXj1yApcqB6DI/X1wkv 4r1Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=uqmMlcSL; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v137si2068065oif.170.2020.03.26.22.10.01; Thu, 26 Mar 2020 22:10:14 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=uqmMlcSL; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726439AbgC0FJZ (ORCPT + 99 others); Fri, 27 Mar 2020 01:09:25 -0400 Received: from mail-yb1-f193.google.com ([209.85.219.193]:38487 "EHLO mail-yb1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726071AbgC0FJY (ORCPT ); Fri, 27 Mar 2020 01:09:24 -0400 Received: by mail-yb1-f193.google.com with SMTP id 204so3911107ybw.5 for ; Thu, 26 Mar 2020 22:09:24 -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; bh=ohnZNgjDeOcrrgII3KrdEi2hNuGyHzs9U8pjD+WsuTc=; b=uqmMlcSLr/aJyGrLVFPoqWyksk03NI8a822IT0j0ft9YIBJiatFbXJVZy6u11D3R2c DgA+Pwgg5I3SZJYi//NjgjU+dinJO7EryHfQ72Vy7O7dQdldLL+/gP1clOCR82l3G8TV T7jTETFt3pV6NkuJLQ3NZFYesU3RfZWs18NSK0EcDemZpzM40PA3p6S72AYdbZwfGa36 r/zkM6Yu9WLvaAWoSEGc1cxHfWvFirvTZvZHGzngBQu+YVpAKGu1qSTue1tboiV+r1at m/JShFaIse/ZGkCThuuAadKwrkWDi0Ps8aDb8YO8bji08z+Ysi5lVvks09p0W2KbJFFd 6m+w== 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; bh=ohnZNgjDeOcrrgII3KrdEi2hNuGyHzs9U8pjD+WsuTc=; b=fwch8QPKvgR7lpRzBRxmSm8ib8tgINyh8gpwtHtVCtrCsXUL69JqO73ymsrDo8sPzj tDhLZHNV88HtX2hDb1O5aelsQYplGmm+8QNvyttC5lqXnDpwyMd7BROA2/TvewoZE+S2 Lyq0HfWbMNAIvTqnOyYcRslw/xNUuRkLKjM9PYT0Au2JIItE3g7BclM8CBXB/GxXNQp8 clZGn1s4SzLU5wpMbwPGVp5Ug7VLqas8+WdgdC6LPdNSDGFg/Hijv8fvGI0o0s3SgnGp 6H23G601osLuiTfS4kG8d2e1mwDyYZmgiqa0Pg+v7vaeu6ucNQlVuTzHtjsrCegzkTJi Ufsw== X-Gm-Message-State: ANhLgQ2Tocpcrs/KSzQjs0cU1p9ktqPFpfr54dm1bLQqdNfosrNBvdrq d1SvIFYHVFcRwhJ9YvUpNcMTw6HrPJYU3Il1D4R71A== X-Received: by 2002:a25:bb0c:: with SMTP id z12mr17920472ybg.253.1585285762971; Thu, 26 Mar 2020 22:09:22 -0700 (PDT) MIME-Version: 1.0 References: <20200327021058.221911-1-walken@google.com> <20200327021058.221911-8-walken@google.com> <20200327044647.wgfsmjy37n72dixe@linux-p48b> In-Reply-To: <20200327044647.wgfsmjy37n72dixe@linux-p48b> From: Michel Lespinasse Date: Thu, 26 Mar 2020 22:09:09 -0700 Message-ID: Subject: Re: [PATCH v2 07/10] mmap locking API: add mmap_read_release() and mmap_read_unlock_non_owner() To: Michel Lespinasse , Andrew Morton , linux-mm , LKML , Peter Zijlstra , Laurent Dufour , Vlastimil Babka , Matthew Wilcox , Liam Howlett , Jerome Glisse , David Rientjes , Hugh Dickins , Ying Han , Jason Gunthorpe , Markus Elfring Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Mar 26, 2020 at 9:48 PM Davidlohr Bueso wrote: > > On Thu, 26 Mar 2020, Michel Lespinasse wrote: > > >Add a couple APIs to allow splitting mmap_read_unlock() into two calls: > >- mmap_read_release(), called by the task that had taken the mmap lock; > >- mmap_read_unlock_non_owner(), called from a work queue. > > > >These apis are used by kernel/bpf/stackmap.c only. > > I'm not crazy about the idea generalizing such calls into an mm api. > We try to stay away from non-owner semantics in locking - granted > the IS_ENABLED(CONFIG_PREEMPT_RT) warning, but still. > > Could this give future users the wrong impression? What about just > using rwsem calls directly in bpf? I see what you mean and I certainly don't want to encourage any new non-owner call sites to appear.... This bpf stackmap site is a small pain point in my larger range locking patchset too. I am not sure what is the proper response to it; the opposite side of your argument could be that using a direct rwsem call there hides the issue and makes it less likely for someone to fix it ? I don't have a very strong opinion on this, as I think it can be argued either way... But at a minimum, I think it'd be worth adding a comment asking people not to add new call sites to the mmap_read_release() and mmap_read_unlock_non_owner() APIs ? -- Michel "Walken" Lespinasse A program is never fully debugged until the last user dies.