Re: [PATCH] perf/x86/intel/uncore: add support for Haswell ULT IMC uncore

From: Bjorn Helgaas
Date: Mon Apr 20 2015 - 16:20:40 EST


On Mon, Apr 20, 2015 at 2:43 PM, Sonny Rao <sonnyrao@xxxxxxxxxxxx> wrote:
> On Mon, Apr 20, 2015 at 12:34 PM, Bjorn Helgaas <bhelgaas@xxxxxxxxxx> wrote:
>> On Mon, Apr 20, 2015 at 1:58 PM, Stephane Eranian <eranian@xxxxxxxxxx> wrote:
>>> On Mon, Apr 20, 2015 at 11:56 AM, Bjorn Helgaas <bhelgaas@xxxxxxxxxx> wrote:
>>>>
>>>> On Mon, Apr 20, 2015 at 1:42 PM, Sonny Rao <sonnyrao@xxxxxxxxxxxx> wrote:
>>>> > This uncore is the same as the Haswell desktop part but uses a
>>>> > different PCI ID.
>>>> >
>>>> > Signed-off-by: Sonny Rao <sonnyrao@xxxxxxxxxxxx>
>>>> > ---
>>>> > arch/x86/kernel/cpu/perf_event_intel_uncore_snb.c | 5 +++++
>>>> > include/linux/pci_ids.h | 1 +
>>>> > 2 files changed, 6 insertions(+)
>>>> >
>>>> > diff --git a/arch/x86/kernel/cpu/perf_event_intel_uncore_snb.c b/arch/x86/kernel/cpu/perf_event_intel_uncore_snb.c
>>>> > index 3001015..0bda6fc 100644
>>>> > --- a/arch/x86/kernel/cpu/perf_event_intel_uncore_snb.c
>>>> > +++ b/arch/x86/kernel/cpu/perf_event_intel_uncore_snb.c
>>>> > @@ -472,6 +472,10 @@ static const struct pci_device_id hsw_uncore_pci_ids[] = {
>>>> > PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_HSW_IMC),
>>>> > .driver_data = UNCORE_PCI_DEV_DATA(SNB_PCI_UNCORE_IMC, 0),
>>>> > },
>>>> > + { /* IMC */
>>>> > + PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_HSW_U_IMC),
>>>> > + .driver_data = UNCORE_PCI_DEV_DATA(SNB_PCI_UNCORE_IMC, 0),
>>>> > + },
>>>> > { /* end: all zeroes */ },
>>>> > };
>>>> >
>>>> > @@ -502,6 +506,7 @@ static const struct imc_uncore_pci_dev desktop_imc_pci_ids[] = {
>>>> > IMC_DEV(IVB_IMC, &ivb_uncore_pci_driver), /* 3rd Gen Core processor */
>>>> > IMC_DEV(IVB_E3_IMC, &ivb_uncore_pci_driver), /* Xeon E3-1200 v2/3rd Gen Core processor */
>>>> > IMC_DEV(HSW_IMC, &hsw_uncore_pci_driver), /* 4th Gen Core Processor */
>>>> > + IMC_DEV(HSW_U_IMC, &hsw_uncore_pci_driver), /* 4th Gen Core ULT Mobile Processor */
>>>> > { /* end marker */ }
>>>> > };
>>>> >
>>>> > diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
>>>> > index 38cff8f..e5ae042 100644
>>>> > --- a/include/linux/pci_ids.h
>>>> > +++ b/include/linux/pci_ids.h
>>>> > @@ -2545,6 +2545,7 @@
>>>> > #define PCI_DEVICE_ID_INTEL_IVB_IMC 0x0154
>>>> > #define PCI_DEVICE_ID_INTEL_IVB_E3_IMC 0x0150
>>>> > #define PCI_DEVICE_ID_INTEL_HSW_IMC 0x0c00
>>>> > +#define PCI_DEVICE_ID_INTEL_HSW_U_IMC 0x0a04
>>>>
>>>> Please either use the 0x0a04 constant directly in
>>>> perf_event_intel_uncore_snb.c, or explain why the #define should be
>>>> here, e.g., maybe it will be used in multiple places. See the comment
>>>> at the top of pci_ids.h.
>>>>
>>> But then, the same reasoning would apply to the other 3 IMC defines,
>>> wouldn't it?
>>
>> Yes. But if we made a mistake in the past, that doesn't mean we
>> should repeat it today.
>
> Shall I post a patch moving the others as well?

I'm not pushing for that, since they're already there and we haven't
tried to apply that policy retroactively.

>>>> > #define PCI_DEVICE_ID_INTEL_PXHD_0 0x0320
>>>> > #define PCI_DEVICE_ID_INTEL_PXHD_1 0x0321
>>>> > #define PCI_DEVICE_ID_INTEL_PXH_0 0x0329
>>>> > --
>>>> > 2.1.2
>>>> >
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/