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 95CFEC433EF for ; Tue, 3 May 2022 13:05:30 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D50446B0072; Tue, 3 May 2022 09:05:29 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CFF116B007E; Tue, 3 May 2022 09:05:29 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BC7B86B0080; Tue, 3 May 2022 09:05:29 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (relay.hostedemail.com [64.99.140.27]) by kanga.kvack.org (Postfix) with ESMTP id AE7D46B0072 for ; Tue, 3 May 2022 09:05:29 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 79C08C7A for ; Tue, 3 May 2022 13:05:29 +0000 (UTC) X-FDA: 79424453178.25.F7C9D5A Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf19.hostedemail.com (Postfix) with ESMTP id 7FD971A0081 for ; Tue, 3 May 2022 13:05:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=Po50kfaBWLAvtH7Xt/KDLLMA8915tVZ9jWq+Lq7Ed4o=; b=DzN71c7BrHacay3HMXR2uVrdqh EqvXlTKlKVzcQoEXEQX1y66R8D9a1X9ifLPBqnI16wzZH7ctHiG1N+q+4PeMDmLSzV8Dvn3SdkmAq QJkvGDgQZ+b0ljuC2hUpdoKdsPivhRStf9JOULCiPv39h2QLRBxfa21yRQfX2NnoZ6IPhtztqsy7o V0bLmkUD+uxvuRGmpYrHLTO9Ryn+mnjfbJwJc0JDxpi2t1wwew1QK+mOC2lbsmR1NDH8VfHXOz3ND F1pldarF84AN8R1lT1hj31GO4FlsI0S8//RxF352smbfGEnsBBtcMJXk4DaWQg0KsLko+jN72QcXQ uVpU7znw==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1nlsDV-00FfWj-6m; Tue, 03 May 2022 13:05:25 +0000 Date: Tue, 3 May 2022 14:05:25 +0100 From: Matthew Wilcox To: Sebastian Andrzej Siewior Cc: akpm@linuxfoundation.org, linux-mm@kvack.org, tglx@linutronix.de Subject: Re: [PATCH 16/21] mm/shmem: Convert shmem_add_to_page_cache to take a folio Message-ID: References: <20220429192329.3034378-1-willy@infradead.org> <20220429192329.3034378-17-willy@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 7FD971A0081 X-Stat-Signature: 8twun1cw7ygqoiqakudnbkjenc1ncfa9 X-Rspam-User: Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=DzN71c7B; spf=none (imf19.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none X-HE-Tag: 1651583122-795546 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000006, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Tue, May 03, 2022 at 03:00:05PM +0200, Sebastian Andrzej Siewior wrote: > On 2022-05-03 13:48:50 [+0100], Matthew Wilcox wrote: > > Thanks. Stephen already reported that; fix here: > > > > https://lore.kernel.org/all/Ym++SI1ftbRg+9zK@casper.infradead.org/ > > Stephen says "I applied the above patch to the mm tree merge today" and > I have here next-20220503. I don't have the BUILD_BUG() in > can_split_folio() anymore so I have this change. Ah! I didn't realise you were testing next; I thought you'd picked up these patches some other way. > My guess is that since THP_FILE_ALLOC is defined as BUILD_BUG() for > !CONFIG_TRANSPARENT_HUGEPAGE and there is nothing that removes that part > of the code, I end up in BUILD_BUG with CGROUP and no THP. > > PageTransHuge() used to "return false" for !CONFIG_TRANSPARENT_HUGEPAGE > which isn't the case for folio_test_large(). Indeed, indeed. I missed another case. This fixes it: diff --git a/mm/shmem.c b/mm/shmem.c index 5b161a92e6f1..019ad8bf0d21 100644 --- a/mm/shmem.c +++ b/mm/shmem.c @@ -716,7 +716,7 @@ static int shmem_add_to_page_cache(struct folio *folio, if (!folio_test_swapcache(folio)) { error = mem_cgroup_charge(folio, charge_mm, gfp); if (error) { - if (folio_test_large(folio)) { + if (folio_test_pmd_mappable(folio)) { count_vm_event(THP_FILE_FALLBACK); count_vm_event(THP_FILE_FALLBACK_CHARGE); }