[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <4F68D51B.7030501@redhat.com>
Date: Tue, 20 Mar 2012 15:06:03 -0400
From: Rik van Riel <riel@...hat.com>
To: Andrea Arcangeli <aarcange@...hat.com>
CC: Andrew Morton <akpm@...ux-foundation.org>, linux-mm@...ck.org,
linux-kernel@...r.kernel.org, Mel Gorman <mel@....ul.ie>,
Johannes Weiner <hannes@...xchg.org>,
KOSAKI Motohiro <kosaki.motohiro@...il.com>, hughd@...gle.com
Subject: Re: [PATCH -mm 2/2] mm: do not reset mm->free_area_cache on every
single munmap
On 03/20/2012 03:00 PM, Andrea Arcangeli wrote:
> On Thu, Feb 23, 2012 at 01:56:14PM -0800, Andrew Morton wrote:
>> We've been playing whack-a-mole with this search for many years. What
>> about developing a proper data structure with which to locate a
>> suitable-sized hole in O(log(N)) time?
>
> I intended to implement it a couple of years ago.
>
> It takes a change to the rbtree code so that when rb_erase and
> rb_insert_color are called, proper methods are called to notify the
> caller that there's been a rotation (probably calling a new
> rb_insert_color_with_metadata(&method(left_rot, right_rot)) )
There are two issues here.
1) We also need the ability to search by address, so we can
merge free areas that are adjacent.
2) Hugetlb, shared mappings on architectures with virtually
indexed caches (eg. MIPS) need holes that are not only of
a certain size, but also fit a certain alignment.
To get (2) we are essentially back to tree walking. I am not
convinced that that is a lot better than what we are doing
today, or worth the extra complexity...
--
All rights reversed
--
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