kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andrea Arcangeli <aarcange@redhat.com>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: Izik Eidus <ieidus@redhat.com>,
	linux-kernel@vger.kernel.org, kvm@vger.kernel.org,
	linux-mm@kvack.org, avi@redhat.com, chrisw@redhat.com,
	riel@redhat.com, jeremy@goop.org, mtosatti@redhat.com,
	hugh@veritas.com, corbet@lwn.net, yaniv@redhat.com,
	dmonakhov@openvz.org
Subject: Re: [PATCH 4/4] add ksm kernel shared memory driver.
Date: Tue, 31 Mar 2009 19:11:58 +0200	[thread overview]
Message-ID: <20090331171158.GY9137@random.random> (raw)
In-Reply-To: <49D24A02.6070000@codemonkey.ws>

On Tue, Mar 31, 2009 at 11:51:14AM -0500, Anthony Liguori wrote:
> You have two things here.  CONFIG_MEM_SHARABLE and CONFIG_KSM.  
> CONFIG_MEM_SHARABLE cannot be a module. If it's set to =n, then 
> madvise(MADV_SHARABLE) == -ENOSYS.

Where the part that -ENOSYS tell userland madvise syscall table is
empty, which is obviously not the case, wasn't clear?

> If CONFIG_MEM_SHARABLE=y, then madvise(MADV_SHARABLE) will keep track of 
> all sharable memory regions.  Independently of that, CONFIG_KSM can be set 
> to n,m,y.  It depends on CONFIG_MEM_SHARABLE and when it's loaded, it 
> consumes the list of sharable vmas.

And what do you gain by creating two config params when only one is
needed other than more pain for the poor user doing make oldconfig and
being asked new zillon of questions that aren't necessary?

> But honestly, CONFIG_MEM_SHARABLE shouldn't a lot of code so I don't see 
> why you'd even need to make it configable.

Even if you were to move the registration code in madvise with a
-EINVAL retval if KSM was set to N for embedded, CONFIG_KSM would be
enough: the registration code would be surrounded by CONFIG_KSM_MODULE
|| CONFIG_KSM, just like page_wrprotect/replace_page. This
CONFIG_MEM_SHARABLE in addition to CONFIG_KSM is beyond what can make
sense to me.

> The ioctl() interface is quite bad for what you're doing.  You're telling 
> the kernel extra information about a VA range in userspace.  That's what 

The ioctl can be extended to also tell which pid to share without
having to specify VA range, and having the feature inherited by the
child. Not everyone wants to deal with VA.

But my main issue with madvise is that it's core kernel functionality
while KSM clearly is not.

