Re: [PATCH] genirq: only scan the present CPUs

From: Dou Liyang
Date: Fri Apr 06 2018 - 04:42:25 EST


Hi Thomas, Peter,

At 04/03/2018 07:23 PM, Peter Zijlstra wrote:
On Tue, Apr 03, 2018 at 12:25:56PM +0200, Thomas Gleixner wrote:
On Mon, 2 Apr 2018, Li RongQing wrote:

lots of application will read /proc/stat, like ps and vmstat, but we
find the reading time are spreading on Purley platform which has lots
of possible CPUs and interrupt.

To reduce the reading time, only scan the present CPUs, not all possible
CPUs, which speeds the reading of /proc/stat 20 times on Purley platform
which has 56 present CPUs, and 224 possible CPUs

Why is BIOS/ACPI telling the kernel that there are 224 possible CPUs unless
it supports physical CPU hotplug.

BIOS is crap, news at 11. I've got boxes like that too. Use
possible_cpu=$nr if you're bothered by it -- it's what I do.


Yes, I think so. it is a manual way to reset the number.

For this situation, I am investigating to restrict the number of
possible CPUs automatically, But, due to the limitation of ACPI
subsystem, I can do it _before_ setup_percpu_area where the number will
be used.

But, I can provider an indicator to tell the system that whether the physical CPU hotplug is support or not later. Can we use this indicator
like that in this situation:

if ture

Using for_each_possible_cpu(cpu)
else

Using for_each_present_cpu(cpu)



Thanks,

dou