From: Thomas Gleixner <tglx@linutronix.de>
To: Jiang Liu <jiang.liu@linux.intel.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
Bjorn Helgaas <bhelgaas@google.com>,
Randy Dunlap <rdunlap@infradead.org>,
Yinghai Lu <yinghai@kernel.org>, Borislav Petkov <bp@alien8.de>,
Grant Likely <grant.likely@linaro.org>,
x86@kernel.org, Len Brown <len.brown@intel.com>,
Pavel Machek <pavel@ucw.cz>, Prarit Bhargava <prarit@redhat.com>,
Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
Andrew Morton <akpm@linux-foundation.org>,
Tony Luck <tony.luck@intel.com>, Joerg Roedel <joro@8bytes.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org,
linux-acpi@vger.kernel.org, Ingo Molnar <mingo@kernel.org>,
linux-pm@vger.kernel.org
Subject: Re: [Patch v4 14/16] x86, irq: Introduce helper to check whether an IOAPIC has been registered
Date: Tue, 9 Sep 2014 14:37:18 +0200 (CEST) [thread overview]
Message-ID: <alpine.DEB.2.10.1409091433150.11037@nanos> (raw)
In-Reply-To: <1409192561-19744-15-git-send-email-jiang.liu@linux.intel.com>
On Thu, 28 Aug 2014, Jiang Liu wrote:
> Introduce acpi_ioapic_registered() to check whether an IOAPIC has already
> been registered, it will be used when enabling IOAPIC hotplug.
>
> Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
> ---
> arch/x86/include/asm/io_apic.h | 1 +
> arch/x86/kernel/acpi/boot.c | 11 +++++++++++
> arch/x86/kernel/apic/io_apic.c | 11 +++++++++++
> include/linux/acpi.h | 1 +
> 4 files changed, 24 insertions(+)
>
> diff --git a/arch/x86/include/asm/io_apic.h b/arch/x86/include/asm/io_apic.h
> index ce63cf34c93c..0db2b7037e4b 100644
> --- a/arch/x86/include/asm/io_apic.h
> +++ b/arch/x86/include/asm/io_apic.h
> @@ -191,6 +191,7 @@ extern void mp_unmap_irq(int irq);
> extern int mp_register_ioapic(int id, u32 address, u32 gsi_base,
> struct ioapic_domain_cfg *cfg);
> extern int mp_unregister_ioapic(u32 gsi_base);
> +extern int mp_ioapic_registered(u32 gsi_base);
> extern int mp_irqdomain_map(struct irq_domain *domain, unsigned int virq,
> irq_hw_number_t hwirq);
> extern void mp_irqdomain_unmap(struct irq_domain *domain, unsigned int virq);
> diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
> index 560a6d1cb0f4..6aa796f77b71 100644
> --- a/arch/x86/kernel/acpi/boot.c
> +++ b/arch/x86/kernel/acpi/boot.c
> @@ -810,6 +810,17 @@ int acpi_unregister_ioapic(acpi_handle handle, u32 gsi_base)
> }
> EXPORT_SYMBOL(acpi_unregister_ioapic);
>
> +int acpi_ioapic_registered(acpi_handle handle, u32 gsi_base)
> +{
> + int ret;
> +
> + down_write(&acpi_ioapic_rwsem);
Why down_write? You are merily checking whether the thing is
registered already.
> + ret = mp_ioapic_registered(gsi_base);
> + up_write(&acpi_ioapic_rwsem);
> +
> + return ret;
> +}
So I assume that this is for a particular caller in the apci ioapic
hotplug code and that call site has its own serialization. Otherwise
the return value is not protected at all.
Please add a Docbook comment to that function, and document the
locking rules as thats pretty non obvious.
The such is missing in some other patches as well.
Thanks,
tglx
next prev parent reply other threads:[~2014-09-09 12:37 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-28 2:22 [Patch v4 00/16] Enable support of IOAPIC hotplug on x86 platforms Jiang Liu
2014-08-28 2:22 ` [Patch v4 01/16] x86, PCI, ACPI: Kill private function resource_to_addr() in arch/x86/pci/acpi.c Jiang Liu
2014-08-28 2:22 ` [Patch v4 02/16] ACPI: Correct return value of acpi_dev_resource_address_space() Jiang Liu
2014-08-28 2:22 ` [Patch v4 03/16] ACPI: Fix minor syntax issues in processor_core.c Jiang Liu
2014-08-28 2:22 ` [Patch v4 04/16] ACPI: Rename processor_core.c as apic_id.c Jiang Liu
2014-09-07 22:37 ` Rafael J. Wysocki
2014-09-08 12:51 ` Hanjun Guo
2014-09-08 21:00 ` Rafael J. Wysocki
2014-09-09 2:33 ` Jiang Liu
2014-08-28 2:22 ` [Patch v4 05/16] ACPI: Add interfaces to parse IOAPIC ID for IOAPIC hotplug Jiang Liu
2014-09-09 10:54 ` Thomas Gleixner
2014-09-10 1:58 ` Jiang Liu
2014-08-28 2:22 ` [Patch v4 06/16] x86, irq: Split out alloc_ioapic_save_registers() Jiang Liu
2014-08-28 2:22 ` [Patch v4 07/16] x86, irq: Prefer assigned ID in APIC ID register for x86_64 Jiang Liu
2014-09-09 11:04 ` Thomas Gleixner
2014-09-10 2:14 ` Jiang Liu
2014-08-28 2:22 ` [Patch v4 08/16] x86, irq: Remove __init marker for functions will be used by IOAPIC hotplug Jiang Liu
2014-08-28 2:22 ` [Patch v4 09/16] x86, irq: Keep balance of IOAPIC pin reference count Jiang Liu
2014-08-28 2:22 ` [Patch v4 10/16] x86, irq: Refine mp_register_ioapic() to prepare for IOAPIC hotplug Jiang Liu
2014-08-28 2:22 ` [Patch v4 11/16] x86, irq, ACPI: Introduce a rwsem to protect IOAPIC operations from hotplug Jiang Liu
2014-08-28 2:22 ` [Patch v4 12/16] x86, irq, ACPI: Implement interface to support ACPI based IOAPIC hot-addition Jiang Liu
2014-09-09 12:20 ` Thomas Gleixner
2014-09-10 3:13 ` Jiang Liu
2014-09-10 20:06 ` Thomas Gleixner
2014-09-11 6:05 ` Jiang Liu
2014-09-11 6:08 ` Jiang Liu
2014-08-28 2:22 ` [Patch v4 13/16] x86, irq, ACPI: Implement interfaces to support ACPI based IOAPIC hot-removal Jiang Liu
2014-08-28 2:22 ` [Patch v4 14/16] x86, irq: Introduce helper to check whether an IOAPIC has been registered Jiang Liu
2014-09-09 12:37 ` Thomas Gleixner [this message]
2014-09-10 2:46 ` Jiang Liu
2014-09-10 20:08 ` Thomas Gleixner
2014-09-11 7:17 ` Jiang Liu
2014-08-28 2:22 ` [Patch v4 15/16] PCI: Remove PCI ioapic driver Jiang Liu
2014-08-28 2:22 ` [Patch v4 16/16] x86, irq, ACPI: Implement ACPI driver to support IOAPIC hotplug Jiang Liu
2014-09-07 22:05 ` [Patch v4 00/16] Enable support of IOAPIC hotplug on x86 platforms Rafael J. Wysocki
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=alpine.DEB.2.10.1409091433150.11037@nanos \
--to=tglx@linutronix.de \
--cc=akpm@linux-foundation.org \
--cc=benh@kernel.crashing.org \
--cc=bhelgaas@google.com \
--cc=bp@alien8.de \
--cc=grant.likely@linaro.org \
--cc=gregkh@linuxfoundation.org \
--cc=hpa@zytor.com \
--cc=jiang.liu@linux.intel.com \
--cc=joro@8bytes.org \
--cc=konrad.wilk@oracle.com \
--cc=len.brown@intel.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=mingo@redhat.com \
--cc=pavel@ucw.cz \
--cc=prarit@redhat.com \
--cc=rdunlap@infradead.org \
--cc=rjw@rjwysocki.net \
--cc=tony.luck@intel.com \
--cc=x86@kernel.org \
--cc=yinghai@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;
as well as URLs for NNTP newsgroup(s).