Anyone no where the CPU/ PVS binning is located on the N6P
I'm not really sure, but I found this in the output of the dmesg command (straight after a reboot):
Code:
[ 0.385299] cpu-clock-8994 f9015000.qcom,cpu-clock-8994: using A57 speed bin 0 and pvs_ver 0
JustinTrouble said:
I'm not really sure, but I found this in the output of the dmesg command (straight after a reboot):
Code:
[ 0.385299] cpu-clock-8994 f9015000.qcom,cpu-clock-8994: using A57 speed bin 0 and pvs_ver 0
Click to expand...
Click to collapse
I got the same, I'd like to know what binning these have and which is best. Doesn't look like thats the binning unless it starts at 0
Sent from my Nexus 6P using Tapatalk
I also had a look at another 6P, which reported the same: cpu-clock-8994 f9015000.qcom,cpu-clock-8994: using A57 speed bin 0 and pvs_ver 0
I wonder if the CPU binning is no longer reported in dmesg.
I wonder if we could determine it from cpr_adjust_init_voltages, which differed on my two 6Ps.
I can't remember where in Android the voltages are defined, to compare them.
The first 6P:
Code:
[ 0.273414] cpr_adjust_init_voltages: apc0_corner: adjusted initial voltage[2]: [B]880000 -> 855000[/B] uV
[ 0.273435] cpr_adjust_init_voltages: apc0_corner: adjusted initial voltage[3]: 930000 -> 905000 uV
[ 0.273464] cpr_pvs_init: apc0_corner: pvs voltage: [[B]780000 855000[/B] 905000[B] 1145000[/B]] uV
[ 0.274333] cpr_adjust_init_voltages: apc1_corner: adjusted initial voltage[3]: 950000 -> 925000 uV
[ 0.274355] cpr_adjust_init_voltages: apc1_corner: adjusted initial voltage[4]: 1145000 -> 1110000 uV
[ 0.274375] cpr_pvs_init: apc1_corner: pvs voltage: [840000 840000 925000 1110000] uV
The second 6P:
Code:
[ 0.272297] cpr_adjust_init_voltages: apc0_corner: adjusted initial voltage[2]: [B]860000 -> 835000[/B] uV
[ 0.272318] cpr_adjust_init_voltages: apc0_corner: adjusted initial voltage[3]: 930000 -> 905000 uV
[ 0.272346] cpr_pvs_init: apc0_corner: pvs voltage: [[B]760000 835000[/B] 905000 [B]1125000[/B]] uV
[ 0.273220] cpr_adjust_init_voltages: apc1_corner: adjusted initial voltage[3]: 950000 -> 925000 uV
[ 0.273242] cpr_adjust_init_voltages: apc1_corner: adjusted initial voltage[4]: 1145000 -> 1110000 uV
[ 0.273261] cpr_pvs_init: apc1_corner: pvs voltage: [840000 840000 925000 1110000] uV
Nobody has found where this information is located?
Sent from my Nexus 6P using Tapatalk
I would like to know where the CPU binning is located since its not in the usual place like on the 32bit SD805
Any updates?
I'm curious as well. I looked thru system with root explorer but had no luck.
I am still very interested in some insight into this
App to detect CPU quality and bin
Hi guys,
I would like to let you know that we've developed an app that should help identify CPU bin differences.
The app will inform you of your CPU bin if your device is rooted, otherwise, it runs a 'benchmark' to detect how good/bad your CPU is relative to other user's devices.
On older SoCs, like the Snapdragon 800, it was straightforward to determine the quality of the CPU from the CPU bin number. This is no longer the case with SoCs containing heterogeneous cores such as the Nexus 6P. Newer SoCs use AVS (Adaptive Voltage Scaling) rather than PVS (Passive Voltage Scaling) and thus, the voltages are determined by the device at runtime. To the best of our knowledge, there is no longer a simple CPU bin number that tells you how good or bad your chip is. Even if you did get hold of a CPU bin number, is a higher bin number really better? (dl.acm.org/citation.cfm?id=3032982)
Today, we're left with trying to determine the quality of our devices by running benchmarks and comparing the scores obtained. One of the biggest problems with benchmarks is that they don't account for temperature; both CPU and ambient. A good CPU running at room temperature can never match up to a bad CPU running inside, say, a refrigerator. Thus, benchmark results are skewed in favor of those that ran at lower ambient temperatures. Often, in benchmarks like Antutu, we're left with the scores of our device and the scores of the top 50 devices overall; a list in which our device model may not even make an appearance.
Our app is designed to account for both CPU temperature and ambient temperature. Comparisons between the results of your phone and others of the same make & model are further filtered based on temperature.
In other words, if you ran an experiment in a very cold environment, your results are compared against other iterations that ran under similar conditions.
We've had good success in identifying the quality of CPUs on the Nexus 5 and Nexus 6. We're trying to get the word out and collect data from a larger set of devices. Do note that the app is experimental and may have a few bugs. However, I'm actively working on improving it to providing better and more accurate results. Our end goal is to be able to allow users to run our app and get to know the quality of their smartphone before they buy it.
The app is available for Android on the PlayStore at:
Code:
play.google.com/store/apps/details?id=edu.buffalo.cse.phonelab.smartphonesexposed
Related
hi
i did some research regarding the topic and want to share my finds/work with everyone.
the comparison shows all pvs of MSM8974AB 2.3ghz (one m8 - pro_rev1_2p3g) and MSM8974AC (gs5 - pro_rev1_2p5g).
all table data manually taken from latest one m8 kernel sources.
in addition i added one m7 (APQ8064) and lumia 930 (2p2g) chips (pvs0 and pvs6) for intresting comparison.
with this guide in combination with root access, custom kernel and trickster mod you can find out your cpu's pvs bin (compare default voltages).
alternative to find your pvs: adb shell from recovery (su) "cat /proc/last_kmsg | grep bin: -i".
also it serves as a template to try out higher pvs settings on your cpu.
as you see, qualcomm did some impressive work with binning and trying to get most out of each cpu.
however there is usually still some headroom for optimizations if you do some efforts.
same research i already did for the m7 (APQ8064 compared to APQ8064T of galaxy s4) if someone is intrested (let me know).
happy clocking/volting!
i take no responsibilities for potential harm you do to your device. all on your own risk.
please share your results of which pvs level works on your personal chip (also tell stock pvs value of course).
preview:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
download link:
PVS Research.xls
best max frequency (sweet performance/power spot):
MSM8974AB 2.3ghz - 1.34ghz
MSM8974AC 2.5ghz - 1.57ghz
MSM8974v2 2.2ghz - 1.34ghz
APQ8064 1.7ghz - 1.24ghz
APQ8064T 1.9ghz - 1.35ghz
best screen-off frequency (this varies if you try higher pvs settings):
Snapdragon 801 2.3ghz MSM8974AB - One M8
MSM8974AB 2.3ghz PVS 0 - 300mhz
MSM8974AB 2.3ghz PVS 1 - 346mhz
MSM8974AB 2.3ghz PVS 2 - 422mhz
MSM8974AB 2.3ghz PVS 3 - 499mhz
MSM8974AB 2.3ghz PVS 4 - 576mhz
MSM8974AB 2.3ghz PVS 5 - 652mhz
MSM8974AB 2.3ghz PVS 6 - 499mhz
MSM8974AB 2.3ghz PVS 7 - 576mhz
MSM8974AB 2.3ghz PVS 8 - 652mhz
MSM8974AB 2.3ghz PVS 9 - 729mhz
MSM8974AB 2.3ghz PVS 10 - 806mhz
MSM8974AB 2.3ghz PVS 11 - 883mhz
MSM8974AB 2.3ghz PVS 12 - 960mhz
MSM8974AB 2.3ghz PVS 13 - 1036mhz
MSM8974AB 2.3ghz PVS 14 - 960mhz
MSM8974AB 2.3ghz PVS 15 - 1036mhz
Snapdragon 801 2.5ghz MSM8974AC - Galaxy S5
MSM8974AC 2.5ghz PVS 0 - 422mhz
MSM8974AC 2.5ghz PVS 1 - 499mhz
MSM8974AC 2.5ghz PVS 2 - 576mhz
MSM8974AC 2.5ghz PVS 3 - 652mhz
MSM8974AC 2.5ghz PVS 4 - 729mhz
MSM8974AC 2.5ghz PVS 5 - 806mhz
MSM8974AC 2.5ghz PVS 6 - 652mhz
MSM8974AC 2.5ghz PVS 7 - 729mhz
MSM8974AC 2.5ghz PVS 8 - 806mhz
MSM8974AC 2.5ghz PVS 9 - 883mhz
MSM8974AC 2.5ghz PVS 10 - 960mhz
MSM8974AC 2.5ghz PVS 11 - 1036mhz
MSM8974AC 2.5ghz PVS 12 - 1113mhz
MSM8974AC 2.5ghz PVS 13 - 1190mhz
MSM8974AC 2.5ghz PVS 14 - 1113mhz
MSM8974AC 2.5ghz PVS 15 - 1190mhz
Snapdragon 800v2 2.2ghz MSM8974v2
MSM8974v2 2.2ghz PVS 0 - 345mhz
MSM8974v2 2.2ghz PVS 1 - 499mhz
MSM8974v2 2.2ghz PVS 2 - 422mhz
MSM8974v2 2.2ghz PVS 3 - 499mhz
MSM8974v2 2.2ghz PVS 4 - 576mhz
MSM8974v2 2.2ghz PVS 5 - 499mhz
MSM8974v2 2.2ghz PVS 6 - 576mhz
Snapdragon 600 1.7ghz APQ8064 - One M7
APQ8064 1.7ghz PVS 0 - 594mhz
APQ8064 1.7ghz PVS 1 - 594mhz
APQ8064 1.7ghz PVS 2 - 702mhz
APQ8064 1.7ghz PVS 3 - 810mhz
APQ8064 1.7ghz PVS 4 - 702mhz
APQ8064 1.7ghz PVS 5 - 810mhz
APQ8064 1.7ghz PVS 6 - 702mhz
Snapdragon 600 1.9ghz APQ8064T - Galaxy S4
APQ8064T 1.9ghz PVS 0 - 702mhz
APQ8064T 1.9ghz PVS 1 - 702mhz
APQ8064T 1.9ghz PVS 2 - 702mhz
APQ8064T 1.9ghz PVS 3 - 810mhz
APQ8064T 1.9ghz PVS 4 - 702mhz
APQ8064T 1.9ghz PVS 5 - 702mhz
APQ8064T 1.9ghz PVS 6 - 702mhz
best min frequency:
lowest possible setting (300mhz in case of MSM8974)
i highly recommend to run those values (exept if you are actually playing demanding 3d games).
use trickster mod frequency lock feature to do so. you will experience amazing battery life.
how to get the maximum battery life:
if you have a MSM8974AB pvs 6 for example, try the following steps:
try the next higher pvs levels (pvs7). don't try AC pvs values on AB chips.
AB chips are binned for lower frequencies while AC are binned for higher frequencies (duh).
so if you have a AB chip, work your way up the AB pvs values until you have freezes or similar and move back.
if you have a AC chip, work your way up the AC pvs values etc...
if you found highest setting that does not cause any problems after intensive testing and usage:
congratulations, you did it. :good:
how to get the maximum frequency:
first try higher than stock maximum clock and see how it behaves.
if you don't reach your desired clockspeed, try the next lower pvs setting of your chip. yes, i said LOWER.
this gives the processor more voltage to reach higher overclocks.
i don't recommend it tho since we all want our phones to last as long as possible usually.
signs of too high overclock:
device lockups (not responding) or sudden reboots during heavy load.
signs of too low voltage:
problems with audio when screen off, long screen wakeup time, lockups and reboots even without cpu-load.
caused by not enough voltage for low frequency levels usually.
snapdragon 805 infos:
HD2Owner said:
here you go. i digged in the kernel sources and found it.
2.7GHz RC1 - speed2-bin-v1 (PVS levels 0-15)
2.7GHz RC0 - speed2-bin-v0 (PVS levels 0-15)
2.5GHz RC1 - speed1-bin-v1 (PVS levels 0-15)
2.5GHz RC0 - speed1-bin-v0 (PVS levels 0-15)
2.3GHz RC1 - speed0-bin-v1 (PVS levels 0-15)
2.3GHz RC0 - speed0-bin-v0 (PVS levels 0-15)
there seem to be two different variants of the 805 (RC0 and RC1).
RC0 seems to use less voltage at higher frequencies.
RC1 seems to use less voltage at lower frequencies.
the voltage tables you can take from the attached txt.
i also attached a txt containing how the bus clocks behave in relation to the cpu-frequency.
snapdragon 805 pvs 2.7ghz RC0.txt
snapdragon 805 pvs 2.7ghz RC1.txt
snapdragon 805 pvs 2.5ghz RC0.txt
snapdragon 805 pvs 2.5ghz RC1.txt
snapdragon 805 pvs 2.3ghz RC0.txt
snapdragon 805 pvs 2.3ghz RC1.txt
snapdragon 805 bus ratios.txt
Click to expand...
Click to collapse
enjoy and leave a thanks if you like it please.
edit v2:
fixed some flaws (22 downloads of v1)
@HD2Owner, seems like this would be better in an Original Dev section?
I realize that there's no place on XDA anymore without non-dev clutter, but this information - and a discussion of it - would seem to be better alongside kernel work than in the same section as "India chat", "British chat", "USA chat", and "I'm too lazy to read any thread so I'm going to post a question that's been answered 50294 times in the past 24 hours."
(I'd request a mod to move it, but it's your thread...)
Take care
Gary
sure.. it's not actual development but closely related research yes.
Sorry for the n00bish question, but what can I actually do with this? Im guessing some kind of undervolting / overclocking?
I am running ElementalX Kernel and have the Trickster Mod app installed.
Cheers
Stewart
StuMcBill said:
Sorry for the n00bish question, but what can I actually do with this? Im guessing some kind of undervolting / overclocking?
I am running ElementalX Kernel and have the Trickster Mod app installed.
Cheers
Stewart
Click to expand...
Click to collapse
Yea it's for understanding where you device Falls on the overclockability / how much voltage you'd need at different OC rates scale
I am in touch with trickster mod devs.
saving presets does not work yet.
when they fixed it, I will release all pvs presets.
Code:
cat /proc/last_kmsg | grep bin: -i
[ 0.321444] c1 1 clock-krait-8974 f9016000.qcom,clock-krait: Speed bin:
1
[ 0.321460] c1 1 clock-krait-8974 f9016000.qcom,clock-krait: PVS bin: 13
HTC One with PVS 13 here but happily running the following:
Code:
300MHz - 725mV
422MHz - 725mV
652MHz - 725mV
729MHz - 725mV
883MHz - 735mV
960MHz - 745mV
1036MHz - 755mV
1190MHz - 775mV
1267MHz - 785mV
1497MHz - 815mV
1574MHz - 825mV
1728MHz - 845mV
1958MHz - 880mV
2265MHz - 940mV
2457MHz - 975mV
HD2Owner said:
same research i already did for the m7 (APQ8064 compared to APQ8064T of galaxy s4) if someone is intrested (let me know).
Click to expand...
Click to collapse
I'd be very interested in that
I'm using an S4
Mr_Bartek said:
Code:
cat /proc/last_kmsg | grep bin: -i
[ 0.321444] c1 1 clock-krait-8974 f9016000.qcom,clock-krait: Speed bin:
1
[ 0.321460] c1 1 clock-krait-8974 f9016000.qcom,clock-krait: PVS bin: 13
HTC One with PVS 13 here but happily running the following:
Code:
300MHz - 725mV
422MHz - 725mV
652MHz - 725mV
729MHz - 725mV
883MHz - 735mV
960MHz - 745mV
1036MHz - 755mV
1190MHz - 775mV
1267MHz - 785mV
1497MHz - 815mV
1574MHz - 825mV
1728MHz - 845mV
1958MHz - 880mV
2265MHz - 940mV
2457MHz - 975mV
Click to expand...
Click to collapse
that's what i want to see here.. :highfive:
i will enhance the first post later with m7 vs gs4.
probably also some general guidelines.
but i need as much info as i can gather from different bins and experiences to make conclusions.
the plan is to post trickster mod voltage settings for all 32 pvs levels when export/import works.
until then you need to manually try the values. please stick to the posted values or report in detail.
@ moderators: feel free to move the thread where it fits best
I am using elementalX with undervolt -45. The values I get from trickster mod do they take into account the undervolting of the kernel or is it something more global that trickster mod does not show?
PVS info are unavailable on the galaxy S5 and the command on the terminal emulator isn't working,with that in mind checking the PVS binning is done in this directory :
/sys/devices/system/soc/soc0/soc_pvs
andreasyeah said:
I am using elementalX with undervolt -45. The values I get from trickster mod do they take into account the undervolting of the kernel or is it something more global that trickster mod does not show?
Click to expand...
Click to collapse
The issue with elementalX is that the undervolt only works for the lowest clock value and doesn't apply for the rest. Check in Trickster Mod and you'll notice that it's only applied to 300MHz.
also, even without root access, you could use adb bugreport >bugreport.txt then grep the file for infos.
On my note3 with Android 4.3 I don't get any Bin strings but ...
Hmm I can't get over 2.4ghz.
Locks up. Although elemental voltages seem a lot lower than those cited in the document attached to this thread.
I do wonder, is kernel tweaker successfully amending voltages?
I tried to ramp the voltages up whilst in power saving mode, then disabled power saving mode, but it locks up and restarts.
I would of hoped 2.5ghz is easily attainable as I thought we had the same processor but clocked to a lower frequency compared to the S5 etc.
Would appreciate some help with oc'ing.
I am PVS 12 and I've set the voltages specified in the spreadsheet with stock frequency and when I am running Antutu X, CORE 1 is stuck at 1%. I am not sure if this happens with default voltages too or if it's kernel related because I am running ElementalX 0.19. I've rebooted and I am trying to reproduce it now
EDIT: I've tested it with stock voltages, and I get the same problem. I am using Insertcoin ROM and the usage statistics of Insertcoin Control on the notifications(picture attached. Picture just shows the tool I am using. Not the moment when CORE1 locks.)
Is there a chance that it's not showing correct values for CORE1? Is there another app I can use to test the core usage while benchmarking?
EDIT2: I've found the problem. Everything works fine when I uninstall trickster and then restart. After I install trickster and run the benchmark, CORE1 locks at 1%-5% while others are 100%. I don't change any settings on trickster. Stock voltages and it does not even apply any settings on boot. If it is installed, no matter how many reboots I do, the problem persists. If I uninstall it and reboot, the problem is gone. I am really confused
EDIT3: Will it work if I change the UV_mV_table in /sys/devices/system/cpu/cpuX/cpufreq for each CPU Core? I want to change the voltage without Trickster because of the lock issue. Maybe we can make a flashable for each PVS that changes that file, so we don't have to use trickster
added some more infos and conclusions in first post.
Just an addition.
You can get the pvs number in HTC ONE M8 with:
Code:
su
cat /sys/module/clock_krait_8974/parameters/pvs_number
andreasyeah said:
Just an addition.
You can get the pvs number in HTC ONE M8 with:
Code:
su
cat /sys/module/clock_krait_8974/parameters/pvs_number
Click to expand...
Click to collapse
I am something doing wrong ?
Onem8 said:
I am something doing wrong ?
Click to expand...
Click to collapse
Are you doing this while in recovery or while it's booted up?
You can try to navigate to that path using a file explorer and see if it's actually there. Make sure you have a file explorer with root capabilities. If it's not there, I have no idea why!
andreasyeah said:
Are you doing this while in recovery or while it's booted up?
You can try to navigate to that path using a file explorer and see if it's actually there. Make sure you have a file explorer with root capabilities. If it's not there, I have no idea why!
Click to expand...
Click to collapse
This are the only files i have..
Update: I added a poll.
What do you guys have for PVS Bin.
PVS 5 on mine.
You do not need root, I used RootExplorer ironically enough.
Steps:
Go to sys/module/clock_krait_8974/parameters
Open table_name
PVS 7, bin v1
is it good or bad? lol
Higer the PVS number lower the voltages for the frequencies in the table.
However its not guaranteed that a higher PVS Bin CPU can OC higher than a lower binned part as they take samples when doing binning, so there could be lower binned parts that OC just as high as higher binned parts and vice a verse.
HD2Owner did a nice table here:
[GUIDE] Snapdragon 805/801/800/600 Clock & Voltage (PVS bin) guide
http://forum.xda-developers.com/htc-one-m8/general/guide-snapdragon-801-clocking-voltage-t2807173
PVS 6
Speed 3, PVS 8 v1
speed3-pvs6-bin-v1
PVS9... not useful without DooMKernel
AndroPlus said:
PVS9... not useful without DooMKernel
Click to expand...
Click to collapse
It is useful since it uses less power and heats less by CPU clock voltage ratio set by Qualcomm...
Ok just to be clear all are Speed 3 and v1 but PVS is different, mine is 8
PVS 8, you have nice one. I am usually on the low side with my luck on most devices lol.
PVS 8 for me too :good:
PVS12
Sent from my D6503 using XDA Free mobile app
PSV 11
pvs4 [emoji22]
Pvs 8. What is the highest?
I believe it's 15.
pvs4
pvs7
In my 4 exchanges this week for defects, PVS Bin increased each time lol. Went from 5,6,7,8.
PVS 8
.
Martin213 said:
pvs15
Click to expand...
Click to collapse
Wow you got the highest possible , nice.
Guys I added a poll, please vote.
According to the review of Anandtech, the Mali T760 GPU on our Galaxy S6 has a unused 852 Mhz clock state. Normal speed now is 772 Mhz. Hopefully, this can be enabled in future in custom kernels to better drive those 2k displays. I wonder why they didn't enable it default as the SoC on 14nm should handle the temperature. More speed Ahead i hope.
"There's also a suspicion that Samsung was ready to go higher to compete with other vendors though, as we can see evidence of an 852 MHz clock state that is unused. Unfortunately deeply testing this SoC isn’t possible at this time as doing so would require disassembling the phone"
http://www.anandtech.com/show/9146/the-samsung-galaxy-s6-and-s6-edge-review/2
That's cool! Maybe they didn't enable it to safe battery?
Beukhof1 said:
That's cool! Maybe they didn't enable it to safe battery?
Click to expand...
Click to collapse
Perhaps, with custom kernel we can maybe turn off 2 A57 cores and ramp up to MAX GPU 852 Mhz, that'll be sweet.
Actually the test on the battery page proved that the GPU is throtteling when it targets the maxium frequency
"The one major issue here that is visible from the FPS vs time graph is that Samsung continues to struggle with graceful throttling as the GPU attempts to always target maximum performance, which causes a strong rise and fall in frame rate as the GPU goes through periods of high and low clock speeds determined by the thermal governor."
kemo6600 said:
Actually the test on the battery page proved that the GPU is throtteling when it targets the maxium frequency
"The one major issue here that is visible from the FPS vs time graph is that Samsung continues to struggle with graceful throttling as the GPU attempts to always target maximum performance, which causes a strong rise and fall in frame rate as the GPU goes through periods of high and low clock speeds determined by the thermal governor."
Click to expand...
Click to collapse
I think this only happens on sustained push by the benchmark app, i doubt it'll be same behaviour on real world usage. But in any case custom kernels will provide various tweaks and alternative governors to try.
They have also hidden 4 frequencies on the larger cores. They are at 2.2 even though they can go up to 2.5.
guaneet said:
They have also hidden 4 frequencies on the larger cores. They are at 2.2 even though they can go up to 2.5.
Click to expand...
Click to collapse
Exynos 2.1Ghz not 2.2Ghz...
SD810 2.0Ghz
Sent from my SM-G920F
ama3654 said:
I think this only happens on sustained push by the benchmark app, i doubt it'll be same behaviour on real world usage. But in any case custom kernels will provide various tweaks and alternative governors to try.
Click to expand...
Click to collapse
DVFS is sadly in effect all the time limiting the frequency. You can check it yourself by opening CPU-Z in multiwindow (only way to display frequency of the mali gpu) and running a game. Only thing that is going to let users run customised settings is xposed with DVFS disabler + custom kernel.
What is the PVS bin? It is a known fact that not all semiconductor chips leave the factory equal because of complicated baking process, and for most expensive complex articles like CPU and GPU manufacturers introduced a sorting practice called "binning". Qualcomm also has such scale for their chips, that consist of PVS value range from 1 to 15, to aware Android software how many voltage it should apply to CPU on a certain clock to run error free. The bigger PVS value is, the lesser power required to run CPU stable. So, the story is about energy effectiveness.
Please, share your Droid Turbo PVS bin in a poll.
How to know your bin: use file manager to go to the path /proc/cpu/, and open file msm_acpu_pvs as a text.
PVS bin value is stored as a hexadecimal, so when you see a letter instead of a digit, convert it to decimal like: A=10, B=11, C=12, D=13, E=12, F=15, and vote in the poll above. Thanks! )
(Inspired by this thread)
Mine is 3
Oops. Didn't see the options above
Cobra04 said:
Mine is 3
Oops. Didn't see the options above
Click to expand...
Click to collapse
LOL. Sorry, added poll lately ) Mine is 6.
Voted. Mines 8.
Does this essentially mean I can undervolt more before the device becomes unstable and reboots, than someone who has a PVS value of let's say 2?
iiWoodstocK said:
Voted. Mines 8.
Does this essentially mean I can undervolt more before the device becomes unstable and reboots, than someone who has a PVS value of let's say 2?
Click to expand...
Click to collapse
Yes. Probably, your SoC CPU cristal with "8" was in the center of semiconductor wafer, and mine "6" was somewhere closer to the side
The difference in voltage applied not so big, I guess, from 0 to 20mV max in your favor.
As for the "2" CPU, it is tougher, and will be auto driven by higher voltage. Or we set it manually by installing custom kernel with voltage tune support, and try to earn your effectiveness. But then, again, you can start manual control too, tuning voltage down, and Turbo with "2" will suck (
s5610 said:
Yes. Probably, your SoC CPU cristal with "8" was in the center of semiconductor wafer, and mine "6" was somewhere closer to the side
The difference in voltage applied not so big, I guess, from 0 to 20mV max in your favor.
As for the "2" CPU, it is tougher, and will be auto driven by higher voltage. Or we set it manually by installing custom kernel with voltage tune support, and try to earn your effectiveness. But then, again, you can start manual control too, tuning voltage down, and Turbo with "2" will suck (
Click to expand...
Click to collapse
Interesting! Thank you for the explanation! So I guess that's why I'm able to undervolt -70mV without encountering stability issues, where others would get reboots if they did the same.
Mine is 6 and was written as digit
I have a 64gb turbo with 2 :_( :_(
4
Sent from my XT1254 using Tapatalk
8 on xt1250
Mine was 6 (which I voted-in)
My wife's phone is 4 (which I cannot vote-in because the poll won't let me vote twice)
schwinn8 said:
Mine was 6 (which I voted-in)
My wife's phone is 4 (which I cannot vote-in because the poll won't let me vote twice)
Click to expand...
Click to collapse
) I can't double vote too, having 7 pcs by the hand. PVS bits on them are: PVS4 - 1 pcs, PVS5 - 4 pcs, PVS7 - 1 pcs, PVS9 - 1 pcs.
Hi,
I've prepared two small CPU "fixes" for Xiaomi Redmi Note 4/4X Nikel (Mediatek MT6797 Helio X20 CPU).
There are several fixes on the web, but none of them actually worked good.
As you probably know, CPU in our devices are controlled by both standard cpufreq interactive linux CPU goveror and proprietary Mediatek Perfservice.
The problem is, that Perfservice tends to set max frequencies and waking up big cores on certain events like launching/switching app or simpy touching or rotating screen.
Providing excellent user experience, but wasting battery power at the same time.
Simply disabling Perfservice isn't good idea, as - contrary to governor settings - both A72 cores will be limited to 1,5Ghz (down from 2,1Ghz).
So while this is nice and power saving, it also limits single core performance considerably (to about 1200 points in Geekbench 4).
Multicore performance seems unaffected, though.
My modification aim to reduce power consumption and temperatures while still providing (almost) stock speed.
It comes in two "flavours", and please note you only need ONE of them (your choice).
Two files are included in this post:
perfservscntbl.txt is *only* for flavour 1.
unlock.sh is *only* for flavour 2.
But you can use both if you want to switch between flavours.
And of course they come without any warranty - I don't take responsibility for *any* damage and bricked devices.
They were prepared in two hours time, in fact I rooted my phone yesterday and have it for a week - so I didn't do much testing.
If you don't know what are you doing, never used linux before etc - please simply don't do it.
If you have TWRP use it and make backup just in case.
Prequisities :
- Unlocked and rooted Helio X20 device
Flavour 1
This modification alters perfservice settings to much simpler and less aggresive.
- backup your stock /system/etc/perfservscntbl.txt
- replace it with included file
- give it 644 permissions (rw-r--r--)
- reboot
That's it.
Flavour 2
This modification disables perfservice entirely and unlocks A72 cores high speed for standard governor
- disable mediatek perfservice by setting
ro.mtk_perfservice_support = 0
in your build.prop (/system/build.prop)
- reboot
- run incuded bash script with root privileges to unlock max frequencies (linux proc changes are not permanent, only until reboot!).
You can use something like ROMToolboxPro to execute script automatically after each reboot.
Or use terminal as root user to set it manually (just look what's inside).
Notes:
Due to lower average frequencies (and time that interactive governor will need to ramp them up) performance will most likely be still slightly inferior to stock and you will ocassionally feel UI shuttering.
Even though you should still be able to hit 1500+/4800 in Geekbench 4 on both variants, just like stock.
I hope it will help.
Q&A:
Q) How much more SOT and standby can I achieve with these patches?
A) I really don't have any idea. I don't do such tests.
Q) Which flavour is faster?
A) Probably first one, especially for UI. Tends to utilize mid cluster more. Second one is more energy-saving. But on multicore geekbench test I got opposite results (tested just once).
Q) How can I check that it is working?
A) Try DevCheck and observe frequencies before and after mod. Try switching applications, rotating and touching screen.
Q) Can I improve battery life even further and still have usable phone (without buying snapdragon version)?
A) Yes, you can disable A72 cores entirely and have ordinary octa-core CPU (4*1.8Ghz + 4*1.4Ghz):
echo Low_Power > /proc/ppm/mode
Performance will be around 650/3500 Geekbench4 points.
Alternatively you can do it this way (don't know what's the difference yet)
echo 2 > /proc/ppm/policy/hica_power_state
Or disable both high and mid cluster, and leave only low cluster (kind of super powersaving mode, x20 becomes quad core)
echo 0 > /proc/ppm/policy/hica_power_state
(echoing -1 there will re-enable all clusters)
Q) Can I improve perfservice settings further?
A) Yes, I spent only about one hour on them, and speak polish not chinese, so almost certainly they can be improved.
http://blog.csdn.net/zhangyongfeiyong/article/details/52946781
For example I don't have any idea what's the difference between vcore 1 and 3.
Even though 3 seems to be selected for better performance, I haven't noticed any speed difference.
I set it to 1, so it may run undervolted. Maybe. Hopefully. You can also remove vcore entries entirely.
I'm using flavour 2 though, so I'm not gonna work on it anymore.
Q) My AnTuTu score (or other benchmark score, or game X FPS) went down!
A) Unfortunately, this is what you should expect from battery saving modifications.
If you need top-notch performance these modifications are not for you.
You can try altering cpufreq governor settings, though.
Q) Can I improve it further by altering cpufreq governor settings?
A) Probably yes, but not much. Default cpufreq settings are actually quite good.
Q) Will you tune cpufreq governor for my specific purposes?
A) I'm sorry I don't have time for it. As I said, default one is quite nice already.
Q) Can I improve overall device performance further?
A) Yes, you can for example enable zRAM and tune I/O schedulers, queues and low memory killer YMMV, though. And it depends on your workload.
Q) I really don't know how to do it, can you provide one click installer?
A) No, and I strongly advise against doing it if you don't understand.
Q) My device exploded!
A) You have been warned
amazing mate! waiting for some reviews of this, i am going to try it
how to input these codes:
Alternatively you can do it this way (don't know what's the difference yet)
echo 2 > /proc/ppm/policy/hica_power_state
Or disable both high and mid cluster, and leave only low cluster (kind of super powersaving mode, x20 becomes quad core)
echo 0 > /proc/ppm/policy/hica_power_state
iflawlietasgod said:
how to input these codes:
Alternatively you can do it this way (don't know what's the difference yet)
echo 2 > /proc/ppm/policy/hica_power_state
Or disable both high and mid cluster, and leave only low cluster (kind of super powersaving mode, x20 becomes quad core)
echo 0 > /proc/ppm/policy/hica_power_state
Click to expand...
Click to collapse
You need to either access terminal with superuser rights (look for Terminal Emulator) or use app that can execute shell scripts (like Rom Toolbox or FX Explorer).
Tried echo 1 > /proc/ppm/policy/hica_power_state
It will disable your 2x A72 + 4x A53 1.4GHz, leaving you with 4x A53 1.8GHz. Sounds like "not-so-aggressive ultra powersaving mode" for me
TwelveMoon said:
Tried echo 1 > /proc/ppm/policy/hica_power_state
It will disable your 2x A72 + 4x A53 1.4GHz, leaving you with 4x A53 1.8GHz. Sounds like "not-so-aggressive ultra powersaving mode" for me
Click to expand...
Click to collapse
But you'll lose lowest powered A53 cores. I wonder if L cores (1.8Ghz) consume more power than LL cores (1.4Ghz) when doing nothing.
Even in such case, this setting should be ideal for long term gaming - decent performance with probably no thermal throttling
Ah, there is also "/proc/ppm/mode" setting. I set it to "Just_Make" recently - seems to be between "Low_Power" and "Performance". Just_make doesn't limit any frequecies or affect GeekBench score.
sobrus said:
But you'll lose lowest powered A53 cores. I wonder if L cores (1.8Ghz) consume more power than LL cores (1.4Ghz) when doing nothing.
Even in such case, this setting should be ideal for long term gaming - decent performance with probably no thermal throttling
Click to expand...
Click to collapse
Yeah, I've tried to use echo 0 on /proc/ppm/policy/hica_power_state as well, and it turns out that 4x A53 1.4GHz is still usable for low-end gaming. Tried Antutu benchmarking on echo 0 setting + CPU hifreq turned down to 1092MHz by tweaking governor values, I still get 50K++, which is quite good for me.
I also accidentally locked my lowest cluster to the lowest frequency possible (221 MHz) by simultaneously change the target_loads and go_hispeed_load values to beyond 100 (120 for example). My device became unimaginably laggy at that time :laugh:
FYI, those tweaks give me extra up to 2 hrs of SOT, which is good for someone who spent a lot of time with this device like me :laugh:
I have my go_hispeed_load far beyond 100 (I don't quite like the idea of "hispeed" and "boost" and it's OK - not excellent, but passable, closer to conservative governor), but any target_loads beyond 90 will make UI choppy and beyond 100, as you noticed, will lock on lowest frequency.
If someone needs better UI experience, setting it to 80-85 would be my first experiment, then reducing timer to 10000.
Extra 2hr is nice improvement
flavour 2 is only use 2xA72 only? middle and low is disable?
Flavour 1 - stuck on boot logo.
IS it for miui 8 only?
I'm a little interested in htat. I have a Leeco s3 running MIUI 9 beta.
My problem is that in RR3 the a72 idles 1ghz to 1.5ghz, not more. And sometimes game is a little laggy.
Your tweak would fix that?
Is there anything I can do with kernel auditor more safety?
Leeco S3 uses Qualcomm Snapdragon 652, so my tweak won't help.
And unfortunately I don't know have any Snapdragon phone to prepare tweaks for you
You can try to set performance cpu governor, but I don't know if it is possible on your device.
Are you sure your device is not throttling due to high temperatures?
sobrus said:
Leeco S3 uses Qualcomm Snapdragon 652, so my tweak won't help.
And unfortunately I don't know have any Snapdragon phone to prepare tweaks for you
You can try to set performance cpu governor, but I don't know if it is possible on your device.
Are you sure your device is not throttling due to high temperatures?
Click to expand...
Click to collapse
Maybe he meant x626?
These tweaks confirmed to be working on LeEco Le S3 X626 (MTK Helio X20)! The result is REALLY noticeable. I'd say around 50% increase in battery life. (I used method 2)
How did you know the policy command, "echo 0 > /proc/ppm/policy/hica_is_limit_big_freq"
What is "echo 0"?
And what is mean by "hica_is_limit_big_freq"?
Where i can find any other policy command?
cheapster8 said:
These tweaks confirmed to be working on LeEco Le S3 X626 (MTK Helio X20)! The result is REALLY noticeable. I'd say around 50% increase in battery life. (I used method 2)
Click to expand...
Click to collapse
How did you use method 2?
Guide me please
Sent from my LEX626 using Tapatalk
Can anyone explain me how to install that archive?and how to increase the working time of the phone with this archive?
@Votrexx
I don't understand what your problem is
@BLINGER-PC, @CSSman
You need to ROOT your phone first, which may void your warranty, and by doing these changes improperly you CAN brick your phone too.
That's why I'm not going to give explanations easier than "modify your build.prop and echo this value". It is all you need to do.
You need basic understanding how linux and android work before you begin to be sure you won't damage your phone.
Sorry.
sobrus said:
@Votrexx
I don't understand what your problem is
@BLINGER-PC, @CSSman
You need to ROOT your phone first, which may void your warranty, and by doing these changes improperly you CAN brick your phone too.
That's why I'm not going to give explanations easier than "modify your build.prop and echo this value". It is all you need to do.
You need basic understanding how linux and android work before you begin to be sure you won't damage your phone.
Sorry.
Click to expand...
Click to collapse
What to modify at build.prop
?
ro.mtk_perfservice_support = 0
It is written in the first post.