linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Matthew Wilcox <matthew@wil.cx>
To: Christoph Lameter <clameter@sgi.com>
Cc: "Zhang, Yanmin" <yanmin_zhang@linux.intel.com>,
	Andi Kleen <andi@firstfloor.org>,
	Pekka Enberg <penberg@cs.helsinki.fi>,
	KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
	Rik van Riel <riel@redhat.com>,
	akpm@linux-foundation.org, linux-kernel@vger.kernel.org,
	linux-fsdevel@vger.kernel.org, Mel Gorman <mel@skynet.ie>,
	mpm@selenic.com
Subject: Re: [patch 21/21] slab defrag: Obsolete SLAB
Date: Thu, 15 May 2008 14:14:13 -0600	[thread overview]
Message-ID: <20080515201413.GT9921@parisc-linux.org> (raw)
In-Reply-To: <20080515192959.GS9921@parisc-linux.org>

On Thu, May 15, 2008 at 01:29:59PM -0600, Matthew Wilcox wrote:
> On Thu, May 15, 2008 at 12:09:06PM -0700, Christoph Lameter wrote:
> > Assumptions may be the issue. My own "reproducer" for remote frees is 
> > available from my git tree and I usually prefer to run my own. We 
> 
> No doubt you prefer to run a test which fails to show a problem with
> your code.  How about you try running a test which does show a problem?

This is rather interesting.  Since Christoph refuses to, here's my
results with 8f40f67, first with slab:

willy@piggy:~$ sudo ./io-gen -d /dev/sda -j4
CPU 0 completed 1000000 ops in 52.817 seconds; 18933 ops per second
CPU 2 completed 1000000 ops in 56.391 seconds; 17733 ops per second
CPU 3 completed 1000000 ops in 57.009 seconds; 17541 ops per second
CPU 1 completed 1000000 ops in 57.591 seconds; 17363 ops per second
willy@piggy:~$ sudo taskset -p 1 941
pid 941's current affinity mask: f
pid 941's new affinity mask: 1
willy@piggy:~$ sudo ./io-gen -d /dev/sda -j4
CPU 2 completed 1000000 ops in 46.740 seconds; 21394 ops per second
CPU 0 completed 1000000 ops in 48.716 seconds; 20527 ops per second
CPU 3 completed 1000000 ops in 59.255 seconds; 16876 ops per second
CPU 1 completed 1000000 ops in 60.473 seconds; 16536 ops per second

(the pid is that of scsi_ram_0)

Now, change the config to slub:

--- 64-slab/.config     2008-05-15 15:21:31.000000000 -0400
+++ 64-slub/.config     2008-05-15 15:37:45.000000000 -0400
-# Thu May 15 15:21:31 2008
+# Thu May 15 15:37:45 2008
-CONFIG_SLAB=y
-# CONFIG_SLUB is not set
+CONFIG_SLUB_DEBUG=y
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
-# CONFIG_DEBUG_SLAB is not set
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_STATS is not set

and we get slightly better results:

willy@piggy:~$ sudo ./io-gen -d /dev/sda -j4
CPU 0 completed 1000000 ops in 45.848 seconds; 21811 ops per second
CPU 2 completed 1000000 ops in 50.789 seconds; 19689 ops per second
CPU 3 completed 1000000 ops in 55.876 seconds; 17896 ops per second
CPU 1 completed 1000000 ops in 56.941 seconds; 17562 ops per second
willy@piggy:~$ sudo taskset -p 1 1001
pid 1001's current affinity mask: f
pid 1001's new affinity mask: 1
willy@piggy:~$ sudo ./io-gen -d /dev/sda -j4
CPU 2 completed 1000000 ops in 45.713 seconds; 21875 ops per second
CPU 0 completed 1000000 ops in 47.020 seconds; 21267 ops per second
CPU 3 completed 1000000 ops in 58.692 seconds; 17038 ops per second
CPU 1 completed 1000000 ops in 60.389 seconds; 16559 ops per second

Slub's clearly in the lead, right?  Maybe.  Here's the results we get
with 2.6.25+slab:

