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 0A780C0015E for ; Tue, 15 Aug 2023 14:08:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2D2DB8D0006; Tue, 15 Aug 2023 10:08:13 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2826B8D0001; Tue, 15 Aug 2023 10:08:13 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 171D78D0006; Tue, 15 Aug 2023 10:08:13 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 0A4B28D0001 for ; Tue, 15 Aug 2023 10:08:13 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id C246680D9D for ; Tue, 15 Aug 2023 14:08:12 +0000 (UTC) X-FDA: 81126518424.07.918DCC2 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf08.hostedemail.com (Postfix) with ESMTP id EEF901604A9 for ; Tue, 15 Aug 2023 14:06:09 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=cWQseILw; dmarc=none; spf=none (imf08.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1692108370; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=AMvj1+q682nwi561FShRzvYJdbTTAxJUunJmgAL6vjU=; b=kyosv0tFVlZ0CxssyuQafCwwZvV3ZdzGVomDVyKrINCtnm3hS/4wR6y/pJGqEAlXymRhUX NBzu6equZwfZ1Xu4X0z9vTlv3fdLjQSxE+0kHIWkJ3HoSx4v22axnZgWx9LiZD4QYb+dH8 e/N56elE7CeJ2zFxbpMG0FBeKi11Qn4= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=cWQseILw; dmarc=none; spf=none (imf08.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1692108370; a=rsa-sha256; cv=none; b=Cbhdv7kM/FxX3JNufbV9yorkB+ZjkGYgJ/vq2p5bjZIp8feunvRJAiTTex6L3ATrDExud5 iOGazPXo7xroHL4toh+63nsWdtTUUAqvCGSiSqjs1B57A2dJBST1aTOymtubwhjthysIU1 SHrVszOcJIa8WCPw+Z3DG4rkHuaICnM= 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=AMvj1+q682nwi561FShRzvYJdbTTAxJUunJmgAL6vjU=; b=cWQseILwo4RGrokfU7vAptDG4f F4VkkZnzLmKkV/fgIM/hfoaJA4W37LRum2lkQ1+926ZdxGx1KNXZ5E62b9gdP671q5uNfmOc8X2Hj xZQFYE5pSws3J1tM8eSYICWxOb+WSgkO02MoAZhjAvawX7iafRQ8kTmfotsNhk0i4GFiop65TLK40 7QGJ6jHpUeCo633VADjVNEPRYRc3XX0ph7YutLQeGpOViaaTS7FTP2ltOLxsFUbzifLo62H4KK/h1 fUagx+xuP4J/cgfZrmWfwh4Tjy2DrenoR8AtwkuPN6s9yixJVyKP2V70Lt+9L+OpsGwyeiOfosL+1 emajPx+A==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1qVugN-008cZI-Bb; Tue, 15 Aug 2023 14:06:03 +0000 Date: Tue, 15 Aug 2023 15:06:03 +0100 From: Matthew Wilcox To: David Hildenbrand Cc: Andrew Morton , Jens Axboe , io-uring@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH 3/9] mm: Call free_transhuge_folio() directly from destroy_large_folio() Message-ID: References: <20230815032645.1393700-1-willy@infradead.org> <20230815032645.1393700-4-willy@infradead.org> <075a00b7-1e92-1709-5ac6-371eec9b1459@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <075a00b7-1e92-1709-5ac6-371eec9b1459@redhat.com> X-Rspamd-Queue-Id: EEF901604A9 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: irrcbab9h4mpdm43ticwf91aatp4uw5i X-HE-Tag: 1692108369-901704 X-HE-Meta: U2FsdGVkX1/X/T2kP0URDnnoOFFwn4BnBeuj20RV6XWqicVdwK9/IQl7CatDK+EaJU8tqT0ngrK+Z/vrBAWAH2FvEgXqzaUUsE0lTiK6Nix35HCI9xAoHz8Ad7xAkhx4tKcoeBsXO8LRxJrRsXRiZiEq58BQ5CZKTVOKNoRSmgp+jVnT2dd88IxqEblOE9ITKYDkA8WiVg2+plSvA9jkTyJijJsTON9UAwKoDL/NlzzJvKYgOGGTQjbMpSnf7MA01EFfurGzFUqOUb3ESYw6c5A2wZPM/EgDyo3I7WZZ6BbbdDNMuR3SlsKWwwTRJ1vH6mZsztEP3iDVakrYzdOVtyt89eVy3lvAj9ji6pADCK2DXqHV/Gv+iNm1e+1klwfjIvxx71j9sQYlMqWk64xRvIG/M+prTNs6UuiRNqF5t0P04kJOVCyjXp6AyipF7weDTWn/QzNp9wDtZRgA4Uq014h/d6Bec5iBu4p1A0N90PW2VjzNQB+8bUbdBocN+QJPTi9MsMKCS8I4aJs7NOs3Zv3Km0BLPrQ648OhpDyuXc2mPH8BuXGG+e+mCj8B7NcHUJD5b29x6eBcV5oq4g/X7DK0J9RR59aUhLznfnY7+E5Lse/8xNrv+8tbI0cNw+myT0oRZ6WEGF34mzIr5ajY/GTnTd0roEwZz09ckk376fzC8i0CB+8T6YHThtCnSpgbWxPAXAqmSmNJooFMLm0rmsQFLbRbElIA7gxCEizW9mDcQmdbhr2oxcpJnPaCrwSTkROfTUCzrolbagiHPW24I3Jvgrlxfolksski8GtXG6SSYFFzfIWLD3niMx4rArfv0uaTKHCuaVVszKwPN+8Ms4VJiR0GBQHNq7axu0eMI3Ua0fHaVPg+ezjP4r7nR1AAC6ZCz5ByWpM8oMy21kDppU7RNkONRwb6BLAKXcfbkbXbdpKVrboQxkHrc2I6qXw/rGutNfNPfxqJjeULPHd 9JLW3uFF 05eZWuhWm0mOsc7zD3gwXxXOwGxCNW1uNb43mJbfQlusArpbleZ1ReaPgN/t6ykP051Yjpv+ICoaD2RypIR1MqOJJI42qINy9tyszjbMrDFApv1+9abo1sawTFPXSd81nIWusR368xNsF4ObY3DBSfugppSv4TJN+7zhJ4RPN3PTvdoX2OeoL/ASAbQ== 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 Tue, Aug 15, 2023 at 09:40:58AM +0200, David Hildenbrand wrote: > > @@ -624,6 +621,11 @@ void destroy_large_folio(struct folio *folio) > > return; > > } > > + if (folio_test_transhuge(folio) && dtor == TRANSHUGE_PAGE_DTOR) { > > + free_transhuge_folio(folio); > > I really wonder if folio_test_transhuge() should be written similar to > folio_test_hugetlb() instead, such that the dtor check is implicit. > > Any good reasons not to do that? Actually, we should probably delete folio_test_transhuge(). I'll tack a patch onto the end of this series to do that. I want to avoid a reference to free_transhuge_folio() if !CONFIG_TRANSPARENT_HUGEPAGE and folio_test_transhuge() accomplishes that by way of TESTPAGEFLAG_FALSE in page-flags. But so does folio_test_deferred_list() which is what we're getting to by the end of this series. So I'll leave this patch alone for now (other than fixing up the buildbot errors).