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 E23E1C64EC4 for ; Mon, 6 Mar 2023 19:50:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5F8076B0071; Mon, 6 Mar 2023 14:50:37 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 5A8C56B0072; Mon, 6 Mar 2023 14:50:37 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 471B16B0073; Mon, 6 Mar 2023 14:50:37 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 341636B0071 for ; Mon, 6 Mar 2023 14:50:37 -0500 (EST) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 0350F1A0577 for ; Mon, 6 Mar 2023 19:50:36 +0000 (UTC) X-FDA: 80539515714.01.196CBF1 Received: from mail-ed1-f47.google.com (mail-ed1-f47.google.com [209.85.208.47]) by imf19.hostedemail.com (Postfix) with ESMTP id 2A3051A0012 for ; Mon, 6 Mar 2023 19:50:34 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=mZ8aHkID; spf=pass (imf19.hostedemail.com: domain of yosryahmed@google.com designates 209.85.208.47 as permitted sender) smtp.mailfrom=yosryahmed@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1678132235; 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=sGF3eBQCskPypQoa4poy914imrg9HtlxceInjpF7/z4=; b=lyhzFAyUksRwuDdDf7Gle1idGdkvGqQniAlH+avho8xywdBTl5Z2fLmiyzlJ2ji02CdQgr 5EKnK9ygIs62eLry3FRQUfIIrdwbeIdKPKPqNcvbugcKCzAHF6eMdZtGVQelAQqtdD8bvJ BCD3rVjUZaBIfivtxZpXrerPHjiCeWw= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=mZ8aHkID; spf=pass (imf19.hostedemail.com: domain of yosryahmed@google.com designates 209.85.208.47 as permitted sender) smtp.mailfrom=yosryahmed@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1678132235; a=rsa-sha256; cv=none; b=oCx/KVECoj256r9ou7BNHs+jvwT50PwGtUFVBqsja4H4KrfkGi1o7lAdFxSn5XsvTEBjlo iT+0g+o/x30lIFW+G+z4FtRC/zPX1F+jOlYURpF1vUKCogyVpmHOlwBsg1ysixFC6vgEdL 9lEAXbL/27ixI2or0/cuUs5GrHi7rWA= Received: by mail-ed1-f47.google.com with SMTP id o12so43376766edb.9 for ; Mon, 06 Mar 2023 11:50:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1678132233; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=sGF3eBQCskPypQoa4poy914imrg9HtlxceInjpF7/z4=; b=mZ8aHkID3MYrdt/9Uj6MWAdKC+ca9LbPlDVSB+E2WxwydB9b5hNluXDkOI0ZIRIt6H JaqJBKlSeEI8ktDXf45lH4gll8I70MjIrn9Qg6DA83IlaJ6dX3Qjr1NoqnHm5SKdzT+1 G0uXCK/1NJ/BWwryali1SKHJXLIz3z+Q52bu7PKzK4jUpW+a9aHPbHjkAEoBbDiS5xsL 0xu2/ka/xWdjtna14tYdM/Lav4k2ZAlt4BUNXI5IzpKEaepS1llmLMJLj81yDJiYwQN7 CHQWI3cMAAN9AdtB8q/EC+tlMFFVpnLa+lE7pEdgigAxXp00OiBF/7NESSZ2NudVvgqH /Hsw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678132233; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=sGF3eBQCskPypQoa4poy914imrg9HtlxceInjpF7/z4=; b=MW1uFWNQUIRQ6waJ7RrBoD2TH/93nnuWbThMU2hGSqMSTZFXWrkmu/pyPzTsU+6pJ9 z+0+QFHspxIdJ5CWvKLDMkNf7KUc7ZzDPsf8Jw7p28kjW+SBmwg1qiyIDhIv4m+tV9qJ qPu4tNyoWPzxs45d1k0Klk6SibmUO8doRJO0ckLK33F1Ucl5T3lU6rEv9MuWNkYBPIHf PdkKsf9CTT3140t72Se1jm6DSP8bwqSMU9RuB28Iwfie6cmDp2OxysHVby54KkVzQdpI DlvGuzhGFnBOQCJKMklmsIAhSd1a5mXqHx/PWwGaPfv3S8qlVKJhe2wPmYSi2reS6eqH 0onw== X-Gm-Message-State: AO0yUKU6GmsScA8FgnQoW7/15FpnSuuw266NWR4c9YNfH2K8W7DQBGia VnY03LDd31yaJvsos+lRiS7zSgmjb3wlecHW0wcTIg== X-Google-Smtp-Source: AK7set/KxagLsz+HgruUKFFw19IQyTEgXRH5QRjlFyA1p1b8uEBesr2ZKqCVm3jOD9bsKoSfy751fj3R+bUQhbTtAt0= X-Received: by 2002:a50:8711:0:b0:4bb:d098:2138 with SMTP id i17-20020a508711000000b004bbd0982138mr6450122edb.5.1678132233505; Mon, 06 Mar 2023 11:50:33 -0800 (PST) MIME-Version: 1.0 References: <20230302232758.888157-1-mcgrof@kernel.org> <20230302232758.888157-5-mcgrof@kernel.org> In-Reply-To: <20230302232758.888157-5-mcgrof@kernel.org> From: Yosry Ahmed Date: Mon, 6 Mar 2023 11:49:57 -0800 Message-ID: Subject: Re: [PATCH 4/6] shmem: skip page split if we're not reclaiming To: Luis Chamberlain Cc: hughd@google.com, akpm@linux-foundation.org, willy@infradead.org, brauner@kernel.org, linux-mm@kvack.org, p.raghav@samsung.com, da.gomez@samsung.com, a.manzanares@samsung.com, dave@stgolabs.net, keescook@chromium.org, patches@lists.linux.dev, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 2A3051A0012 X-Rspam-User: X-Stat-Signature: 5ytk6x57kdmdirusy5qpj5aemktt7be6 X-HE-Tag: 1678132234-43457 X-HE-Meta: U2FsdGVkX195zk79LsnGera6LNn3f/sJG3oSO9TyTKj3OgVYhbieeEwHck8yrdzTiIsiHw0RSFZb1gNDgCbSqdojAnRfMdjetDaOGJ55SjMQfG5g2IJ+LvdL1eZxJfbxSmYcQ2wYO0B1v2EUWbSjrOvvCwTYbMy1zqiIbky4dSJsRdkjpBDVlv/nognsF/jkMZMAizrp/77Lmn2awfNG1MMBPkr+YLZazyJwURobNYRqpjQBVzXWwPo3zOJf8hnGj9MKOxnu8gs6L43KlvP4bQnr9dhrEjhYOz30/t7sBWRcgDeV7B8XTvwvKP/7i7JnYMxSu72GC8ME8xglPuh0bLNAbVP2ZqrNHnQuBE1QkVj8QWf6JaPcAj2DMeA8qCANPYGOIIqr3sDtv7txm3S7ADX6vwlzmyHwFWC8SQhhlXmnryn+sp5Evh8nD2FkB8Nz4sO9z58gHs4ixZfMUZDEEYMFtYPh3ZbbMIvU/NHRf2yaSurSEWURwghW3J6tzANmgvCGYQ+qU5gAshehD2dKCVXiPwmOXL8RsLSHQfWuT0uZliKFj7PCS/s+4G504wLnpOOeuzIlIwbs+pCPjHVXDXzU5cD4+oBiArzvrYuhWhPsM5ZKmlqu2W7W+UHBItrUqwAnNFZgUBguZuua4Z6RHUT7L8NWP1Le3Dm+DCe46PD+N/wg2MlyFOS69kuueCFi6xC8mrgQjLjBj3nIgJci8TEKOXT4HImPnzQU7cv1e/kqhs6wQ6EtXylhi9WOn8rdE69Abt4eMfptKS3/+fIAGnCjOOlI9jER0PrOG0axQM9loR2v2jL4aYgYADNWJG7TZwnrLWAkFa6Oy0NcB429GZDIg1zeWe5P21K6GsHTM8Wf5unHr2QCVwFlDL5azpToYsxpPChGA73mc/2/8AVo2WBiCSsHgALy65rX0ZVsbgak1+CXRX3KxY1MgaDsBwGvf7+2hOo6BSmB5iVgR5i uOQmppBi cAJxSYbZMvyMqRn2ymcuPVaC3a0H+K1vO6KHuwwFz4/AP+RxTst2af9Y1eYISkq43xn5YU0Agu25PVKhErczuAp8ztDrRdNDzNbEE6I1qsjaiyqGEIDVLDx5CRDYU1Pr0zZPT2oQrlon6uYtSKkLsORM6kUtcGw6yJJjr1BRWb5S7BAkghuSh39eL3JlWs4XIXS0Xl2wBhED7YuMM5JoW0g17wJZ6KoHe2GrQsjge8Go+Me0BGoXXVSi2bpG1ZbLkkjQmGALKuBPhvoZVCi3bGlyKg0U9ofQTQXhFoCAAY8mJOqNOl6W8od/54bk2tJQZUHlkF+QYXfHeNco= 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 Thu, Mar 2, 2023 at 3:28=E2=80=AFPM Luis Chamberlain = wrote: > > In theory when info->flags & VM_LOCKED we should not be getting > shem_writepage() called so we should be verifying this with a > WARN_ON_ONCE(). Since we should not be swapping then best to ensure > we also don't do the folio split earlier too. So just move the check > early to avoid folio splits in case its a dubious call. > > We also have a similar early bail when !total_swap_pages so just move > that earlier to avoid the possible folio split in the same situation. > > Signed-off-by: Luis Chamberlain Reviewed-by: Yosry Ahmed > --- > mm/shmem.c | 10 ++++++---- > 1 file changed, 6 insertions(+), 4 deletions(-) > > diff --git a/mm/shmem.c b/mm/shmem.c > index a5a6da51087e..6006dbb7dbcb 100644 > --- a/mm/shmem.c > +++ b/mm/shmem.c > @@ -1352,6 +1352,12 @@ static int shmem_writepage(struct page *page, stru= ct writeback_control *wbc) > goto redirty; > } > > + if (WARN_ON_ONCE(info->flags & VM_LOCKED)) > + goto redirty; > + > + if (!total_swap_pages) > + goto redirty; > + > /* > * If /sys/kernel/mm/transparent_hugepage/shmem_enabled is "alway= s" or > * "force", drivers/gpu/drm/i915/gem/i915_gem_shmem.c gets huge p= ages, > @@ -1367,10 +1373,6 @@ static int shmem_writepage(struct page *page, stru= ct writeback_control *wbc) > } > > index =3D folio->index; > - if (info->flags & VM_LOCKED) > - goto redirty; > - if (!total_swap_pages) > - goto redirty; > > /* > * This is somewhat ridiculous, but without plumbing a SWAP_MAP_F= ALLOC > -- > 2.39.1 >