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 1B0C4C47DD9 for ; Wed, 27 Mar 2024 14:32:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9EDBD6B0093; Wed, 27 Mar 2024 10:32:41 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 976B06B0095; Wed, 27 Mar 2024 10:32:41 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7F0376B0096; Wed, 27 Mar 2024 10:32:41 -0400 (EDT) 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 5C8CE6B0093 for ; Wed, 27 Mar 2024 10:32:41 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 18D76120460 for ; Wed, 27 Mar 2024 14:32:41 +0000 (UTC) X-FDA: 81943060122.02.29DA465 Received: from mail-oi1-f175.google.com (mail-oi1-f175.google.com [209.85.167.175]) by imf27.hostedemail.com (Postfix) with ESMTP id 1FBDF40022 for ; Wed, 27 Mar 2024 14:32:38 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=A17VTmqi; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf27.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.167.175 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1711549959; 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=Vjl4T139soDHCaOLCmona2jIshqQpQnAUTRCdsvrmJ4=; b=ybFJEbEmdElX1ixUhc5ityNp9WFcXOx1eF15WHRDtKNAW1z0fxdVUlS23Se5LuvCcbt6cj dfuXcxGwpOn/dfTCkl96xqhQ+xl4mxAw/nLgolodNeJdmATU7+SpdspqdDfqYHv2Yiumqo rBs8XeqGzRn/9TAJ6xPlEou48V6NTpU= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=A17VTmqi; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf27.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.167.175 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1711549959; a=rsa-sha256; cv=none; b=ytn+fynbAA7wpEHI4DZQvHCFdpAVbRPoBMq04YrB8Yu0zbSbJs8fhdp4cAjUS94KP/8Dly fYiLNQgZT3/xpewci7dWpoH4MlyRm3O4rrhg/Wzy/i+LYS7qTyu8QTyw3R1rfYu0vbfs1E YBbXrnQZhPnUNQ+4Mu4EmMgRRarHHXQ= Received: by mail-oi1-f175.google.com with SMTP id 5614622812f47-3c3bc867eaaso3015205b6e.1 for ; Wed, 27 Mar 2024 07:32:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20230601.gappssmtp.com; s=20230601; t=1711549958; x=1712154758; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=Vjl4T139soDHCaOLCmona2jIshqQpQnAUTRCdsvrmJ4=; b=A17VTmqi8c+qqun1E7tIIFsSk4uOretYxggMb2OxvekyFAA0ho5l9T1tNHIpxBl0Bi qwZY/nDJhHPMD4WzoFL+V/jANs6ITmpoB90QSiv9BegLNAWP8ywC9v7q1RPVztiSdugj vb1xsZK4d0HGXFin0e3CbOcx2iQimP56U54h75Vl6UNfH4hSFL3vzP0buzGSVZt9rgRe z1gFOwyIbehncBdUGtkSjJP5bpYZU82eBkxggNyVVRJ4ns2eSG/fwfXeZ6bXfZ1MreCY ohNj8yGNszXIDi4bWPovA+9QqTydRWg4cW9E9Taaz7JcBqqlI/eR6A53otltQFsVIUvp If4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711549958; x=1712154758; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Vjl4T139soDHCaOLCmona2jIshqQpQnAUTRCdsvrmJ4=; b=AQ6mJLTdTvK5wfpG2kPMaZj0wxtmNTMv/QGTHQnr2XEZPyHYqCZb/cOBjM6RtDHYzT X9g9rGBHOsCjuPoWKoA6D1seMUxwbRg+49yL55d9RgtgIJcLawGiIAkQUQrEMIqdPPJj ZmEruwuG2Am3TIiNHyg7QNyGPvJ+iGjdXZEZVxRThzPtmdW60vT4Zf5TPCHFkNyp8cFN Wx1HRg6jRpeYMbh2hxg9/pw/y9UL5UgBwJECb5G/sVy1M6q454GxaeNejyh9zNs7AXHb MTMvToRam6vD9WfMhh1fTxWNsvshCo4jMoM4UOzc3RYOz/UVgzK0ygC9Wy3Fj7nQsxTT i1Ew== X-Forwarded-Encrypted: i=1; AJvYcCXZH6YTWy2SKJDZIs5QIpLWGdYGgC3+yWsA+mP5nKLX9g7PRz3jIeizUWvZMwSEFY00dLGvtSB0QtldHDkHG2ZeMFM= X-Gm-Message-State: AOJu0Yx+WwvEy2jC2crfsbftP538FBoe65QXFzLhq/syKSUKaiBzou63 kkRYZbeymtWKcTtBNjxVVUFXXWqxR3au6n/IrS7t7eXjcNSuoGWAXjlbKzLFLKs= X-Google-Smtp-Source: AGHT+IFFV7K4elVNFISHH+/3VplQzUN8rxrDU6e04XmXU6yaxdhL2HeFj4lLnvWCMo5MN9MWFEZmEw== X-Received: by 2002:a05:6808:17a5:b0:3c3:d6d6:d40 with SMTP id bg37-20020a05680817a500b003c3d6d60d40mr56729oib.43.1711549958045; Wed, 27 Mar 2024 07:32:38 -0700 (PDT) Received: from localhost (2603-7000-0c01-2716-da5e-d3ff-fee7-26e7.res6.spectrum.com. [2603:7000:c01:2716:da5e:d3ff:fee7:26e7]) by smtp.gmail.com with ESMTPSA id gf15-20020a056214250f00b006912014b98dsm6338275qvb.129.2024.03.27.07.32.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Mar 2024 07:32:37 -0700 (PDT) Date: Wed, 27 Mar 2024 10:32:36 -0400 From: Johannes Weiner To: Vlastimil Babka Cc: Andrew Morton , Mel Gorman , Zi Yan , "Huang, Ying" , David Hildenbrand , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 10/10] mm: page_alloc: consolidate free page accounting Message-ID: <20240327143236.GE229434@cmpxchg.org> References: <20240320180429.678181-1-hannes@cmpxchg.org> <20240320180429.678181-11-hannes@cmpxchg.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: 1FBDF40022 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: hurwkwncinnf9a8ngy5kw53z6p3tkquh X-HE-Tag: 1711549958-558621 X-HE-Meta: U2FsdGVkX1/H+V5p0TUpl6zsz+rQBaQ0xuD1FeoVQyXZribv8JqYSLG4NOM9tRNK5mopAoQxeGvSBXMLkQcHvZ8U0FedQA1BJ19ljGEOOd7uvsk41eWA4m8Iaav9hMIUGWlp9X+c2x/y5hyO7EHCQo+akIyyTcfjrsvcKcHkwbJAUpqkm5gyM7zaAXWiHrCtvzK+CSFYm3apA/D7D1xdEeWx8guQ0KJKQn1X4QeEPF28kIYy3cprjvmwbGp6+kdkspgychUH4IIuoPa+3ODy+6830cK8Yze0J7Toh5GvW+xVNH3Y/Siz7tUT7uYYl5X6k5Tm2xKBQsTBbrp6u4YrDkHUD97d8U+jYQCOrgxqj9vzzvEL157kZZhmY7Uq1m+LRl4tScL4G9Iqbf9gqNlHv+PUn7IghFpZ6dhW6Ph7KFK1gGjPrl4xmDLyxG2m2c6dq8fGuHrKyNxnyi28ELeSk1NN/E3gLkHtmMfy2YPdo8VvG9DbxYhClYwbBC2AH8A8QD9PhlAKjW4LX+qwR/wg73RjCiehZO1YZi9WsdSCTPEODXN/YRhlDtq4noGEBtVIyVFL5ax7hha7zsu4MYMesCLf+pVPYg+d2/rOQOrezoqUsbGnkhrKPEi0LdxnJa8jbJvtXAgeMUsuKZsAeygDuwZwP82okT/qCWtF9sGaDvJZ/vMT5IjF1aGfQlHKYgjDapDK9SB/Kx8JnKaIanBfFnfVWc0L6fqQkaN6Ageyi6/WwDzjvW7runq2Fw/VkYBaMo021wiMn217qPefV2D1tQvbaMbn+tQRVKokphmVleNjXQrvJTAvwwnS9ByQ77F8xSO0wh6hG3EcMpgy4wEDoCcK8zFlNXCUU4M3rV4X59T4uoPj3nciLPKqKrXZ+NLZ2/F8/lY9ZZkRCt3FbqYVXGeqPyKnq4KTId4q5u3wXTYmUAyxa1vc3pH4Y2sH4yWn0bfeOePxIz+R2lIGRX0 Brb+cVU3 KcfjbcVND4b44nzoWYhnuiol+trWCc3IFmLeoblOvqUHJG7yX2w160qlawYiqucTUu5uO4XgZHnP5ItUNtVuLGiVTZqcBWEs/fVEziWCuWZnjBhI5Tp6KOxyyRunhqOjGxYJ7vj+GElMgj+z41muI+PUmotmlEtW81E/zFXOmErLxXj1cwNwe329GDX2mOThxgHniDDYTyhPsYdJ6q+uEv+ML0enu2hCGfy2fkFkpO5AZnhfAp8wEnV91bSbiSvO7jvO30f/94CouhzHzK6LxKqFXknHjzZwd6v7dsGJQ4TtAe16/IfN6dkSLXBWh5mVJ1K+MBEjlfWKA5u5RmWXo7KvKVgfpppdCj6f5TXD26fz0ACZvAzzLcTClYywPO00GGO7hZeUHQMPOAVn6EK6Smc1rIGLrWsQ+evGoflZUDJBbK4DYK1UkmCXJxkQ97zhKkThcW87WmTTSM/cLKF7F0f0DMt3hGW7bGNeohAbRXdcCZmXCp5QF7YRRDw== 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 Wed, Mar 27, 2024 at 09:54:01AM +0100, Vlastimil Babka wrote: > 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? Good idea. I'll send a fixlet for that. > > 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. Argh, yeah, I think an earlier version mucked with the signature and I didn't undo that cleanly. I'll send a fixlet for that too. Thanks for the review!