Re: [patch 21/21] slab defrag: Obsolete SLAB

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Matt Mackall
Date: Wednesday, May 14, 2008 - 2:02 pm

On Wed, 2008-05-14 at 13:33 -0700, Christoph Lameter wrote:

This wouldn't be my first thought. The batch size could be potentially
huge and we'd have to worry about latency issues.

But here are some other thoughts:

First, we should obviously always expire all queues when we hit low
water marks as it'll be cheaper/faster than other forms of reclaim.

Second, if our queues were per-slab (this might be hard, I realize), we
can sweep the queue at alloc time.

We can also sweep before falling back to the page allocator. That should
guarantee that delayed frees don't negatively impact fragmentation.

And lastly, we can always have a periodic thread/timer/workqueue
operation.

So far this is a bunch of hand-waving but I think this ends up basically
being an anti-magazine. A magazine puts a per-cpu queue on the alloc
side which costs on both the alloc and free side, regardless of whether
the workload demands it. This puts a per-cpu queue on the free side that
we can bypass in the cache-friendly case. I think that's a step in the
right direction.

-- 
Mathematics is the supreme nostalgia of our time.

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[patch 21/21] slab defrag: Obsolete SLAB, Christoph Lameter, (Fri May 9, 8:08 pm)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Andi Kleen, (Sat May 10, 2:53 am)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Rik van Riel, (Sat May 10, 7:15 pm)
Re: [patch 21/21] slab defrag: Obsolete SLAB, KOSAKI Motohiro, (Mon May 12, 12:38 am)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Pekka Enberg, (Mon May 12, 12:54 am)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Andi Kleen, (Mon May 12, 3:08 am)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Pekka Enberg, (Mon May 12, 3:23 am)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Christoph Lameter, (Wed May 14, 10:29 am)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Christoph Lameter, (Wed May 14, 10:30 am)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Andi Kleen, (Wed May 14, 10:49 am)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Christoph Lameter, (Wed May 14, 11:03 am)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Christoph Lameter, (Wed May 14, 11:05 am)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Matt Mackall, (Wed May 14, 11:18 am)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Christoph Lameter, (Wed May 14, 12:21 pm)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Matt Mackall, (Wed May 14, 12:49 pm)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Christoph Lameter, (Wed May 14, 1:33 pm)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Christoph Lameter, (Wed May 14, 1:46 pm)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Matthew Wilcox, (Wed May 14, 1:58 pm)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Christoph Lameter, (Wed May 14, 2:00 pm)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Matt Mackall, (Wed May 14, 2:02 pm)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Matthew Wilcox, (Wed May 14, 2:21 pm)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Christoph Lameter, (Wed May 14, 2:26 pm)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Christoph Lameter, (Wed May 14, 2:33 pm)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Matthew Wilcox, (Wed May 14, 2:43 pm)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Christoph Lameter, (Wed May 14, 2:53 pm)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Matt Mackall, (Wed May 14, 2:54 pm)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Matthew Wilcox, (Wed May 14, 3:00 pm)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Christoph Lameter, (Wed May 14, 3:32 pm)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Christoph Lameter, (Wed May 14, 3:34 pm)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Zhang, Yanmin, (Wed May 14, 8:26 pm)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Christoph Lameter, (Thu May 15, 10:05 am)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Christoph Lameter, (Thu May 15, 10:15 am)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Matthew Wilcox, (Thu May 15, 10:49 am)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Christoph Lameter, (Thu May 15, 10:58 am)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Matthew Wilcox, (Thu May 15, 11:13 am)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Eric Dumazet, (Thu May 15, 11:19 am)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Vegard Nossum, (Thu May 15, 11:29 am)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Christoph Lameter, (Thu May 15, 11:43 am)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Matthew Wilcox, (Thu May 15, 11:51 am)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Christoph Lameter, (Thu May 15, 12:09 pm)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Matthew Wilcox, (Thu May 15, 12:29 pm)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Matthew Wilcox, (Thu May 15, 1:14 pm)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Pekka Enberg, (Thu May 15, 1:30 pm)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Zhang, Yanmin, (Thu May 15, 10:16 pm)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Christoph Lameter, (Fri May 16, 12:06 pm)
Re: [patch 21/21] slab defrag: Obsolete SLAB, Christoph Lameter, (Fri May 16, 12:17 pm)