willy@piggy:~$ sudo ./io-gen -d /dev/sda -j4
CPU 3 completed 1000000 ops in 48.709 seconds; 20530 ops per second
CPU 1 completed 1000000 ops in 50.181 seconds; 19927 ops per second
CPU 0 completed 1000000 ops in 53.511 seconds; 18687 ops per second
CPU 2 completed 1000000 ops in 54.169 seconds; 18460 ops per second
willy@piggy:~$ sudo taskset -p 1 930
pid 930's current affinity mask: f
pid 930's new affinity mask: 1
willy@piggy:~$ sudo ./io-gen -d /dev/sda -j4
CPU 2 completed 1000000 ops in 40.568 seconds; 24649 ops per second
CPU 0 completed 1000000 ops in 47.986 seconds; 20839 ops per second
CPU 3 completed 1000000 ops in 55.944 seconds; 17875 ops per second
CPU 1 completed 1000000 ops in 56.180 seconds; 17799 ops per second

I think I'm going to try backing out some of the recent patches that
have gone into /slab/ and see if it's been regressing.

-- 
Intel are signing my paycheques ... these opinions are still mine
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours.  We can't possibly take such
a retrograde step."

  reply	other threads:[~2008-05-15 20:14 UTC|newest]

Thread overview: 93+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-10  3:08 [patch 00/21] Slab Fragmentation Reduction V12 Christoph Lameter
2008-05-10  3:08 ` [patch 01/21] slub: Add defrag_ratio field and sysfs support Christoph Lameter
2008-05-10  3:08 ` [patch 02/21] slub: Replace ctor field with ops field in /sys/slab/* Christoph Lameter
2008-05-10  3:08 ` [patch 03/21] slub: Add get() and kick() methods Christoph Lameter
2008-05-10  3:08 ` [patch 04/21] slub: Sort slab cache list and establish maximum objects for defrag slabs Christoph Lameter
2008-05-10  3:08 ` [patch 05/21] slub: Slab defrag core Christoph Lameter
2008-05-10  3:08 ` [patch 06/21] slub: Add KICKABLE to avoid repeated kick() attempts Christoph Lameter
2008-05-10  3:08 ` [patch 07/21] slub: Extend slabinfo to support -D and -F options Christoph Lameter
2008-05-10  3:08 ` [patch 08/21] slub: add defrag statistics Christoph Lameter
2008-05-10  3:08 ` [patch 09/21] slub: Trigger defragmentation from memory reclaim Christoph Lameter
2008-05-10  3:08 ` [patch 10/21] buffer heads: Support slab defrag Christoph Lameter
2008-05-12  0:24   ` David Chinner
2008-05-15 17:42     ` Christoph Lameter
2008-05-15 23:10       ` David Chinner
2008-05-16 17:01         ` Christoph Lameter
2008-05-19  5:45           ` David Chinner
2008-05-19 16:44             ` Christoph Lameter
2008-05-20  0:25               ` David Chinner
2008-05-20  6:56                 ` Evgeniy Polyakov
2008-05-20 21:46                   ` David Chinner
2008-05-20 22:25                     ` Evgeniy Polyakov
2008-05-20 23:19                       ` David Chinner
2008-05-20 23:28                         ` Andrew Morton
2008-05-21  6:15                           ` Evgeniy Polyakov
2008-05-21  6:24                             ` Andrew Morton
2008-05-21 17:52                               ` iput() in reclaim context Hugh Dickins
2008-05-21 17:58                                 ` Evgeniy Polyakov
2008-05-21 18:12                                 ` Andrew Morton
2008-05-20 23:22                       ` [patch 10/21] buffer heads: Support slab defrag Evgeniy Polyakov
2008-05-20 23:30                         ` David Chinner
2008-05-21  6:20                           ` Evgeniy Polyakov
2008-05-21  1:56                         ` Christoph Lameter
2008-05-20 22:53             ` Jamie Lokier
2008-05-10  3:08 ` [patch 11/21] inodes: Support generic defragmentation Christoph Lameter
2008-05-10  3:08 ` [patch 12/21] Filesystem: Ext2 filesystem defrag Christoph Lameter
2008-05-10  3:08 ` [patch 13/21] Filesystem: Ext3 " Christoph Lameter
2008-05-10  3:08 ` [patch 14/21] Filesystem: Ext4 " Christoph Lameter
2008-05-10  3:08 ` [patch 15/21] Filesystem: XFS slab defragmentation Christoph Lameter
2008-05-10  6:55   ` Christoph Hellwig
2008-05-10  3:08 ` [patch 16/21] Filesystem: /proc filesystem support for slab defrag Christoph Lameter
2008-05-10  3:08 ` [patch 17/21] Filesystem: Slab defrag: Reiserfs support Christoph Lameter
2008-05-10  3:08 ` [patch 18/21] Filesystem: Socket inode defragmentation Christoph Lameter
2008-05-13 13:28   ` Evgeniy Polyakov
2008-05-15 17:40     ` Christoph Lameter
2008-05-15 18:23       ` Evgeniy Polyakov
2008-05-10  3:08 ` [patch 19/21] dentries: Add constructor Christoph Lameter
2008-05-10  3:08 ` [patch 20/21] dentries: dentry defragmentation Christoph Lameter
2008-05-10  3:08 ` [patch 21/21] slab defrag: Obsolete SLAB Christoph Lameter
2008-05-10  9:53   ` Andi Kleen
2008-05-11  2:15     ` Rik van Riel
2008-05-12  7:38       ` KOSAKI Motohiro
2008-05-12  7:54         ` Pekka Enberg
2008-05-12 10:08           ` Andi Kleen
2008-05-12 10:23             ` Pekka Enberg
2008-05-14 17:30               ` Christoph Lameter
2008-05-14 17:29           ` Christoph Lameter
2008-05-14 17:49             ` Andi Kleen
2008-05-14 18:03               ` Christoph Lameter
2008-05-14 18:18                 ` Matt Mackall
2008-05-14 19:21                   ` Christoph Lameter
2008-05-14 19:49                     ` Matt Mackall
2008-05-14 20:33                       ` Christoph Lameter
2008-05-14 21:02                         ` Matt Mackall
2008-05-14 21:26                           ` Christoph Lameter
2008-05-14 21:54                             ` Matt Mackall
2008-05-15 17:15                               ` Christoph Lameter
2008-05-15  3:26                 ` Zhang, Yanmin
2008-05-15 17:05                   ` Christoph Lameter
2008-05-15 17:49                     ` Matthew Wilcox
2008-05-15 17:58                       ` Christoph Lameter
2008-05-15 18:13                         ` Matthew Wilcox
2008-05-15 18:43                           ` Christoph Lameter
2008-05-15 18:51                             ` Matthew Wilcox
2008-05-15 19:09                               ` Christoph Lameter
2008-05-15 19:29                                 ` Matthew Wilcox
2008-05-15 20:14                                   ` Matthew Wilcox [this message]
2008-05-15 20:30                                     ` Pekka Enberg
2008-05-16 19:17                                     ` Christoph Lameter
2008-05-16 19:06                                   ` Christoph Lameter
2008-05-15 18:19                       ` Eric Dumazet
2008-05-15 18:29                       ` Vegard Nossum
2008-05-16  5:16                     ` Zhang, Yanmin
2008-05-14 18:05               ` Christoph Lameter
2008-05-14 20:46                 ` Christoph Lameter
2008-05-14 20:58                   ` Matthew Wilcox
2008-05-14 21:00                     ` Christoph Lameter
2008-05-14 21:21                       ` Matthew Wilcox
2008-05-14 21:33                         ` Christoph Lameter
2008-05-14 21:43                           ` Matthew Wilcox
2008-05-14 21:53                             ` Christoph Lameter
2008-05-14 22:00                               ` Matthew Wilcox
2008-05-14 22:32                                 ` Christoph Lameter
2008-05-14 22:34                                 ` Christoph Lameter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080515201413.GT9921@parisc-linux.org \
    --to=matthew@wil.cx \
    --cc=akpm@linux-foundation.org \
    --cc=andi@firstfloor.org \
    --cc=clameter@sgi.com \
    --cc=kosaki.motohiro@jp.fujitsu.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mel@skynet.ie \
    --cc=mpm@selenic.com \
    --cc=penberg@cs.helsinki.fi \
    --cc=riel@redhat.com \
    --cc=yanmin_zhang@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).