[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <8dcf25e3-1acd-f629-cea0-bfeebf06e7a5@gentwo.org>
Date: Wed, 28 Aug 2024 08:43:55 -0700 (PDT)
From: "Christoph Lameter (Ampere)" <cl@...two.org>
To: Saurabh Singh Sengar <ssengar@...ux.microsoft.com>
cc: Andrew Morton <akpm@...ux-foundation.org>, linux-mm@...ck.org,
linux-kernel@...r.kernel.org, ssengar@...rosoft.com, wei.liu@...nel.org
Subject: Re: [PATCH] mm/vmstat: Defer the refresh_zone_stat_thresholds after
all CPUs bringup
On Tue, 27 Aug 2024, Saurabh Singh Sengar wrote:
> Thank you for your review. I would like to gain a better understanding of how
> to measure contention. Could you please inform me if there is any recommended
> method for doing so?
>
> In my testing, this patch has resulted in a significant improvement in boot time.
Good.
There was the question by Andrew as to what happens if the
threshold is not initialized. I have no specific benchmarks to measure the
effect.
> > What may be more promising is to make it possible to calculate the
> > threshholds per cpu instead of recalculating the thresholds for every zone
> > again and again.
>
> I am happy to explore alternatives, can you please share more details around
> this approach. Are you referring to avoiding the repetition of the calculation
> below?
>
> mem = zone_managed_pages(zone) >> (27 - PAGE_SHIFT);
The thresholds vary per the zone setup in a NUMA node. So one approach
would be to calculate these values for each new NODE once and only
update them when memory is brought online or offlines.
Then the parameters for each per cpu pcp could be set from the per NODE /
zone information when a cpu is brought up. The overhead would be minimal
and there would not be a need for the loops.
My company has similar amounts of cpus and it would be great to have a
clean solution here.
Powered by blists - more mailing lists