lkml.org 
[lkml]   [2014]   [Nov]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [Patch v7 14/18] x86, irq, ACPI: Introduce a rwsem to protect IOAPIC operations from hotplug
On 2014/11/2 2:59, Thomas Gleixner wrote:
> On Mon, 27 Oct 2014, Jiang Liu wrote:
>> We are going to support ACPI based IOAPIC hotplug, so introduce a rwsem
>> to protect IOAPIC data structures from IOAPIC hotplug. We choose to
>> serialize in ACPI instead of in the IOAPIC core because:
>> 1) currently we are only plan to support ACPI based IOAPIC hotplug
>> 2) it's much more cleaner and easier
>> 3) It does't affect IOAPIC discovered by devicetree, SFI and mpparse.
>
> I had a last intensive look at this series as I was about to merge
> it. So I looked at the locking rules here again
>
>> +/*
>> + * Locks related to IOAPIC hotplug
>> + * Hotplug side:
>> + * ->lock_device_hotplug() //device_hotplug_lock
>> + * ->acpi_ioapic_rwsem
>> + * ->ioapic_lock
>> + * Interrupt mapping side:
>> + * ->acpi_ioapic_rwsem
>> + * ->ioapic_mutex
>> + * ->ioapic_lock
>> + */
>
> This looks sane, but I cannot figure out at all why this needs to be a
> rwsem.
>
>> +static DECLARE_RWSEM(acpi_ioapic_rwsem);
>
> I think it should be a simple mutex because the rwsem does not protect
> against concurrent execution what taken for read.
>
> And the site which takes it for write is in the early boot process
> where nothing runs in parallel AFAICT.
Hi Thomas,
You are right. It's not on hot path, so a mutex is better than
a rwsem here. I will send out an updated version soon.
Regards!
Gerry
>
> Thanks,
>
> tglx
>


\
 
 \ /
  Last update: 2014-11-02 07:02    [W:0.090 / U:0.316 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site