Sharing on a 1Gbps Router built(+Tests on clocked at 1.6GHz and Default)
-
powerd is only the daemon that controls the cpu frequency dependent on load. It does so via the appropriate driver, est in my case.
If your cpu doesn't have driver support then powerd can't control it usefully.
acpi throttling provides no real power saving.Steve
Edit: Although others seem to have had good results. Check the sysctls for est or your boot logs.
I see, I disabled throttling for it was having a impact on performance.
If PowerD is working on EST, if I have actually locked the CPU freq at 1.6GHz(which is the lowest),
would PowerD be completely useless in the case? -
Yes if you have the cpu locked to 1 frequency then powerd can't switch it so it will be doing nothing.
When it's working correctly you should see a number of levels reported by dev.cpu.0.freq_levels. You board has a full set of bios acpi details as it's also reporting the power level (39,000mW).Steve
-
Yes if you have the cpu locked to 1 frequency then powerd can't switch it so it will be doing nothing.
When it's working correctly you should see a number of levels reported by dev.cpu.0.freq_levels. You board has a full set of bios acpi details as it's also reporting the power level (39,000mW).Steve
Thanks for the detailed explanation, so I now set it with PowerD off, freq locked at 1.6GHz which is the lowest EST state for this CPU(there won't be issues as it is enough and the task running time is decided by time needed for data transfer), and both core set to have lowest C state as C3.
Hope the above will save me a few watts ::) -
I see, I disabled throttling for it was having a impact on performance.
If PowerD is working on EST, if I have actually locked the CPU freq at 1.6GHz(which is the lowest),
would PowerD be completely useless in the case?Yes. PowerD working on EST uses speedstep for power savings. Since EIST basically does multiplier reduction, locking the multiplier or having the lowest multiplier basically means that EST cannot do anything.
The main power savings doesn't come from EIST per se, it's actually something called Idle states (sometimes known as idle64) where the CPU is designed to reduce voltage when the processor is clocked down (by EIST).You should be able to allow the processor to run at normal speeds and simply enable EIST. PowerD with EST will basically downclock the processor when at very low loads. Similarly, when under stress, the processor should be ramped up to max speed.
-
I see, I disabled throttling for it was having a impact on performance.
If PowerD is working on EST, if I have actually locked the CPU freq at 1.6GHz(which is the lowest),
would PowerD be completely useless in the case?Yes. PowerD working on EST uses speedstep for power savings. Since EIST basically does multiplier reduction, locking the multiplier or having the lowest multiplier basically means that EST cannot do anything.
The main power savings doesn't come from EIST per se, it's actually something called Idle states (sometimes known as idle64) where the CPU is designed to reduce voltage when the processor is clocked down (by EIST).You should be able to allow the processor to run at normal speeds and simply enable EIST. PowerD with EST will basically downclock the processor when at very low loads. Similarly, when under stress, the processor should be ramped up to max speed.
Thanks for pointing out and I was thinking for the same,
would PowerD + EIST actually be able to lower the power consumption to a greater extent than if I lock the multiplier to the smallest value I can in BIOS? I do need to verify this.
And for the idle state, would it be something similar with C state? Pfsense has a default setting at C1 only, I tried to set it to C3, not sure if this is actually saving power though. -
Thanks for pointing out and I was thinking for the same,
would PowerD + EIST actually be able to lower the power consumption to a greater extent than if I lock the multiplier to the smallest value I can in BIOS? I do need to verify this.
And for the idle state, would it be something similar with C state? Pfsense has a default setting at C1 only, I tried to set it to C3, not sure if this is actually saving power though.It might, depending on the implementation on the CPU. EIST allows for voltage reduction and disabling it while holding the multiplier at the lowest value only allows you to gain power savings from lower operating frequency. However, enabling EIST will allow the core voltage to be reduced at lower loads, thus allowing additional savings. The savings might be minimal though.
Idle states is similar to C-states. However, C-states above C1E are only really useful if the core can be shut off. That is, if you have multiple cores and only 1 is in use, then the unused cores can be powered off. Alternatively, if the computer is in sleep mode or hibernation, C3/5/6 can be applied to almost completely power off the entire processor.
The key idea of using PowerD with EIST and disabling P4 throttling is that the CPU can ramp up to maximum speed when under load and still slow down to minimal speed when idle. Thus, you can get maximum performance and still save power when idling without manually setting the speeds in BIOS.
If your BIOS allows for it and you only need the CPU operating at minimum frequency, you can try undervolting the CPU in addition to locking the multiplier at the lowest frequency. If possible, applying a VID reduction is better than a fixed lower voltage since it would apply the reduced voltage at all states. -
As Dreamslacker says using EIST allows both the CPU frequency and voltage to be changed according to load.
It provided quite a big power saving for me on my Pentium-M box.
You'll just have to get a power meter and try it out! :)Steve
-
Thanks all for your kind sharing :D
Probably I will restore the Freq control and let PowerD works on it, they are so designed and I believe there are reasons behind.
Still, I will need a power meter to make things clear :-\ Will try to see if I can get one. -
Just now I got to BIOS and restore everything to default,
after some studies I found that the previous act, locking the freq to 1.6GHz by fixing the Maximum possible multiplier, actually has no conflicts with EIST, as EIST is an separated option on another page.
With the clock locked, it will work always at the lowest step possible thus most power-saving, just no room for it to step up.Now with the setting reset, the clock levels available becomes:
[2.0.1-RELEASE][admin@nchannel.nelsewhere.com]/root(6): sysctl dev.cpu.0.freq_levels dev.cpu.0.freq_levels: 2400/65000 2300/61000 2200/58000 2100/55000 2000/51000 1900/48000 1800/45000 1700/42000 1600/39000
Maybe I can just leave it this way as the router will usually stick to the lowest clock with PowerD on, reading from the dashboard.
The difference in power consumption with locked clock should be minimal. -
Exactly. Given that your board can route 850Mbps with cycles to spare it should remain at 1.6GHz almost all the time.
You can run powerd -v at the console to see the clock speed in real time.Steve
-
Exactly. Given that your board can route 850Mbps with cycles to spare it should remain at 1.6GHz almost all the time.
You can run powerd -v at the console to see the clock speed in real time.Steve
Thanks a lot Steve, you have been keeping follow up my questions and offer kind and detailed explanation :D
Also the others who have shared your ideas ;D -
Could you try testing 1/1Gbs Full Duplex. upload and download simultaneously)? Would be grateful.
-
Could you try testing 1/1Gbs Full Duplex. upload and download simultaneously)? Would be grateful.
Sorry that currently I am not sure how to set up such a test using Iperf and it cannot be conducted using the client I am using now as it is by the ISP, concurrent test cannot be carried out.
In case I managed to make it, I will try to update with you.