From: Igor Mammedov <imammedo@redhat.com>
To: linux-kernel@vger.kernel.org
Cc: tglx@linutronix.de, mingo@redhat.com, hpa@zytor.com,
x86@kernel.org, imammedo@redhat.com, bp@suse.de,
paul.gortmaker@windriver.com, JBeulich@suse.com,
prarit@redhat.com, drjones@redhat.com, toshi.kani@hp.com,
riel@redhat.com, gong.chen@linux.intel.com, andi@firstfloor.org,
lenb@kernel.org, rjw@rjwysocki.net, linux-acpi@vger.kernel.org
Subject: [PATCH v5 2/4] acpi_processor: do not mark present at boot but not onlined CPU as onlined
Date: Mon, 5 May 2014 22:49:49 +0200 [thread overview]
Message-ID: <1399322991-19329-3-git-send-email-imammedo@redhat.com> (raw)
In-Reply-To: <1399322991-19329-1-git-send-email-imammedo@redhat.com>
acpi_processor_add() assumes that present at boot CPUs
are always onlined, it is not so if a CPU failed to become
onlined. As result acpi_processor_add() will mark such CPU
device as onlined in sysfs and following attempts to
online/offline it using /sys/device/system/cpu/cpuX/online
attribute will fail.
Do not poke into device internals in acpi_processor_add()
and touch "struct device { .offline }" attribute, since
for CPUs onlined at boot it's set by:
topology_init() -> arch_register_cpu() -> register_cpu()
before ACPI device tree is parsed, and for hotplugged
CPUs it's set when userspace onlines CPU via sysfs.
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Acked-by: Toshi Kani <toshi.kani@hp.com>
---
v2:
- fix regression in v1 leading to NULL pointer dereference
on CPU unplug, do not remove "pr->dev = dev;"
---
drivers/acpi/acpi_processor.c | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/drivers/acpi/acpi_processor.c b/drivers/acpi/acpi_processor.c
index b06f5f5..52c81c4 100644
--- a/drivers/acpi/acpi_processor.c
+++ b/drivers/acpi/acpi_processor.c
@@ -405,7 +405,6 @@ static int acpi_processor_add(struct acpi_device *device,
goto err;
pr->dev = dev;
- dev->offline = pr->flags.need_hotplug_init;
/* Trigger the processor driver's .probe() if present. */
if (device_attach(dev) >= 0)
--
1.7.1
next prev parent reply other threads:[~2014-05-05 20:51 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-05 20:49 [PATCH v5 0/4] x86: fix hang when AP bringup is too slow Igor Mammedov
2014-05-05 20:49 ` [PATCH v5 1/4] x86: fix list/memory corruption on CPU hotplug Igor Mammedov
2014-05-05 20:49 ` Igor Mammedov [this message]
2014-05-07 23:48 ` [PATCH v5 2/4] acpi_processor: do not mark present at boot but not onlined CPU as onlined Rafael J. Wysocki
2014-05-08 6:09 ` Ingo Molnar
2014-05-08 11:33 ` Rafael J. Wysocki
2014-05-08 11:17 ` Ingo Molnar
2014-05-05 20:49 ` [PATCH v5 3/4] x86: log error on secondary CPU wakeup failure at ERR level Igor Mammedov
2014-05-05 20:49 ` [PATCH v5 4/4] x86: initialize secondary CPU only if master CPU will wait for it Igor Mammedov
2014-05-05 21:35 ` Toshi Kani
2014-06-04 13:21 ` [PATCH v5 0/4] x86: fix hang when AP bringup is too slow Igor Mammedov
2014-06-05 12:29 ` Ingo Molnar
2014-06-05 13:12 ` Igor Mammedov
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=1399322991-19329-3-git-send-email-imammedo@redhat.com \
--to=imammedo@redhat.com \
--cc=JBeulich@suse.com \
--cc=andi@firstfloor.org \
--cc=bp@suse.de \
--cc=drjones@redhat.com \
--cc=gong.chen@linux.intel.com \
--cc=hpa@zytor.com \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=paul.gortmaker@windriver.com \
--cc=prarit@redhat.com \
--cc=riel@redhat.com \
--cc=rjw@rjwysocki.net \
--cc=tglx@linutronix.de \
--cc=toshi.kani@hp.com \
--cc=x86@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
Powered by JetHome