Re: [PATCH 2/3] x86/split_lock: Bits in IA32_CORE_CAPABILITIES are not architectural

From: Luck, Tony
Date: Fri Apr 17 2020 - 15:56:07 EST


On Fri, Apr 17, 2020 at 09:29:13PM +0200, Thomas Gleixner wrote:
> "Luck, Tony" <tony.luck@xxxxxxxxx> writes:
> > On Fri, Apr 17, 2020 at 12:04:36PM +0200, Thomas Gleixner wrote:
> > + if (!m->driver_data)
> > + goto setup;
> > + if (!cpu_has(c, X86_FEATURE_CORE_CAPABILITIES))
> > + return;
> > + rdmsrl(MSR_IA32_CORE_CAPS, ia32_core_caps);
> > + if (!(ia32_core_caps & MSR_IA32_CORE_CAPS_SPLIT_LOCK_DETECT))
> > + return;
> > +setup:
> > + split_lock_setup();
>
> Which looks nicer w/o the goto:
>
> if (m->driver_data) {
> if (!cpu_has(c, X86_FEATURE_CORE_CAPABILITIES))
> return;
> rdmsrl(MSR_IA32_CORE_CAPS, ia32_core_caps);
> if (!(ia32_core_caps & MSR_IA32_CORE_CAPS_SPLIT_LOCK_DETECT))
> return;
> }
>
> Hmm?

Swings and roundabouts ... getting rid of the goto makes for
deeper indentation. But if you really want to get rid of the
goto, then your version is fine with me.

Do you want me to spin it into v3?

-Tony