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.