From: Dave Hansen <dave@sr71.net>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org,
Pravin B Shelar <pshelar@nicira.com>,
Christoph Lameter <cl@linux-foundation.org>,
"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
Andi Kleen <ak@linux.intel.com>,
Pekka Enberg <penberg@kernel.org>
Subject: Re: [RFC][PATCH 0/7] re-shrink 'struct page' when SLUB is on.
Date: Mon, 16 Dec 2013 16:45:45 -0800 [thread overview]
Message-ID: <52AF9EB9.7080606@sr71.net> (raw)
In-Reply-To: <20131216160128.aa1f1eb8039f5eee578cf560@linux-foundation.org>
On 12/16/2013 04:01 PM, Andrew Morton wrote:
> On Fri, 13 Dec 2013 15:59:03 -0800 Dave Hansen <dave@sr71.net> wrote:
>> SLUB depends on a 16-byte cmpxchg for an optimization. For the
>> purposes of this series, I'm assuming that it is a very important
>> optimization that we desperately need to keep around.
>
> What if we don't do that.
I'll do some testing and see if I can coax out any delta from the
optimization myself. Christoph went to a lot of trouble to put this
together, so I assumed that he had a really good reason, although the
changelogs don't really mention any.
I honestly can't imagine that a cmpxchg16 is going to be *THAT* much
cheaper than a per-page spinlock. The contended case of the cmpxchg is
way more expensive than spinlock contention for sure.
fc9bb8c768's commit message says:
> The doublewords must be properly aligned for cmpxchg_double to work.
> Sadly this increases the size of page struct by one word on some architectures.
> But as a resultpage structs are now cacheline aligned on x86_64.
I'm not sure what aligning them buys us though. I think I just
demonstrated that cache footprint is *way* more important than alignment.
--
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>
WARNING: multiple messages have this Message-ID (diff)
From: Dave Hansen <dave@sr71.net>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org,
Pravin B Shelar <pshelar@nicira.com>,
Christoph Lameter <cl@linux-foundation.org>,
"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
Andi Kleen <ak@linux.intel.com>,
Pekka Enberg <penberg@kernel.org>
Subject: Re: [RFC][PATCH 0/7] re-shrink 'struct page' when SLUB is on.
Date: Mon, 16 Dec 2013 16:45:45 -0800 [thread overview]
Message-ID: <52AF9EB9.7080606@sr71.net> (raw)
In-Reply-To: <20131216160128.aa1f1eb8039f5eee578cf560@linux-foundation.org>
On 12/16/2013 04:01 PM, Andrew Morton wrote:
> On Fri, 13 Dec 2013 15:59:03 -0800 Dave Hansen <dave@sr71.net> wrote:
>> SLUB depends on a 16-byte cmpxchg for an optimization. For the
>> purposes of this series, I'm assuming that it is a very important
>> optimization that we desperately need to keep around.
>
> What if we don't do that.
I'll do some testing and see if I can coax out any delta from the
optimization myself. Christoph went to a lot of trouble to put this
together, so I assumed that he had a really good reason, although the
changelogs don't really mention any.
I honestly can't imagine that a cmpxchg16 is going to be *THAT* much
cheaper than a per-page spinlock. The contended case of the cmpxchg is
way more expensive than spinlock contention for sure.
fc9bb8c768's commit message says:
> The doublewords must be properly aligned for cmpxchg_double to work.
> Sadly this increases the size of page struct by one word on some architectures.
> But as a resultpage structs are now cacheline aligned on x86_64.
I'm not sure what aligning them buys us though. I think I just
demonstrated that cache footprint is *way* more important than alignment.
next prev parent reply other threads:[~2013-12-17 0:47 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-13 23:59 [RFC][PATCH 0/7] re-shrink 'struct page' when SLUB is on Dave Hansen
2013-12-13 23:59 ` Dave Hansen
2013-12-13 23:59 ` [RFC][PATCH 1/7] mm: print more details for bad_page() Dave Hansen
2013-12-13 23:59 ` Dave Hansen
2013-12-16 16:52 ` Christoph Lameter
2013-12-16 16:52 ` Christoph Lameter
2013-12-16 17:20 ` Andi Kleen
2013-12-16 17:20 ` Andi Kleen
2013-12-13 23:59 ` [RFC][PATCH 2/7] mm: page->pfmemalloc only used by slab/skb Dave Hansen
2013-12-13 23:59 ` Dave Hansen
2013-12-13 23:59 ` [RFC][PATCH 3/7] mm: slabs: reset page at free Dave Hansen
2013-12-13 23:59 ` Dave Hansen
2013-12-13 23:59 ` [RFC][PATCH 4/7] mm: rearrange struct page Dave Hansen
2013-12-13 23:59 ` Dave Hansen
2013-12-13 23:59 ` [RFC][PATCH 5/7] mm: slub: rearrange 'struct page' fields Dave Hansen
2013-12-13 23:59 ` Dave Hansen
2013-12-13 23:59 ` [RFC][PATCH 6/7] mm: slub: remove 'struct page' alignment restrictions Dave Hansen
2013-12-13 23:59 ` Dave Hansen
2013-12-14 3:13 ` Andi Kleen
2013-12-14 3:13 ` Andi Kleen
2013-12-13 23:59 ` [RFC][PATCH 7/7] mm: slub: cleanups after code churn Dave Hansen
2013-12-13 23:59 ` Dave Hansen
2013-12-17 0:01 ` [RFC][PATCH 0/7] re-shrink 'struct page' when SLUB is on Andrew Morton
2013-12-17 0:01 ` Andrew Morton
2013-12-17 0:45 ` Dave Hansen [this message]
2013-12-17 0:45 ` Dave Hansen
2013-12-17 15:17 ` Christoph Lameter
2013-12-17 15:17 ` Christoph Lameter
2013-12-19 0:24 ` Dave Hansen
2013-12-19 0:24 ` Dave Hansen
2013-12-19 0:41 ` Andrew Morton
2013-12-19 0:41 ` Andrew Morton
2013-12-19 0:48 ` Dave Hansen
2013-12-19 0:48 ` Dave Hansen
2013-12-19 15:21 ` Christoph Lameter
2013-12-19 15:21 ` Christoph Lameter
2013-12-19 19:14 ` Dave Hansen
2013-12-19 19:14 ` Dave Hansen
2013-12-18 8:51 ` Pekka Enberg
2013-12-18 8:51 ` Pekka Enberg
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=52AF9EB9.7080606@sr71.net \
--to=dave@sr71.net \
--cc=ak@linux.intel.com \
--cc=akpm@linux-foundation.org \
--cc=cl@linux-foundation.org \
--cc=kirill.shutemov@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=penberg@kernel.org \
--cc=pshelar@nicira.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.