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 2F5F0C88CB4 for ; Mon, 12 Jun 2023 13:59:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A14206B0072; Mon, 12 Jun 2023 09:59:36 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9C30A8E0003; Mon, 12 Jun 2023 09:59:36 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 864508E0002; Mon, 12 Jun 2023 09:59:36 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 7753E6B0072 for ; Mon, 12 Jun 2023 09:59:36 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 2CECBAF599 for ; Mon, 12 Jun 2023 13:59:36 +0000 (UTC) X-FDA: 80894253552.18.0654BEF Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf22.hostedemail.com (Postfix) with ESMTP id D9C3BC0013 for ; Mon, 12 Jun 2023 13:59:32 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=UPdOS4I2; spf=pass (imf22.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-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686578372; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=GKBfBKTeVMZb+dt8ekYcaXAyT4nwQrKdK59Oup6XbjM=; b=5i4L91qU7eZs+4gy2YuS7qZ2pqOlQg0Fnh3ZJlYiWKc8Z7nfcUvA/X+hWJUlXmMdV3r2qi 08xFC+y4BAiGHuHIv9wKotharMhWUJNDf1lldpQQLZFzbrMnHXUUASmTO/c71P9e8qhJFP FAPibe8XRTPZJXJcKDA/K998JYV0Sao= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686578373; a=rsa-sha256; cv=none; b=YmMk9ji3HfmylaPDyOp8ojCoi3WmeAbrM5Zq7NKgAqHoUyxognVxIbZOsXfYLXagGal6sl qH4S2gwmlxSck29yt8g0QKTESPndKJfb/6AhhY0zcsmBggFCz6gnLRsp8spDQJdsSVKtr3 0sWtK2fkYs8kqwEvjkR1A2dMQHcQABo= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=UPdOS4I2; spf=pass (imf22.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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1686578371; 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: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=GKBfBKTeVMZb+dt8ekYcaXAyT4nwQrKdK59Oup6XbjM=; b=UPdOS4I2k0diiBVLystQgund0xjANzwQQhSl+0C289L5PgnaP506ZfEkklQjTjvubxJIcD Ulbsn7VS1xBU9jbAyxcs6zygNZhkNkNHPf/6BeaeojO+Gc/ddZ6JfBasdNwrxKHHF/SVXW zJ+UiLIumZIvdAK0+TJFV6iJ6wyOjcU= Received: from mail-vk1-f199.google.com (mail-vk1-f199.google.com [209.85.221.199]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-650-mv8D3xAOM5SFBgEGvSgiaA-1; Mon, 12 Jun 2023 09:59:25 -0400 X-MC-Unique: mv8D3xAOM5SFBgEGvSgiaA-1 Received: by mail-vk1-f199.google.com with SMTP id 71dfb90a1353d-4644c388212so105137e0c.0 for ; Mon, 12 Jun 2023 06:59:24 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686578364; x=1689170364; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=GKBfBKTeVMZb+dt8ekYcaXAyT4nwQrKdK59Oup6XbjM=; b=c7sVc9MYDqIUfL2BJ7icV1zNyyaR7Zjo17vgRATj19jwhIH9NQAcDOJ3VSm6n5ZEM8 d4WyRTCG2MHEN419FpudJ8hKjwD1fuR11AFHVn7LS8FPsZ2BDoAfb9T/O/dg21yGfWHn gH8ObdQQp7XUMF6H5LWIStFdFpvcUAxvdd04t1vVjHbz7u/JUeBUAnHbdj6/y1CBo2ql XpYJAjEezUZpM3+gE3CMwCf/oLINpMolNb04VzCCfYfBExBeAFgE16GiShkdVOSXMGiX 4OZ+iQX0+zs3SPs6ycyi7gm2tcFPpbGP3YeqD0UKOGggEWkIFe7TeXJa3mFQWXPajCRz 6TEw== X-Gm-Message-State: AC+VfDzCQzowEr8cTGTvOXLptBp+cxnGy/Bx80O1V8PGxHeQkDI6ypVb 9sIzPLAuDZE+7I4hyt04D2u/3jKVHmgVqdD+tq08cJvWLNq0zKtGY3yiu0R04VRHfw31YXNFku8 cANo4eSSKWq0= X-Received: by 2002:ac5:c858:0:b0:457:3a45:38d2 with SMTP id g24-20020ac5c858000000b004573a4538d2mr3539490vkm.1.1686578363651; Mon, 12 Jun 2023 06:59:23 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5TlkHrlSDfBgWo12KHaFjakxWZQ6CGtAWvz+eNVHFMNBM4VurWIdxp0q7dBJcjBu3sxsTD9w== X-Received: by 2002:ac5:c858:0:b0:457:3a45:38d2 with SMTP id g24-20020ac5c858000000b004573a4538d2mr3539453vkm.1.1686578363405; Mon, 12 Jun 2023 06:59:23 -0700 (PDT) Received: from x1n (cpe5c7695f3aee0-cm5c7695f3aede.cpe.net.cable.rogers.com. [99.254.144.39]) by smtp.gmail.com with ESMTPSA id t18-20020a0cea32000000b005ef54657ea0sm3221971qvp.126.2023.06.12.06.59.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jun 2023 06:59:22 -0700 (PDT) Date: Mon, 12 Jun 2023 09:59:19 -0400 From: Peter Xu To: Suren Baghdasaryan Cc: Matthew Wilcox , akpm@linux-foundation.org, hannes@cmpxchg.org, mhocko@suse.com, josef@toxicpanda.com, jack@suse.cz, ldufour@linux.ibm.com, laurent.dufour@fr.ibm.com, michel@lespinasse.org, liam.howlett@oracle.com, jglisse@google.com, vbabka@suse.cz, minchan@google.com, dave@stgolabs.net, punit.agrawal@bytedance.com, lstoakes@gmail.com, hdanton@sina.com, apopple@nvidia.com, ying.huang@intel.com, david@redhat.com, yuzhao@google.com, dhowells@redhat.com, hughd@google.com, viro@zeniv.linux.org.uk, brauner@kernel.org, pasha.tatashin@soleen.com, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-team@android.com Subject: Re: [PATCH v2 2/6] mm: handle swap page faults under VMA lock if page is uncontended Message-ID: References: <20230609005158.2421285-1-surenb@google.com> <20230609005158.2421285-3-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 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: D9C3BC0013 X-Rspam-User: X-Stat-Signature: hjdgzit7nmewo89ypjr3tiurrssjizpc X-Rspamd-Server: rspam03 X-HE-Tag: 1686578372-245701 X-HE-Meta: U2FsdGVkX1/wMxpwGuMluAhcAw5YkMuWiZ4+bjGToWLQ0IwpOpSFqDp0jZH7iZas6cdWs/8sqFM+RIjjpae1soxyYSLeHZW9mkbxnfXMWa1s8lHxg/6pL2UmkD+QkceAWazAsOiknngp9VNTxN01RH+xp5rZmmm5sT8GHttToyNL7nuHY5ZQ98q9oauWf0VBZMpfwaZUQ4zkMuOdleeq7ISsrurhVdnaiv9yitmG98jMAqZgoiYa0f0ZlYUWmyXhwQ1ysKMT0zUxtS88L52upPWQWuu/HYPFh9T8PLCoL6FqooYfKYEnlUpedUji8+AA8+a+Wu3s5lQlDiyZynQ8hSX78JBjSPOwpqo1wVbG3zMldc4+QlEdxJPmquOFMsKpecgTeVScO9wXlbB+7LE4nsMZSnvSZLLeLOMoaU4GzSxU6kUrlVRqjSPwdxvncPI9gUqNMoblHxh+nOK3cMdQt8hRpqaNVbyFssY8Yq1piYhaB0dWXPK6NWmO11SWHWZknyxLo/mzOBMjwQQNAxbXRWcbOOZol+tkHF1Al8oxihE7y5r/+ZBspSGa2H/qNKBhrQOgocQS9Paeimyo3k6CGvtoSXkA5w08X5XvAgVqG2Xs+dggHPzcLn+8DwuBChrCZji0gnx9nVbFXK6lPKpDvVOdFa6GhMqqRaSnRNah6xZpzHY9nHLPXwIDsLA4d4lAnNqHjExU9x2W+xQE3xpsgD+15HlrPw8bCMNgEAPZo5sNgnZ+l6lUOVctlJ4x+9E4P/2F+a8bX/XiZA1ZGsDgvtCz6d5mv/H+AmjqpK+8wwA8GM5q4jmGGTQIw6UbGK3xmxixxwLpij+aZ++6+AKG/7CY7ZTL8QgJ2UwswVKTxsj7F4C85P6oCC9eQwoS4o8SrHpdlbIj8hpJDsfa1UBrGM59d61BdtXzhRdDw8dgFgZt8QSQ/pXOrkPqkRJbue5jpxVA1TIiecNuysS8GMD KqfooEWM ThXVLKed9FXFvGqgbV0OoR1hEpSO2EuQO2g0zd/rp0N4Zj0z2M4gmuzImamSULdynd7TkN5eYgYUYpi8f7s64Wm92AtewcsLZEnN4GtliDEMoa3IHm34kDvzwhQwz/qfaoYv02h+dXe+QBnaJUWv8pxMbhtw07aJfzh1YAFKpbQacGC7au3R4me09v/y5cG/RcNKckJv6d9hAKmqYkGZCidfZMAsCV5nsA6Vrvdt5XkqWCG7BkXlBdw3z9Rd9iteohs54ucHl+32fr3y0aNIXD7T4Br77VFpzmCCAkaXEWdyhl3jLNvsjADewx3jZbX2E2lqnQPMhzqgfmpy2XDQmYUUnFHaFqgmyFPrIAEZRcX7xl9mpnfzjDhjO5yifdV83z+8SdGGMoj07Fhs= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000079, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Fri, Jun 09, 2023 at 03:34:34PM -0700, Suren Baghdasaryan wrote: > On Fri, Jun 9, 2023 at 1:45 PM Peter Xu wrote: > > > > On Fri, Jun 09, 2023 at 09:35:49PM +0100, Matthew Wilcox wrote: > > > On Fri, Jun 09, 2023 at 04:25:42PM -0400, Peter Xu wrote: > > > > > bool __folio_lock_or_retry(struct folio *folio, struct mm_struct *mm, > > > > > unsigned int flags) > > > > > { > > > > > + /* Can't do this if not holding mmap_lock */ > > > > > + if (flags & FAULT_FLAG_VMA_LOCK) > > > > > + return false; > > > > > > > > If here what we need is the page lock, can we just conditionally release > > > > either mmap lock or vma lock depending on FAULT_FLAG_VMA_LOCK? > > > > > > See patch 5 ... > > > > Just reaching.. :) > > > > Why not in one shot, then? > > I like small incremental changes, but I can squash them if that helps > in having a complete picture. Yes that'll be appreciated. IMHO keeping changing semantics of FAULT_FLAG_VMA_LOCK for the folio lock function in the same small series is confusing. -- Peter Xu