From: Joonsoo Kim <js1304@gmail.com>
To: Christoph Lameter <cl@linux.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Joonsoo Kim <iamjoonsoo.kim@lge.com>,
Johannes Weiner <hannes@cmpxchg.org>,
Michal Hocko <mhocko@suse.cz>, azurIt <azurit@pobox.sk>,
Linux Memory Management List <linux-mm@kvack.org>,
cgroups@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
Christian Casteyde <casteyde.christian@free.fr>,
Pekka Enberg <penberg@kernel.org>
Subject: Re: [patch 2/2] fs: buffer: move allocation failure loop into the allocator
Date: Thu, 5 Dec 2013 01:02:15 +0900 [thread overview]
Message-ID: <CAAmzW4PwLhMd61ksOktdg=rkj0xHsSGt2Wm_za2Adjh4+tss-g@mail.gmail.com> (raw)
In-Reply-To: <00000142be2f1de0-764bb035-adbc-4367-b2b4-bf05498510a6-000000@email.amazonses.com>
2013/12/5 Christoph Lameter <cl@linux.com>:
> On Tue, 3 Dec 2013, Andrew Morton wrote:
>
>> > page = alloc_slab_page(alloc_gfp, node, oo);
>> > if (unlikely(!page)) {
>> > oo = s->min;
>>
>> What is the value of s->min? Please tell me it's zero.
>
> It usually is.
>
>> > @@ -1349,7 +1350,7 @@ static struct page *allocate_slab(struct kmem_cache *s, gfp_t flags, int node)
>> > && !(s->flags & (SLAB_NOTRACK | DEBUG_DEFAULT_FLAGS))) {
>> > int pages = 1 << oo_order(oo);
>> >
>> > - kmemcheck_alloc_shadow(page, oo_order(oo), flags, node);
>> > + kmemcheck_alloc_shadow(page, oo_order(oo), alloc_gfp, node);
>>
>> That seems reasonable, assuming kmemcheck can handle the allocation
>> failure.
>>
>>
>> Still I dislike this practice of using unnecessarily large allocations.
>> What does it gain us? Slightly improved object packing density.
>> Anything else?
>
> The fastpath for slub works only within the bounds of a single slab page.
> Therefore a larger frame increases the number of allocation possible from
> the fastpath without having to use the slowpath and also reduces the
> management overhead in the partial lists.
Hello Christoph.
Now we have cpu partial slabs facility, so I think that slowpath isn't really
slow. And it doesn't much increase the management overhead in the node
partial lists, because of cpu partial slabs.
And larger frame may cause more slab_lock contention or cmpxchg contention
if there are parallel freeings.
But, I don't know which one is better. Is larger frame still better? :)
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>
next prev parent reply other threads:[~2013-12-04 16:02 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-08 20:58 [patch 1/2] mm: memcg: handle non-error OOM situations more gracefully Johannes Weiner
2013-10-08 20:58 ` [patch 2/2] fs: buffer: move allocation failure loop into the allocator Johannes Weiner
2013-10-11 20:51 ` Andrew Morton
2013-12-04 0:59 ` Andrew Morton
2013-12-04 1:52 ` Joonsoo Kim
2013-12-04 2:07 ` Andrew Morton
2013-12-04 2:42 ` Joonsoo Kim
2013-12-04 15:17 ` Christoph Lameter
2013-12-04 16:02 ` Joonsoo Kim [this message]
2013-12-04 16:33 ` Christoph Lameter
2013-12-05 8:44 ` Joonsoo Kim
2013-12-05 18:50 ` Christoph Lameter
2013-12-06 8:57 ` Joonsoo Kim
2013-12-13 6:58 ` Joonsoo Kim
2013-12-13 16:40 ` Christoph Lameter
2013-12-16 8:22 ` Joonsoo Kim
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='CAAmzW4PwLhMd61ksOktdg=rkj0xHsSGt2Wm_za2Adjh4+tss-g@mail.gmail.com' \
--to=js1304@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=azurit@pobox.sk \
--cc=casteyde.christian@free.fr \
--cc=cgroups@vger.kernel.org \
--cc=cl@linux.com \
--cc=hannes@cmpxchg.org \
--cc=iamjoonsoo.kim@lge.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@suse.cz \
--cc=penberg@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox