From: Thomas Gleixner <tglx@linutronix.de>
To: Kuppuswamy Sathyanarayanan
<sathyanarayanan.kuppuswamy@linux.intel.com>,
Rafael J Wysocki <rjw@rjwysocki.net>,
Ingo Molnar <mingo@redhat.com>, "H . Peter Anvin" <hpa@zytor.com>,
Peter Zijlstra <peterz@infradead.org>
Cc: Len Brown <lenb@kernel.org>,
Robert Moore <robert.moore@intel.com>,
Erik Kaneda <erik.kaneda@intel.com>,
linux-acpi@vger.kernel.org, devel@acpica.org,
linux-kernel@vger.kernel.org, x86@kernel.org,
Kuppuswamy Sathyanarayanan
<sathyanarayanan.kuppuswamy@linux.intel.com>,
Sean Christopherson <sean.j.christopherson@intel.com>,
Andi Kleen <ak@linux.intel.com>
Subject: Re: [PATCH 3/3] x86/acpi, x86/boot: Add multiprocessor wake-up support
Date: Fri, 23 Apr 2021 01:04:44 +0200 [thread overview]
Message-ID: <87lf99x6nn.ffs@nanos.tec.linutronix.de> (raw)
In-Reply-To: <20210422192442.706906-4-sathyanarayanan.kuppuswamy@linux.intel.com>
Kuppuswamy!
On Thu, Apr 22 2021 at 12:24, Kuppuswamy Sathyanarayanan wrote:
> +static int acpi_wakeup_cpu(int apicid, unsigned long start_ip)
> +{
> + acpi_mp_wake_mailbox_init();
> +
> + if (!acpi_mp_wake_mailbox)
> + return -EINVAL;
> +
> + WRITE_ONCE(acpi_mp_wake_mailbox->apic_id, apicid);
> + WRITE_ONCE(acpi_mp_wake_mailbox->wakeup_vector, start_ip);
> + WRITE_ONCE(acpi_mp_wake_mailbox->command, ACPI_MP_WAKE_COMMAND_WAKEUP);
What's the point of using WRITE_ONCE() here? Where is the required
READ_ONCE() counterpart and the required documentation in form of a
comment?
> +static int __init acpi_parse_mp_wake(union acpi_subtable_headers *header,
> + const unsigned long end)
> +{
...
> + acpi_wake_cpu_handler_update(acpi_wakeup_cpu);
...
> +++ b/arch/x86/kernel/apic/probe_32.c
> @@ -207,3 +207,11 @@ int __init default_acpi_madt_oem_check(char *oem_id, char *oem_table_id)
> }
> return 0;
> }
> +
> +void __init acpi_wake_cpu_handler_update(wakeup_cpu_handler handler)
> +{
> + struct apic **drv;
> +
> + for (drv = __apicdrivers; drv < __apicdrivers_end; drv++)
> + (*drv)->wakeup_secondary_cpu = handler;
> +}
> diff --git a/arch/x86/kernel/apic/probe_64.c b/arch/x86/kernel/apic/probe_64.c
> index c46720f185c0..986dbb68d3c4 100644
> --- a/arch/x86/kernel/apic/probe_64.c
> +++ b/arch/x86/kernel/apic/probe_64.c
> @@ -50,3 +50,11 @@ int __init default_acpi_madt_oem_check(char *oem_id, char *oem_table_id)
> }
> return 0;
> }
> +
> +void __init acpi_wake_cpu_handler_update(wakeup_cpu_handler handler)
> +{
> + struct apic **drv;
> +
> + for (drv = __apicdrivers; drv < __apicdrivers_end; drv++)
> + (*drv)->wakeup_secondary_cpu = handler;
> +}
What's the reason for having two verbatim copies of the same function
which has no dependency on CONFIG_*_32/64 at all?
Thanks,
tglx
next prev parent reply other threads:[~2021-04-22 23:04 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-22 19:24 [PATCH 0/3] Add multiprocessor wake-up support Kuppuswamy Sathyanarayanan
2021-04-22 19:24 ` [PATCH 1/3] ACPICA: ACPI 6.4: MADT: add Multiprocessor Wakeup Mailbox Structure Kuppuswamy Sathyanarayanan
2021-04-22 19:37 ` Dave Hansen
2021-04-22 19:46 ` Kuppuswamy, Sathyanarayanan
2021-04-22 19:55 ` Borislav Petkov
2021-04-22 20:51 ` Kaneda, Erik
2021-04-22 21:40 ` Kuppuswamy, Sathyanarayanan
2021-04-22 19:24 ` [PATCH 2/3] ACPI/table: Print MADT Wake table information Kuppuswamy Sathyanarayanan
2021-04-22 19:24 ` [PATCH 3/3] x86/acpi, x86/boot: Add multiprocessor wake-up support Kuppuswamy Sathyanarayanan
2021-04-22 23:04 ` Thomas Gleixner [this message]
2021-04-22 23:39 ` Kuppuswamy, Sathyanarayanan
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=87lf99x6nn.ffs@nanos.tec.linutronix.de \
--to=tglx@linutronix.de \
--cc=ak@linux.intel.com \
--cc=devel@acpica.org \
--cc=erik.kaneda@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=peterz@infradead.org \
--cc=rjw@rjwysocki.net \
--cc=robert.moore@intel.com \
--cc=sathyanarayanan.kuppuswamy@linux.intel.com \
--cc=sean.j.christopherson@intel.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 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.