All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander Graf <agraf@suse.de>
To: Dave Hansen <dave.hansen@intel.com>
Cc: "linux-mm@kvack.org" <linux-mm@kvack.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Rik van Riel <riel@redhat.com>, Mel Gorman <mgorman@suse.de>,
	Andrew Morton <akpm@linux-foundation.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@kernel.org>, Hugh Dickins <hughd@google.com>,
	Izik Eidus <izik.eidus@ravellosystems.com>,
	Andrea Arcangeli <aarcange@redhat.com>
Subject: Re: [PATCH] ksm: Expose configuration via sysctl
Date: Wed, 26 Feb 2014 07:09:10 +0800	[thread overview]
Message-ID: <4B3C0B08-45E1-48EF-8030-A3365F0E7CF6@suse.de> (raw)
In-Reply-To: <530CD443.7010400@intel.com>



> Am 26.02.2014 um 01:34 schrieb Dave Hansen <dave.hansen@intel.com>:
> 
>> On 02/24/2014 03:28 PM, 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.
> 
> Doesn't this essentially mean "don't use sysfs for configuration"?
> Seems like at least /sys/kernel/mm/transparent_hugepage would need the
> same treatment.
> 
> Couldn't we also (maybe in parallel) just teach the sysctl userspace
> about sysfs?  This way we don't have to do parallel sysctls and sysfs
> for *EVERYTHING* in the kernel:
> 
>    sysfs.kernel.mm.transparent_hugepage.enabled=enabled

It's pretty hard to filter this. We definitely do not want to expose all of sysfs through /proc/sys. But how do we know which files are actual configuration and which ones are dynamic system introspection data?

We could add a filter, but then we can just as well stick with the manual approach I followed here :).

> 
> Or do we just say "sysctls are the way to go for anything that might
> need to be persistent, don't use sysfs"?

IMHO there are 2 paths we can take:

1) Admit that using sysfs for configuration is a bad idea, use sysctl instead

2) Invent a streamlined way to set sysfs configuration variables similar to how we can set sysctl values

I'm not really sure which path is nicer. But the sitaution today is not exactly satisfactory. The most common solution to ksm configuration is an init  or systemd script that sets the respective config variables.


Alex

WARNING: multiple messages have this Message-ID (diff)
From: Alexander Graf <agraf@suse.de>
To: Dave Hansen <dave.hansen@intel.com>
Cc: "linux-mm@kvack.org" <linux-mm@kvack.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Rik van Riel <riel@redhat.com>, Mel Gorman <mgorman@suse.de>,
	Andrew Morton <akpm@linux-foundation.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@kernel.org>, Hugh Dickins <hughd@google.com>,
	Izik Eidus <izik.eidus@ravellosystems.com>,
	Andrea Arcangeli <aarcange@redhat.com>
Subject: Re: [PATCH] ksm: Expose configuration via sysctl
Date: Wed, 26 Feb 2014 07:09:10 +0800	[thread overview]
Message-ID: <4B3C0B08-45E1-48EF-8030-A3365F0E7CF6@suse.de> (raw)
In-Reply-To: <530CD443.7010400@intel.com>



> Am 26.02.2014 um 01:34 schrieb Dave Hansen <dave.hansen@intel.com>:
> 
>> On 02/24/2014 03:28 PM, 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.
> 
> Doesn't this essentially mean "don't use sysfs for configuration"?
> Seems like at least /sys/kernel/mm/transparent_hugepage would need the
> same treatment.
> 
> Couldn't we also (maybe in parallel) just teach the sysctl userspace
> about sysfs?  This way we don't have to do parallel sysctls and sysfs
> for *EVERYTHING* in the kernel:
> 
>    sysfs.kernel.mm.transparent_hugepage.enabled=enabled

It's pretty hard to filter this. We definitely do not want to expose all of sysfs through /proc/sys. But how do we know which files are actual configuration and which ones are dynamic system introspection data?

We could add a filter, but then we can just as well stick with the manual approach I followed here :).

> 
> Or do we just say "sysctls are the way to go for anything that might
> need to be persistent, don't use sysfs"?

IMHO there are 2 paths we can take:

1) Admit that using sysfs for configuration is a bad idea, use sysctl instead

2) Invent a streamlined way to set sysfs configuration variables similar to how we can set sysctl values

I'm not really sure which path is nicer. But the sitaution today is not exactly satisfactory. The most common solution to ksm configuration is an init  or systemd script that sets the respective config variables.


Alex
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2014-02-25 23:09 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-24 23:28 [PATCH] ksm: Expose configuration via sysctl Alexander Graf
2014-02-24 23:28 ` Alexander Graf
2014-02-25 12:33 ` Rik van Riel
2014-02-25 12:33   ` Rik van Riel
2014-02-25 17:15 ` Johannes Weiner
2014-02-25 17:15   ` Johannes Weiner
2014-02-25 17:19   ` Peter Zijlstra
2014-02-25 17:19     ` Peter Zijlstra
2014-02-25 23:16     ` Alexander Graf
2014-02-25 23:16       ` Alexander Graf
2014-02-25 23:50       ` Kay Sievers
2014-02-25 23:50         ` Kay Sievers
2014-02-26  1:05   ` Hugh Dickins
2014-02-26  1:05     ` Hugh Dickins
2014-02-26  7:49     ` Alexander Graf
2014-02-26  7:49       ` Alexander Graf
2014-02-25 17:34 ` Dave Hansen
2014-02-25 17:34   ` Dave Hansen
2014-02-25 23:09   ` Alexander Graf [this message]
2014-02-25 23:09     ` Alexander Graf
2014-02-26  0:10     ` Dave Hansen
2014-02-26  0:10       ` Dave Hansen
2014-02-26 15:36       ` Sven-Haegar Koch
2014-02-26 15:36         ` Sven-Haegar Koch
2014-02-26 17:32         ` Alexander Graf
2014-02-26 17:32           ` Alexander Graf
2014-02-26  0:02   ` Kay Sievers
2014-02-26  0:02     ` Kay Sievers

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4B3C0B08-45E1-48EF-8030-A3365F0E7CF6@suse.de \
    --to=agraf@suse.de \
    --cc=aarcange@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=dave.hansen@intel.com \
    --cc=hughd@google.com \
    --cc=izik.eidus@ravellosystems.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mgorman@suse.de \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.org \
    --cc=riel@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.