From: Waiman Long <llong@redhat.com>
To: Guenter Roeck <linux@roeck-us.net>,
Waiman Long <llong@redhat.com>,
Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: Andreas Larsson <andreas@gaisler.com>,
sparclinux@vger.kernel.org, linux-kernel@vger.kernel.org,
Boqun Feng <boqun.feng@gmail.com>, Ingo Molnar <mingo@redhat.com>,
Peter Zijlstra <peterz@infradead.org>,
Thomas Gleixner <tglx@linutronix.de>,
Will Deacon <will@kernel.org>,
"David S. Miller" <davem@davemloft.net>
Subject: Re: [PATCH] sparc/pci: Make pci_poke_lock a raw_spinlock_t.
Date: Wed, 27 Nov 2024 20:55:22 -0500 [thread overview]
Message-ID: <f6667d73-231c-481a-9b55-b75ea845421e@redhat.com> (raw)
In-Reply-To: <b59961b6-2026-4f7a-8b72-9b94adfff310@roeck-us.net>
On 11/27/24 8:17 PM, Guenter Roeck wrote:
> On 11/27/24 16:31, Waiman Long wrote:
>>
>> On 11/27/24 7:08 PM, Guenter Roeck wrote:
>>> On 11/27/24 15:47, Waiman Long wrote:
>>>> On 11/27/24 12:44 PM, Guenter Roeck wrote:
>>>>> On 11/27/24 08:53, Sebastian Andrzej Siewior wrote:
>>>>>> On 2024-11-27 08:02:50 [-0800], Guenter Roeck wrote:
>>>>>>> On 11/27/24 07:39, Andreas Larsson wrote:
>>>>>>>> Even though this is for sparc64, there is work being done
>>>>>>>> looking into
>>>>>>>> enabling RT for sparc32. If the amount of fixes needed to keep
>>>>>>>> PROVE_RAW_LOCK_NESTING enabled is quite small at the moment I'd
>>>>>>>> rather
>>>>>>>> see it enabled for sparc rather than risking it becoming worse
>>>>>>>> in the
>>>>>>>> future.
>>>>>>
>>>>>> Okay. So you seem to be in favour of fixing the sparc64 splats
>>>>>> Guenter
>>>>>> reported?
>>>>>>
>>>>>>>> I don't know what the situation is for other architectures that
>>>>>>>> does not
>>>>>>>> support RT.
>>>>>>>>
>>>>>>>
>>>>>>> For my part I still don't understand why PROVE_RAW_LOCK_NESTING
>>>>>>> is no longer
>>>>>>> a configurable option, or in other words why it is mandated even
>>>>>>> for architectures
>>>>>>> not supporting RT. To me this means that I'll either have to
>>>>>>> disable PROVE_LOCKING
>>>>>>> for sparc or live with endless warning backtraces. The latter
>>>>>>> obscures real
>>>>>>> problems, so it is a no-go.
>>>>>>
>>>>>> It is documented in Documentation/locking/locktypes.rst how the
>>>>>> locks
>>>>>> should nest. It is just nobody enabled it on sparc64 and tested. The
>>>>>> option was meant temporary until the big read blocks are cleared.
>>>>>>
>>>>>
>>>>> That doesn't explain why PROVE_RAW_LOCK_NESTING is now mandatory if
>>>>> PROVE_LOCKING is enabled, even on architectures where is was not
>>>>> tested.
>>>>> I am all for testing, but that doesn't include making it mandatory
>>>>> even where it is known to fail. Enabling it by default, sure, no
>>>>> problem.
>>>>> Dropping the option entirely after it is proven to no longer needed,
>>>>> also no problem. But force-enabling it even where untested or, worse,
>>>>> known to fail, is two steps too far.
>>>>
>>>> The main reason for enforcing PROVE_RAW_LOCK_NESTING with
>>>> PROVE_LOCKING is due to the fact that PREEMPT_RT kernel is much
>>>> less tested than the non-RT kernel. I do agree that we shouldn't
>>>> force this on arches that don't support PREEMPT_RT. However, once
>>>> an arch decides to support PREEMPT_RT, they have to fix all these
>>>> raw_spinlock nesting problems.
>>>>
>>>
>>> config PROVE_RAW_LOCK_NESTING
>>> - bool
>>> + bool "Enable raw_spinlock - spinlock nesting checks" if
>>> ARCH_SUPPORTS_RT=n
>>> depends on PROVE_LOCKING
>>> - default y
>>> + default y if ARCH_SUPPORTS_RT
>>>
>>> would have accomplished that while at the same time making it optional
>>> for non-RT architectures.
>>
>> I had actually thought about doing exactly that, but decide to keep
>> the current mode for forcing PROVE_RAW_LOCK_NESTING for arches that
>> support PREEMPT_RT. I won't mind doing this alternative if others agree.
>>
>
> Forcing PROVE_RAW_LOCK_NESTING for arches that support PREEMPT_RT is
> exactly
> what the above does.
>
> bool "Enable raw_spinlock - spinlock nesting checks" if
> ARCH_SUPPORTS_RT=n
>
> makes the flag visible (only) if ARCH_SUPPORTS_RT=n, and
>
> default y if ARCH_SUPPORTS_RT
>
> (force-)enables it if ARCH_SUPPORTS_RT=y.
OK, I missed the "if" part after the string. Yes, that do force
PREEMPT_RT supporting arches to set PROVE_RAW_LOCK_NESTING while
enabling arches that do not support PREEMPT_RT to optionally set it. I
will post a v2 patch with that change.
Thanks,
Longman
prev parent reply other threads:[~2024-11-28 1:55 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20241009161041.1018375-1-bigeasy@linutronix.de>
[not found] ` <20241009161041.1018375-2-bigeasy@linutronix.de>
[not found] ` <7656395b-58fc-4874-a9f3-6d934e2ef7ee@roeck-us.net>
2024-11-25 8:53 ` [PATCH] sparc/pci: Make pci_poke_lock a raw_spinlock_t Sebastian Andrzej Siewior
2024-11-25 17:01 ` Guenter Roeck
2024-11-25 17:43 ` Sebastian Andrzej Siewior
2024-11-25 17:59 ` Guenter Roeck
2024-11-25 18:12 ` Sebastian Andrzej Siewior
2024-11-25 19:23 ` Guenter Roeck
2024-11-25 19:33 ` Waiman Long
2024-11-25 20:06 ` Guenter Roeck
2024-11-25 20:23 ` Guenter Roeck
2024-11-25 20:54 ` Waiman Long
2024-11-25 21:25 ` Guenter Roeck
2024-11-25 21:29 ` Waiman Long
2024-11-25 21:54 ` Guenter Roeck
2024-11-25 22:33 ` Waiman Long
2024-11-26 11:20 ` Sebastian Andrzej Siewior
2024-11-26 16:59 ` Waiman Long
2024-11-27 15:39 ` Andreas Larsson
2024-11-27 16:02 ` Guenter Roeck
2024-11-27 16:53 ` Sebastian Andrzej Siewior
2024-11-27 17:44 ` Guenter Roeck
2024-11-27 23:47 ` Waiman Long
2024-11-28 0:08 ` Guenter Roeck
2024-11-28 0:31 ` Waiman Long
2024-11-28 1:17 ` Guenter Roeck
2024-11-28 1:55 ` Waiman Long [this message]
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=f6667d73-231c-481a-9b55-b75ea845421e@redhat.com \
--to=llong@redhat.com \
--cc=andreas@gaisler.com \
--cc=bigeasy@linutronix.de \
--cc=boqun.feng@gmail.com \
--cc=davem@davemloft.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=sparclinux@vger.kernel.org \
--cc=tglx@linutronix.de \
--cc=will@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).