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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6D89AECAAA1 for ; Tue, 6 Sep 2022 20:22:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CA6B68D0009; Tue, 6 Sep 2022 16:22:36 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C30048D0002; Tue, 6 Sep 2022 16:22:36 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A5AFE8D0009; Tue, 6 Sep 2022 16:22:36 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 90DD78D0002 for ; Tue, 6 Sep 2022 16:22:36 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 6AB5DC03C3 for ; Tue, 6 Sep 2022 20:22:36 +0000 (UTC) X-FDA: 79882783512.01.17CF3A2 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf24.hostedemail.com (Postfix) with ESMTP id BDC9818009A for ; Tue, 6 Sep 2022 20:22:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1662495755; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=6rfQm3A/tm7Sj95hHoCuXpvQKcgb4WAgDh0q01aC4qg=; b=U1rT34XtVUrh0NF8Jjv898YADzbCIC+Hb08Uh1C+CvdQsRecl1AkBLR91CdJjMGrX4LC4+ pL4bpYs2gA8IyKA/5RXAku+sSkbZEj6JvOw1+cEcRS/uLYBgnYyjJERma5aQW/q0v++5od pG2Qb9h7No06oBULPM55mB50NjPoTvc= Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-172-uNgfqmrgNamq_yFIuxIC8Q-1; Tue, 06 Sep 2022 16:22:34 -0400 X-MC-Unique: uNgfqmrgNamq_yFIuxIC8Q-1 Received: by mail-qv1-f72.google.com with SMTP id i10-20020ad45c6a000000b004a25d0fea96so5249626qvh.3 for ; Tue, 06 Sep 2022 13:22:34 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date; bh=6rfQm3A/tm7Sj95hHoCuXpvQKcgb4WAgDh0q01aC4qg=; b=vZ4Jo6PPKRZJC7sfi7Xjq2fjSwYAnT43ytgp5lQjwrwWlb9CGq7VEgn0vZg17r9b6a IpN54QbUbY9sjHv14IFnPuOz4fUupDm6qIckGefFEp5dG0a6a8QZAPYd4uwwdyZ8TLpA rj2sgK4Gr1121zrEwuFTmDNFfZurKlE0bEGSQoq4CIPyj/xWhy/O27PhJspZMh6HJWJN JnTxvG0jloP1e1BvABCmnJMKNmd/FgG7Fzl6m7O0uUTbHZctsRbDTa3K90Ucs0CUXhvc tA5eoo6xoeoxPnK/6kVm3P31UHRrYhfl1WLhbeXH5t7JrN7618F+la9TeSJCjehCCcwK Fdyw== X-Gm-Message-State: ACgBeo2dxDVDQxOvCVC8aVRFsDZfj567bX7IHvhTrjmoFsvLLEll9lwX RJPYfOFo5OYhFYv7rg/s5Zc9BhPcUPA/ZdMeFY/c/EgXgeHGEBmRfS1VMv+FRIait0zGJaQfBrb BBssbpPSXptc= X-Received: by 2002:ad4:5ccc:0:b0:49a:87e:b21c with SMTP id iu12-20020ad45ccc000000b0049a087eb21cmr58580qvb.28.1662495753498; Tue, 06 Sep 2022 13:22:33 -0700 (PDT) X-Google-Smtp-Source: AA6agR7HlEu+ZPwHInX004FIRhAcDe0jim1kS8RlEBcZxWCkXVNVfHqCq7f5i8MgInHqpj8yvoLXLQ== X-Received: by 2002:ad4:5ccc:0:b0:49a:87e:b21c with SMTP id iu12-20020ad45ccc000000b0049a087eb21cmr58555qvb.28.1662495753193; Tue, 06 Sep 2022 13:22:33 -0700 (PDT) Received: from xz-m1.local (bras-base-aurron9127w-grc-35-70-27-3-10.dsl.bell.ca. [70.27.3.10]) by smtp.gmail.com with ESMTPSA id u14-20020a05622a14ce00b00341a807ed21sm2137489qtx.72.2022.09.06.13.22.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 Sep 2022 13:22:32 -0700 (PDT) Date: Tue, 6 Sep 2022 16:22:30 -0400 From: Peter Xu To: Suren Baghdasaryan Cc: Andrew Morton , Michel Lespinasse , Jerome Glisse , Michal Hocko , Vlastimil Babka , Johannes Weiner , Mel Gorman , Davidlohr Bueso , Matthew Wilcox , "Liam R. Howlett" , Peter Zijlstra , Laurent Dufour , Laurent Dufour , "Paul E . McKenney" , Andy Lutomirski , Song Liu , David Hildenbrand , dhowells@redhat.com, Hugh Dickins , Sebastian Andrzej Siewior , Kent Overstreet , David Rientjes , Axel Rasmussen , Joel Fernandes , Minchan Kim , kernel-team , linux-mm , linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org, x86@kernel.org, LKML Subject: Re: [RFC PATCH RESEND 19/28] mm: disallow do_swap_page to handle page faults under VMA lock Message-ID: References: <20220901173516.702122-1-surenb@google.com> <20220901173516.702122-20-surenb@google.com> MIME-Version: 1.0 In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Disposition: inline ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1662495756; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=6rfQm3A/tm7Sj95hHoCuXpvQKcgb4WAgDh0q01aC4qg=; b=egjVdyyAonKVpM5PyTIHNFGZ7NqtvRy/CIAyDqAgBAqxuB3TxsJwe5rSn922+EfkbRVp5u jOKXvAMIW0ayJH2XoMQtK+3TNT1RYwp0Mbt+jifUW1t8StYBdDqUkMmiTqt6E5oJGMXcw4 w84hpYjRK5kYOrN0Sg34+OKuDCcif94= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=U1rT34Xt; spf=pass (imf24.hostedemail.com: domain of peterx@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1662495756; a=rsa-sha256; cv=none; b=FXGPj1o8N0/orLPfxBINsItIJxyA7JdzA2h1vFSVbpZSvqgEAdg2HL0QDCd/1Gu93f8zTI RIwVUOecmbU5kwHdTG+DCrJfs+mIiEkqx3AMr53YfytNsf2vKU8Vc0d45NuYursvj00M87 mj3rmkPQFbh2TkL8bWcIE4Dqt7JPoFc= X-Stat-Signature: nwztkkqwpdnkkzasrkitmryzmu4eigyn X-Rspam-User: X-Rspamd-Queue-Id: BDC9818009A Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=U1rT34Xt; spf=pass (imf24.hostedemail.com: domain of peterx@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (policy=none) header.from=redhat.com X-Rspamd-Server: rspam01 X-HE-Tag: 1662495755-943563 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 Tue, Sep 06, 2022 at 01:08:10PM -0700, Suren Baghdasaryan wrote: > On Tue, Sep 6, 2022 at 12:39 PM Peter Xu wrote: > > > > On Thu, Sep 01, 2022 at 10:35:07AM -0700, Suren Baghdasaryan wrote: > > > Due to the possibility of do_swap_page dropping mmap_lock, abort fault > > > handling under VMA lock and retry holding mmap_lock. This can be handled > > > more gracefully in the future. > > > > > > Signed-off-by: Suren Baghdasaryan > > > --- > > > mm/memory.c | 5 +++++ > > > 1 file changed, 5 insertions(+) > > > > > > diff --git a/mm/memory.c b/mm/memory.c > > > index 9ac9944e8c62..29d2f49f922a 100644 > > > --- a/mm/memory.c > > > +++ b/mm/memory.c > > > @@ -3738,6 +3738,11 @@ vm_fault_t do_swap_page(struct vm_fault *vmf) > > > vm_fault_t ret = 0; > > > void *shadow = NULL; > > > > > > + if (vmf->flags & FAULT_FLAG_VMA_LOCK) { > > > + ret = VM_FAULT_RETRY; > > > + goto out; > > > + } > > > + > > > > May want to fail early similarly for handle_userfault() too for similar > > reason. Thanks, > > I wasn't aware of a similar issue there. Will have a closer look. Thanks! Sure. Just in case this would be anything helpful - handle_userfault() will both assert at the entry (mmap_assert_locked) and will in most cases release read lock along the way when waiting for page fault resolutions. And userfaultfd should work on anonymous memory for either missing mode or write protect mode. Thanks, -- Peter Xu