The support for this feature is indicated by CPUID.06H.ECX.bit3. Refer to
Intel Architectures Software Developer's Manual for more info.
Signed-off-by: Venkatesh Pallipadi <venkatesh...@intel.com>
--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majo...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
{bah, more difficult to review an attachment, so no leading '>'}
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 8c666d8..4945add 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -749,6 +749,10 @@ and is between 256 and 4096 characters. It is defined in the file
Default value is 0.
Value can be changed at runtime via /selinux/enforce.
+ epb [X86] Control IA32_ENERGY_PERF_BIAS setting
+ "disable" - Kernel will not modify this MSR
+ <0..15> - Kernel will set this MSR to i/p static value
+
Should be more like:
epb= [X86] Control IA32_ENERGY_PERF_BIAS setting
Format: { disable | <0...15> }
"disable" - Kernel will not modify this MSR
<0..15> - Kernel will set this MSR to i/p static value
But what is "i/p"? Use whatever word it should be, please.
What do the values mean?
And what does IA32 have to do with this? does it not apply to x86_64?
thanks,
--
~Randy
--
Matthew Garrett | mj...@srcf.ucam.org
Sorry. Not sure why/how you are seeing attachment issue. I used quilt
mail to send this out (I have used this method earlier as well) and I do
see patches inline .
>
> diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
> index 8c666d8..4945add 100644
> --- a/Documentation/kernel-parameters.txt
> +++ b/Documentation/kernel-parameters.txt
> @@ -749,6 +749,10 @@ and is between 256 and 4096 characters. It is defined in the file
> Default value is 0.
> Value can be changed at runtime via /selinux/enforce.
>
> + epb [X86] Control IA32_ENERGY_PERF_BIAS setting
> + "disable" - Kernel will not modify this MSR
> + <0..15> - Kernel will set this MSR to i/p static value
> +
>
>
> Should be more like:
>
> epb= [X86] Control IA32_ENERGY_PERF_BIAS setting
> Format: { disable | <0...15> }
OK. Will change.
> "disable" - Kernel will not modify this MSR
> <0..15> - Kernel will set this MSR to i/p static value
>
>
> But what is "i/p"? Use whatever word it should be, please.
I meant input. will change to something like "specified value"
> What do the values mean?
The way MSR is defined, the value is opaque. It can be used for
different optimizations in different CPUs.
> And what does IA32 have to do with this? does it not apply to x86_64?
IA32_ in any MSR name is the convention that is generally followed for
all MSRs in Intel SDM. It means that the MSR is architectural (can be
detected with CPUID or some other standard way and not CPU Model
specific.
Thanks,
Venki
The not so good part about this feature is that its setting is opaque.
Different CPUs can use this value for different optimizations. So, in
future we may have to change the value of this MSR based on frequency or
other metrics. But, for CPUs which support this MSR today, changing the
value with frequency do not make any difference.
Thanks,
Venki
> index 8c666d8..4945add 100644
> --- a/Documentation/kernel-parameters.txt
> +++ b/Documentation/kernel-parameters.txt
> @@ -749,6 +749,10 @@ and is between 256 and 4096 characters. It is defined in the file
> Default value is 0.
> Value can be changed at runtime via /selinux/enforce.
>
> + epb [X86] Control IA32_ENERGY_PERF_BIAS setting
> + "disable" - Kernel will not modify this MSR
> + <0..15> - Kernel will set this MSR to i/p static value
> +
>
>
> Should be more like:
>
> epb= [X86] Control IA32_ENERGY_PERF_BIAS setting
> Format: { disable | <0...15> }
> "disable" - Kernel will not modify this MSR
> <0..15> - Kernel will set this MSR to i/p static value
>
>
> But what is "i/p"? Use whatever word it should be, please.
> What do the values mean?
> And what does IA32 have to do with this? does it not apply to x86_64?
Exactly. This is end user documentation, it should not even talk about
MSRs. Tell us what the setting does...
Also... does it make change to tweak the setting during runtime? Maybe
different settings for AC and battery power?
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
The not so good part of this feature is that the setting here is opaque.
Software can set this based on its preference, for example 0 for
performance 15 for power and 7 for balanced. Different CPUs can use this
information to do different optimizations or power-performance tradeoffs
in the hardware. The only thing that user knows here is that there is
this dial with 16 possible values. I can remove the MSR name here. But,
I think that will end up confusing the end user on what this thing is
and how it is related to all the other tunables we have in the kernel.
Having the MSR name gives a hint.
Also, the expectation here is that kernel will do the right thing by
default. The option here is to the user who_knows_what_he_is_doing to
override the kernel default.
>
> Also... does it make change to tweak the setting during runtime? Maybe
> different settings for AC and battery power?
Yes. Matthew mentioned in other response aboue setting this based on
freq. For the CPUs that support this feature currently, we don't see
advantage in setting this feature at run time.
Thanks,
Venki
You should say what the setting does; you can mention below what MSR
it corresponds to, but "Control IA32_ENERGY_PERF_BIAS setting" is not
suitable user documentation.
> Also, the expectation here is that kernel will do the right thing by
> default. The option here is to the user who_knows_what_he_is_doing to
> override the kernel default.
You did not give user enough information to do anything intelligent...
> > Also... does it make change to tweak the setting during runtime? Maybe
> > different settings for AC and battery power?
>
> Yes. Matthew mentioned in other response aboue setting this based on
> freq. For the CPUs that support this feature currently, we don't see
> advantage in setting this feature at run time.
If the feature is useless, then why set it at all?
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
I have rephrased it in the newer version sent yday with more info.
>> > Also... does it make change to tweak the setting during
>runtime? Maybe
>> > different settings for AC and battery power?
>>
>> Yes. Matthew mentioned in other response aboue setting this based on
>> freq. For the CPUs that support this feature currently, we don't see
>> advantage in setting this feature at run time.
>
>If the feature is useless, then why set it at all?
I just said changing it at run time doesn't give us benefits. Not that
the feature is useless. Having the default value for the tunable in
mid-range does increase energy-efficiency than the tunable being
at performance level.
Thanks,
Venki--
> >You should say what the setting does; you can mention below what MSR
> >it corresponds to, but "Control IA32_ENERGY_PERF_BIAS setting" is not
> >suitable user documentation.
> >
> >> Also, the expectation here is that kernel will do the right thing by
> >> default. The option here is to the user who_knows_what_he_is_doing to
> >> override the kernel default.
> >
> >You did not give user enough information to do anything intelligent...
>
> I have rephrased it in the newer version sent yday with more info.
Good.
> >> > Also... does it make change to tweak the setting during
> >runtime? Maybe
> >> > different settings for AC and battery power?
> >>
> >> Yes. Matthew mentioned in other response aboue setting this based on
> >> freq. For the CPUs that support this feature currently, we don't see
> >> advantage in setting this feature at run time.
> >
> >If the feature is useless, then why set it at all?
>
> I just said changing it at run time doesn't give us benefits. Not
>that
That can be only true if it does not give benefits period... AC and
battery power are quite different scenarios.
> the feature is useless. Having the default value for the tunable in
> mid-range does increase energy-efficiency than the tunable being
> at performance level.
So... what does it really do? What is the difference in power
consumption, and what is the difference in performance?
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
> That can be only true if it does not give benefits period... AC and
> battery power are quite different scenarios.
No, they're not.
--
Matthew Garrett | mj...@srcf.ucam.org
Yes, they are.
Would you care to elaborate? I may very well want top power on AC
power, and max powersavings on battery; most people do.
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
You may want that. But power constraints aren't limited to battery, and
being on battery doesn't inherently mean that you're power constrained.
Mixing these concepts results in all kinds of issues.
--
Matthew Garrett | mj...@srcf.ucam.org
That's of course true.
But if something gives so limited benefit that it does not make sense
to tweak between power constrained and not-power-constrained
environments (I used AC and battery as an example), it is useless.
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html