Re: [PATCH v2] parisc: Don't disable interrupts in cmpxchg and futex operations

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Helge Deller <deller@xxxxxx> writes:

> * Sven Schnelle <svens@xxxxxxxxxxxxxx>:
>> John David Anglin <dave.anglin@xxxxxxxx> writes:
>>
>> > On 2021-10-17 12:30 p.m., Helge Deller wrote:
>> >> It seems the warnings are gone if I remove the irq masking.
>> >> I see the options:
>> >> a) revert the irq masking in syscall.S. Not sure if it really hurts performance.
>> >> b) revert the patch from Sven.
>> >> c) insert code to turn back irq on in the fault handler if we are on the gateway page.
>> >> What is your thought?
>> >
>> > After some thought, I believe option a) is the best.  I no longer think interrupts can be
>> > disabled in the futex and cmpxchg operations because of COW breaks.  This not ideal but
>> > I suspect it's the best we can do.
>> >
>> > For the cmpxchg operations in syscall.S, we rely on the code to not schedule off the gateway
>> > page.  For the futex, I added code to disable preemption.
>> >
>> > So far, I haven't seen the warnings with the attached change but the change is only lightly tested.
>>
>> Thanks Dave. I just applied it to my tree and will give it a spin.
>
> Sven, did you had some outcome?

The outcome is that i haven't seen any problems yet.

> I've cleaned up Daves patch and applied it to my for-next tree:
> https://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux.git/commit/?h=for-next&id=b7cd8a368c986abf184e609772b083f43e5d522d
> together with this patch from Sven ("parisc: don't enable irqs
> unconditionally in handle_interruption()"):
> https://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux.git/commit/?h=for-next&id=493f84fcb3a791350ffaa2fa2984a0815a924e39
>
> When not applying to master branch from Linus, this patch is needed as well:
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1030d681319b43869e0d5b568b9d0226652d1a6f
>
> All is in my for-next tree.
> Testing seems that those are OK and I don't see any
> "BUG: using __this_cpu_add() in preemptible [00000000] code" warnings
> any more.
>
> Any objections if I push those patches to Linus soon?

No objections.

Sven



[Index of Archives]     [Linux SoC]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux