From: Ashok Raj <ashok.raj@intel.com>
To: Andi Kleen <ak@muc.de>
Cc: Zwane Mwaikambo <zwane@arm.linux.org.uk>,
Andrew Morton <akpm@osdl.org>,
linux-kernel@vger.kernel.org, discuss@x86-64.org,
Rusty Russell <rusty@rustycorp.com.au>,
Srivattsa Vaddagiri <vatsa@in.ibm.com>,
ashok.raj@intel.com
Subject: Re: [patch 0/5] x86_64 CPU hotplug patch series.
Date: Fri, 3 Jun 2005 10:15:04 -0700 [thread overview]
Message-ID: <20050603101503.A29134@unix-os.sc.intel.com> (raw)
In-Reply-To: <m1zmu7v1oq.fsf@muc.de>; from ak@muc.de on Fri, Jun 03, 2005 at 06:35:01PM +0200
On Fri, Jun 03, 2005 at 06:35:01PM +0200, Andi Kleen wrote:
> Zwane Mwaikambo <zwane@arm.linux.org.uk> writes:
>
> >
> > I don't think it's worth the extra boot time complexity to use the boot
> > workaround and i'm not convinced the extra mask against cpu_online_map
> > slows down that path enough to show up compared to waiting for remote
> > processor IPI handling to commence/complete.
>
> What boot slowdown?
Its really not slowdown, but un-necessary complexity, either in terms
of detecting if not to use broadcast, or even like you mention to continue
to perform broadcast, and handle the cleanup of queued ipi,s before
turning the cpu online.
>
> I assume any practical CPU hotplug will have a way to detect it
> at boot - e.g. ACPI will probably need to tell you about spare
> CPUs that could be started or there is a command line option.
what about case when we need to use logical cpu up/down that is required
for suspend/resume? its really not a platform hotplug, just another feature.
Now you select this by default, and in reallity, all mobile/servers would
end up using this, and all the code to detect hotplug availibty would just
become bit-rotting.
ACPI is pretty static name space, so if you have a 4 socket system and only
have 2 socket populated, all that you see is 2 present, and 2 not present.
The only indication if hotplug is supported would be presence of _EJD.
Again if this is a NUMA node or wrapped under a bigger module device
its probably required only in the top level object.
There is nothing there that suggest platform supports hotplug, may be we do
that via mach-*, it seems un-necessary to do all this complexity without
knowing what problem we are solving by doing all this?
>
> My request was basically to set a flag when "CPU hotplug possible"
> is detected and then only use the slow fast path method when
> CPU hotplug is possible.
Why do you call it slow for using mask version? The tsc stats test case
i sent out doesnt show any indication of being slow by any means. Broadcast
and mask came about equal in numbers.
There is just one extra write to local apic, but that doesnt seem to be
adding anything that significant to be called slow in the grand scheme of
events.
>
> Actually that was only the second best solution, better would
> be to just fix the relatively obscure race in the CPU hotplug bootup
> path, but Ashok for some reason seems to be very adverse to that
> option.
The easier way to fix the problem is fix the source of the problem. So
if broadcast is introducing an un-necessary race, why not just eliminate that
altogether, when there is really no loss in performance per-se. Instead
of wring whole bunch of code to hande the race doesnt seem appealing.
If we can fix it with less code and there is no *real* loss in performance,
why not pick a less complicated approach.
The cycle count results doenst seem to indicate any slowness, but freqently
you mention mask varient as slow approach? Doing an extra reg write doesnt
matter, what matters is how long smp_call_function() takes, and that seems
pretty much the same in both instances.
--
Cheers,
Ashok Raj
- Open Source Technology Center
prev parent reply other threads:[~2005-06-03 17:16 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-06-02 12:57 [patch 0/5] x86_64 CPU hotplug patch series Ashok Raj
2005-06-02 12:57 ` [patch 1/5] x86_64: Change init sections for CPU hotplug support Ashok Raj
2005-06-02 20:14 ` Zwane Mwaikambo
2005-06-02 23:19 ` Ashok Raj
2005-06-02 12:57 ` [patch 2/5] x86_64: " Ashok Raj
2005-06-02 20:19 ` Zwane Mwaikambo
2005-06-02 23:33 ` Ashok Raj
2005-06-02 23:45 ` Zwane Mwaikambo
2005-06-03 0:08 ` Ashok Raj
2005-06-03 2:01 ` Shaohua Li
2005-06-03 14:25 ` Ashok Raj
2005-06-02 12:57 ` [patch 3/5] x86_64: CPU hotplug sibling map cleanup Ashok Raj
2005-06-02 12:57 ` [patch 4/5] x86_64: Dont use broadcast shortcut to make it cpu hotplug safe Ashok Raj
2005-06-02 12:58 ` [patch 5/5] x86_64: Provide ability to choose using shortcuts for IPI in flat mode Ashok Raj
2005-06-02 20:10 ` Zwane Mwaikambo
2005-06-02 23:15 ` Ashok Raj
2005-06-02 20:25 ` [patch 0/5] x86_64 CPU hotplug patch series Zwane Mwaikambo
2005-06-03 16:35 ` Andi Kleen
2005-06-03 17:15 ` Ashok Raj [this message]
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=20050603101503.A29134@unix-os.sc.intel.com \
--to=ashok.raj@intel.com \
--cc=ak@muc.de \
--cc=akpm@osdl.org \
--cc=discuss@x86-64.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rusty@rustycorp.com.au \
--cc=vatsa@in.ibm.com \
--cc=zwane@arm.linux.org.uk \
/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