Re: No more bits in vm_area_struct's vm_flags.

From: KAMEZAWA Hiroyuki
Date: Sun Sep 27 2009 - 23:59:50 EST


On Mon, 28 Sep 2009 11:36:24 +0800
Wu Fengguang <fengguang.wu@xxxxxxxxx> wrote:

> On Mon, Sep 28, 2009 at 11:04:50AM +0800, KAMEZAWA Hiroyuki wrote:

> > But, yes it implies to add a new argument to several functions in mmap.c
> > and maybe a patch will be ugly.
> >
> > How about addding this check ?
> >
> > is_mergeable_vma(...)
> > ....
> > if (vma->vm_hints)
> > return 0;
> >
> > And not calling vma_merge() at madvice(ACCESS_PATTERN_HINT).
> >
> > I wonder there are little chances when madice(ACCESS_PATTERN_HINT) is
> > given against mapped-file-vma...
>
> Me wonder too. The access hints should be rarely used.
> A simple solution is reasonable for them.
>
> But what if more flags going into vm_hints in future?
>

yes, that's concern...

But I wonder there are several flags which implies that the vma is not for
merge. as....

#define VM_GROWSDOWN 0x00000100 /* general info on the segment */
#define VM_GROWSUP 0x00000200

or some PFN_MAP flags...
(At least, we can have 4 flags of not-for-merge in vm_hints ;)

Then, Nigel, you have 2 choices I think.

(1) don't merge if vm_hints is set or
(2) pass vm_hints to all __merge() functions.

One of above will be accesptable for stakeholders...
I personally like (1) but just trying (2) may be accepted.

What I dislike is making vm_flags to be long long ;)

Thanks,
-Kame

--
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/