Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1230506 > unrolled thread
| Started by | Jacob Pan <jacob.jun.pan@linux.intel.com> |
|---|---|
| First post | 2015-09-22 19:10 +0200 |
| Last post | 2015-09-28 18:20 +0200 |
| Articles | 6 — 3 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: [PATCH] powercap / RAPL : remove dependency on iosf_mbi Jacob Pan <jacob.jun.pan@linux.intel.com> - 2015-09-22 19:10 +0200
Re: [PATCH] powercap / RAPL : remove dependency on iosf_mbi Pengyu Ma <pengyu.ma@windriver.com> - 2015-09-24 12:10 +0200
Re: [PATCH] powercap / RAPL : remove dependency on iosf_mbi Austin S Hemmelgarn <ahferroin7@gmail.com> - 2015-09-24 17:20 +0200
Re: [PATCH] powercap / RAPL : remove dependency on iosf_mbi Jacob Pan <jacob.jun.pan@linux.intel.com> - 2015-09-24 18:40 +0200
Re: [PATCH] powercap / RAPL : remove dependency on iosf_mbi Pengyu Ma <pengyu.ma@windriver.com> - 2015-09-26 05:50 +0200
Re: [PATCH] powercap / RAPL : remove dependency on iosf_mbi Jacob Pan <jacob.jun.pan@linux.intel.com> - 2015-09-28 18:20 +0200
| From | Jacob Pan <jacob.jun.pan@linux.intel.com> |
|---|---|
| Date | 2015-09-22 19:10 +0200 |
| Subject | Re: [PATCH] powercap / RAPL : remove dependency on iosf_mbi |
| Message-ID | <qbzeO-3bq-35@gated-at.bofh.it> |
On Tue, 22 Sep 2015 11:11:36 +0800
Pengyu Ma <pengyu.ma@windriver.com> wrote:
>
>
> On 09/22/2015 05:36 AM, Jacob Pan wrote:
> > On Mon, 21 Sep 2015 11:48:14 +0800
> > Pengyu Ma <pengyu.ma@windriver.com> wrote:
> >
> >>
> >> On 09/18/2015 11:43 PM, Jacob Pan wrote:
> >>> On Fri, 18 Sep 2015 02:09:55 +0200
> >>> "Rafael J. Wysocki" <rjw@rjwysocki.net> wrote:
> >>>
> >>>> On Thursday, September 17, 2015 03:31:41 PM Pengyu Ma wrote:
> >>>>> iosf_mbi is supported on Quark, Braswell, Baytrail and some Atom
> >>>>> SoC, but RAPL is not limited to these SoC, it supports almost
> >>>>> Intel CPUs. Remove this dependece to make RAPL support more
> >>>>> Intel CPUs.
> >>>>>
> >>>>> Please select IOSF_MBI on Atom SoCs.
> >>>>>
> >>> Unlike Quark, I don't think we want to or do differentiate Atom
> >>> from other x86 at compile time. IOSF driver can be compiled as a
> >>> module also, therefore RAPL driver needs this explicit dependency
> >>> at compile time.
> >> As commit had exported iosf_mbi to let user use it.
> >>
> >> commit aa8e4f22ab7773352ba3895597189b8097f2c307
> >> Author: David E. Box <david.e.box@linux.intel.com>
> >> Date: Wed Aug 27 14:40:39 2014 -0700
> >>
> >> x86/iosf: Add Kconfig prompt for IOSF_MBI selection
> >>
> >>
> >> While selecting IOSF_MBI is preferred, it does mean carrying extra
> >> code on non-SoC architectures.
> >>
> >> We can NOT force user to build in iosf_mbi if they want use RAPL on
> >> haswell/broadwell/skylake.
> >> And RAPL can be compiled and worked well on
> >> haswell/broadwell/skylake without IOSF_MBI.
> >> RAPL is really NOT depended on IOSF_MBI.
> >>
> > True for haswell/broadwell/skylake platforms. But if we want binary
> > compatibility for Atom and Core, I can' see how simply removing the
> > dependency would work, unless we have runtime detection of IOSF.
> If you want use iosf_mbi on atom, please select it on generic x86
> config. But not force it depend on another feature that not related
> on it with other boards.
> I don't care how iosf_mbi is added to kernel config, but why should I
> be forced to add it if I want use RAPL?
> It doesn't make any sense.
>
I understand your concern about wasting code. But let's look at all the
cases of config options here. (without Kconfig dependency as you
suggested)
RAPL\IOSF Y M N
___________________________________________________
Y OK DC* Warn on Atom**
M OK OK Warn on Atom
N OK OK OK
___________________________________________________
Notes:
* DC: don't compile
** Warn on Atom is runtime if I add the following code to RAPL driver,
but this case is ok.
--- a/drivers/powercap/intel_rapl.c
+++ b/drivers/powercap/intel_rapl.c
@@ -982,6 +982,11 @@ static void set_floor_freq_atom(struct rapl_domain
*rd, bool enable) static u32 power_ctrl_orig_val;
u32 mdata;
+ if (!iosf_mbi_available()) {
+ pr_warn("No IOSF MBI access to set floor frequency\n");
+ return;
+ }
+
So the problematic case is when RAPL=Y IOSF=M
Since real IOSF functions are available when
#if IS_ENABLED(CONFIG_IOSF_MBI)
There will be no dummy functions for RAPL to reference in this case.
Since IOSF is a driver, making it a module is a reasonable requirement.
As I mentioned before, I don't think we want to have a CONFIG_ATOM
option for X86.
+David, HPA
Jacob
> Pengyu
>
> >
> >> Pengyu
> >>>>> Signed-off-by: Pengyu Ma <pengyu.ma@windriver.com>
> >>>> Jacob?
> >>>>
> >>>>> ---
> >>>>> drivers/powercap/Kconfig | 2 +-
> >>>>> 1 file changed, 1 insertion(+), 1 deletion(-)
> >>>>>
> >>>>> diff --git a/drivers/powercap/Kconfig b/drivers/powercap/Kconfig
> >>>>> index 85727ef..a7c81b5 100644
> >>>>> --- a/drivers/powercap/Kconfig
> >>>>> +++ b/drivers/powercap/Kconfig
> >>>>> @@ -17,7 +17,7 @@ if POWERCAP
> >>>>> # Client driver configurations go here.
> >>>>> config INTEL_RAPL
> >>>>> tristate "Intel RAPL Support"
> >>>>> - depends on X86 && IOSF_MBI
> >>>>> + depends on X86
> >>>>> default n
> >>>>> ---help---
> >>>>> This enables support for the Intel Running Average
> >>>>> Power Limit (RAPL)
> >>>>>
> >>> [Jacob Pan]
> > [Jacob Pan]
>
[Jacob Pan]
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Pengyu Ma <pengyu.ma@windriver.com> |
|---|---|
| Date | 2015-09-24 12:10 +0200 |
| Message-ID | <qcbDs-8jL-43@gated-at.bofh.it> |
| In reply to | #1230506 |
On 09/23/2015 01:01 AM, Jacob Pan wrote:
> On Tue, 22 Sep 2015 11:11:36 +0800
> Pengyu Ma <pengyu.ma@windriver.com> wrote:
>
>>
>> On 09/22/2015 05:36 AM, Jacob Pan wrote:
>>> On Mon, 21 Sep 2015 11:48:14 +0800
>>> Pengyu Ma <pengyu.ma@windriver.com> wrote:
>>>
>>>> On 09/18/2015 11:43 PM, Jacob Pan wrote:
>>>>> On Fri, 18 Sep 2015 02:09:55 +0200
>>>>> "Rafael J. Wysocki" <rjw@rjwysocki.net> wrote:
>>>>>
>>>>>> On Thursday, September 17, 2015 03:31:41 PM Pengyu Ma wrote:
>>>>>>> iosf_mbi is supported on Quark, Braswell, Baytrail and some Atom
>>>>>>> SoC, but RAPL is not limited to these SoC, it supports almost
>>>>>>> Intel CPUs. Remove this dependece to make RAPL support more
>>>>>>> Intel CPUs.
>>>>>>>
>>>>>>> Please select IOSF_MBI on Atom SoCs.
>>>>>>>
>>>>> Unlike Quark, I don't think we want to or do differentiate Atom
>>>>> from other x86 at compile time. IOSF driver can be compiled as a
>>>>> module also, therefore RAPL driver needs this explicit dependency
>>>>> at compile time.
>>>> As commit had exported iosf_mbi to let user use it.
>>>>
>>>> commit aa8e4f22ab7773352ba3895597189b8097f2c307
>>>> Author: David E. Box <david.e.box@linux.intel.com>
>>>> Date: Wed Aug 27 14:40:39 2014 -0700
>>>>
>>>> x86/iosf: Add Kconfig prompt for IOSF_MBI selection
>>>>
>>>>
>>>> While selecting IOSF_MBI is preferred, it does mean carrying extra
>>>> code on non-SoC architectures.
>>>>
>>>> We can NOT force user to build in iosf_mbi if they want use RAPL on
>>>> haswell/broadwell/skylake.
>>>> And RAPL can be compiled and worked well on
>>>> haswell/broadwell/skylake without IOSF_MBI.
>>>> RAPL is really NOT depended on IOSF_MBI.
>>>>
>>> True for haswell/broadwell/skylake platforms. But if we want binary
>>> compatibility for Atom and Core, I can' see how simply removing the
>>> dependency would work, unless we have runtime detection of IOSF.
>> If you want use iosf_mbi on atom, please select it on generic x86
>> config. But not force it depend on another feature that not related
>> on it with other boards.
>> I don't care how iosf_mbi is added to kernel config, but why should I
>> be forced to add it if I want use RAPL?
>> It doesn't make any sense.
>>
> I understand your concern about wasting code. But let's look at all the
> cases of config options here. (without Kconfig dependency as you
> suggested)
>
> RAPL\IOSF Y M N
> ___________________________________________________
> Y OK DC* Warn on Atom**
> M OK OK Warn on Atom
> N OK OK OK
> ___________________________________________________
>
> Notes:
> * DC: don't compile
> ** Warn on Atom is runtime if I add the following code to RAPL driver,
> but this case is ok.
>
> --- a/drivers/powercap/intel_rapl.c
> +++ b/drivers/powercap/intel_rapl.c
> @@ -982,6 +982,11 @@ static void set_floor_freq_atom(struct rapl_domain
> *rd, bool enable) static u32 power_ctrl_orig_val;
> u32 mdata;
>
> + if (!iosf_mbi_available()) {
> + pr_warn("No IOSF MBI access to set floor frequency\n");
> + return;
> + }
> +
>
> So the problematic case is when RAPL=Y IOSF=M
> Since real IOSF functions are available when
> #if IS_ENABLED(CONFIG_IOSF_MBI)
> There will be no dummy functions for RAPL to reference in this case.
iosf_mbi_write/read will warn itself.
> Since IOSF is a driver, making it a module is a reasonable requirement.
> As I mentioned before, I don't think we want to have a CONFIG_ATOM
> option for X86.
Actually there is a CONFIG_MATOM already in Kconfig.cpu
Pengyu
>
> +David, HPA
>
> Jacob
>
>> Pengyu
>>
>>>> Pengyu
>>>>>>> Signed-off-by: Pengyu Ma <pengyu.ma@windriver.com>
>>>>>> Jacob?
>>>>>>
>>>>>>> ---
>>>>>>> drivers/powercap/Kconfig | 2 +-
>>>>>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>>>>>
>>>>>>> diff --git a/drivers/powercap/Kconfig b/drivers/powercap/Kconfig
>>>>>>> index 85727ef..a7c81b5 100644
>>>>>>> --- a/drivers/powercap/Kconfig
>>>>>>> +++ b/drivers/powercap/Kconfig
>>>>>>> @@ -17,7 +17,7 @@ if POWERCAP
>>>>>>> # Client driver configurations go here.
>>>>>>> config INTEL_RAPL
>>>>>>> tristate "Intel RAPL Support"
>>>>>>> - depends on X86 && IOSF_MBI
>>>>>>> + depends on X86
>>>>>>> default n
>>>>>>> ---help---
>>>>>>> This enables support for the Intel Running Average
>>>>>>> Power Limit (RAPL)
>>>>>>>
>>>>> [Jacob Pan]
>>> [Jacob Pan]
> [Jacob Pan]
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Austin S Hemmelgarn <ahferroin7@gmail.com> |
|---|---|
| Date | 2015-09-24 17:20 +0200 |
| Message-ID | <qcgtt-6OZ-13@gated-at.bofh.it> |
| In reply to | #1232009 |
[Multipart message — attachments visible in raw view] — view raw
On 2015-09-24 06:03, Pengyu Ma wrote:
>
>
> On 09/23/2015 01:01 AM, Jacob Pan wrote:
>> On Tue, 22 Sep 2015 11:11:36 +0800
>> Pengyu Ma <pengyu.ma@windriver.com> wrote:
>>
>>>
>>> On 09/22/2015 05:36 AM, Jacob Pan wrote:
>>>> On Mon, 21 Sep 2015 11:48:14 +0800
>>>> Pengyu Ma <pengyu.ma@windriver.com> wrote:
>>>>
>>>>> On 09/18/2015 11:43 PM, Jacob Pan wrote:
>>>>>> On Fri, 18 Sep 2015 02:09:55 +0200
>>>>>> "Rafael J. Wysocki" <rjw@rjwysocki.net> wrote:
>>>>>>
>>>>>>> On Thursday, September 17, 2015 03:31:41 PM Pengyu Ma wrote:
>>>>>>>> iosf_mbi is supported on Quark, Braswell, Baytrail and some Atom
>>>>>>>> SoC, but RAPL is not limited to these SoC, it supports almost
>>>>>>>> Intel CPUs. Remove this dependece to make RAPL support more
>>>>>>>> Intel CPUs.
>>>>>>>>
>>>>>>>> Please select IOSF_MBI on Atom SoCs.
>>>>>>>>
>>>>>> Unlike Quark, I don't think we want to or do differentiate Atom
>>>>>> from other x86 at compile time. IOSF driver can be compiled as a
>>>>>> module also, therefore RAPL driver needs this explicit dependency
>>>>>> at compile time.
>>>>> As commit had exported iosf_mbi to let user use it.
>>>>>
>>>>> commit aa8e4f22ab7773352ba3895597189b8097f2c307
>>>>> Author: David E. Box <david.e.box@linux.intel.com>
>>>>> Date: Wed Aug 27 14:40:39 2014 -0700
>>>>>
>>>>> x86/iosf: Add Kconfig prompt for IOSF_MBI selection
>>>>>
>>>>>
>>>>> While selecting IOSF_MBI is preferred, it does mean carrying extra
>>>>> code on non-SoC architectures.
>>>>>
>>>>> We can NOT force user to build in iosf_mbi if they want use RAPL on
>>>>> haswell/broadwell/skylake.
>>>>> And RAPL can be compiled and worked well on
>>>>> haswell/broadwell/skylake without IOSF_MBI.
>>>>> RAPL is really NOT depended on IOSF_MBI.
>>>>>
>>>> True for haswell/broadwell/skylake platforms. But if we want binary
>>>> compatibility for Atom and Core, I can' see how simply removing the
>>>> dependency would work, unless we have runtime detection of IOSF.
>>> If you want use iosf_mbi on atom, please select it on generic x86
>>> config. But not force it depend on another feature that not related
>>> on it with other boards.
>>> I don't care how iosf_mbi is added to kernel config, but why should I
>>> be forced to add it if I want use RAPL?
>>> It doesn't make any sense.
>>>
>> I understand your concern about wasting code. But let's look at all the
>> cases of config options here. (without Kconfig dependency as you
>> suggested)
>>
>> RAPL\IOSF Y M N
>> ___________________________________________________
>> Y OK DC* Warn on Atom**
>> M OK OK Warn on Atom
>> N OK OK OK
>> ___________________________________________________
>>
>> Notes:
>> * DC: don't compile
>> ** Warn on Atom is runtime if I add the following code to RAPL driver,
>> but this case is ok.
>>
>> --- a/drivers/powercap/intel_rapl.c
>> +++ b/drivers/powercap/intel_rapl.c
>> @@ -982,6 +982,11 @@ static void set_floor_freq_atom(struct rapl_domain
>> *rd, bool enable) static u32 power_ctrl_orig_val;
>> u32 mdata;
>> + if (!iosf_mbi_available()) {
>> + pr_warn("No IOSF MBI access to set floor frequency\n");
>> + return;
>> + }
>> +
>>
>> So the problematic case is when RAPL=Y IOSF=M
>> Since real IOSF functions are available when
>> #if IS_ENABLED(CONFIG_IOSF_MBI)
>> There will be no dummy functions for RAPL to reference in this case.
> iosf_mbi_write/read will warn itself.
>> Since IOSF is a driver, making it a module is a reasonable requirement.
>> As I mentioned before, I don't think we want to have a CONFIG_ATOM
>> option for X86.
> Actually there is a CONFIG_MATOM already in Kconfig.cpu
That's for code optimization (it changes compiler flags), not
determining what system we're actually building for, and on top of that
it's for older atom processors, not the new ones. It's fully possible
to build a kernel for an Atom processor without selecting this.
>
> Pengyu
>>
>> +David, HPA
>>
>> Jacob
>>
>>> Pengyu
>>>
>>>>> Pengyu
>>>>>>>> Signed-off-by: Pengyu Ma <pengyu.ma@windriver.com>
>>>>>>> Jacob?
>>>>>>>
>>>>>>>> ---
>>>>>>>> drivers/powercap/Kconfig | 2 +-
>>>>>>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>>>>>>
>>>>>>>> diff --git a/drivers/powercap/Kconfig b/drivers/powercap/Kconfig
>>>>>>>> index 85727ef..a7c81b5 100644
>>>>>>>> --- a/drivers/powercap/Kconfig
>>>>>>>> +++ b/drivers/powercap/Kconfig
>>>>>>>> @@ -17,7 +17,7 @@ if POWERCAP
>>>>>>>> # Client driver configurations go here.
>>>>>>>> config INTEL_RAPL
>>>>>>>> tristate "Intel RAPL Support"
>>>>>>>> - depends on X86 && IOSF_MBI
>>>>>>>> + depends on X86
>>>>>>>> default n
>>>>>>>> ---help---
>>>>>>>> This enables support for the Intel Running Average
>>>>>>>> Power Limit (RAPL)
>>>>>>>>
>>>>>> [Jacob Pan]
>>>> [Jacob Pan]
>> [Jacob Pan]
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Jacob Pan <jacob.jun.pan@linux.intel.com> |
|---|---|
| Date | 2015-09-24 18:40 +0200 |
| Message-ID | <qchIS-4W-13@gated-at.bofh.it> |
| In reply to | #1232009 |
On Thu, 24 Sep 2015 18:03:32 +0800 Pengyu Ma <pengyu.ma@windriver.com> wrote: > > So the problematic case is when RAPL=Y IOSF=M > > Since real IOSF functions are available when > > #if IS_ENABLED(CONFIG_IOSF_MBI) > > There will be no dummy functions for RAPL to reference in this > > case. > iosf_mbi_write/read will warn itself. it does not compile. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Pengyu Ma <pengyu.ma@windriver.com> |
|---|---|
| Date | 2015-09-26 05:50 +0200 |
| Message-ID | <qcOEO-4Zl-5@gated-at.bofh.it> |
| In reply to | #1232243 |
$ objdump --dwarf drivers/powercap/intel_rapl.o |grep iosf
<65ad> DW_AT_name : (indirect string, offset: 0x3644):
iosf_mbi_read
<65f7> DW_AT_name : (indirect string, offset: 0x496):
iosf_mbi_write
5 3 0 0 iosf_mbi.h
0x00000490 656c5f69 6400696f 73665f6d 62695f77 el_id.iosf_mbi_w
0x00003640 72656700 696f7366 5f6d6269 5f726561 reg.iosf_mbi_rea
$ grep -i iosf_mbi .config
# CONFIG_IOSF_MBI is not set
It is compiled and included by header file.
Pengyu
On 09/25/2015 12:33 AM, Jacob Pan wrote:
> On Thu, 24 Sep 2015 18:03:32 +0800
> Pengyu Ma <pengyu.ma@windriver.com> wrote:
>
>>> So the problematic case is when RAPL=Y IOSF=M
>>> Since real IOSF functions are available when
>>> #if IS_ENABLED(CONFIG_IOSF_MBI)
>>> There will be no dummy functions for RAPL to reference in this
>>> case.
>> iosf_mbi_write/read will warn itself.
> it does not compile.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Jacob Pan <jacob.jun.pan@linux.intel.com> |
|---|---|
| Date | 2015-09-28 18:20 +0200 |
| Message-ID | <qdJjI-4wk-15@gated-at.bofh.it> |
| In reply to | #1233135 |
On Sat, 26 Sep 2015 11:42:56 +0800 Pengyu Ma <pengyu.ma@windriver.com> wrote: > $ objdump --dwarf drivers/powercap/intel_rapl.o |grep iosf > <65ad> DW_AT_name : (indirect string, offset: 0x3644): > iosf_mbi_read > <65f7> DW_AT_name : (indirect string, offset: 0x496): > iosf_mbi_write > 5 3 0 0 iosf_mbi.h > 0x00000490 656c5f69 6400696f 73665f6d 62695f77 el_id.iosf_mbi_w > 0x00003640 72656700 696f7366 5f6d6269 5f726561 reg.iosf_mbi_rea > > $ grep -i iosf_mbi .config > # CONFIG_IOSF_MBI is not set > > It is compiled and included by header file. > Please refer to this table from my earlier email. Pasted below. RAPL\IOSF Y M N >> ___________________________________________________ >> Y OK DC* Warn on Atom** >> M OK OK Warn on Atom >> N OK OK OK >> ___________________________________________________ *DC = don't compile. The problem is the case when RAPL=y, IOSF=m. Jacob > Pengyu > > On 09/25/2015 12:33 AM, Jacob Pan wrote: > > On Thu, 24 Sep 2015 18:03:32 +0800 > > Pengyu Ma <pengyu.ma@windriver.com> wrote: > > > >>> So the problematic case is when RAPL=Y IOSF=M > >>> Since real IOSF functions are available when > >>> #if IS_ENABLED(CONFIG_IOSF_MBI) > >>> There will be no dummy functions for RAPL to reference in this > >>> case. > >> iosf_mbi_write/read will warn itself. > > it does not compile. > [Jacob Pan] -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web