> On Jan 29, 2019, at 8:40 AM, Liang, Kan <kan.liang@xxxxxxxxxxxxxxx> wrote: > > > > On 1/28/2019 7:35 PM, Sasha Levin wrote: >> Hi, >> [This is an automated email] >> This commit has been processed because it contains a "Fixes:" tag, >> fixing commit: 7c94ee2e0917 perf/x86: Add Intel Nehalem and Sandy Bridge-EP uncore support. >> The bot has tested the following trees: v4.20.5, v4.19.18, v4.14.96, v4.9.153, v4.4.172, v3.18.133. >> v4.20.5: Build OK! >> v4.19.18: Build OK! >> v4.14.96: Build OK! >> v4.9.153: Build OK! >> v4.4.172: Failed to apply! Possible dependencies: >> Unable to calculate >> v3.18.133: Failed to apply! Possible dependencies: >> Unable to calculate >> How should we proceed with this patch? >> > > Here is the backport patch for 4.4 and 3.18. > > From 21eb165d645a48fb31efed75902f892986449bb0 Mon Sep 17 00:00:00 2001 > From: Kan Liang <kan.liang@xxxxxxxxxxxxxxx> > Date: Tue, 29 Jan 2019 08:35:03 -0800 > Subject: [PATCH] perf/x86/intel/uncore: Add Node ID mask > > Some PCI uncore PMUs cannot be registered on a 8-socket system (HPE > Superdome Flex). > > To understand which Socket the PCI uncore PMUs belong to, perf retrieves > the local Node ID of the uncore device from CPUNODEID(0xC0) of the PCI > configuration space, and the mapping between Socket ID and Node ID from > GIDNIDMAP(0xD4). The Socket ID can be calculated accordingly. > The local Node ID is only available at bit 2:0, but current code doesn't > mask it. If a BIOS doesn't clear the rest of the bits, a wrong Node ID > will be fetched. > > Filter the Node ID by adding a mask. > > Fixes: 7c94ee2e0917 ("perf/x86: Add Intel Nehalem and Sandy Bridge-EP uncore support") > Reported-by: Song Liu <songliubraving@xxxxxx> > Tested-by: Song Liu <songliubraving@xxxxxx> > Signed-off-by: Kan Liang <kan.liang@xxxxxxxxxxxxxxx> > Acked-by: Song Liu <songliubraving@xxxxxx> > Cc: stable@xxxxxxxxxxxxxxx > --- > arch/x86/kernel/cpu/perf_event_intel_uncore_snbep.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/arch/x86/kernel/cpu/perf_event_intel_uncore_snbep.c b/arch/x86/kernel/cpu/perf_event_intel_uncore_snbep.c > index f0f4fcb..9475794 100644 > --- a/arch/x86/kernel/cpu/perf_event_intel_uncore_snbep.c > +++ b/arch/x86/kernel/cpu/perf_event_intel_uncore_snbep.c > @@ -1081,6 +1081,8 @@ static struct pci_driver snbep_uncore_pci_driver = { > .id_table = snbep_uncore_pci_ids, > }; > > +#define NODE_ID_MASK 0x7 > + > /* > * build pci bus to socket mapping > */ > @@ -1102,7 +1104,7 @@ static int snbep_pci2phy_map_init(int devid) > err = pci_read_config_dword(ubox_dev, 0x40, &config); > if (err) > break; > - nodeid = config; > + nodeid = config & NODE_ID_MASK; > /* get the Node ID mapping */ > err = pci_read_config_dword(ubox_dev, 0x54, &config); > if (err) > -- > 2.7.4 Is this patch applied to the tip tree? I would like to back port the official commit to our internal tree. Thanks, Song