linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Shaohua Li <shaohua.li@intel.com>
To: David Rientjes <rientjes@google.com>
Cc: "Shi, Alex" <alex.shi@intel.com>,
	Christoph Lameter <cl@linux.com>,
	"penberg@kernel.org" <penberg@kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	Andi Kleen <ak@linux.intel.com>
Subject: Re: [PATCH 1/3] slub: set a criteria for slub node partial adding
Date: Wed, 07 Dec 2011 13:11:13 +0800	[thread overview]
Message-ID: <1323234673.22361.372.camel@sli10-conroe> (raw)
In-Reply-To: <alpine.DEB.2.00.1112061259210.28251@chino.kir.corp.google.com>

On Wed, 2011-12-07 at 05:06 +0800, David Rientjes wrote:
> On Mon, 5 Dec 2011, Alex,Shi wrote:
> 
> > Previous testing depends on 3.2-rc1, that show hackbench performance has
> > no clear change, and netperf get some benefit. But seems after
> > irqsafe_cpu_cmpxchg patch, the result has some change. I am collecting
> > these results. 
> > 
> 
> netperf will also degrade with this change on some machines, there's no 
> clear heuristic that can be used to benefit all workloads when deciding 
> where to add a partial slab into the list.  Cache hotness is great but 
> your patch doesn't address situations where frees happen to a partial slab 
> such that they may be entirely free (or at least below your 1:4 inuse to 
> nr_objs threshold) at the time you want to deactivate the cpu slab.
> 
> I had a patchset that iterated the partial list and found the "most free" 
> partial slab (and terminated prematurely if a threshold had been reached, 
> much like yours) and selected that one, and it helped netperf 2-3% in my 
> testing.  So I disagree with determining where to add a partial slab to 
> the list at the time of free because it doesn't infer its state at the 
> time of cpu slab deactivation.
interesting. I did similar experiment before (try to sort the page
according to free number), but it appears quite hard. The free number of
a page is dynamic, eg more slabs can be freed when the page is in
partial list. And in netperf test, the partial list could be very very
long. Can you post your patch, I definitely what to look at it.
What I have about the partial list is it wastes a lot of memory. My test
shows about 50% memory is wasted. I'm thinking not always fetching the
oldest page from the partial list, because chances that objects of
oldest page can all be freed is high. I haven't done any test yet,
wondering if it could be helpful.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2011-12-07  4:59 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-02  8:23 [PATCH 1/3] slub: set a criteria for slub node partial adding Alex Shi
2011-12-02  8:23 ` [PATCH 2/3] slub: remove unnecessary statistics, deactivate_to_head/tail Alex Shi
2011-12-02  8:23   ` [PATCH 3/3] slub: fill per cpu partial only when free objects larger than one quarter Alex Shi
2011-12-02 14:44   ` [PATCH 2/3] slub: remove unnecessary statistics, deactivate_to_head/tail Christoph Lameter
2011-12-06 21:08   ` David Rientjes
2011-12-02 11:36 ` [PATCH 1/3] slub: set a criteria for slub node partial adding Eric Dumazet
2011-12-02 20:02   ` Christoph Lameter
2011-12-05  2:21     ` Shaohua Li
2011-12-05 10:01     ` Alex,Shi
2011-12-05  3:28   ` Alex,Shi
2011-12-02 14:43 ` Christoph Lameter
2011-12-05  9:22   ` Alex,Shi
2011-12-06 21:06     ` David Rientjes
2011-12-07  5:11       ` Shaohua Li [this message]
2011-12-07  7:28         ` David Rientjes
2011-12-12  2:43           ` Shaohua Li
2011-12-12  4:14             ` Alex,Shi
2011-12-12  4:35               ` Shaohua Li
2011-12-12  4:25                 ` Alex,Shi
2011-12-12  4:48                   ` Shaohua Li
2011-12-12  6:17                     ` Alex,Shi
2011-12-12  6:09             ` Eric Dumazet
2011-12-14  1:29             ` David Rientjes
2011-12-14  2:43               ` Shaohua Li
2011-12-14  2:38                 ` David Rientjes
2011-12-09  8:30   ` Alex,Shi
2011-12-09 10:10     ` David Rientjes
2011-12-09 13:40       ` Shi, Alex
2011-12-14  1:38         ` David Rientjes
2011-12-14  2:36           ` David Rientjes
2011-12-14  6:06             ` Alex,Shi
2011-12-14  6:44               ` Eric Dumazet
2011-12-14  6:47                 ` Pekka Enberg
2011-12-14 14:53                   ` Christoph Lameter
2011-12-14  6:56                 ` Alex,Shi
2011-12-14 14:59                   ` Christoph Lameter
2011-12-14 17:33                     ` Eric Dumazet
2011-12-14 18:26                       ` Christoph Lameter
2011-12-13 13:01       ` Shi, Alex

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=1323234673.22361.372.camel@sli10-conroe \
    --to=shaohua.li@intel.com \
    --cc=ak@linux.intel.com \
    --cc=alex.shi@intel.com \
    --cc=cl@linux.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=penberg@kernel.org \
    --cc=rientjes@google.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).