2006-11-17 14:12:32

by moreau francis

[permalink] [raw]
Subject: Re : vm: weird behaviour when munmapping

Peter Zijlstra wrote:
> No indeed. You seem confused with remaining and new.
>
> It has one VMA (A) it needs to split that into two pieces, it happens to
> do it like (B,A') where A' is the old VMA object with new a start
> address, and B is a new VMA object.

Is there any rules to decide which VMA is the new one ?

>From what you wrote it seems that we call B the new object because
it has a new end address...

>From my point of view, I called B the old VMA simply because it's
going to be destroyed...

Francis









___________________________________________________________________________
Yahoo! Mail r?invente le mail ! D?couvrez le nouveau Yahoo! Mail et son interface r?volutionnaire.
http://fr.mail.yahoo.com


2006-11-17 14:23:44

by Peter Zijlstra

[permalink] [raw]
Subject: Re: Re : vm: weird behaviour when munmapping

On Fri, 2006-11-17 at 14:12 +0000, moreau francis wrote:
> Peter Zijlstra wrote:
> > No indeed. You seem confused with remaining and new.
> >
> > It has one VMA (A) it needs to split that into two pieces, it happens to
> > do it like (B,A') where A' is the old VMA object with new a start
> > address, and B is a new VMA object.
>
> Is there any rules to decide which VMA is the new one ?

The new object is the one allocated using:
new = kmem_cache_alloc(vm_area_cachep, SLAB_KERNEL);

> From what you wrote it seems that we call B the new object because
> it has a new end address...

No, because its newly allocated.

> From my point of view, I called B the old VMA simply because it's
> going to be destroyed...

Please read Mel Gorman's book on memory management to gain a better
understanding.

http://www.phptr.com/bookstore/product.asp?isbn=0131453483&rl=1