RE: PROBLEM: lk 4.5 oops on boot with Xeon D-1520

From: Liang, Kan
Date: Wed Feb 24 2016 - 11:36:43 EST


>
> Thanks, that fixes it.
>
> Note: your patch appears to be against linux-next. I had to change
> "arch/x86/events/intel/uncore_snbep.c" to
> "arch/x86/kernel/cpu/perf_event_intel_uncore_snbep.c" for the patch to
> apply against current linux-git.

Thanks for the verification.

I think the perf related code just moved to a new place "arch/x86/events/".
So the patch is based on that new place.

Peter, should I resend the patch for the old place?

Thanks,
Kan
>
> Tested-by: Tony Battersby <tonyb@xxxxxxxxxxxxxxx>
>
> On 02/24/2016 10:37 AM, Liang, Kan wrote:
> > I have no idea why the original email was redirected to Junk folder.
> > Sorry for the late response.
> >
> > I extended BDX-DE uncore code to support BDX-EP. So they share the
> > same code path. But there is no sbox in BDX-DE.
> > I once tried the BDX-EP patch on my BDX-DE, it boots fine.
> > But it looks it doesn't work well for all machines. :(
> >
> > Could you please try the patch as below? It specially handles the
> > BDX-DE by removing SBOX support.
> >
> > Thanks,
> > Kan
> >
> >
> > >From 7e09100dda852de7263ba569dcfba737668c828e Mon Sep 17
> 00:00:00
> > >2001
> > From: Kan Liang <kan.liang@xxxxxxxxx>
> > Date: Wed, 24 Feb 2016 05:07:43 -0500
> > Subject: [PATCH 1/1] x86/perf/intel/uncore: remove SBOX support for
> > BDX-DE
> >
> > BDX-DE and BDX-EP share the same uncore code path. But there is no
> > sbox in BDX-DE. This patch remove SBOX support for BDX-DE.
> >
> > Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx>
> > ---
> > arch/x86/events/intel/uncore_snbep.c | 8 +++++++-
> > 1 file changed, 7 insertions(+), 1 deletion(-)
> >
> > diff --git a/arch/x86/events/intel/uncore_snbep.c
> > b/arch/x86/events/intel/uncore_snbep.c
> > index 0c801f7..d967fcc 100644
> > --- a/arch/x86/events/intel/uncore_snbep.c
> > +++ b/arch/x86/events/intel/uncore_snbep.c
> > @@ -2874,11 +2874,13 @@ static struct intel_uncore_type
> bdx_uncore_sbox = {
> > .format_group = &hswep_uncore_sbox_format_group,
> > };
> >
> > +#define BDX_MSR_UNCORE_SBOX 3
> > +
> > static struct intel_uncore_type *bdx_msr_uncores[] = {
> > &bdx_uncore_ubox,
> > &bdx_uncore_cbox,
> > - &bdx_uncore_sbox,
> > &hswep_uncore_pcu,
> > + &bdx_uncore_sbox,
> > NULL,
> > };
> >
> > @@ -2887,6 +2889,10 @@ void bdx_uncore_cpu_init(void)
> > if (bdx_uncore_cbox.num_boxes >
> boot_cpu_data.x86_max_cores)
> > bdx_uncore_cbox.num_boxes =
> boot_cpu_data.x86_max_cores;
> > uncore_msr_uncores = bdx_msr_uncores;
> > +
> > + /* BDX-DE doesn't have SBOX */
> > + if (boot_cpu_data.x86_model == 86)
> > + uncore_msr_uncores[BDX_MSR_UNCORE_SBOX] = NULL;
> > }
> >
> > static struct intel_uncore_type bdx_uncore_ha = {