From: Tejun Heo <tj@kernel.org>
To: David Rientjes <rientjes@google.com>
Cc: Christoph Lameter <cl@linux-foundation.org>,
Pekka Enberg <penberg@cs.helsinki.fi>,
linux-mm@kvack.org, Nick Piggin <npiggin@suse.de>,
Matt Mackall <mpm@selenic.com>
Subject: Re: [S+Q 02/16] [PATCH 1/2] percpu: make @dyn_size always mean min dyn_size in first chunk init functions
Date: Sun, 27 Jun 2010 10:21:29 +0200 [thread overview]
Message-ID: <4C270A09.3070305@kernel.org> (raw)
In-Reply-To: <alpine.DEB.2.00.1006262155260.12531@chino.kir.corp.google.com>
Hello,
On 06/27/2010 07:06 AM, David Rientjes wrote:
> On Fri, 25 Jun 2010, Christoph Lameter wrote:
>
>> In pcpu_alloc_info()
>
> You mean pcpu_build_alloc_info()?
Yeap.
>> @@ -105,7 +105,7 @@ extern struct pcpu_alloc_info * __init p
>> extern void __init pcpu_free_alloc_info(struct pcpu_alloc_info *ai);
>>
>> extern struct pcpu_alloc_info * __init pcpu_build_alloc_info(
>> - size_t reserved_size, ssize_t dyn_size,
>> + size_t reserved_size, size_t dyn_size,
>> size_t atom_size,
>> pcpu_fc_cpu_distance_fn_t cpu_distance_fn);
>>
>
> This can just be removed entirely, it's unnecessarily global.
Oh yeah, it's not used outside mm/percpu.c anymore. I'll make it
static.
>> /**
>> * pcpu_alloc_alloc_info - allocate percpu allocation info
>> * @nr_groups: the number of groups
>> @@ -1060,7 +1046,7 @@ void __init pcpu_free_alloc_info(struct
>> /**
>> * pcpu_build_alloc_info - build alloc_info considering distances between CPUs
>> * @reserved_size: the size of reserved percpu area in bytes
>> - * @dyn_size: free size for dynamic allocation in bytes, -1 for auto
>> + * @dyn_size: free size for dynamic allocation in bytes
>
> It's the minimum free size, it's not necessarily the exact size due to
> round-up.
Will update.
>> struct pcpu_alloc_info * __init pcpu_build_alloc_info(
>> - size_t reserved_size, ssize_t dyn_size,
>> + size_t reserved_size, size_t dyn_size,
>> size_t atom_size,
>> pcpu_fc_cpu_distance_fn_t cpu_distance_fn)
>> {
>> @@ -1098,13 +1084,15 @@ struct pcpu_alloc_info * __init pcpu_bui
>> memset(group_map, 0, sizeof(group_map));
>> memset(group_cnt, 0, sizeof(group_map));
>>
>> + size_sum = PFN_ALIGN(static_size + reserved_size + dyn_size);
>> + dyn_size = size_sum - static_size - reserved_size;
>
> Ok, so the only purpose of "dyn_size" is to store in the struct
> pcpu_alloc_info later. Before this patch, ai->dyn_size would always be 0
> if that's what was passed to pcpu_build_alloc_info(), but due to this
> arithmetic it now requires that static_size + reserved_size to be pfn
> aligned. Where is that enforced or do we not care?
I'm not really following you, but
* Nobody called pcpu_build_alloc_info() w/ zero dyn_size. It was
either -1 or positive minimum size.
* None of static_size, reserved_size or dyn_size needs to be page
aligned.
Thanks for the review.
--
tejun
--
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:[~2010-06-27 8:22 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-25 21:20 [S+Q 00/16] SLUB with Queueing beats SLAB in hackbench Christoph Lameter
2010-06-25 21:20 ` [S+Q 01/16] [PATCH] ipc/sem.c: Bugfix for semop() not reporting successful operation Christoph Lameter
2010-06-28 2:17 ` KAMEZAWA Hiroyuki
2010-06-28 16:45 ` Manfred Spraul
2010-06-28 23:58 ` KAMEZAWA Hiroyuki
2010-06-28 16:48 ` Pekka Enberg
2010-06-28 16:48 ` Pekka Enberg
2010-06-29 15:42 ` Christoph Lameter
2010-06-29 15:42 ` Christoph Lameter
2010-06-29 19:08 ` Andrew Morton
2010-06-30 19:38 ` Manfred Spraul
2010-06-30 19:38 ` Manfred Spraul
2010-06-30 19:51 ` Andrew Morton
2010-06-30 19:51 ` Andrew Morton
2010-06-25 21:20 ` [S+Q 02/16] [PATCH 1/2] percpu: make @dyn_size always mean min dyn_size in first chunk init functions Christoph Lameter
2010-06-27 5:06 ` David Rientjes
2010-06-27 8:21 ` Tejun Heo [this message]
2010-06-27 16:57 ` [S+Q 02/16] [PATCH 1/2 UPDATED] " Tejun Heo
2010-06-27 19:25 ` David Rientjes
2010-06-27 19:24 ` [S+Q 02/16] [PATCH 1/2] " David Rientjes
2010-06-29 15:36 ` Christoph Lameter
2010-06-25 21:20 ` [S+Q 03/16] [PATCH 2/2] percpu: allow limited allocation before slab is online Christoph Lameter
2010-06-25 21:20 ` [S+Q 04/16] slub: Use a constant for a unspecified node Christoph Lameter
2010-06-28 2:25 ` KAMEZAWA Hiroyuki
2010-06-29 15:38 ` Christoph Lameter
2010-06-25 21:20 ` [S+Q 05/16] SLUB: Constants need UL Christoph Lameter
2010-06-26 23:31 ` David Rientjes
2010-06-28 2:27 ` KAMEZAWA Hiroyuki
2010-06-25 21:20 ` [S+Q 06/16] slub: Use kmem_cache flags to detect if slab is in debugging mode Christoph Lameter
2010-06-26 23:31 ` David Rientjes
2010-06-25 21:20 ` [S+Q 07/16] slub: discard_slab_unlock Christoph Lameter
2010-06-26 23:34 ` David Rientjes
2010-07-06 20:44 ` Christoph Lameter
2010-06-25 21:20 ` [S+Q 08/16] slub: remove dynamic dma slab allocation Christoph Lameter
2010-06-26 23:52 ` David Rientjes
2010-06-29 15:31 ` Christoph Lameter
2010-06-28 2:33 ` KAMEZAWA Hiroyuki
2010-06-29 15:41 ` Christoph Lameter
2010-06-30 0:26 ` KAMEZAWA Hiroyuki
2010-06-25 21:20 ` [S+Q 09/16] [percpu] make allocpercpu usable during early boot Christoph Lameter
2010-06-26 8:10 ` Tejun Heo
2010-06-26 23:53 ` David Rientjes
2010-06-29 15:15 ` Christoph Lameter
2010-06-29 15:30 ` Tejun Heo
2010-07-06 20:41 ` Christoph Lameter
2010-06-26 23:38 ` David Rientjes
2010-06-29 15:26 ` Christoph Lameter
2010-06-28 17:03 ` Pekka Enberg
2010-06-29 15:45 ` Christoph Lameter
2010-07-01 6:23 ` Pekka Enberg
2010-07-06 14:32 ` Christoph Lameter
2010-07-31 9:39 ` Pekka Enberg
2010-06-25 21:20 ` [S+Q 10/16] slub: Remove static kmem_cache_cpu array for boot Christoph Lameter
2010-06-27 0:02 ` David Rientjes
2010-06-29 15:35 ` Christoph Lameter
2010-06-25 21:20 ` [S+Q 11/16] slub: Dynamically size kmalloc cache allocations Christoph Lameter
2010-06-25 21:20 ` [S+Q 12/16] SLUB: Add SLAB style per cpu queueing Christoph Lameter
2010-06-26 2:32 ` Nick Piggin
2010-06-28 10:19 ` Christoph Lameter
2010-06-25 21:20 ` [S+Q 13/16] SLUB: Resize the new cpu queues Christoph Lameter
2010-06-25 21:20 ` [S+Q 14/16] SLUB: Get rid of useless function count_free() Christoph Lameter
2010-06-25 21:20 ` [S+Q 15/16] SLUB: Remove MAX_OBJS limitation Christoph Lameter
2010-06-25 21:20 ` [S+Q 16/16] slub: Drop allocator announcement Christoph Lameter
2010-06-26 2:24 ` [S+Q 00/16] SLUB with Queueing beats SLAB in hackbench Nick Piggin
2010-06-28 6:18 ` Pekka Enberg
2010-06-28 10:12 ` Christoph Lameter
2010-06-28 15:18 ` Pekka Enberg
2010-06-28 18:54 ` David Rientjes
2010-06-29 15:23 ` Christoph Lameter
2010-06-29 15:55 ` Mike Travis
2010-06-29 15:21 ` Christoph Lameter
2010-06-28 14:46 ` Matt Mackall
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=4C270A09.3070305@kernel.org \
--to=tj@kernel.org \
--cc=cl@linux-foundation.org \
--cc=linux-mm@kvack.org \
--cc=mpm@selenic.com \
--cc=npiggin@suse.de \
--cc=penberg@cs.helsinki.fi \
--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 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.