Re: [PATCH 5/5] add ksm kernel shared memory driver.

From: Izik Eidus
Date: Thu Apr 30 2009 - 13:58:40 EST


On Tue, 28 Apr 2009 02:12:00 +0300
Izik Eidus <ieidus@xxxxxxxxxx> wrote:

> Andrew Morton wrote:

> > Breaks sparc64 and probably lots of other architectures:
> >
> > mm/ksm.c: In function `try_to_merge_two_pages_alloc':
> > mm/ksm.c:697: error: `_PAGE_RW' undeclared (first use in this
> > function)
> >
> > there should be an official arch-independent way of manipulating
> > vma->vm_page_prot, but I'm not immediately finding it.
> >
> Hi,
>
> vm_get_page_prot() will probably do the work.
>
> I will send you patch that fix it,
> but first i am waiting for Andrea and Chris to say they are happy
> with small changes that i made to the api after conversation i had
> with them (about checking if this api is robust enough so we wont
> have to change it later)
>
> When i will get their acks, i will send you patch against this
> togather with the api (until then it is ok to just leave it only for
> x86)
>
> changes are:
> 1) limiting the number of memory regions registered per file
> descriptor
> - so while (1){ (ioctl(KSM_REGISTER_MEMORY_REGION()) ) wont omm the
> host
>
> 2) checking if memory is overlap in registration (more effective to
> ignore such cases)
>
> 3) allow removing specific memoy regions inside fd.
>
> Thanks.
>

Hi,

Following patchs change the api to be more robust, the result change of
the api came after conversation i had with Andrea and Chris about how
to make the api as stable as we can,

In addition i hope this patchset fix the cross compilation problems, i
compiled it on itanium (doesnt have _PAGE_RW) and it seems to work.

Thanks.