Re: [PATCH v5 5/5] lib/percpu-list: Add a config parameter for disabling per-cpu list

From: Ingo Molnar
Date: Wed Mar 02 2016 - 03:41:39 EST



* Waiman Long <Waiman.Long@xxxxxxx> 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 <Waiman.Long@xxxxxxx>
> ---
> 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 <mingo@xxxxxxxxxx>

Thanks,

Ingo