From: Andrew Morton <akpm@osdl.org>
To: "Jan Beulich" <JBeulich@novell.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH] tvec_bases too large for per-cpu data
Date: Fri, 20 Jan 2006 23:25:00 -0800 [thread overview]
Message-ID: <20060120232500.07f0803a.akpm@osdl.org> (raw)
In-Reply-To: <43CE4C98.76F0.0078.0@novell.com>
"Jan Beulich" <JBeulich@novell.com> wrote:
>
> The biggest arch-independent consumer is tvec_bases (over 4k on 32-bit
> archs,
> over 8k on 64-bit ones), which now gets converted to use dynamically
> allocated
> memory instead.
ho hum, another pointer hop.
Did you consider using alloc_percpu()?
The patch does trickery in init_timers_cpu() which, from my reading, defers
the actual per-cpu allocation until the second CPU comes online.
Presumably because of some ordering issue which you discovered. Readers of
the code need to know what that issue was.
And boot_tvec_bases will always be used for the BP, and hence one slot in
the per-cpu array will forever be unused. Until the BP is taken down and
brought back up, in which case it will suddenly start to use a dynamically
allocated structure.
But all of this modification was unchangelogged and is uncommented, so I'm
somewhat guessing here. Please always ensure that tricksy things like this
have complete covering comments.
Also, the new code would appear to leak one tvec_base_t per cpu-unplugging?
next prev parent reply other threads:[~2006-01-21 7:25 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-18 13:11 [PATCH] tvec_bases too large for per-cpu data Jan Beulich
2006-01-21 7:25 ` Andrew Morton [this message]
2006-01-23 10:31 ` Jan Beulich
2006-01-23 10:57 ` Andrew Morton
2006-01-24 8:33 ` Jan Beulich
2006-01-24 8:58 ` Andrew Morton
2006-01-24 14:46 ` [PATCH] [SMP] reduce size of percpudata, and make sure per_cpu(object, not_possible_cpu) cause an invalid memory reference Eric Dumazet
2006-01-24 14:53 ` Andi Kleen
2006-02-01 9:21 ` [PATCH] [SMP] __GENERIC_PER_CPU changes Eric Dumazet
2006-01-30 8:43 ` [PATCH] tvec_bases too large for per-cpu data Jan Beulich
2006-01-31 22:27 ` Andrew Morton
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=20060120232500.07f0803a.akpm@osdl.org \
--to=akpm@osdl.org \
--cc=JBeulich@novell.com \
--cc=linux-kernel@vger.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