[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20100517002444.GJ8120@dastard>
Date: Mon, 17 May 2010 10:24:44 +1000
From: Dave Chinner <david@...morbit.com>
To: Ed Tomlinson <edt@....ca>
Cc: Andi Kleen <andi@...stfloor.org>, Christoph Lameter <cl@...ux.com>,
linux-kernel@...r.kernel.org, xfs@....sgi.com,
linux-fsdevel@...r.kernel.org, linux-mm@...ck.org,
Pekka Enberg <penberg@...helsinki.fi>, npiggin@...e.de
Subject: Re: Defrag in shrinkers
On Sat, May 15, 2010 at 01:08:17PM -0400, Ed Tomlinson wrote:
> On Friday 14 May 2010 16:36:03 Andi Kleen wrote:
> > Christoph Lameter <cl@...ux.com> writes:
> >
> > > Would it also be possible to add some defragmentation logic when you
> > > revise the shrinkers? Here is a prototype patch that would allow you to
> > > determine the other objects sitting in the same page as a given object.
> > >
> > > With that I hope that you have enough information to determine if its
> > > worth to evict the other objects as well to reclaim the slab page.
> >
> > I like the idea, it would be useful for the hwpoison code too,
> > when it tries to clean a page.
>
> If this is done generally we probably want to retune the 'pressure' put on the slab. The
> whole reason for the callbacks was to keep the 'pressure on the slab proportional to the
> memory pressure (scan rate).
I don't see that defrag based reclaim changes the concept of
pressure at all. As long as reclaim follows the nr_to_scan
guideline, then it doesn't matter if we do reclaim from the LRU or
reclaim from a list provided by the slab cache....
FWIW, one thing that would be necessary, I think, is to avoid defrag
until a certain level of fragmentation has occurred - we should do
LRU-based reclaim as much as possible, and only trigger defrag-style
reclaim once we hit a trigger (e.g. once the slab is 25% partial
pages).
Cheers,
Dave.
--
Dave Chinner
david@...morbit.com
--
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