--
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:[~2009-03-31 17:11 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-30 23:59 [PATCH 0/4] ksm - dynamic page sharing driver for linux Izik Eidus
2009-03-30 23:59 ` [PATCH 1/4] MMU_NOTIFIERS: add set_pte_at_notify() Izik Eidus
2009-03-30 23:59   ` [PATCH 2/4] add page_wrprotect(): write protecting page Izik Eidus
2009-03-30 23:59     ` [PATCH 3/4] add replace_page(): change the page pte is pointing to Izik Eidus
2009-03-30 23:59       ` [PATCH 4/4] add ksm kernel shared memory driver Izik Eidus
2009-03-31  2:12         ` Anthony Liguori
2009-03-31 12:24           ` Izik Eidus
2009-03-31 13:31             ` Anthony Liguori
2009-03-31 14:25               ` Andrea Arcangeli
2009-03-31 14:37                 ` Anthony Liguori
2009-03-31 15:02                   ` Andrea Arcangeli
2009-03-31 15:09                     ` Anthony Liguori
2009-03-31 15:18                       ` Andrea Arcangeli
2009-03-31 15:54                         ` Anthony Liguori
2009-03-31 16:25                           ` Andrea Arcangeli
2009-03-31 16:51                             ` Anthony Liguori
2009-03-31 17:11                               ` Andrea Arcangeli [this message]
2009-04-01 22:54                               ` Izik Eidus
2009-04-02  0:31                                 ` Anthony Liguori
2009-04-02  0:48                                   ` Chris Wright
2009-04-02  1:22                               ` Chris Wright
2009-04-02  2:36                                 ` Anthony Liguori
2009-04-02  5:31                                   ` [PATCH 5/4] update ksm userspace interfaces Chris Wright
2009-04-02 13:32                                     ` Izik Eidus
2009-04-02 15:20                                       ` Chris Wright
2009-04-02 15:56                                       ` Chris Wright
2009-04-02 15:55                                         ` Izik Eidus
2009-04-03 10:16                                       ` Gerd Hoffmann
2009-04-03 10:49                                         ` Izik Eidus
2009-04-03 11:08                                           ` Gerd Hoffmann
2009-04-03 16:22                                             ` Chris Wright
2009-04-02 14:41                                     ` Andrea Arcangeli
2009-04-02 15:12                                       ` Chris Wright
2009-04-02 15:25                                         ` Andrea Arcangeli
2009-04-02  5:48                                   ` [PATCH 4/4 alternative userspace] add ksm kernel shared memory driver Chris Wright
2009-04-02  5:57                                     ` Bert Wesarg
2009-04-02  5:59                                       ` Chris Wright
2009-04-02  6:00                                         ` Bert Wesarg
2009-04-02  7:09                                         ` Avi Kivity
2009-04-02  7:24                                   ` [PATCH 4/4] " Avi Kivity
2009-04-02  9:38                                   ` Andrea Arcangeli
2009-04-02 11:23                                   ` Izik Eidus
2009-03-31  2:15         ` KAMEZAWA Hiroyuki
2009-03-31 12:21           ` Izik Eidus
2009-03-31 23:57             ` KAMEZAWA Hiroyuki
2009-04-01 17:28               ` Izik Eidus
2009-03-31 20:52         ` Andrea Arcangeli
2009-03-31  1:42 ` [PATCH 0/4] ksm - dynamic page sharing driver for linux Anthony Liguori
2009-03-31 12:33   ` Izik Eidus
2009-04-02 19:22 ` Jesper Juhl
2009-04-02 19:38   ` Izik Eidus
2009-04-02 19:39   ` Chris Wright
2009-04-02 19:49     ` Jesper Juhl
2009-04-04 14:35 [PATCH 0/4] ksm - dynamic page sharing driver for linux v2 Izik Eidus
2009-04-04 14:35 ` [PATCH 1/4] MMU_NOTIFIERS: add set_pte_at_notify() Izik Eidus
2009-04-04 14:35   ` [PATCH 2/4] add page_wrprotect(): write protecting page Izik Eidus
2009-04-04 14:35     ` [PATCH 3/4] add replace_page(): change the page pte is pointing to Izik Eidus
2009-04-04 14:35       ` [PATCH 4/4] add ksm kernel shared memory driver Izik Eidus
2009-04-06  9:13         ` Andrey Panin
2009-04-06 10:58           ` Izik Eidus
2009-04-09  3:58 [PATCH 0/4] ksm - dynamic page sharing driver for linux v3 Izik Eidus
2009-04-09  3:58 ` [PATCH 1/4] MMU_NOTIFIERS: add set_pte_at_notify() Izik Eidus
2009-04-09  3:58   ` [PATCH 2/4] add page_wrprotect(): write protecting page Izik Eidus
2009-04-09  3:58     ` [PATCH 3/4] add replace_page(): change the page pte is pointing to Izik Eidus
2009-04-09  3:58       ` [PATCH 4/4] add ksm kernel shared memory driver Izik Eidus
2009-04-14 22:09         ` Andrew Morton
2009-04-15 22:37           ` Izik Eidus
2009-04-15 22:50             ` Andrew Morton
2009-04-15 23:21               ` Andrea Arcangeli
2009-04-16  0:43           ` Jeremy Fitzhardinge
2009-04-16  0:57             ` Izik Eidus
2009-04-16 11:39             ` Andrea Arcangeli
2009-04-16 16:08               ` Jeremy Fitzhardinge
2009-04-18 14:58           ` Andrea Arcangeli

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=20090331171158.GY9137@random.random \
    --to=aarcange@redhat.com \
    --cc=anthony@codemonkey.ws \
    --cc=avi@redhat.com \
    --cc=chrisw@redhat.com \
    --cc=corbet@lwn.net \
    --cc=dmonakhov@openvz.org \
    --cc=hugh@veritas.com \
    --cc=ieidus@redhat.com \
    --cc=jeremy@goop.org \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mtosatti@redhat.com \
    --cc=riel@redhat.com \
    --cc=yaniv@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).