All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matthew Wilcox <willy@infradead.org>
To: Michal Hocko <mhocko@kernel.org>
Cc: linux-mm@kvack.org,
	"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
	Christoph Lameter <cl@linux.com>,
	Matthew Wilcox <mawilcox@microsoft.com>
Subject: Re: [PATCH 5/8] mm: Introduce _slub_counter_t
Date: Tue, 19 Dec 2017 04:46:05 -0800	[thread overview]
Message-ID: <20171219124605.GA13680@bombadil.infradead.org> (raw)
In-Reply-To: <20171219080731.GB2787@dhcp22.suse.cz>

On Tue, Dec 19, 2017 at 09:07:31AM +0100, Michal Hocko wrote:
> On Sat 16-12-17 08:44:22, Matthew Wilcox wrote:
> > From: Matthew Wilcox <mawilcox@microsoft.com>
> > 
> > Instead of putting the ifdef in the middle of the definition of struct
> > page, pull it forward to the rest of the ifdeffery around the SLUB
> > cmpxchg_double optimisation.
> > 
> > Signed-off-by: Matthew Wilcox <mawilcox@microsoft.com>
> 
> The definition of struct page looks better now. I think that slub.c
> needs some love as well. I haven't checked too deeply but it seems that
> it assumes counters to be unsigned long in some places. Maybe I've
> missed some ifdef-ery but using the native type would be much better

I may have missed something, but I checked its use of 'counters' while
I was working on this patch, and I didn't *see* a problem.  The only
problem I really see is that it uses a bitfield for { inuse, objects,
frozen } and if the architecture has big-endian bitfields, it's possible
that slub's counters might end up conflicting with the special values we
use for PageBuddy, PageKmemcg and PageBalloon.  I always get confused
by big endian, so I can't even figure out how likely it is ... would
'frozen' end up as bit 31?  And if so, would _mapcount have its sign
bit at bit 31, or at bit 7?

> Acked-by: Michal Hocko <mhocko@suse.com>

Thanks!

--
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:[~2017-12-19 12:46 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-16 16:44 [PATCH 0/8] Restructure struct page Matthew Wilcox
2017-12-16 16:44 ` [PATCH 1/8] mm: Align struct page more aesthetically Matthew Wilcox
2017-12-18 15:22   ` Michal Hocko
2017-12-19 14:58   ` Christopher Lameter
2017-12-16 16:44 ` [PATCH 2/8] mm: De-indent struct page Matthew Wilcox
2017-12-18 15:36   ` Michal Hocko
2017-12-18 16:19     ` Matthew Wilcox
2017-12-18 20:49       ` Michal Hocko
2017-12-18 21:44         ` Matthew Wilcox
2017-12-19 14:59           ` Christopher Lameter
2017-12-16 16:44 ` [PATCH 3/8] mm: Remove misleading alignment claims Matthew Wilcox
2017-12-19 15:01   ` Christopher Lameter
2017-12-16 16:44 ` [PATCH 4/8] mm: Improve comment on page->mapping Matthew Wilcox
2017-12-19  8:02   ` Michal Hocko
2017-12-19 15:48     ` Christopher Lameter
2017-12-16 16:44 ` [PATCH 5/8] mm: Introduce _slub_counter_t Matthew Wilcox
2017-12-19  8:07   ` Michal Hocko
2017-12-19 12:46     ` Matthew Wilcox [this message]
2017-12-19 13:01       ` Michal Hocko
2017-12-20 16:19         ` Matthew Wilcox
2017-12-21 17:03           ` Christopher Lameter
2017-12-16 16:44 ` [PATCH 6/8] mm: Store compound_dtor / compound_order as bytes Matthew Wilcox
2017-12-19  8:19   ` Michal Hocko
2017-12-19 12:49     ` Matthew Wilcox
2017-12-16 16:44 ` [PATCH 7/8] mm: Document how to use struct page Matthew Wilcox
2017-12-16 17:47   ` Randy Dunlap
2017-12-17  1:15     ` Matthew Wilcox
2017-12-19  9:59   ` Michal Hocko
2017-12-19 13:07     ` Matthew Wilcox
2017-12-19 13:43       ` Kirill A. Shutemov
2017-12-19 13:48         ` Michal Hocko
2017-12-19 15:53   ` Christopher Lameter
2017-12-19 15:56     ` Kirill A. Shutemov
2017-12-19 16:12     ` Matthew Wilcox
2017-12-16 16:44 ` [PATCH 8/8] mm: Remove reference to PG_buddy Matthew Wilcox
2017-12-19 10:02   ` Michal Hocko
2017-12-19 15:53     ` Christopher Lameter
2017-12-17 13:06 ` [PATCH 0/8] Restructure struct page Kirill A. Shutemov
2017-12-20 15:52 Matthew Wilcox
2017-12-20 15:52 ` [PATCH 5/8] mm: Introduce _slub_counter_t Matthew Wilcox

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=20171219124605.GA13680@bombadil.infradead.org \
    --to=willy@infradead.org \
    --cc=cl@linux.com \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=linux-mm@kvack.org \
    --cc=mawilcox@microsoft.com \
    --cc=mhocko@kernel.org \
    /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.