Re: [PATCH] ksm: Expose configuration via sysctl

From: Johannes Weiner
Date: Tue Feb 25 2014 - 12:15:49 EST


On Tue, Feb 25, 2014 at 12:28:04AM +0100, Alexander Graf wrote:
> Configuration of tunables and Linux virtual memory settings has traditionally
> happened via sysctl. Thanks to that there are well established ways to make
> sysctl configuration bits persistent (sysctl.conf).
>
> KSM introduced a sysfs based configuration path which is not covered by user
> space persistent configuration frameworks.
>
> In order to make life easy for sysadmins, this patch adds all access to all
> KSM tunables via sysctl as well. That way sysctl.conf works for KSM as well,
> giving us a streamlined way to make KSM configuration persistent.
>
> Reported-by: Sasche Peilicke <speilicke@xxxxxxxx>
> Signed-off-by: Alexander Graf <agraf@xxxxxxx>
> ---
> kernel/sysctl.c | 10 +++++++
> mm/ksm.c | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
> 2 files changed, 88 insertions(+), 0 deletions(-)
>
> diff --git a/kernel/sysctl.c b/kernel/sysctl.c
> index 332cefc..2169a00 100644
> --- a/kernel/sysctl.c
> +++ b/kernel/sysctl.c
> @@ -217,6 +217,9 @@ extern struct ctl_table random_table[];
> #ifdef CONFIG_EPOLL
> extern struct ctl_table epoll_table[];
> #endif
> +#ifdef CONFIG_KSM
> +extern struct ctl_table ksm_table[];
> +#endif
>
> #ifdef HAVE_ARCH_PICK_MMAP_LAYOUT
> int sysctl_legacy_va_layout;
> @@ -1279,6 +1282,13 @@ static struct ctl_table vm_table[] = {
> },
>
> #endif /* CONFIG_COMPACTION */
> +#ifdef CONFIG_KSM
> + {
> + .procname = "ksm",
> + .mode = 0555,
> + .child = ksm_table,
> + },
> +#endif

ksm can be a module, so this won't work.

Can we make those controls proper module parameters instead?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/