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 B3519C47DD9 for ; Wed, 27 Mar 2024 08:54:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 48A2E6B0095; Wed, 27 Mar 2024 04:54:06 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 439436B009B; Wed, 27 Mar 2024 04:54:06 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2DA0D6B009C; Wed, 27 Mar 2024 04:54:06 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 1B2E56B0095 for ; Wed, 27 Mar 2024 04:54:06 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id DAC7F40B43 for ; Wed, 27 Mar 2024 08:54:05 +0000 (UTC) X-FDA: 81942206850.22.6BC53A6 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) by imf13.hostedemail.com (Postfix) with ESMTP id 8BECB20019 for ; Wed, 27 Mar 2024 08:54:03 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=WccdZ039; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=ajaJdWBh; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=WccdZ039; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=ajaJdWBh; dmarc=none; spf=pass (imf13.hostedemail.com: domain of vbabka@suse.cz designates 195.135.223.130 as permitted sender) smtp.mailfrom=vbabka@suse.cz ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1711529643; 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=Y+nV4FXBFEIfJn1nP8KUD8AMey9E2WlbuBTskPgjqLA=; b=j5Vu750cNNtHqPrTBbXAv8agBVPOQrnM6fxw2Bp9hCoH3Z3wJfcSSuyYLSsB/IdD34UFIc JddcJ2YtGq2bJdxEPWNMAIyzQhRYslmzkkSXaw3ijrra9j4r8deV9sKjklr+onV+L2/qKi jiIGj5aYBr40d/7F5exY9BhB9aXxnRU= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=WccdZ039; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=ajaJdWBh; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=WccdZ039; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=ajaJdWBh; dmarc=none; spf=pass (imf13.hostedemail.com: domain of vbabka@suse.cz designates 195.135.223.130 as permitted sender) smtp.mailfrom=vbabka@suse.cz ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1711529643; a=rsa-sha256; cv=none; b=wSJvWhO0a6y3kvLA+I4ZgNP7+GplVBcPSO/bkp9pxJ+Ndfbcf0W2hTkGdaQAGH/fxFIiDV Z+xthIEHnaeWc4Uz6CqRrpBI+dZm71jGbJ1zRHdOgRiOh11LlKfqq6g0C50QrYHPPUKslD b4CQ6ErLhtFWBHfHchyVGz0wufJYttI= Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [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 97CEC387A0; Wed, 27 Mar 2024 08:54:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1711529641; 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=Y+nV4FXBFEIfJn1nP8KUD8AMey9E2WlbuBTskPgjqLA=; b=WccdZ039zT2VYCeEx1fbN9pXmOzpC4yqHc244P7N4vsp49KINYXndVzA19aXb2My8LxC9W y1ZtertV+n/jmdCd+LqY1wGmi8Tc+e8WWBC0rUIooiKA9QmzuC0ZjL+/6LuaR8aUCfsfP1 kLYwF7H8IPwChGDNG0CMpO8/B5+obBU= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1711529641; 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=Y+nV4FXBFEIfJn1nP8KUD8AMey9E2WlbuBTskPgjqLA=; b=ajaJdWBh2rUGqYrQsQGKWEw9mOWQ2CMgNekLA8QJSk8QJ2ewkHqfY+v3MO81wKzUvDTiDk Sr4TfnTfYbTxzcDQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1711529641; 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=Y+nV4FXBFEIfJn1nP8KUD8AMey9E2WlbuBTskPgjqLA=; b=WccdZ039zT2VYCeEx1fbN9pXmOzpC4yqHc244P7N4vsp49KINYXndVzA19aXb2My8LxC9W y1ZtertV+n/jmdCd+LqY1wGmi8Tc+e8WWBC0rUIooiKA9QmzuC0ZjL+/6LuaR8aUCfsfP1 kLYwF7H8IPwChGDNG0CMpO8/B5+obBU= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1711529641; 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=Y+nV4FXBFEIfJn1nP8KUD8AMey9E2WlbuBTskPgjqLA=; b=ajaJdWBh2rUGqYrQsQGKWEw9mOWQ2CMgNekLA8QJSk8QJ2ewkHqfY+v3MO81wKzUvDTiDk Sr4TfnTfYbTxzcDQ== 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 82BB513688; Wed, 27 Mar 2024 08:54:01 +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 ZVZxH6neA2bMDwAAD6G6ig (envelope-from ); Wed, 27 Mar 2024 08:54:01 +0000 Message-ID: Date: Wed, 27 Mar 2024 09:54:01 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 10/10] mm: page_alloc: consolidate free page accounting Content-Language: en-US To: Johannes Weiner , Andrew Morton Cc: Mel Gorman , Zi Yan , "Huang, Ying" , David Hildenbrand , linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20240320180429.678181-1-hannes@cmpxchg.org> <20240320180429.678181-11-hannes@cmpxchg.org> From: Vlastimil Babka In-Reply-To: <20240320180429.678181-11-hannes@cmpxchg.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 8BECB20019 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: chb1cdqir4ak9uuo5psx3dktk3rgu5az X-HE-Tag: 1711529643-141652 X-HE-Meta: U2FsdGVkX1/kDsOznMoYuulRcRz5G2W4C0DfM7KA0rwCBQOgDsr6HhVSatjvW7l1tTwLT8P8WAvYgICahANxJxgGknUR/WOfIoG+6CycKriJCIR0JAwM9R5tu64eaE+3mpTMkjKKB8WkVAIV2mzb5zmCRj/+3UXF+oCJslOyhAzNom551nfqzJODcYHuaspHVwW0WATr5AdI+PLVDHZ2FqdyRFPlmHC1S3h6jl4UxcREBBCIG3J8EbBE+3ANxTpwndSfqd70ClS2ysiU8k2ALWwdFGOx7Lm7yextpt6h24aLncyW1x4HxyGmD8a5HdzX/+kpDSwdba1awmT+2vkSleCPE1ItWTl0m9qiUAs0Jr5ONjwBsIYlWgqKqB43JQeU15CnVTOh3PakIrwh9EXWq53upXOChJRGNjUL6Kw4b20jjcfqC/L4KiCPS0IbPqhHx3eUcYfMEmYPU+f+SD1DbzQDAgqfOExU77SPKptjCzEnv/0v1Xa5LF1hICcNFzY2y4h9jHPEBOVS8QI09+Nb6YAChpL28QdooWCHuQCTUArK3F7mh5pYCWEtwz+CdfPfhmJhgH+xHQGUFqiZGmMlMNqF3xKy0NYChgigfUSkOHxwVk0anNNHP3VaZvaTGZ5r/+JM/TmVf/NtfM/LPBpZXqHrNIckOo56u0WgPIYI84bVxxd3CdsArF81XWXAYMb0eKJqfiKXCfZi3BckKmeDS0YkYHKhd6S6+2INxohxfDIwRuRn6P0qWYyq77jsLUYp4M8OfIbkuKe6Q7GmiZ9n6sSy2NDloAFygTQjqO2EQmSTA5Ai4UOZ6eOwbbDEyXwBWhhQ2rimcq1J/XKD0csVT21YaZ44aPJ35mHjKUq/X5KPauZB6YMgjDfIMIFLZxB6X8wN2GhOBcGIEfUNJIC5msHjukGaPewWp9fAH7NKUo7PNLdCQlRKdQOSLdWOEbvBBLf6zXFKiYqeZdf3OBc RxQFjCwx D5C/GiHzEwIg3J0QhEf0UVUTN4vMGgMMig4wJZI+Jw68WIyEvqqjv6y3/t4QyiwvNT25r+L29fLvXtzPyDRnTh1a4YcVo2AmYrG32nHjpH5MnfsNzqi7McRtKvfdj1iaoZtqlTRsADtDTf00+1AE6+pyzu+/MF2ISM4GOrkTD7iGsMVFFSq3bosTCia213qInLdqA30xVLCXAvuRBjncuLy7iyHeb0yqX74Ao+WF0Mpdz8XWQK+46wwW/ItLpyckt71B3dP527ez4OvhUKkhm7LTcI2cQc9uav50p3z+5L34+1tbshFQmF6rGP6Wp8x6R5tXnRWBVvGIxBjXusadURRVqSopKHFCeKkUTwv/l1rA3iI8= 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 3/20/24 7:02 PM, Johannes Weiner wrote: > Free page accounting currently happens a bit too high up the call > stack, where it has to deal with guard pages, compaction capturing, > block stealing and even page isolation. This is subtle and fragile, > and makes it difficult to hack on the code. > > Now that type violations on the freelists have been fixed, push the > accounting down to where pages enter and leave the freelist. Awesome! > Signed-off-by: Johannes Weiner Reviewed-by: Vlastimil Babka Just some nits: > @@ -1314,10 +1349,10 @@ static inline void expand(struct zone *zone, struct page *page, > * Corresponding page table entries will not be touched, > * pages will stay not present in virtual address space > */ > - if (set_page_guard(zone, &page[size], high, migratetype)) > + if (set_page_guard(zone, &page[size], high)) > continue; > > - add_to_free_list(&page[size], zone, high, migratetype); > + add_to_free_list(&page[size], zone, high, migratetype, false); This is account_freepages() in the hot loop, what if we instead used __add_to_free_list(), sum up nr_pages and called account_freepages() once outside of the loop? > set_buddy_order(&page[size], high); > } > } > diff --git a/mm/page_isolation.c b/mm/page_isolation.c > index 042937d5abe4..914a71c580d8 100644 > --- a/mm/page_isolation.c > +++ b/mm/page_isolation.c > @@ -252,7 +252,8 @@ static void unset_migratetype_isolate(struct page *page, int migratetype) > * Isolating this block already succeeded, so this > * should not fail on zone boundaries. > */ > - WARN_ON_ONCE(!move_freepages_block_isolate(zone, page, migratetype)); > + WARN_ON_ONCE(!move_freepages_block_isolate(zone, page, > + migratetype)); > } else { > set_pageblock_migratetype(page, migratetype); > __putback_isolated_page(page, order, migratetype); Looks like a drive-by edit of an extra file just to adjust identation.