Re: [PATCH] x86: UV: raw_spinlock conversion
From: Sebastian Andrzej Siewior
Date: Tue May 22 2018 - 04:19:57 EST
On 2018-05-22 10:24:22 [+0200], Mike Galbraith wrote:
> On Tue, 2018-05-22 at 08:50 +0200, Sebastian Andrzej Siewior wrote:
> >
> > Regarding the preempt_disable() in the original patch in uv_read_rtc():
> > This looks essential for PREEMPT configs. Is it possible to get this
> > tested by someone or else get rid of the UV code? It looks broken for
> > "uv_get_min_hub_revision_id() != 1".
>
> I suspect SGI cares not one whit about PREEMPT.
so it is broken then. I leave it to the x86 maintainers but on the very
least it should depend on !PREEMPT (if not server).
> > Why does PREEMPT_RT require migrate_disable() but PREEMPT only is fine
> > as-is? This does not look right.
>
> UV is not ok with a PREEMPT config, it's just that for RT it's dirt
> simple to shut it up, whereas for PREEMPT, preempt_disable() across
> uv_bau_init() doesn't cut it due to allocations, and whatever else I
> would have met before ending the whack-a-mole game.
>
> If I were in your shoes, I think I'd just stop caring about UV until a
> real user appears. AFAIK, I'm the only guy who ever ran RT on UV, and
> I only did so because SUSE asked me to look into it.. years ago now.
Okay. The problem I have with this patch is that it remains RT only
while the problem it addresses is not RT-only and PREEMPT kernels are
very much affected.
The thing is that *you* are my only UV user :) If you suggest that I
should stop caring about UV than I do so. Please post a patch that adds
a dependency to UV on PREEMPT so that part of the architecture is
documented.
> -Mike
Sebastian