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 C2969C27C4F for ; Sat, 29 Jun 2024 16:28:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 205376B0083; Sat, 29 Jun 2024 12:28:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 18D136B0085; Sat, 29 Jun 2024 12:28:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 005C16B0088; Sat, 29 Jun 2024 12:28:43 -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 D65796B0083 for ; Sat, 29 Jun 2024 12:28:43 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 49E381C1B1A for ; Sat, 29 Jun 2024 16:28:43 +0000 (UTC) X-FDA: 82284459726.11.FEE042E Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf01.hostedemail.com (Postfix) with ESMTP id 84E9940013 for ; Sat, 29 Jun 2024 16:28:38 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=AEU7l2ns; spf=none (imf01.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1719678501; 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=qyA/yiqCBCG7mND+AmgTU5guFPUF4VX7hdA0OtXUC3Y=; b=5wTnl8nbFXBiov6neIFGUJzcRDUiBvpVjn7kmcjJNUMY5Q0PEI6hVPmrmYkAXMosvYzz82 W2lclC4ysZgzNzNYOyZCPwe6zODb5r6nTRjk42QJgff1cNaKHTwOlCt2MsfjcB0RxW0jKe SNP3XqtLWvA/3jffLpFkD2j0ATbmP+s= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1719678501; a=rsa-sha256; cv=none; b=ffJ+GwAgdYpSLValuWq5ILHwAEshLj2nMh02Lorc9ELbwKZzJ8Qsa6Q62gAOO6UbpNUYPW TBaOdZmp2ZBS4c8QbzWIPp+cMv9g0ZcP0+CbQ8HZ5g8sYAI2f8XHRM6ipiFCy2NbkXaXiR PnxqWDvl/+SQc6s3vjti4MKbGHsMyCQ= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=AEU7l2ns; spf=none (imf01.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none 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=qyA/yiqCBCG7mND+AmgTU5guFPUF4VX7hdA0OtXUC3Y=; b=AEU7l2ns3HOtNw0Q9aDxYzjDHf yiIpUrlBEqWNM+2HXQobFP1o3QOEJgoJu3HWWp/0vALOcONMj+Og064UpYNc609sX5SxdDbnN7S5N PS8NqFz+GHvBRi5ZFnMSr02gX8Nla6rX5CFmnJp/W6wteDDrtegE+F3zgOKiZBPI5LptrBW2ldBBy 8KyfsbOl6AdxiDl8woZgEEKiMTLZWinNLHbutKRFD02EdlrHCGbbs1DVWRobp9FIGKiJOkO0PSGQG /lrWoDnKciAJLpcfSQHM8ma0rYEugYFQMXbTtsaI4jHGjbHwm2gDI0loJ4ofWNAOHFp0k2V9TvVcg XKIebmpg==; Received: from willy by casper.infradead.org with local (Exim 4.97.1 #2 (Red Hat Linux)) id 1sNawE-0000000FjBj-3qo0; Sat, 29 Jun 2024 16:28:35 +0000 Date: Sat, 29 Jun 2024 17:28:34 +0100 From: Matthew Wilcox To: Wei Yang Cc: akpm@linux-foundation.org, rppt@kernel.org, linux-mm@kvack.org, David Hildenbrand Subject: Re: [PATCH 4/4] mm/page_alloc: no need to ClearPageReserved on giving page to buddy system Message-ID: References: <20240629013322.12364-1-richard.weiyang@gmail.com> <20240629013322.12364-4-richard.weiyang@gmail.com> <20240629084411.pto6h3vsbxhq64ii@master> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240629084411.pto6h3vsbxhq64ii@master> X-Stat-Signature: ajqyszjnz3jxns78kwqhqsko6gnkaomc X-Rspamd-Queue-Id: 84E9940013 X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1719678518-41942 X-HE-Meta: U2FsdGVkX19ofOSgL+AN1UBG8FqmySluVFq8XodYrdf6ut6sKgojPdZIG4vnERmPBrz+sg0gAytBll42KfjtO7V3cEd5AfwlqTvHKESGT8SJayXCUz73V2LVgCCZ3QgtAljLg0Vbw9yfKHqPbjMKHTOyXdMhSBIIgvkogddJ5oh8a4FfyNyrZR7nTvKeHgk3EQW0AaRXIqUkHsZSwue9GwuG10q5IKY2UdMK3zgRSaPRP42/73DrUHgqGonG6rPw8AkwqsMwZa0jCp3gPgoi4/71P53btSjxxm0putn24zXJRehfQpDG4eFYtkW2sVndYmB0O53nHrAjwbT6Yt96fCIntJ2xkf+IDxZad3KoDwjiFRXlvjYAKNVzHBBLRNu8npI9BXd8QmMebnnupn64aVndYGLAKqSurBCH6GNatGD8kNXr7Vth/MVjiBlXLD2+PnXqmQndxA4jjKGjccNxBLR1ng5LlwjV0MAzZFwDvJgeg0JCg0IVb9ixwy6sWSMah2vBMpQIrRDY4svpfzT0poCTSKkceAgmJ//78mKo75x32U07tMtmWkcU+65dswmEU4tl75hwpfvbGnTiy/K8FotvwJhiQLa5IKBlBcjS6Or6CN9HhLoNCQSPdQ0vnXrPvn8IinIkM9PM10WNuv2WiWZarSyoqaqVtSWJuMnNQnGYFbjeZ+1yECbReRgDs6L3e3w1Ge+JiTPPKGHsKTLaRR7UHUbUwDh0oPmBMh6xzoN/ZMB6weLXZixgoZM4h8+vVhyKdzuNAkH1bNcb3lYL/lV1wQ+bMu6QofI4pAr83rVxhbwW/sKCUFxjH3DlAYCp8Zjz9nAuwjfn20Mya1jCxRRn5bEX/htMRJSx/yOIhstNvcxDXd1Ed8UCmEEzd+5HHk3FYt57iyIlzdrcRor4MsKFxX5n+oeELi5qq48zwH437t2MsRdjcgyCXnnCz352Y6d7WuMWxxvOJb5L1f7 jhkDrwqf qMF0aG01ubDO3sSDkCYmzKDirr28Im8MedlIHGInys3zO04KU8m4gp4HnuId2Tia7vPsQ0nOLK9PocOiIMJPtJm4J/ZrXfnDSaE+KOT5oPsPA6kM48IniHd0eNDX8WcV/a9B9en1KMNIEeJLtzaxLyAIR5LOJJeW0OV7Juk4KaD9/9Go/SjMpX4jCv1v8tcfVDuBB+jPTEnyUJ7yBrPqp4GnA50MxlFJaAcehXJEnwp4+mJlehMgMIV91Rmo4MNJYUkzG23r/9WW20Zp4PmZmpQvkCNzQJFC44AdreL6OLJVZAuDsEBzvPFzwuEeQO1f3pSJRObjUc7yLG+INJXHW0oje5fJqb0RFNYJd 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 Sat, Jun 29, 2024 at 08:44:11AM +0000, Wei Yang wrote: > On Sat, Jun 29, 2024 at 04:21:59AM +0100, Matthew Wilcox wrote: > >On Sat, Jun 29, 2024 at 01:33:22AM +0000, Wei Yang wrote: > >> +++ b/mm/page_alloc.c > >> @@ -1232,10 +1232,8 @@ void __meminit __free_pages_core(struct page *page, unsigned int order) > >> prefetchw(p); > >> for (loop = 0; loop < (nr_pages - 1); loop++, p++) { > >> prefetchw(p + 1); > >> - __ClearPageReserved(p); > >> set_page_count(p, 0); > >> } > >> - __ClearPageReserved(p); > >> set_page_count(p, 0); > > > >Is the prefetchw() still useful? Any remotely competent CPU should > >be able to figure out this loop ... > > Hi, Matthew > > Thanks for your question. But to be honest, I am not fully understand it. Let's try this question: If you remove the prefetchw() line, does the performance change? > Per my understanding, prefetchw() is trying to load data to cache before we > really accessing it. By doing so, we won't hit a cache miss when we really > need it. Yes, but the CPU can also do this by itself without needing an explicit hint from software. It can notice that we have a loop that's accessing successive cachelines for write. This is approximately the easiest prefetcher to design.