On 03/02/2016 03:41 AM, Ingo Molnar wrote:
* Waiman Long<[email protected]> wrote:
As there is concern that the larger pcpu_list_node structure and the
per-cpu overhead may be a waste of resource on small system. This patch
adds a config parameter CONFIG_PERCPU_LIST to disable the per-cpu list
if the kernel builder chooses to do so. With per-cpu list disabled,
all the different groups of per-cpu lists will be degenerated into
global lists for all the CPUs.
The current default is to enable per-cpu list. A kernel builder needs
to explicitly turn it off.
Signed-off-by: Waiman Long<[email protected]>
---
fs/inode.c | 2 +-
include/linux/percpu-list.h | 93 ++++++++++++++++++++++++++++++++++++++++++-
lib/Kconfig | 14 ++++++
lib/percpu-list.c | 24 +++++++++++-
4 files changed, 130 insertions(+), 3 deletions(-)
I think this kind of #ifdef complexity and the doubling of our Kconfig and
testing
space is counterproductive, and I think the per CPU locking is a win on as small
as dual core CPUs, and on UP CPUs the per CPU list becomes a single global list
automatically.
I'm not against visible memory savings for overly clever scalability features,
but
this does not appear to be such a case, so:
NAKed-by: Ingo Molnar<[email protected]>
Thanks,
Ingo
The last patch was there to answer a feedback from Jan. I am fine if
that is not merged as I prefer to have the per-cpu list capability as
the default anyway.
Cheers,
Longman