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 1CCFFC64EC4 for ; Mon, 6 Mar 2023 19:49:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 61FC36B0071; Mon, 6 Mar 2023 14:49:45 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 5CFEC6B0072; Mon, 6 Mar 2023 14:49:45 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4BFD16B0073; Mon, 6 Mar 2023 14:49:45 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 3C3E26B0071 for ; Mon, 6 Mar 2023 14:49:45 -0500 (EST) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id DEB9E80255 for ; Mon, 6 Mar 2023 19:49:44 +0000 (UTC) X-FDA: 80539513488.07.5F40A72 Received: from mail-ed1-f42.google.com (mail-ed1-f42.google.com [209.85.208.42]) by imf06.hostedemail.com (Postfix) with ESMTP id 17B0C180015 for ; Mon, 6 Mar 2023 19:49:42 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=kwhTl84x; spf=pass (imf06.hostedemail.com: domain of yosryahmed@google.com designates 209.85.208.42 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=1678132183; 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=vZ8HvqtIPLz0dPleZMUFGrq6mRjQgi/9JQx/mHQNyq0=; b=2feL17T034OoqY7qz9DZBYqJwMbbyfu4nCobo7VzpAe44zbloQT4JymNKFPN06AGO3poeR VvbkZ+1yTlVyKm5qZSnGsKIfm8h1TBdUWqcT6TcjdNNf8PtY/6acMnfY6JwYnK7SpSrac3 7G4MthGYfZPHikIBCjNGdyk3n2hsPQw= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=kwhTl84x; spf=pass (imf06.hostedemail.com: domain of yosryahmed@google.com designates 209.85.208.42 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=1678132183; a=rsa-sha256; cv=none; b=RRPVW5qB2JkzkebJADv8LEQa7a0JQNAcuT6qMSxJpz0VeplbPFQLUGP6s4ASIqK49M94xa j+R16xTI/vJvmxWnYuABkn4QYd4w5gOmhxxERJygvQLt7SKXxCLXLg3+TDEruJb7QsO4fH voqbSTUcgA9LVAo4JKZA3aeKFfYIY/s= Received: by mail-ed1-f42.google.com with SMTP id ay14so39744303edb.11 for ; Mon, 06 Mar 2023 11:49:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1678132181; 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=vZ8HvqtIPLz0dPleZMUFGrq6mRjQgi/9JQx/mHQNyq0=; b=kwhTl84xw1eEGSpRl4nINA+Fb8qaW+LVjaA8ygTrihkdAL6mhBe3a7ZAxhV4a4XYAt LfUeTYmsw7/5A9B5IHXpimjSG+97CeqT+WyBHP23CjyPUipsVmwH7u9p0VQVBB+6nE3t Yc72D0GAT5pxx1HAAGuqT41MPTC3kG0eF5Y6220o6a4wIMHHsXdZSs5uxAc8xYC0cNxX leh0iHfa3+XV9sqnE2RSGzBGdl0PJgrwq2y/sxr2M5ic2hQ5INYHN5RTpBWgNFyB8Zgg o27AdMVtQX7HTfO+bTHJC33p1IsxsMgYUgDxVCUNX9hKgoTulqRzwfypBaEhWbn6sMgj PHcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678132181; 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=vZ8HvqtIPLz0dPleZMUFGrq6mRjQgi/9JQx/mHQNyq0=; b=8RPaHKyDdYaje34LPysGDzdQ8WMWYe5PqVKKMgkSkUQm5vo5Y5w6zme+PsuK+dpW4A 4wNI8GjkVUlXlrjFn3poNeSZkel0rTQ6DoS8RFjY3vQ1EBhHSLlR1pvMnxFxuWwe28sa B2NtRGemG4MSXQcOLvoRVfEkPzUUx2QCZN/1gYQg7c2WRsQvnJ59Aj5actc8Yf5wiu2t L7YfugIPt8DLFxaoRUErLLfT5MJcaTmeT3O4Yn7sPPUiXJ5trmWCZ5oNRvEndRwPNtd5 MHfIm4ViT3BPkNPIbweKSz4sjXudiAZ6Fg86ilva3DqGpg1ePCUAMrdAnxxqkFPU570c R41Q== X-Gm-Message-State: AO0yUKWQc4F4KEKrLJ6LBgdHduhNI2dl580FsBRTQgCcQw/mYIqH8W3d SrmD10uJZzdKOsjc98VdejtDb64pHCj0vmPWZRQ7Gg== X-Google-Smtp-Source: AK7set8FGULDLLQMph8YO2LW0ePc9c3mdTd9Jl/SBfqAol+1SKDU4JBVK3PEMnT68gWQb4UIIIsccIaFHO7iwyFD07E= X-Received: by 2002:a17:906:46d8:b0:87a:3b3f:b9da with SMTP id k24-20020a17090646d800b0087a3b3fb9damr5926882ejs.10.1678132181333; Mon, 06 Mar 2023 11:49:41 -0800 (PST) MIME-Version: 1.0 References: <20230302232758.888157-1-mcgrof@kernel.org> <20230302232758.888157-4-mcgrof@kernel.org> In-Reply-To: <20230302232758.888157-4-mcgrof@kernel.org> From: Yosry Ahmed Date: Mon, 6 Mar 2023 11:49:05 -0800 Message-ID: Subject: Re: [PATCH 3/6] shmem: move reclaim check early on writepages() 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: rspam05 X-Rspamd-Queue-Id: 17B0C180015 X-Stat-Signature: xtwuekoqg6iqh4dyinmyfwryo6gbdkjb X-Rspam-User: X-HE-Tag: 1678132182-567611 X-HE-Meta: U2FsdGVkX1+gEFjiqI/iPfJbSh7Y0f/wCPAvyZ8jrNWYbb20/EISoFTOyN0xij1XqVISL8KR7Juw11+yj2jnB9bfODSVfWa61P35cpjUQ1Rans44j1ApKOwNPvYZu8FpkP2RGdJSCojnWRiOLXsCBz5+a3JfcoCdxv6nCJ0cFMklnlBGgKx4IxK2vj/13XxFdme/9WksorqJt+0VUwqwa8kjx9EY9xKgMdmQ+BFvlv+5v8g/5OlvyaUIgMT0HQr8RJBgbBL4ffQzx12PFrABQgNGg6IOeLJXkcWVy17rjbnSnvV4yA0dz3nddmPUvgBtTKSLtH0FtX6/02mkQEboYT8BCq92bsfagF1nScdD48w+dJDUMwa4BeXDNnsdPwk1pdCHf51slrFFRrJmKkp7jTyxCiapQRjzhIkMydzoI0uU4VaWwawJCxGuzwmn1+hGB11/NgrZWnGIu8+oZh0Ytg8BIa9NBYshnZqjuo0EXOlRXoA3QXnuxhkGKrjnx1KyG3zjL6g1vl2mDvKTDKC/hKZJLKEOEBEF8M6Z78LAo9UM6gqzuq5zy98Q2Qs+h3s2HsHex/gjsW6pUQL4m21RaIurmTL46+2YQBsywlJiwjraNkf0eCZLi2m2r8A+/uQ3x6CVeI/NlNFWMSrwbNO65RKtOpR9k2SJAN3TFqEu1Nto6DqU7XnebLqda6iPH3YGfmXUfjttJC+VtVTnjrpAZdjiIxDdRVrHLGjNioUE3uZjLdjGIsZKnQB9x3XqUSNQGN1QQpUmg4YF5j6lvmaa3FWLBfHKn6gsVrWVe7muxdLD9b2fxNCeWn3Ux/emnaIvTKLC+tZf6FZdbjQyFysolrMuE+HpugIibHiRW0fWVWVu+vtDzMDgHZnB80XMl/h4OCTh/ExCyHpzmMGufqcA/+5Rt7hKQCw0fH6aIYgJqYr3nA5hdEAO5t0tvP2/5T6d+rXQlc3Ixtj9mw5JqkM jmKqAlM+ WvQWdVfETjrt70CQLHvfuY2G6W9l+02KF5TDC2oWIx/xxnLjol6OsojpGJ2ZiFZf46u6f3/BgWDEyIGV6V5yTJUz44iO1RCUbiGQ4ZStwJgWi+qu7JxgNHbTjiZmT8cgugUyoKPmhJHnmGBW5xGnAEnqK2A7uA8TgwOfxSXemCoFue3MStbNsLnmO7If1tXuOvf6IlA6GCJ1TDqD7W+BVq2GxvBEuMW1lq3MCJ3uRE2tSbfIDG9iFWiuMBZPsx0tnS6AZtzHXqbrrQqJjA7MkpTE3KyQwxTUhqDKMKs/Vpo4qJSKeg2VNwvOwTlIug0cgtsyZ1HSm0Mi/LCU= 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: > > i915_gem requires huge folios to be split when swapping. > However we have check for usage of writepages() to ensure > it used only for swap purposes later. Avoid the splits if > we're not being called for reclaim, even if they should in > theory not happen. > > This makes the conditions easier to follow on shem_writepage(). > > Signed-off-by: Luis Chamberlain Nice cleanup. Reviewed-by: Yosry Ahmed > --- > mm/shmem.c | 24 ++++++++++++------------ > 1 file changed, 12 insertions(+), 12 deletions(-) > > diff --git a/mm/shmem.c b/mm/shmem.c > index 2b9ff585a553..a5a6da51087e 100644 > --- a/mm/shmem.c > +++ b/mm/shmem.c > @@ -1340,6 +1340,18 @@ static int shmem_writepage(struct page *page, stru= ct writeback_control *wbc) > swp_entry_t swap; > pgoff_t index; > > + /* > + * Our capabilities prevent regular writeback or sync from ever c= alling > + * shmem_writepage; but a stacking filesystem might use ->writepa= ge of > + * its underlying filesystem, in which case tmpfs should write ou= t to > + * swap only in response to memory pressure, and not for the writ= eback > + * threads or sync. > + */ > + if (!wbc->for_reclaim) { > + WARN_ON_ONCE(1); /* Still happens? Tell us about i= t! */ > + 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, > @@ -1360,18 +1372,6 @@ static int shmem_writepage(struct page *page, stru= ct writeback_control *wbc) > if (!total_swap_pages) > goto redirty; > > - /* > - * Our capabilities prevent regular writeback or sync from ever c= alling > - * shmem_writepage; but a stacking filesystem might use ->writepa= ge of > - * its underlying filesystem, in which case tmpfs should write ou= t to > - * swap only in response to memory pressure, and not for the writ= eback > - * threads or sync. > - */ > - if (!wbc->for_reclaim) { > - WARN_ON_ONCE(1); /* Still happens? Tell us about i= t! */ > - goto redirty; > - } > - > /* > * This is somewhat ridiculous, but without plumbing a SWAP_MAP_F= ALLOC > * value into swapfile.c, the only way we can correctly account f= or a > -- > 2.39.1 >