linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Nick Piggin <nickpiggin@yahoo.com.au>
To: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Eric Dumazet <dada1@cosmosbay.com>,
	Christoph Lameter <cl@linux-foundation.org>,
	Miklos Szeredi <miklos@szeredi.hu>,
	hugh@veritas.com, linux-mm@kvack.org,
	linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
	akpm@linux-foundation.org
Subject: Re: SLUB defrag pull request?
Date: Tue, 28 Oct 2008 22:19:43 +1100	[thread overview]
Message-ID: <200810282219.44022.nickpiggin@yahoo.com.au> (raw)
In-Reply-To: <1225191983.27477.16.camel@penberg-laptop>

On Tuesday 28 October 2008 22:06, Pekka Enberg wrote:
> On Thu, 2008-10-23 at 19:14 +0200, Eric Dumazet wrote:
> > [PATCH] slub: slab_alloc() can use prefetchw()
> >
> > Most kmalloced() areas are initialized/written right after allocation.
> >
> > prefetchw() gives a hint to cpu saying this cache line is going to be
> > *modified*, even if first access is a read.
> >
> > Some architectures can save some bus transactions, acquiring
> > the cache line in an exclusive way instead of shared one.
> >
> > Same optimization was done in 2005 on SLAB in commit
> > 34342e863c3143640c031760140d640a06c6a5f8
> > ([PATCH] mm/slab.c: prefetchw the start of new allocated objects)
> >
> > Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
>
> Christoph, I was sort of expecting a NAK/ACK from you before merging
> this. I would be nice to have numbers on this but then again I don't see
> how this can hurt either.

I've seen explicit prefetches hurt quite surprising amount if they're
not placed in appropriate places (which includes putting them in
places where the object is already in cache, or the processor is in a
good position to have speculatively initiated the operation anyway).

I'm not saying it's going to be the case here, but it can be really
hard to actually tell if it is worthwhile, IMO. For example, some
nice CPU local workloads that are often fitting within cache, might
have the object already in cache 99.x% of the time here. prefetch may
easily slow things down.

--
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/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2008-10-28 11:19 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1223883004.31587.15.camel@penberg-laptop>
     [not found] ` <1223883164.31587.16.camel@penberg-laptop>
     [not found]   ` <Pine.LNX.4.64.0810131227120.20511@blonde.site>
2008-10-13 12:54     ` Nick Piggin
2008-10-13 13:59       ` Miklos Szeredi
2008-10-13 14:27         ` Miklos Szeredi
2008-10-13 16:35           ` Christoph Lameter
2008-10-13 14:49             ` Miklos Szeredi
2008-10-13 15:22               ` Miklos Szeredi
2008-10-20 14:59               ` Christoph Lameter
2008-10-20 18:01                 ` Miklos Szeredi
2008-10-20 18:22                   ` Christoph Lameter
2008-10-20 18:40                     ` Miklos Szeredi
2008-10-20 19:11                       ` Christoph Lameter
2008-10-20 19:28                         ` Miklos Szeredi
2008-10-20 19:53                           ` Christoph Lameter
2008-10-20 20:50                             ` Miklos Szeredi
2008-10-21 23:17                               ` Christoph Lameter
2008-10-22  7:10                                 ` Miklos Szeredi
2008-10-22 15:42                                   ` Christoph Lameter
2008-10-22 19:46                                     ` Miklos Szeredi
2008-10-22 19:54                                       ` Christoph Lameter
2008-10-22 20:11                                         ` Miklos Szeredi
2008-10-22 20:19                                           ` Christoph Lameter
2008-10-22 20:26                                             ` Miklos Szeredi
2008-10-22 20:48                                               ` Pekka Enberg
2008-10-22 21:01                                                 ` Christoph Lameter
2008-10-22 21:04                                                 ` Miklos Szeredi
2008-10-22 21:12                                                   ` Pekka Enberg
2008-10-22 21:28                                                   ` Christoph Lameter
2008-10-22 22:10                                                     ` Miklos Szeredi
2008-10-22 23:20                                                       ` Christoph Lameter
2008-10-23  7:10                                                       ` Pekka Enberg
2008-10-23  8:38                                                         ` Miklos Szeredi
2008-10-23 13:40                                                           ` Christoph Lameter
2008-10-23 13:58                                                             ` Pekka Enberg
2008-10-23 14:09                                                               ` Christoph Lameter
2008-10-23 14:14                                                                 ` Pekka Enberg
2008-10-23 14:25                                                                   ` Christoph Lameter
2008-10-23 15:17                                                                     ` Eric Dumazet
2008-10-23 15:39                                                                       ` Christoph Lameter
2008-10-23 16:35                                                                         ` Eric Dumazet
2008-10-23 16:47                                                                           ` Christoph Lameter
2008-10-23 17:14                                                                             ` Eric Dumazet
2008-10-28 11:06                                                                               ` Pekka Enberg
2008-10-28 11:19                                                                                 ` Nick Piggin [this message]
2008-10-30 15:45                                                                                 ` Christoph Lameter
2008-10-22 20:59                                               ` Christoph Lameter
2008-10-20 23:04                             ` Dave Chinner
2008-10-13 16:24         ` Christoph Lameter
2008-10-13 14:28           ` Miklos Szeredi

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=200810282219.44022.nickpiggin@yahoo.com.au \
    --to=nickpiggin@yahoo.com.au \
    --cc=akpm@linux-foundation.org \
    --cc=cl@linux-foundation.org \
    --cc=dada1@cosmosbay.com \
    --cc=hugh@veritas.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=miklos@szeredi.hu \
    --cc=penberg@cs.helsinki.fi \
    /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