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 AC9B7E7716B for ; Wed, 4 Dec 2024 14:43:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 460C66B008C; Wed, 4 Dec 2024 09:43:09 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 4101F6B0092; Wed, 4 Dec 2024 09:43:09 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2D83D6B0093; Wed, 4 Dec 2024 09:43:09 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 0C7166B008C for ; Wed, 4 Dec 2024 09:43:09 -0500 (EST) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id AD0AB808A5 for ; Wed, 4 Dec 2024 14:43:08 +0000 (UTC) X-FDA: 82857543720.15.E1C0234 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) by imf20.hostedemail.com (Postfix) with ESMTP id 9D3BC1C0011 for ; Wed, 4 Dec 2024 14:42:50 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=cLrr0QZc; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=vSDeQ4ro; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=cLrr0QZc; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=vSDeQ4ro; spf=pass (imf20.hostedemail.com: domain of vbabka@suse.cz designates 195.135.223.130 as permitted sender) smtp.mailfrom=vbabka@suse.cz; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1733323376; 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=L0s12oZlQCc4/aGlFRpyXY/99ck0RwvfXQCuQCBFE/Q=; b=l6yDW5iZb+k5tfTIPDo0XPd9rPJO3NXu9DVzsS6Iq6aQe1Gs80Wbrb7G7hhbmG58fWbJM7 TUWe6undIM0UwPiPuZlpxhyWVcRuCi3KixQV1Xip+SnBmaQ1v97vjHnWuHzXq3Cf7m1qRV 78hgvTHQspsK75Vwir39y5pc18vFo7o= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=cLrr0QZc; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=vSDeQ4ro; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=cLrr0QZc; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=vSDeQ4ro; spf=pass (imf20.hostedemail.com: domain of vbabka@suse.cz designates 195.135.223.130 as permitted sender) smtp.mailfrom=vbabka@suse.cz; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1733323376; a=rsa-sha256; cv=none; b=c0oUVfmEtPxYIISbsmav1Oq1vGeJWrRB9tHQ3HpQ8d3rv7OnOEvmNeAf70wf4UTdnSAqED CcNC8XEHzbOr1QeeJFFT5JXc0CaA2D6sghomSHNuPGTTUwPHgf+U9lZONMyEMz/uyo1aYt 3cCrdl1rHV6iA6Ti+VaMvH/863bD4p4= Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 6F91621162; Wed, 4 Dec 2024 14:43:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1733323384; h=from:from:reply-to: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; bh=L0s12oZlQCc4/aGlFRpyXY/99ck0RwvfXQCuQCBFE/Q=; b=cLrr0QZcFkaAHwz5Waf3TaAmao0Qh0fv9lcWYSO4ymCltCUDSd2NWpUvV/Za6QWd4uhcIw 5HzTG3zNp9NeKVG3a8Uz/PFLLpFCeX3H0ZrV/8nACNSQQ2m0Xn46f/pUbC56v+ikyBZyT0 jwGDv7KcFsOnu7jTZkyVR4CRScO3rSU= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1733323384; h=from:from:reply-to: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; bh=L0s12oZlQCc4/aGlFRpyXY/99ck0RwvfXQCuQCBFE/Q=; b=vSDeQ4roRRvjpjSEiTlpo54pD+sIYrHGusB64yIh/81ns75HYQiquJku0fKYPIRa4tF7uf otgo5XPLtsovKsCQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1733323384; h=from:from:reply-to: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; bh=L0s12oZlQCc4/aGlFRpyXY/99ck0RwvfXQCuQCBFE/Q=; b=cLrr0QZcFkaAHwz5Waf3TaAmao0Qh0fv9lcWYSO4ymCltCUDSd2NWpUvV/Za6QWd4uhcIw 5HzTG3zNp9NeKVG3a8Uz/PFLLpFCeX3H0ZrV/8nACNSQQ2m0Xn46f/pUbC56v+ikyBZyT0 jwGDv7KcFsOnu7jTZkyVR4CRScO3rSU= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1733323384; h=from:from:reply-to: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; bh=L0s12oZlQCc4/aGlFRpyXY/99ck0RwvfXQCuQCBFE/Q=; b=vSDeQ4roRRvjpjSEiTlpo54pD+sIYrHGusB64yIh/81ns75HYQiquJku0fKYPIRa4tF7uf otgo5XPLtsovKsCQ== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 5C5CC1396E; Wed, 4 Dec 2024 14:43:04 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id XezcFXhqUGdjUQAAD6G6ig (envelope-from ); Wed, 04 Dec 2024 14:43:04 +0000 Message-ID: <8ae6b055-1f96-4185-957b-f2ce5170fff8@suse.cz> Date: Wed, 4 Dec 2024 15:43:04 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3 15/15] slab: Allocate frozen pages Content-Language: en-US To: Matthew Wilcox , David Hildenbrand Cc: Andrew Morton , linux-mm@kvack.org, William Kucharski References: <20241125210149.2976098-1-willy@infradead.org> <20241125210149.2976098-16-willy@infradead.org> From: Vlastimil Babka In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Action: no action X-Rspamd-Server: rspam05 X-Stat-Signature: 1mdfawewmekwqs8swxct3464fm6x4wyz X-Rspamd-Queue-Id: 9D3BC1C0011 X-Rspam-User: X-HE-Tag: 1733323370-253429 X-HE-Meta: U2FsdGVkX1+6G1xXxIqPhko9g1WaSnip3egB3jPOB3Y8CsIeQjGuJ8Hnw1Ebslo4Zi/h0ny1v99SnyVjEeYqPKVBDaLf0gKyd3jBBizRrYzpeOZFZ/njEp+d/B954DmN66hstgGncHLIxEAjXooM2TdH7AGbEyC+IAMkcxG2lrJm4GQ8YwvV+ZZ9mmVHS9NnyXjhGX8nt3Yy/g60Vc/F79fdmdf66RrfhSfhoGjob+C0l5yzPSfFAedTRWULgLb9Mu6Zpvf+FhoB3sw2GG5yARtYBQmmtjhwFWDEy+tKGOWO9CAaSoSU5yM4xUJ9C096xSQ0f+zsntXz/++tuTIP0dnNzcIcG7NdRzLle3Yp3ZQhvVwPaWORmnmAQjT5oJiI8wlwIgAcwaR8sc1Wzh/9zcjBokbhMxY1slUTcAsBDDf8n8Xt3+5ZrjrNbbWUnNC/JHpaJIVG5pCo3ce/Uoi1Nch2DKvn5QarlYa48s/C/xaRazvR+a/gJiAviDiCTJGFZyaNdTH5SXfWyq+6iDlhq3mrmEKteDTXWUTtQGbM8AHU8TAf+qYBkcJV8IP2+aj/AoZvbWseFioafQj5O7KZ3hpxIGhDgWSh7KyaKQW2e6NjWmeavEVb86JIKqiFRvQgFNb+48tS0VjEwt0mbCZPbjCMH9seQMDNLXz2gZJT0+fEwB0JzMg8AdSt1XskVLJkWamEzBvZ4CosdPR5me3OV0HgpULtP7iukEAvhnyJDerPkab1UdpsjrWxZ/OgM0e4RjCCMl7vN11+IwjbrEFrGTi0lLk9M/TXx0CYU+hqIR0EevOE/GHehhzcBZBBoGslxZoGRW+/grcszVYGvKcDD0CzUg0YzTsnjp6kGsAdAwYMWXSXgP86LOhj3Yc0CHEUWfR/5e5fkfPAes1XnD3u8909/ZW5Vs++e2JBF+iSbXFSl6q7FxKNSryrklYERk5A4b313AHL8Y3vkRTfrIc vpAhipMO zsmCYfygLg/F5B9slMAcaRngA7Hll5L0H1wvmTlmlyeZTGJ1k0LsQ51CSpwCoJCS9GWXr8KR6lY21QIXScuxeybH8gFCWBOsQKuHs+Od9l1c3ABwqJlrIc6aLOZ+v5eIl/UXQDZrFq703UlEd7/3bjff6ONWldlJuQ5RZiFw6/0xmNoqSdwiW2+76J1pbRsnVuTH96Od+L+qfV++d//X1yv4d2WwAuMBW51Ky70RKInbTGG42e3przyyEgn5Xkzc4hFof5aL8zAIjCosiwnPfXcX9rnnSMdaDBeoq 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: List-Subscribe: List-Unsubscribe: On 11/27/24 16:52, Matthew Wilcox wrote: > On Wed, Nov 27, 2024 at 04:07:01PM +0100, David Hildenbrand wrote: >> I think we discussed in v1 or v2 that page isolation should be taught about that. >> >> Likely we want something like: >> >> diff --git a/mm/page_isolation.c b/mm/page_isolation.c >> index 7e04047977cfe..7db2f79b39f0d 100644 >> --- a/mm/page_isolation.c >> +++ b/mm/page_isolation.c >> @@ -101,6 +101,8 @@ static struct page *has_unmovable_pages(unsigned long start_pfn, unsigned long e >> * because their page->_refcount is zero at all time. >> */ >> if (!page_ref_count(page)) { >> + if (PageSlab(page)) >> + return page; >> if (PageBuddy(page)) >> pfn += (1 << buddy_order(page)) - 1; > > Ah, for order 0 slabs! I got caught up thinking that slabs would be > caught by the earlier PageTransCompound() check. But that's also a > bit messy since we know that __folio_test_movable() can sometimes appear > true on slab pages. So I'm tempted to hoist this way up to between the > check for ZONE_MOVABLE and PageHuge. That should work. Are you going to try advancing by folio_nr_pages() in that case as well?