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

2015-04-20 Thread Bjorn Helgaas
On Mon, Apr 20, 2015 at 2:43 PM, Sonny Rao  wrote:
> On Mon, Apr 20, 2015 at 12:34 PM, Bjorn Helgaas  wrote:
>> On Mon, Apr 20, 2015 at 1:58 PM, Stephane Eranian  wrote:
>>> On Mon, Apr 20, 2015 at 11:56 AM, Bjorn Helgaas  wrote:

 On Mon, Apr 20, 2015 at 1:42 PM, Sonny Rao  wrote:
 > This uncore is the same as the Haswell desktop part but uses a
 > different PCI ID.
 >
 > Signed-off-by: Sonny Rao 
 > ---
 >  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, _uncore_pci_driver),/* 3rd Gen Core 
 > processor */
 > IMC_DEV(IVB_E3_IMC, _uncore_pci_driver), /* Xeon E3-1200 
 > v2/3rd Gen Core processor */
 > IMC_DEV(HSW_IMC, _uncore_pci_driver),/* 4th Gen Core 
 > Processor */
 > +   IMC_DEV(HSW_U_IMC, _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_IMC0x0154
 >  #define PCI_DEVICE_ID_INTEL_IVB_E3_IMC 0x0150
 >  #define PCI_DEVICE_ID_INTEL_HSW_IMC0x0c00
 > +#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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2015-04-20 Thread Sonny Rao
On Mon, Apr 20, 2015 at 12:34 PM, Bjorn Helgaas  wrote:
> On Mon, Apr 20, 2015 at 1:58 PM, Stephane Eranian  wrote:
>> On Mon, Apr 20, 2015 at 11:56 AM, Bjorn Helgaas  wrote:
>>>
>>> On Mon, Apr 20, 2015 at 1:42 PM, Sonny Rao  wrote:
>>> > This uncore is the same as the Haswell desktop part but uses a
>>> > different PCI ID.
>>> >
>>> > Signed-off-by: Sonny Rao 
>>> > ---
>>> >  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, _uncore_pci_driver),/* 3rd Gen Core 
>>> > processor */
>>> > IMC_DEV(IVB_E3_IMC, _uncore_pci_driver), /* Xeon E3-1200 
>>> > v2/3rd Gen Core processor */
>>> > IMC_DEV(HSW_IMC, _uncore_pci_driver),/* 4th Gen Core 
>>> > Processor */
>>> > +   IMC_DEV(HSW_U_IMC, _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_IMC0x0154
>>> >  #define PCI_DEVICE_ID_INTEL_IVB_E3_IMC 0x0150
>>> >  #define PCI_DEVICE_ID_INTEL_HSW_IMC0x0c00
>>> > +#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?

>
>>> >  #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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2015-04-20 Thread Bjorn Helgaas
On Mon, Apr 20, 2015 at 1:58 PM, Stephane Eranian  wrote:
> On Mon, Apr 20, 2015 at 11:56 AM, Bjorn Helgaas  wrote:
>>
>> On Mon, Apr 20, 2015 at 1:42 PM, Sonny Rao  wrote:
>> > This uncore is the same as the Haswell desktop part but uses a
>> > different PCI ID.
>> >
>> > Signed-off-by: Sonny Rao 
>> > ---
>> >  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, _uncore_pci_driver),/* 3rd Gen Core 
>> > processor */
>> > IMC_DEV(IVB_E3_IMC, _uncore_pci_driver), /* Xeon E3-1200 
>> > v2/3rd Gen Core processor */
>> > IMC_DEV(HSW_IMC, _uncore_pci_driver),/* 4th Gen Core 
>> > Processor */
>> > +   IMC_DEV(HSW_U_IMC, _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_IMC0x0154
>> >  #define PCI_DEVICE_ID_INTEL_IVB_E3_IMC 0x0150
>> >  #define PCI_DEVICE_ID_INTEL_HSW_IMC0x0c00
>> > +#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.

>> >  #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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2015-04-20 Thread Stephane Eranian
On Mon, Apr 20, 2015 at 11:56 AM, Bjorn Helgaas  wrote:
>
> On Mon, Apr 20, 2015 at 1:42 PM, Sonny Rao  wrote:
> > This uncore is the same as the Haswell desktop part but uses a
> > different PCI ID.
> >
> > Signed-off-by: Sonny Rao 
> > ---
> >  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, _uncore_pci_driver),/* 3rd Gen Core 
> > processor */
> > IMC_DEV(IVB_E3_IMC, _uncore_pci_driver), /* Xeon E3-1200 v2/3rd 
> > Gen Core processor */
> > IMC_DEV(HSW_IMC, _uncore_pci_driver),/* 4th Gen Core 
> > Processor */
> > +   IMC_DEV(HSW_U_IMC, _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_IMC0x0154
> >  #define PCI_DEVICE_ID_INTEL_IVB_E3_IMC 0x0150
> >  #define PCI_DEVICE_ID_INTEL_HSW_IMC0x0c00
> > +#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?

>
> >  #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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2015-04-20 Thread Bjorn Helgaas
On Mon, Apr 20, 2015 at 1:42 PM, Sonny Rao  wrote:
> This uncore is the same as the Haswell desktop part but uses a
> different PCI ID.
>
> Signed-off-by: Sonny Rao 
> ---
>  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, _uncore_pci_driver),/* 3rd Gen Core 
> processor */
> IMC_DEV(IVB_E3_IMC, _uncore_pci_driver), /* Xeon E3-1200 v2/3rd 
> Gen Core processor */
> IMC_DEV(HSW_IMC, _uncore_pci_driver),/* 4th Gen Core 
> Processor */
> +   IMC_DEV(HSW_U_IMC, _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_IMC0x0154
>  #define PCI_DEVICE_ID_INTEL_IVB_E3_IMC 0x0150
>  #define PCI_DEVICE_ID_INTEL_HSW_IMC0x0c00
> +#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.

>  #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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2015-04-20 Thread Sonny Rao
This uncore is the same as the Haswell desktop part but uses a
different PCI ID.

Signed-off-by: Sonny Rao 
---
 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, _uncore_pci_driver),/* 3rd Gen Core processor 
*/
IMC_DEV(IVB_E3_IMC, _uncore_pci_driver), /* Xeon E3-1200 v2/3rd Gen 
Core processor */
IMC_DEV(HSW_IMC, _uncore_pci_driver),/* 4th Gen Core Processor 
*/
+   IMC_DEV(HSW_U_IMC, _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_IMC0x0154
 #define PCI_DEVICE_ID_INTEL_IVB_E3_IMC 0x0150
 #define PCI_DEVICE_ID_INTEL_HSW_IMC0x0c00
+#define PCI_DEVICE_ID_INTEL_HSW_U_IMC  0x0a04
 #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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2015-04-20 Thread Bjorn Helgaas
On Mon, Apr 20, 2015 at 2:43 PM, Sonny Rao sonny...@chromium.org wrote:
 On Mon, Apr 20, 2015 at 12:34 PM, Bjorn Helgaas bhelg...@google.com wrote:
 On Mon, Apr 20, 2015 at 1:58 PM, Stephane Eranian eran...@google.com wrote:
 On Mon, Apr 20, 2015 at 11:56 AM, Bjorn Helgaas bhelg...@google.com wrote:

 On Mon, Apr 20, 2015 at 1:42 PM, Sonny Rao sonny...@chromium.org wrote:
  This uncore is the same as the Haswell desktop part but uses a
  different PCI ID.
 
  Signed-off-by: Sonny Rao sonny...@chromium.org
  ---
   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_IMC0x0154
   #define PCI_DEVICE_ID_INTEL_IVB_E3_IMC 0x0150
   #define PCI_DEVICE_ID_INTEL_HSW_IMC0x0c00
  +#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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2015-04-20 Thread Sonny Rao
This uncore is the same as the Haswell desktop part but uses a
different PCI ID.

Signed-off-by: Sonny Rao sonny...@chromium.org
---
 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_IMC0x0154
 #define PCI_DEVICE_ID_INTEL_IVB_E3_IMC 0x0150
 #define PCI_DEVICE_ID_INTEL_HSW_IMC0x0c00
+#define PCI_DEVICE_ID_INTEL_HSW_U_IMC  0x0a04
 #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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2015-04-20 Thread Bjorn Helgaas
On Mon, Apr 20, 2015 at 1:42 PM, Sonny Rao sonny...@chromium.org wrote:
 This uncore is the same as the Haswell desktop part but uses a
 different PCI ID.

 Signed-off-by: Sonny Rao sonny...@chromium.org
 ---
  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_IMC0x0154
  #define PCI_DEVICE_ID_INTEL_IVB_E3_IMC 0x0150
  #define PCI_DEVICE_ID_INTEL_HSW_IMC0x0c00
 +#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.

  #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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2015-04-20 Thread Stephane Eranian
On Mon, Apr 20, 2015 at 11:56 AM, Bjorn Helgaas bhelg...@google.com wrote:

 On Mon, Apr 20, 2015 at 1:42 PM, Sonny Rao sonny...@chromium.org wrote:
  This uncore is the same as the Haswell desktop part but uses a
  different PCI ID.
 
  Signed-off-by: Sonny Rao sonny...@chromium.org
  ---
   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_IMC0x0154
   #define PCI_DEVICE_ID_INTEL_IVB_E3_IMC 0x0150
   #define PCI_DEVICE_ID_INTEL_HSW_IMC0x0c00
  +#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?


   #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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2015-04-20 Thread Bjorn Helgaas
On Mon, Apr 20, 2015 at 1:58 PM, Stephane Eranian eran...@google.com wrote:
 On Mon, Apr 20, 2015 at 11:56 AM, Bjorn Helgaas bhelg...@google.com wrote:

 On Mon, Apr 20, 2015 at 1:42 PM, Sonny Rao sonny...@chromium.org wrote:
  This uncore is the same as the Haswell desktop part but uses a
  different PCI ID.
 
  Signed-off-by: Sonny Rao sonny...@chromium.org
  ---
   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_IMC0x0154
   #define PCI_DEVICE_ID_INTEL_IVB_E3_IMC 0x0150
   #define PCI_DEVICE_ID_INTEL_HSW_IMC0x0c00
  +#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.

   #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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2015-04-20 Thread Sonny Rao
On Mon, Apr 20, 2015 at 12:34 PM, Bjorn Helgaas bhelg...@google.com wrote:
 On Mon, Apr 20, 2015 at 1:58 PM, Stephane Eranian eran...@google.com wrote:
 On Mon, Apr 20, 2015 at 11:56 AM, Bjorn Helgaas bhelg...@google.com wrote:

 On Mon, Apr 20, 2015 at 1:42 PM, Sonny Rao sonny...@chromium.org wrote:
  This uncore is the same as the Haswell desktop part but uses a
  different PCI ID.
 
  Signed-off-by: Sonny Rao sonny...@chromium.org
  ---
   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_IMC0x0154
   #define PCI_DEVICE_ID_INTEL_IVB_E3_IMC 0x0150
   #define PCI_DEVICE_ID_INTEL_HSW_IMC0x0c00
  +#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?


   #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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/