public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Zhang, Yanmin" <yanmin_zhang@linux.intel.com>
To: Christoph Lameter <clameter@sgi.com>
Cc: LKML <linux-kernel@vger.kernel.org>, mingo@elte.hu
Subject: Re: tbench regression - Why process scheduler has impact on tbench and why small per-cpu slab (SLUB) cache creates the scenario?
Date: Wed, 05 Sep 2007 13:22:05 +0800	[thread overview]
Message-ID: <1188969725.26438.46.camel@ymzhang> (raw)
In-Reply-To: <Pine.LNX.4.64.0709042053320.7231@schroedinger.engr.sgi.com>

On Tue, 2007-09-04 at 20:59 -0700, Christoph Lameter wrote:
> On Wed, 5 Sep 2007, Zhang, Yanmin wrote:
> 
> > 8) kmalloc-4096 order is 1 which means one slab consists of 2 objects. So a
> 
> You can change that by booting with slub_max_order=0. Then we can also use 
> the per cpu queues to get these order 0 objects which may speed up the 
> allocations because we do not have to take zone locks on slab allocation.
> 
> Note also that Andrew's tree has a page allocator pass through for SLUB 
> for 4k kmallocs bypassing slab completely. That may also address the 
> issue.
> 
> If you want SLUB to handle more objects in the 4k kmalloc cache 
> without going to the page allocator then you can boot f.e. with
> 
> slub_max_order=3 slub_min_objects=8
I tried this approach. The testing result showed 2.6.23-rc4 is about
2.5% better than 2.6.22. It really resovles the issue.

However, the approach treats the slabs in the same policy. Could we
implement a per-slab specific approach like direct b)?

> 
> which will result in a kmalloc-4096 that caches 8 objects.
> 
> > 	b) Change SLUB per-cpu slab cache, to cache more slabs instead of only one
> > slab. This way could use page->lru to creates a list linked in kmem_cache->cpu_slab[]
> > whose members need to be changed to as list_head. As for how many slabs could be in
> > a per-cpu slab cache, it might be implemented as a sysfs parameter under /sys/slab/XXX/.
> > Default could be 1 to satisfy big machines.
Above direction b) looks more flexible.

In addition, could process scheduler also have an enhancement to schedule waken
processes firstly or do some favor for waken processes? From cache-hot point of view,
this enhancement might help performance, because mostly, waken process and waker share
some data.

> Try the ways to address the issue that I mentioned above.
I really appreciate your kind comments!

-yanmin

  reply	other threads:[~2007-09-05  5:32 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-05  0:46 tbench regression - Why process scheduler has impact on tbench and why small per-cpu slab (SLUB) cache creates the scenario? Zhang, Yanmin
2007-09-05  3:59 ` Christoph Lameter
2007-09-05  5:22   ` Zhang, Yanmin [this message]
2007-09-05  6:58     ` Christoph Lameter
2007-09-05  9:13       ` Zhang, Yanmin
2007-09-05 10:45         ` Christoph Lameter
2007-09-06  0:52           ` Zhang, Yanmin
2007-09-05  7:07     ` Christoph Lameter
2007-09-08  8:08       ` Nick Piggin
2007-09-10  0:56         ` Zhang, Yanmin
2007-09-09 22:10           ` Nick Piggin
2007-09-10 19:07             ` Christoph Lameter
2007-09-10 15:17               ` Nick Piggin
2007-09-11 20:19                 ` Christoph Lameter
2007-09-11  4:59                   ` Nick Piggin
2007-09-13  6:04                   ` Siddha, Suresh B
2007-09-13 18:03                     ` Christoph Lameter
2007-09-14 19:15                       ` Siddha, Suresh B
2007-09-14 19:51                         ` Christoph Lameter
2007-09-19  2:17                           ` Siddha, Suresh B
2007-09-20 17:53                             ` 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=1188969725.26438.46.camel@ymzhang \
    --to=yanmin_zhang@linux.intel.com \
    --cc=clameter@sgi.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    /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