[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20090513161739.d801ab67.akpm@linux-foundation.org>
Date: Wed, 13 May 2009 16:17:39 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Izik Eidus <ieidus@...hat.com>
Cc: linux-kernel@...r.kernel.org, linux-mm@...ck.org,
kvm@...r.kernel.org, avi@...hat.com, aarcange@...hat.com,
chrisw@...hat.com, mtosatti@...hat.com, hugh@...itas.com,
ieidus@...hat.com
Subject: Re: [PATCH 5/5] add ksm kernel shared memory driver.
On Mon, 20 Apr 2009 04:36:06 +0300
Izik Eidus <ieidus@...hat.com> wrote:
> Ksm is driver that allow merging identical pages between one or more
> applications in way unvisible to the application that use it.
> Pages that are merged are marked as readonly and are COWed when any
> application try to change them.
>
> Ksm is used for cases where using fork() is not suitable,
> one of this cases is where the pages of the application keep changing
> dynamicly and the application cannot know in advance what pages are
> going to be identical.
>
> Ksm works by walking over the memory pages of the applications it
> scan in order to find identical pages.
> It uses a two sorted data strctures called stable and unstable trees
> to find in effective way the identical pages.
>
> When ksm finds two identical pages, it marks them as readonly and merges
> them into single one page,
> after the pages are marked as readonly and merged into one page, linux
> will treat this pages as normal copy_on_write pages and will fork them
> when write access will happen to them.
>
> Ksm scan just memory areas that were registred to be scanned by it.
>
> ...
> + copy_user_highpage(kpage, page1, addr1, vma);
> ...
Breaks ppc64 allmodcofnig because that architecture doesn't export its
copy_user_page() to modules.
Architectures are inconsistent about this. x86 _does_ export it,
because it bounces it to the exported copy_page().
So can I ask that you sit down and work out upon which architectures it
really makes sense to offer KSM? Disallow the others in Kconfig and
arrange for copy_user_highpage() to be available on the allowed architectures?
Thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists