From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Lai Jiangshan <jiangshanlai@gmail.com>
Cc: linux-kernel@vger.kernel.org,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
Boris Ostrovsky <boris.ostrovsky@oracle.com>
Subject: Re: [PATCH] cpu/hotplug: merge cpuhp_bp_states&cpuhp_ap_states as cpuhp_hp_states
Date: Sat, 2 Dec 2017 22:33:55 -0800 [thread overview]
Message-ID: <20171203063355.GO7829@linux.vnet.ibm.com> (raw)
In-Reply-To: <20171201135008.21633-1-jiangshanlai@gmail.com>
On Fri, Dec 01, 2017 at 09:50:05PM +0800, Lai Jiangshan wrote:
> cpuhp_bp_states&cpuhp_ap_states have diffent set of steps
> without any conflicting configed steps, so that they can
> be merged.
>
> The original `[CPUHP_BRINGUP_CPU] = { },` is removed, because
> the new cpuhp_hp_states has CPUHP_ONLINE index which is larger
> than CPUHP_BRINGUP_CPU.
>
> Signed-off-by: Lai Jiangshan <jiangshanlai@gmail.com>
Hello, Lai,
What is this against? I tried testing it, but it doesn't apply to
v4.15-rc1 or v4.14.
Thanx, Paul
> ---
> kernel/cpu.c | 42 +++++++++++++++---------------------------
> 1 file changed, 15 insertions(+), 27 deletions(-)
>
> diff --git a/kernel/cpu.c b/kernel/cpu.c
> index 7891aecc6aec..c27963066333 100644
> --- a/kernel/cpu.c
> +++ b/kernel/cpu.c
> @@ -124,8 +124,7 @@ struct cpuhp_step {
> };
>
> static DEFINE_MUTEX(cpuhp_state_mutex);
> -static struct cpuhp_step cpuhp_bp_states[];
> -static struct cpuhp_step cpuhp_ap_states[];
> +static struct cpuhp_step cpuhp_hp_states[];
>
> static bool cpuhp_is_ap_state(enum cpuhp_state state)
> {
> @@ -138,10 +137,7 @@ static bool cpuhp_is_ap_state(enum cpuhp_state state)
>
> static struct cpuhp_step *cpuhp_get_step(enum cpuhp_state state)
> {
> - struct cpuhp_step *sp;
> -
> - sp = cpuhp_is_ap_state(state) ? cpuhp_ap_states : cpuhp_bp_states;
> - return sp + state;
> + return cpuhp_hp_states + state;
> }
>
> /**
> @@ -1224,7 +1220,7 @@ int __boot_cpu_id;
> #endif /* CONFIG_SMP */
>
> /* Boot processor state steps */
> -static struct cpuhp_step cpuhp_bp_states[] = {
> +static struct cpuhp_step cpuhp_hp_states[] = {
> [CPUHP_OFFLINE] = {
> .name = "offline",
> .startup.single = NULL,
> @@ -1289,24 +1285,6 @@ static struct cpuhp_step cpuhp_bp_states[] = {
> .teardown.single = NULL,
> .cant_stop = true,
> },
> - /*
> - * Handled on controll processor until the plugged processor manages
> - * this itself.
> - */
> - [CPUHP_TEARDOWN_CPU] = {
> - .name = "cpu:teardown",
> - .startup.single = NULL,
> - .teardown.single = takedown_cpu,
> - .cant_stop = true,
> - },
> -#else
> - [CPUHP_BRINGUP_CPU] = { },
> -#endif
> -};
> -
> -/* Application processor state steps */
> -static struct cpuhp_step cpuhp_ap_states[] = {
> -#ifdef CONFIG_SMP
> /* Final state before CPU kills itself */
> [CPUHP_AP_IDLE_DEAD] = {
> .name = "idle:dead",
> @@ -1340,6 +1318,16 @@ static struct cpuhp_step cpuhp_ap_states[] = {
> [CPUHP_AP_ONLINE] = {
> .name = "ap:online",
> },
> + /*
> + * Handled on controll processor until the plugged processor manages
> + * this itself.
> + */
> + [CPUHP_TEARDOWN_CPU] = {
> + .name = "cpu:teardown",
> + .startup.single = NULL,
> + .teardown.single = takedown_cpu,
> + .cant_stop = true,
> + },
> /* Handle smpboot threads park/unpark */
> [CPUHP_AP_SMPBOOT_THREADS] = {
> .name = "smpboot/threads:online",
> @@ -1408,11 +1396,11 @@ static int cpuhp_reserve_state(enum cpuhp_state state)
>
> switch (state) {
> case CPUHP_AP_ONLINE_DYN:
> - step = cpuhp_ap_states + CPUHP_AP_ONLINE_DYN;
> + step = cpuhp_hp_states + CPUHP_AP_ONLINE_DYN;
> end = CPUHP_AP_ONLINE_DYN_END;
> break;
> case CPUHP_BP_PREPARE_DYN:
> - step = cpuhp_bp_states + CPUHP_BP_PREPARE_DYN;
> + step = cpuhp_hp_states + CPUHP_BP_PREPARE_DYN;
> end = CPUHP_BP_PREPARE_DYN_END;
> break;
> default:
> --
> 2.13.6 (Apple Git-96)
>
next prev parent reply other threads:[~2017-12-03 6:34 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-01 13:50 [PATCH] cpu/hotplug: merge cpuhp_bp_states&cpuhp_ap_states as cpuhp_hp_states Lai Jiangshan
2017-12-03 6:33 ` Paul E. McKenney [this message]
2017-12-03 13:22 ` Lai Jiangshan
2018-03-14 15:42 ` [tip:smp/hotplug] cpu/hotplug: Merge cpuhp_bp_states and cpuhp_ap_states tip-bot for Lai Jiangshan
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=20171203063355.GO7829@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=bigeasy@linutronix.de \
--cc=boris.ostrovsky@oracle.com \
--cc=jiangshanlai@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
/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.