Remove p4_clockmode driver
PATCH 1/1 Remove p4_clockmode driver
Remove p4_clockmode driver
The driver is doing throttling which is supposed to be done through another ACPI interface. If both interfaces are used, the machine may get very slow. Remove this driver which should never be used.
--- arch/x86/kernel/cpu/cpufreq/Kconfig | 20 - arch/x86/kernel/cpu/cpufreq/Makefile | 1 arch/x86/kernel/cpu/cpufreq/p4-clockmod.c | 315 ------------------------------ 3 files changed, 336 deletions(-)
arch/x86/kernel/cpu/cpufreq/Kconfig +0 -20
@@ -179,26 +179,6 @@ config X86_SPEEDSTEP_SMI If in doubt, say N. -config X86_P4_CLOCKMOD - tristate "Intel Pentium 4 clock modulation" - select CPU_FREQ_TABLE - help - This adds the CPUFreq driver for Intel Pentium 4 / XEON - processors. When enabled it will lower CPU temperature by skipping - clocks. - - This driver should be only used in exceptional - circumstances when very low power is needed because it causes severe - slowdowns and noticeable latencies. Normally Speedstep should be used - instead. - - To compile this driver as a module, choose M here: the - module will be called p4-clockmod. - - For details, take a look at <file:Documentation/cpu-freq/>. - - Unless you are absolutely sure say N. - config X86_CPUFREQ_NFORCE2 tristate "nVidia nForce2 FSB changing" depends on X86_32 && EXPERIMENTAL
arch/x86/kernel/cpu/cpufreq/Makefile +0 -1
@@ -12,5 +12,4 @@ obj-$(CONFIG_X86_SPEEDSTEP_LIB) += spee obj-$(CONFIG_X86_SPEEDSTEP_SMI) += speedstep-smi.o obj-$(CONFIG_X86_ACPI_CPUFREQ) += acpi-cpufreq.o obj-$(CONFIG_X86_SPEEDSTEP_CENTRINO) += speedstep-centrino.o -obj-$(CONFIG_X86_P4_CLOCKMOD) += p4-clockmod.o obj-$(CONFIG_X86_CPUFREQ_NFORCE2) += cpufreq-nforce2.o
arch/x86/kernel/cpu/cpufreq/p4-clockmod.c deleted +0 -315
315 lines not on this page · raw message
Quoted 7 lines · Thomas Renninger
Remove
p4_clockmodedriverThe driver is doing throttling which is supposed to be done through another ACPI interface. If both interfaces are used, the machine may get very slow. Remove this driver which should never be used.
Signed-off-by Thomas Renninger <[email protected]>
I agree this is long overdue being taken out back and shot.
Some thoughts though:
* Should we deprecate this for a release first ?
I'm torn over this, because I think no matter how long we do this for, we're going to get people who claim to be surprised. Though given this driver is 99% useless, perhaps just ripping it out is for the best.
* Matthew Garrett mentioned something interesting this morning..
mjg59 | davej: On machines that don't support acpi throttling, I was under the impression that there was supposed to be a hook between the thermal code and cpufreq mjg59 | Which would then let p4-clockmod be kicked even if it's below the threshold at which the CPU would throttle itself davej | having that code expose T states rather than pretend to be P states is probably for the best. mjg59 | Yeah, true
So whilst killing this off is probably the right thing to do, there may be some value in parts of it living on in the ACPI code ?
I'll queue up this removal patch for linux-next, and we'll see if anyone screams. (I doubt it, given the amount of testing that gets right now. It'll probably not really get noticed until after it's in a Linus sanctioned release)
Dave
Dave,
Quoted 2 lines · Dave Jones
So whilst killing this off is probably the right thing to do, there may be some value in parts of it living on in the ACPI code ?
if it indeed gets ripped out of the kernel code[*], a good place to keep it is in cpufrequtils, where one working and one broken external debug module are kept at the moment.
Best,
Dominik
[*] even though it was the very first cpufreq driver which existed, as the hardware I used back then had no proper frequency scaling...
Quoted 43 lines
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Dave Jones
Sent: Sunday, May 11, 2008 9:20 AM
To: Thomas Renninger
Cc: cpufreq; [email protected]; Dominik Brodowski
Subject: Re: [PATCH] Removep4_clockmodedriverQuoted 3 lines · Thomas Renninger
Remove
p4_clockmodedriverThe driver is doing throttling which is supposed to be done
through another
Quoted 1 line
ACPI interface. If both interfaces are used, the machine
may get very slow.
Quoted 3 lines
Remove this driver which should never be used.
Signed-off-by Thomas Renninger <[email protected]>I agree this is long overdue being taken out back and shot.
Some thoughts though:
* Should we deprecate this for a release first ?
I'm torn over this, because I think no matter how long we do
this for,
we're going to get people who claim to be surprised. Though given this driver is 99% useless, perhaps just ripping it out is for the best.* Matthew Garrett mentioned something interesting this morning..
mjg59 | davej: On machines that don't support acpi throttling, I was under the impression that there was supposed to be a hook between the thermal code and cpufreq
mjg59 | Which would then let p4-clockmod be kicked even if it's below the threshold at which the CPU would throttle itself davej | having that code expose T states rather than pretend to be P states is probably for the best.
mjg59 | Yeah, true
Quoted 3 lines
So whilst killing this off is probably the right thing to
do, there may be
some value in parts of it living on in the ACPI code ?
ACPI code already has support for T-states, which uses the same mechanism as P4-clockmod
in response to thermal events (once the CPU is at lowest freq). However, it needs the BIOS
to export T-state information. May be there is some value to add a driver to do T-states even
without ACPI T-states and hook into thermal code.
Agree that sooner we get this out of cpufreq better it is. I don't think we can explain it
any more that "P4-clockmod works does not mean it is saving any power".
Thanks,
Venki
Hi Dave,
Quoted 26 lines · Dave Jones
Quoted 7 lines · Thomas Renninger
Remove
p4_clockmodedriverThe driver is doing throttling which is supposed to be done through another ACPI interface. If both interfaces are used, the machine may get very slow. Remove this driver which should never be used.
Signed-off-by Thomas Renninger <[email protected]>I agree this is long overdue being taken out back and shot.
Some thoughts though:
* Should we deprecate this for a release first ?
I'm torn over this, because I think no matter how long we do this for, we're going to get people who claim to be surprised. Though given this driver is 99% useless, perhaps just ripping it out is for the best.* Matthew Garrett mentioned something interesting this morning..
mjg59 | davej: On machines that don't support acpi throttling, I was under the impression that there was supposed to be a hook between the thermal code and cpufreq mjg59 | Which would then let p4-clockmod be kicked even if it's below the threshold at which the CPU would throttle itself davej | having that code expose T states rather than pretend to be P states is probably for the best. mjg59 | Yeah, true
Quoted 7 lines
So whilst killing this off is probably the right thing to do, there may be some value in parts of it living on in the ACPI code ?
I'll queue up this removal patch for linux-next, and we'll see if anyone screams. (I doubt it, given the amount of testing that gets right now. It'll probably not really get noticed until after it's in a Linus sanctioned release)
AAAAAAA!</scream>
I am using p4_clockmod in attempt to keep my old P4-based box a bit cooler. It does not support anything besides C0 (no P-states, no throttling) so acpi-based driver does not work.
Signature · 1 line
Dmitry
Quoted 37 lines · Dmitry Torokhov
Hi Dave,
Quoted 26 lines · Dave Jones
Quoted 7 lines · Thomas Renninger
Remove
p4_clockmodedriverThe driver is doing throttling which is supposed to be done through another ACPI interface. If both interfaces are used, the machine may get very slow. Remove this driver which should never be used.
Signed-off-by Thomas Renninger <[email protected]>I agree this is long overdue being taken out back and shot.
Some thoughts though:
* Should we deprecate this for a release first ?
I'm torn over this, because I think no matter how long we do this for, we're going to get people who claim to be surprised. Though given this driver is 99% useless, perhaps just ripping it out is for the best.* Matthew Garrett mentioned something interesting this morning..
mjg59 | davej: On machines that don't support acpi throttling, I was under the impression that there was supposed to be a hook between the thermal code and cpufreq mjg59 | Which would then let p4-clockmod be kicked even if it's below the threshold at which the CPU would throttle itself davej | having that code expose T states rather than pretend to be P states is probably for the best. mjg59 | Yeah, trueQuoted 7 lines
So whilst killing this off is probably the right thing to do, there may be some value in parts of it living on in the ACPI code ?
I'll queue up this removal patch for linux-next, and we'll see if anyone screams. (I doubt it, given the amount of testing that gets right now. It'll probably not really get noticed until after it's in a Linus sanctioned release)
Quoted 5 lines
AAAAAAA!</scream>
I am using
p4_clockmodin attempt to keep my old P4-based box a bit cooler. It does not support anything besides C0 (no P-states, no throttling) so acpi-based driver does not work.
P4 CPUs do waste power, it is not designed for power savings. How much do you save with p4-clockmod?
But maybe a reimplementation as Matthew suggested it may really be worth it. If it is, someone probably will do it.
The cpufreq interface is the wrong place for this driver. If you have a machine that exposes throttling as expected and you make use of it (and there are userspace tools doing this), you are busted.
Instead of screaming, better provide suggestions for a proper integration for machines which are capable of throttling, but have a broken BIOS which does not export it (maybe they are just doing this because it's not worth it?).
AFAIK there are AMD drivers with static cpufreq tables which were never accepted. People with a BIOS who's CPU is not detected and cpufreq info is not exposed have bad luck and must either poke the vendor or self-compile the out-of-tree static table solution.
I would 10 times more support this to be integrated because:
- It fits the design and does not slow down other machines as a side effect
- It really saves some power
I still think it's ok that it did not go mainline, for maintenance and "it's the wrong way" reasons.
Please, if you have verified that it really saves power (I'd really like to see some figures here, I never saw any for p4-clockmod) and it's worth having it, help to get this implemented properly, but do not delay a process which is overdue for a long time already.
Thomas
Hi Thomas,
Quoted 38 lines · Thomas Renninger
Quoted 37 lines · Dmitry Torokhov
Hi Dave,
Quoted 33 lines · Dave Jones
Quoted 7 lines · Thomas Renninger
Remove
p4_clockmodedriverThe driver is doing throttling which is supposed to be done through another ACPI interface. If both interfaces are used, the machine may get very slow. Remove this driver which should never be used.
Signed-off-by Thomas Renninger <[email protected]>I agree this is long overdue being taken out back and shot.
Some thoughts though:
* Should we deprecate this for a release first ?
I'm torn over this, because I think no matter how long we do this for, we're going to get people who claim to be surprised. Though given this driver is 99% useless, perhaps just ripping it out is for the best.* Matthew Garrett mentioned something interesting this morning..
mjg59 | davej: On machines that don't support acpi throttling, I was under the impression that there was supposed to be a hook between the thermal code and cpufreq mjg59 | Which would then let p4-clockmod be kicked even if it's below the threshold at which the CPU would throttle itself davej | having that code expose T states rather than pretend to be P states is probably for the best. mjg59 | Yeah, trueSo whilst killing this off is probably the right thing to do, there may be some value in parts of it living on in the ACPI code ?
I'll queue up this removal patch for linux-next, and we'll see if anyone screams. (I doubt it, given the amount of testing that gets right now. It'll probably not really get noticed until after it's in a Linus sanctioned release)
Quoted 9 lines
Quoted 5 lines
AAAAAAA!</scream>
I am using
p4_clockmodin attempt to keep my old P4-based box a bit cooler. It does not support anything besides C0 (no P-states, no throttling) so acpi-based driver does not work.P4 CPUs do waste power, it is not designed for power savings. How much do you save with p4-clockmod?
Zilch. As I said I am not really try to save power but I am trying to keep my room a bit cooler when I leave the box idle.
Quoted 7 lines
But maybe a reimplementation as Matthew suggested it may really be worth it. If it is, someone probably will do it.
The cpufreq interface is the wrong place for this driver. If you have a machine that exposes throttling as expected and you make use of it (and there are userspace tools doing this), you are busted.
And I don't care since:
a) my box does not expose it and
b) I might or might not be using such tools, depending on my circumstances
Quoted 5 lines
Instead of screaming, better provide suggestions for a proper integration for machines which are capable of throttling, but have a broken BIOS which does not export it (maybe they are just doing this because it's not worth it?).
Quoted 11 lines
AFAIK there are AMD drivers with static cpufreq tables which were never accepted. People with a BIOS who's CPU is not detected and cpufreq info is not exposed have bad luck and must either poke the vendor or self-compile the out-of-tree static table solution.
I would 10 times more support this to be integrated because:
- It fits the design and does not slow down other machines as a side effect
- It really saves some power
I still think it's ok that it did not go mainline, for maintenance and "it's the wrong way" reasons.
The difference here is that p4_clockmod is _in_ mainline so by simply removing it you introduce regression. You can't just remove driver without providing a similarly working replacement. If you are concerned about unwanted iteractions with ACPI code you could either add a hook disabling p4_clockmod when acpi throtting gets loaded, or put a big bfat warning about p4_clockmod in dmesg and make it depend on CONFIG_EXPERIMENTAL or CONFIG_EMBEDDED.
Quoted 5 lines
Please, if you have verified that it really saves power (I'd really like to see some figures here, I never saw any for p4-clockmod) and it's worth having it, help to get this implemented properly, but do not delay a process which is overdue for a long time already.
The process woudld be to implement the new way properly and then retire the old driver. You are putting a carriage before the horse here.
Signature · 1 line
Dmitry
Quoted 47 lines · Dmitry Torokhov
Hi Thomas,
Quoted 44 lines · Thomas Renninger
Quoted 42 lines · Dmitry Torokhov
Hi Dave,
Quoted 26 lines · Dave Jones
Quoted 7 lines · Thomas Renninger
Remove
p4_clockmodedriverThe driver is doing throttling which is supposed to be done through another ACPI interface. If both interfaces are used, the machine may get very slow. Remove this driver which should never be used.
Signed-off-by Thomas Renninger <[email protected]>I agree this is long overdue being taken out back and shot.
Some thoughts though:
* Should we deprecate this for a release first ?
I'm torn over this, because I think no matter how long we do this for, we're going to get people who claim to be surprised. Though given this driver is 99% useless, perhaps just ripping it out is for the best.* Matthew Garrett mentioned something interesting this morning..
mjg59 | davej: On machines that don't support acpi throttling, I was under the impression that there was supposed to be a hook between the thermal code and cpufreq mjg59 | Which would then let p4-clockmod be kicked even if it's below the threshold at which the CPU would throttle itself davej | having that code expose T states rather than pretend to be P states is probably for the best. mjg59 | Yeah, trueQuoted 7 lines
So whilst killing this off is probably the right thing to do, there may be some value in parts of it living on in the ACPI code ?
I'll queue up this removal patch for linux-next, and we'll see if anyone screams. (I doubt it, given the amount of testing that gets right now. It'll probably not really get noticed until after it's in a Linus sanctioned release)
AAAAAAA!</scream>
I am using
p4_clockmodin attempt to keep my old P4-based box a bit cooler. It does not support anything besides C0 (no P-states, no throttling) so acpi-based driver does not work.
Quoted 6 lines
Quoted 3 lines
P4 CPUs do waste power, it is not designed for power savings. How much do you save with p4-clockmod?
Zilch. As I said I am not really try to save power but I am trying to keep my room a bit cooler when I leave the box idle.
Having people believe they get a cooler room without saving power is a nice feature. Removing it is not a regression. This is exactly what the p4_clockmod driver suggests and what people were complaining "Windows is running with 300 MHz on my P4", it's nice marketing, but not reality. Intel told me they did some tests with SMP machines where throttling actually increases the power consumption.
Quoted 32 lines
Quoted 7 lines
But maybe a reimplementation as Matthew suggested it may really be worth it. If it is, someone probably will do it.
The cpufreq interface is the wrong place for this driver. If you have a machine that exposes throttling as expected and you make use of it (and there are userspace tools doing this), you are busted.
And I don't care since:
a) my box does not expose it and
b) I might or might not be using such tools, depending on my circumstancesQuoted 5 lines
Instead of screaming, better provide suggestions for a proper integration for machines which are capable of throttling, but have a broken BIOS which does not export it (maybe they are just doing this because it's not worth it?).
Quoted 11 lines
AFAIK there are AMD drivers with static cpufreq tables which were never accepted. People with a BIOS who's CPU is not detected and cpufreq info is not exposed have bad luck and must either poke the vendor or self-compile the out-of-tree static table solution.
I would 10 times more support this to be integrated because:
- It fits the design and does not slow down other machines as a side effect
- It really saves some power
I still think it's ok that it did not go mainline, for maintenance and "it's the wrong way" reasons.
Quoted 2 lines
The difference here is that
p4_clockmodis _in_ mainline so by simply removing it you introduce regression.
Please prove, I do not see a regression. How much Watts does the machine save power when it is idle using p4-clockmod?
Quoted 7 lines
You can't just remove driver
without providing a similarly working replacement. If you are concerned about unwanted iteractions with ACPI code you could either add a hook disablingp4_clockmodwhen acpi throtting gets loaded, or put a big bfat warning aboutp4_clockmodin dmesg and make it depend onCONFIG_EXPERIMENTALorCONFIG_EMBEDDED.
Quoted 7 lines
Quoted 5 lines
Please, if you have verified that it really saves power (I'd really like to see some figures here, I never saw any for p4-clockmod) and it's worth having it, help to get this implemented properly, but do not delay a process which is overdue for a long time already.
The process woudld be to implement the new way properly and then retire the old driver. You are putting a carriage before the horse here.
This will never happen. Nobody cares about throttling because it doesn't save you anything. So we have broken machines (through double throttling) and a driver which is of no (at least not much) use.
This reminds me about the broken drivers/acpi/video.c state:
http://bugzilla.kernel.org/show_bug.cgi?id=9614
ThinkPads do use the wrong ACPI device (Nvidia instead Intel ACPI graphics device) and therefore works by luck.
The correct fix, making a lot other models work is ignored because for the Intel ACPI graphics device there is no ACPI (IGD) Linux driver. There even is a workaround to get the ThinkPad working by using thinkpad_acpi driver for brightness switching...
Now everything is broken and will stay like that, because the change will introduce a regression for ThinkPads (cannot switch brightness via video.c for Intel ACPI graphics device, poking with the wrong HW device works somehow...).
What I mean..., the regression argument is a powerful one, misusing it for unimportant, wrong designed or broken implementations (at least the first two are valid here) can make things worse.
Thomas
Quoted 52 lines · Thomas Renninger
Quoted 51 lines · Dmitry Torokhov
Hi Thomas,
Quoted 47 lines · Thomas Renninger
Quoted 37 lines · Dmitry Torokhov
Hi Dave,
Quoted 26 lines · Dave Jones
Quoted 7 lines · Thomas Renninger
Remove
p4_clockmodedriverThe driver is doing throttling which is supposed to be done through another ACPI interface. If both interfaces are used, the machine may get very slow. Remove this driver which should never be used.
Signed-off-by Thomas Renninger <[email protected]>I agree this is long overdue being taken out back and shot.
Some thoughts though:
* Should we deprecate this for a release first ?
I'm torn over this, because I think no matter how long we do this for, we're going to get people who claim to be surprised. Though given this driver is 99% useless, perhaps just ripping it out is for the best.* Matthew Garrett mentioned something interesting this morning..
mjg59 | davej: On machines that don't support acpi throttling, I was under the impression that there was supposed to be a hook between the thermal code and cpufreq mjg59 | Which would then let p4-clockmod be kicked even if it's below the threshold at which the CPU would throttle itself davej | having that code expose T states rather than pretend to be P states is probably for the best. mjg59 | Yeah, trueQuoted 7 lines
So whilst killing this off is probably the right thing to do, there may be some value in parts of it living on in the ACPI code ?
I'll queue up this removal patch for linux-next, and we'll see if anyone screams. (I doubt it, given the amount of testing that gets right now. It'll probably not really get noticed until after it's in a Linus sanctioned release)
Quoted 5 lines
AAAAAAA!</scream>
I am using
p4_clockmodin attempt to keep my old P4-based box a bit cooler. It does not support anything besides C0 (no P-states, no throttling) so acpi-based driver does not work.P4 CPUs do waste power, it is not designed for power savings. How much do you save with p4-clockmod?
Quoted 8 lines
Quoted 2 lines
Zilch. As I said I am not really try to save power but I am trying to keep my room a bit cooler when I leave the box idle.
Having people believe they get a cooler room without saving power is a nice feature. Removing it is not a regression. This is exactly what the
p4_clockmoddriver suggests and what people were complaining "Windows is running with 300 MHz on my P4", it's nice marketing, but not reality. Intel told me they did some tests with SMP machines where throttling actually increases the power consumption.
How about this:
The hardware does throttling in case of critical overheat therefore throttling descreases the temperature. Thus one can use p4_clockmod that does the throttling to make the box a bit cooler.
I don't care about overall power consumption. I thought I was clear in the first letter and even more clear in the second.
Quoted 33 lines
Quoted 33 lines
Quoted 8 lines
But maybe a reimplementation as Matthew suggested it may really be worth it. If it is, someone probably will do it.
The cpufreq interface is the wrong place for this driver. If you have a machine that exposes throttling as expected and you make use of it (and there are userspace tools doing this), you are busted.
And I don't care since:
a) my box does not expose it and
b) I might or might not be using such tools, depending on my circumstancesQuoted 16 lines
Instead of screaming, better provide suggestions for a proper integration for machines which are capable of throttling, but have a broken BIOS which does not export it (maybe they are just doing this because it's not worth it?).
AFAIK there are AMD drivers with static cpufreq tables which were never accepted. People with a BIOS who's CPU is not detected and cpufreq info is not exposed have bad luck and must either poke the vendor or self-compile the out-of-tree static table solution.
I would 10 times more support this to be integrated because:
- It fits the design and does not slow down other machines as a side effect
- It really saves some power
I still think it's ok that it did not go mainline, for maintenance and "it's the wrong way" reasons.
Quoted 3 lines
Quoted 2 lines
The difference here is that
p4_clockmodis _in_ mainline so by simply removing it you introduce regression.Please prove, I do not see a regression.
Yes it is. The thing is gone. I can't use it anymore.
Quoted 2 lines
How much Watts does the machine
save power when it is idle using p4-clockmod?
Don't care. Don't care. Do I need to repeat it? I don't care. All I know is that it87 reports lower temperature when CPU is throttled.
Quoted 19 lines
Quoted 8 lines
You can't just remove driver
without providing a similarly working replacement. If you are concerned about unwanted iteractions with ACPI code you could either add a hook disablingp4_clockmodwhen acpi throtting gets loaded, or put a big bfat warning aboutp4_clockmodin dmesg and make it depend onCONFIG_EXPERIMENTALorCONFIG_EMBEDDED.Quoted 7 lines
Quoted 5 lines
Please, if you have verified that it really saves power (I'd really like to see some figures here, I never saw any for p4-clockmod) and it's worth having it, help to get this implemented properly, but do not delay a process which is overdue for a long time already.
The process woudld be to implement the new way properly and then retire the old driver. You are putting a carriage before the horse here.
This will never happen. Nobody cares about throttling because it doesn't save you anything. So we have broken machines (through double throttling) and a driver which is of no (at least not much) use.
Quoted 16 lines
This reminds me about the broken
drivers/acpi/video.cstate:
http://bugzilla.kernel.org/show_bug.cgi?id=9614
ThinkPads do use the wrong ACPI device (Nvidia instead Intel ACPI graphics device) and therefore works by luck.
The correct fix, making a lot other models work is ignored because for the Intel ACPI graphics device there is no ACPI (IGD) Linux driver. There even is a workaround to get the ThinkPad working by usingthinkpad_acpidriver for brightness switching...
Now everything is broken and will stay like that, because the change will introduce a regression for ThinkPads (cannot switch brightness viavideo.cfor Intel ACPI graphics device, poking with the wrong HW device works somehow...).
What I mean..., the regression argument is a powerful one, misusing it for unimportant, wrong designed or broken implementations (at least the first two are valid here) can make things worse.
You can call my hardware broken and the driver broken but the fact is regression for me. And as long as you remove something that works well for some people for the sake of non-existing yet clean implementaion (which btw you aren't going to implement it appears) it is a regression, plain and simple.
Signature · 1 line
Dmitry
...
Quoted 5 lines
Quoted 2 lines
How much Watts does the machine
save power when it is idle using p4-clockmod?Don't care. Don't care. Do I need to repeat it? I don't care. All I know is that it87 reports lower temperature when CPU is throttled.
How much is it, constantly?
Thomas
Quoted 8 lines · Thomas Renninger
...
Quoted 5 lines
Quoted 2 lines
How much Watts does the machine
save power when it is idle using p4-clockmod?Don't care. Don't care. Do I need to repeat it? I don't care. All I know is that it87 reports lower temperature when CPU is throttled.
How much is it, constantly?
Hmm, it looks ike on ide it is about 78C throttled and 81 unthrottled (I would not pay attention to absolute numbers, I never actually tried to calibrate the readings). So apparently not a lot... For some reason I remember the difference a bit bigger, maybe I was lookig under light load?
Signature · 1 line
Dmitry
Hi,
Quoted 7 lines · Dmitry Torokhov
Quoted 6 lines · Thomas Renninger
...
Quoted 5 lines
Quoted 2 lines
How much Watts does the machine
save power when it is idle using p4-clockmod?Don't care. Don't care. Do I need to repeat it? I don't care. All I know is that it87 reports lower temperature when CPU is throttled.
Quoted 8 lines
Quoted 2 lines
How much is it, constantly?
Hmm, it looks ike on ide it is about 78C throttled and 81 unthrottled (I would not pay attention to absolute numbers, I never actually tried to calibrate the readings). So apparently not a lot... For some reason I remember the difference a bit bigger, maybe I was lookig under light load?
Probably you were looking under more or less heavy load, for then and only then p4-clockmod makes a difference. (>12.5 load at least)
Thomas: the question whether it saves power when it is idle is not a good criterion -- IIRC, some Intel SpeedStep-capable processors do enter the same low voltage idle state, so on a 100% idle system acpi-cpufreq wouldn't make a difference there either. Similarily, some cpufreq drivers which only do frequency scaling but not frequency and voltage scaling will also only see limited energy savings on 100% idle.
To summarize: If the CPU load is constantly x (0<x<1) within a timeframe, the _CPU_ energy consumption of an ideal system is approximately
- if the CPU does not support frequency or voltage scaling:
E_none = E_idle * (1-x) + E_max * x
- if the CPU supports frequency scaling (with linear energy savings):
E_fs = E_idle + (E_max - E_idle) * x = E_none
- if the CPU supports throttling:
E_t = E_idle * (1-x) + E_max * x = E_none
- if the CPU supports frequency and voltage scaling (with energy savings to the power of two)
E_fvs = E_idle + (E_max - E_idle) * x^2
This shows that:
1) _if_ idle states work properly, and
2) _if_ the system needs to finish tasks as soon as possible, neither frequency scaling alone nor throttling will get you anything.
Now, let's test whether these two requirements are met:
ad 1) to the Intel folks out here: is C1 entered during throttling, or some deeper sleep level? If it's something deeper, this requirement is not met on my desktop P4 which only offers C1.
ad 2) I can see of two aspects where this is invalid:
- programs which will eat up as much CPU as possible e.g. for even more frames per seconds, and
- thermal side-effects: if the CPU energy consumption surpasses certain thresholds, fans might be needed for cooling, or their rotational speed increased, thereby also increasing the noise, and not to forget the increased hardware wear by increased temperatures...
However, this second requirement alone might be able to be met by software alone, as long as the first requirement -- a proper idle state is entered -- is fulfilled:
(1) Currently, _all_ tasks preempt the idle task -- if there's only one task running in nice level 19, that one gets 100% of the CPU, and the idle thread gets none.
(2) One could now start a task with a very high priority, which schedules its own wakeup, and then calls cpuidle_idle_call(). Caveat: this would not work properly in a high-interrupt system.
Now, such a kernel module would do what -- it would _emulate_ frequency scaling in a software level, while p4-clockmod _emulates_ frequency scaling in hardware. Therefore, the correct place for p4-clockmod and such a generic "I do not want to use my hardware 100%"-module is within the framework which is made for the capabilities they emulate: cpufreq.
Best,
Dominik
Quoted 80 lines · Dominik Brodowski
Hi,
Quoted 7 lines · Dmitry Torokhov
Quoted 6 lines · Thomas Renninger
...
Quoted 5 lines
Quoted 2 lines
How much Watts does the machine
save power when it is idle using p4-clockmod?Don't care. Don't care. Do I need to repeat it? I don't care. All I know is that it87 reports lower temperature when CPU is throttled.
Quoted 8 lines
Quoted 2 lines
How much is it, constantly?
Hmm, it looks ike on ide it is about 78C throttled and 81 unthrottled (I would not pay attention to absolute numbers, I never actually tried to calibrate the readings). So apparently not a lot... For some reason I remember the difference a bit bigger, maybe I was lookig under light load?
Probably you were looking under more or less heavy load, for then and only then p4-clockmod makes a difference. (>12.5 load at least)
Thomas: the question whether it saves power when it is idle is not a good criterion -- IIRC, some Intel SpeedStep-capable processors do enter the same low voltage idle state, so on a 100% idle system acpi-cpufreq wouldn't make a difference there either. Similarily, some cpufreq drivers which only do frequency scaling but not frequency and voltage scaling will also only see limited energy savings on 100% idle.
To summarize: If the CPU load is constantly x (0<x<1) within a timeframe, the _CPU_ energy consumption of an ideal system is approximately
- if the CPU does not support frequency or voltage scaling:
E_none = E_idle * (1-x) + E_max * x- if the CPU supports frequency scaling (with linear energy savings):
E_fs = E_idle + (E_max - E_idle) * x = E_none- if the CPU supports throttling:
E_t = E_idle * (1-x) + E_max * x = E_none- if the CPU supports frequency and voltage scaling (with energy savings to the power of two)
E_fvs = E_idle + (E_max - E_idle) * x^2This shows that:
1) _if_ idle states work properly, and
2) _if_ the system needs to finish tasks as soon as possible, neither frequency scaling alone nor throttling will get you anything.Now, let's test whether these two requirements are met:
ad 1) to the Intel folks out here: is C1 entered during throttling, or some deeper sleep level? If it's something deeper, this requirement is not met on my desktop P4 which only offers C1.
ad 2) I can see of two aspects where this is invalid:
- programs which will eat up as much CPU as possible e.g. for even more frames per seconds, and
- thermal side-effects: if the CPU energy consumption surpasses certain thresholds, fans might be needed for cooling, or their rotational speed increased, thereby also increasing the noise, and not to forget the increased hardware wear by increased temperatures...However, this second requirement alone might be able to be met by software alone, as long as the first requirement -- a proper idle state is entered -- is fulfilled:
(1) Currently, _all_ tasks preempt the idle task -- if there's only one task running in nice level 19, that one gets 100% of the CPU, and the idle thread gets none.
(2) One could now start a task with a very high priority, which schedules its own wakeup, and then callscpuidle_idle_call(). Caveat: this would not work properly in a high-interrupt system.
Quoted 5 lines
Now, such a kernel module would do what -- it would _emulate_ frequency scaling in a software level, while p4-clockmod _emulates_ frequency scaling in hardware. Therefore, the correct place for p4-clockmod and such a generic "I do not want to use my hardware 100%"-module is within the framework which is made for the capabilities they emulate: cpufreq.
Could you explain this in two easy sentences again, why this should not use the throttling interface?
(former /proc/acpi/processor/*/throttling, now somewhere located in sysfs. Also used for passive cooling if no cpufreq is available). Throttling is what this driver is doing and with which it will interfere and slow down the machine to be closed to unresponsive if both (throttling and cpufreq interface) are using it?
Thanks,
Thomas
Quoted 2 lines · Thomas Renninger
Could you explain this in two easy sentences again, why this should not use the throttling interface?
Because it involves rewriting code for purely aesthetic benefit. I agree that, in an ideal world, p4-clockmod would integrate into the throttling system. But unless someone wants to rewrite it, that doesn't look likely...
Quoted 5 lines
(former
/proc/acpi/processor/*/throttling, now somewhere located in sysfs. Also used for passive cooling if no cpufreq is available). Throttling is what this driver is doing and with which it will interfere and slow down the machine to be closed to unresponsive if both (throttling and cpufreq interface) are using it?
The ACPI throttling interface will only be used if the minimum cpufreq state has already been reached. Users really shouldn't play with the throttling interface themselves, given its lack of useful functionality.
Signature · 1 line
Matthew Garrett | [email protected]
Quoted 9 lines · Matthew Garrett
Quoted 2 lines · Thomas Renninger
Could you explain this in two easy sentences again, why this should not use the throttling interface?
Because it involves rewriting code for purely aesthetic benefit. I agree that, in an ideal world, p4-clockmod would integrate into the throttling system. But unless someone wants to rewrite it, that doesn't look likely...
Yes, I should add a p4-clockmod filter and move all upcoming issues on the cpufreq list automatically to the trash...
Quoted 9 lines
Quoted 6 lines
(former
/proc/acpi/processor/*/throttling, now somewhere located in sysfs. Also used for passive cooling if no cpufreq is available). Throttling is what this driver is doing and with which it will interfere and slow down the machine to be closed to unresponsive if both (throttling and cpufreq interface) are using it?The ACPI throttling interface will only be used if the minimum cpufreq state has already been reached.
Yes and this is correct.
If there should really be a machine out there which can do real cpufreq scaling and the p4-clockmod driver still works, real cpufreq scaling should be preferred.
Quoted 2 lines
Users really shouldn't play with the
throttling interface themselves, given its lack of useful functionality.
Right, this also applies for p4-clockmod. Therefore, if at all, this should get moved to throttling. There it will be used for what it is designed for: passive cooling to avoid critical temperatures. This is done automatically through the trip points interface without the need of user interaction (Yes, BIOSes do not define a passive trip point..., this should hopefully be possible via userspace soon).
To be honest I do not care that much about removing this one. IMO things should be cleaned up from time to time.
While ThinkPads, Acer, Dell seem to run quite hot currently with powersaving capble CPUs, or cpufreq is broken or buggy on some, I am tired discussing about p4-clockmod.
People waste time and file bugs on such unimportant things like powersaving on a P4 and writing all this down and try to convince people that p4-clockmod is not worth it is also not worth it. At least state that this driver should not be used in distributions to not get complains about this one any more or just remove it..., Dmitry can compile it in for himself to save 2 degree and Pavel or whoever it was with the broken battery... I mean does this still work, I expect the battery is really broken now and you should be able to use this machine on full performance again. As said p4-clockmod does only save if CPU is utilized, but then you do not want throttling, only for critical temperature reasons or broken batteries.
Thomas
Thomas Renninger escreveu:
Quoted 5 lines
Remove
p4_clockmodedriverThe driver is doing throttling which is supposed to be done through another ACPI interface. If both interfaces are used, the machine may get very slow. Remove this driver which should never be used.
On the Dell Latitude D510 I use at work, acpi-cpufreq didn't load on the Ubuntu 7.10 kernel (2.6.22); of all the available cpufreq drivers, only p4-clockmod worked. I didn't try loading it on the Ubuntu 8.04 kernel (2.6.24) yet.
Signature · 3 lines
Cesar Eduardo Barros [email protected] [email protected]