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 0414BC61DA4 for ; Thu, 9 Mar 2023 23:09:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 92F83280002; Thu, 9 Mar 2023 18:09:41 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 8DDE0280001; Thu, 9 Mar 2023 18:09:41 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7CCC7280002; Thu, 9 Mar 2023 18:09:41 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 69A21280001 for ; Thu, 9 Mar 2023 18:09:41 -0500 (EST) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 382A1AB448 for ; Thu, 9 Mar 2023 23:09:41 +0000 (UTC) X-FDA: 80550903762.20.D19D9F8 Received: from mail-ed1-f49.google.com (mail-ed1-f49.google.com [209.85.208.49]) by imf22.hostedemail.com (Postfix) with ESMTP id 527E7C0018 for ; Thu, 9 Mar 2023 23:09:39 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=YL+yymwl; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf22.hostedemail.com: domain of yosryahmed@google.com designates 209.85.208.49 as permitted sender) smtp.mailfrom=yosryahmed@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1678403379; 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=L82LLAFa3yKPGqihEjumWOS8LCu91FNhSAsS82H2S9Y=; b=ycaxakSUrHzjv8y1ExFdYD4UC1ZB7yvtmsbeOW8ghQQ5y/G623bstvOmX/rx2X/dztj+VO gRAy8saAZxyt0oM1VJaMm8m1xB+qL+mdMGtD33A4AGBCXs72dOfvwtBn7dGSRGJBXcSldJ ZG75W542cx8vsozoZLUvKfmkFRVmvr0= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=YL+yymwl; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf22.hostedemail.com: domain of yosryahmed@google.com designates 209.85.208.49 as permitted sender) smtp.mailfrom=yosryahmed@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1678403379; a=rsa-sha256; cv=none; b=30ztQsfYNk2YAQ9OMXKzKZBN65EJVNqFboLMzFskuFruwjY329vaZF8Ax4PNlQxdUHtHin F005XpQaUFkT78CoPNNOV7FOBFGBiIjNGurrW8f6b0ydcCX/+6XXNu6xTcRsy3+/9rH5bU 5me9U+sdRJNXnTSotYLlor8/AfJ//TU= Received: by mail-ed1-f49.google.com with SMTP id ec29so13479785edb.6 for ; Thu, 09 Mar 2023 15:09:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1678403378; 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=L82LLAFa3yKPGqihEjumWOS8LCu91FNhSAsS82H2S9Y=; b=YL+yymwll8LWqsXH9BumplzZ1FYULA6wAuo2rS5NSlsw7qMzmpSEGnyuwl+92wgoKc AGVm89QmivXRyOWbYzZXYYYph8BTyq5K0zc71DpKbVqtD4WFI1xakRh0NWOM2Nh9hAS1 A4jjCH0UULVIQXSPgrnVTD/KRjI/aSGFMD6a0f1si8McUSgFNqR02Wa+y7sZ36qBBD9I 8ZZpg9j5LjzgrPBfzMgUvfgX/c/aiLKBSvQl0AAlBr/JpG69m9OZr16xmln/Sr/hlkgV qqKByUoCXeXt9wI3FjbXDE6q7akRssXth/EaIDXsy2HLRK+YpxcxfKvQMf/ou3eCkXp8 7eeA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678403378; 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=L82LLAFa3yKPGqihEjumWOS8LCu91FNhSAsS82H2S9Y=; b=s2dot2J8Bn+VrKId5LJI9COVBqImuMpNB29gpisRLyVlSC9tS3WEVkGziW7FxUb5HZ NKi4kgCiHVwaAFZVyK3SKCfkAtpSIo4lI+96sPW/0EmaNZxMFo5vpPuR6udgmEpWqnQA 1R0uAhjK3tKxme9z35VNXhBpZ1CNoSKuiqm5AFwiiticC1jQA/tkfv/PGoDT57v9W3kJ aQKjYf3o2r0meRTg/N5WPyQtZUdCxAF1IWeTqtNnttU7iM1mKCMZ7b2SPmhlSF8uW0bC t3bARPUuTmE9ax9oJUBwf7yhYZsXWwg5h5uyT2elQ1jWniK7yeoYxz2Wifz7NjRkw1wI g3lA== X-Gm-Message-State: AO0yUKUu0BGJTRsDaPbNEK9wFyciurSICA/TIeg4Mo+Upvf3Pt7aaSo2 7VOkq/mtxCVi5XqKaQB4s9I4KIplOu/i8bbYvjmUzvGzjgAOqvjElZZJDPh3 X-Google-Smtp-Source: AK7set8AcinN2hr2zJihYxX8vcj8C1IPM0eI53YU3Xrhk3kW37BWKt78hyHgHxxiBGSv7riWGLA37o19ds/90kmhRL0= X-Received: by 2002:a17:906:b11:b0:8f3:9ee9:f1e2 with SMTP id u17-20020a1709060b1100b008f39ee9f1e2mr197745ejg.5.1678403377576; Thu, 09 Mar 2023 15:09:37 -0800 (PST) MIME-Version: 1.0 References: <20230309230545.2930737-1-mcgrof@kernel.org> <20230309230545.2930737-5-mcgrof@kernel.org> In-Reply-To: <20230309230545.2930737-5-mcgrof@kernel.org> From: Yosry Ahmed Date: Thu, 9 Mar 2023 15:09:01 -0800 Message-ID: Subject: Re: [PATCH v2 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, David Hildenbrand Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 527E7C0018 X-Rspamd-Server: rspam09 X-Rspam-User: X-Stat-Signature: qgdyygpmah3stk1yjrgh18sx7hzus7an X-HE-Tag: 1678403379-57099 X-HE-Meta: U2FsdGVkX19NEBRurloVzX/ETSyTknfRuR5/M9FPghjklwF3OZ3HdMRnTw6s5w7uO3IWXA1zTAte/i3qIA5rkUCSfuUCZ20v5NXPbl0c7YUCco3Wm99+pKAWsDLeP95BS8+rzR3+6MIQeFfMEsoddc28kB5ulW4oT1pUOcX5exxb2jMv6qgaLZBBJ1JeFBfaALdQ5r/rxMQ2ywKo4RqAae8DjFOlf92hz2t4Tn386to+/UgAynGEUqpkDnmg6qQ9EDLitWeg2oD5XWMMrFwvpfo7GfZ00k7pBmRrVit829CDmchWrFa9o52gTrGH3zk5cJc9ovi7fZNnsFXSh+vKmfYsziBUFG/CLEl/2wSSbvRxV92vRQEDQR3wvs5+kuB6JDWcntNtM6RigJK7rP8Ut9+ewJmaFhKxio7uKk/8YVbhw5EHseTyAD7TM4iKgsg3KNRX7q445I3ZLTAVyxHJF27J6LDKUXxIsAEcNyhs0RjXS0qcdud6otUttIQT+Fv/T6piUSP6sps3lakUMhtaZuUyPdaDo5VTZDL2H5jD3bF+mPq2MjWWD81whXxp6L7lW8WNa3beHxqlUS6lUDJ7KT0vLpiYxcL2V7ll+R8RJpjni4LqppSlNhjsrhmdMuJilow2ADbge7zdW7TPzbhKiNM5MHels1TvwzMqxwY4y807UQm/TyoG031nIX1QQrHpjthTc+i7cKEz/D6DY1jJglKF6LEAgYKASc1xZR9mR6dWDaNu3uJATc5qyDVVH25ozi0EmMii7gXHUNvHJJaGSoucO/zarM4hLW3cw5xNV8BBMah9M9IdjIX/mEtZttEo6KkxdZUFYNyeDEEJxRmNwVgpkAK4JnEO5mn9xv+VkdKtq7IJ2YwA69cqOe8kdgiB4U6o0cgk/7B87m0VhMp1nR0luo/FGVRGNpduQG7x4mKdg35+ynMD981t/gyqNFObTfR5Fky2AlQoUOvhuw/ PzRstZtz LO87PZoNUA6HI5/IGZxuRylNUepwRXJEsmly4xvDRju/ezDYRbfnTkdPT2DpxbnpnCPiTBWJzD+Lu7WMwMtnAKwe4mMqZuZFZLy97yVt81lmQia5h2jfTPpDVIEZm4iE2Mfk6yZHCDG/1EZIrkbFyhgcbLhVt3pY94jjXJczcI3qrOknQ2LDYjoO+MbIhJcC90doWVk6aAU3yvAabMXHeavGy99ZB3nrorSeObkWDK6cVjO7hSeDUg5U/MrSxSvq7SEVzF0tNscqkiC94IKR6+numt3xy8YTkclZ0pkvG4y8VCdxcMlODhhCAGvIH2JsZRXwjgoCbOaX6W9eGlPgo4YYulAjUbQ8I1TWV 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 9, 2023 at 3:05=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. > > Acked-by: David Hildenbrand > Reviewed-by: Christian Brauner Reviewed-by: Yosry Ahmed > Signed-off-by: Luis Chamberlain > --- > mm/shmem.c | 10 ++++++---- > 1 file changed, 6 insertions(+), 4 deletions(-) > > diff --git a/mm/shmem.c b/mm/shmem.c > index 68e9970baf1e..dfd995da77b4 100644 > --- a/mm/shmem.c > +++ b/mm/shmem.c > @@ -1350,6 +1350,12 @@ static int shmem_writepage(struct page *page, stru= ct writeback_control *wbc) > if (WARN_ON_ONCE(!wbc->for_reclaim)) > 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, > @@ -1365,10 +1371,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 >