fs/proc: Provide a cpuinfo_local to avoid IPIs

Use of /proc/cpuinfo on x86 can result in IPIs being sent to all CPUs,
but all that these IPIs do is to collect clock-frequency information on
the CPUs.  Applications that don't need this information also don't need
the IPIs, even reduced numbers of them.  This commit therefore creates a
new /proc/cpuinfo_local that avoids the IPIs.  For all architectures other
than x86, this is just another name for /proc/cpuinfo, but on x86 this
avoids the IPIs, using a single nominal value for the CPU frequencies.

[ paulmck: Add the fs/proc/cpuinfo_local.c per Linus Torvalds feedback. ]
Suggested-by: Ingo Molnar <mingo@redhat.com>
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Borislav Petkov <bp@alien8.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: <linux-fsdevel@vger.kernel.org>
Cc: <x86@kernel.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
4 files changed