Re: mm question

Eric W. Biederman (ebiederm@xmission.com)
11 Dec 2001 01:47:06 -0700


volodya@mindspring.com writes:

> On Mon, 10 Dec 2001, Alan Cox wrote:
>
> > > Right, but instead of trying to balance cache available memory and swap
> > > my swapper will only be concerned whether the page can be evicted and
> > > whether it is from the address range I want.
> >
> > You want to rewrite the entire vm to have back pointers ? Right now you
> > can't find pages in an address range. Its all driven from the virtual side
> > without reverse lookup tables.
> >
>
> You are right I don't want to rewrite vm. But I can go thru virtual side
> taking note of the physical address. I.e. base the decision to try and
> free pages not on how old the page is but on what it's physical address
> is.
>
> You see, I don't want to find a few pages in 16mb range in 512mb system.
>
> I want to find a few pages _outside_ 64mb range in a 512mb system.
> So if I free 70mb I _will_ be able to find at least 2mb in my desired
> range. In fact I won't have to free that much as they it will work is
> "try to free the page", "if succeed do not return to memory pool but
> instead give to the 'special region list'"
>
> Does this make sense ?

There is actually a cheap trick that will achieve what you want.
Allocate pages. If you allocate a page in the 0-64mb range keep
it allocated until you have allocated your 300KB > 64mb. After
you have all of the pages you want free the extra pages in 0-64mb that
you didn't want...

Eric
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/