Jump to content

[KERNEL] Sub501 Kernel, mods and control apk


Guest Sub501

Recommended Posts

Hi

I flashed your kernel and the init-mods on r8 but couldn't find any info on how to use that once done. I checked in with aLogCat and governor as a filter and saw nothing. What am i missing?

Link to comment
Share on other sites

Hi

I flashed your kernel and the init-mods on r8 but couldn't find any info on how to use that once done. I checked in with aLogCat and governor as a filter and saw nothing. What am i missing?

For powermanagement (screen-state) script:

Filter by 'pwrmgt' in aLogCat, then switch the screen off then on.

Still not working? Check if you have the config file /data/etc/powermanagement.conf .

For undervolt (also useful to see the overclock frequencies):

Install a terminal app on your phone . Start the terminal then enter:

cat /proc/undervolt

You should see the voltage table (default|current|frequency).

Not working? Check if the undervolt module is loaded:

lsmod | grep undervolt

Not loaded? A little debug is required but I hope is not the case :-).

Cheers.

Edited by Sub501
Link to comment
Share on other sites

Guest el_boufono
The linux kernel is governed by different power modules (or settings) that scales the frequency dynamically. Each has it's pluses and minuses. Each is for a specific reason. This kernel includes interactive, ondemand, powersave, userspace and performance governors.

The default one that is used by HTC is the ondemand governor. Google developed the interactive governor. What governor is best is just a matter of taste. Interactive is snappier than ondemand but some say it uses more battery, powersave uses the least amount of battery but is also the slowest as it keeps the CPU at it's lowest possible freq. (245Mhz default on this phone), performance uses the most amount of battery but is also the fastest as it keeps the CPU at it's highest possible freq. (998Mhz default and it can be raised by overclocking).

Overclocking the phone and also using the performance governor is not recommended as it may damage your phone.

You can find info about them here

My my thank you! Al is clear now! Thanks alot.

Link to comment
Share on other sites

Guest TheUntouchable
For powermanagement (screen-state) script:

Filter by 'pwrmgt' in aLogCat, then switch the screen off then on.

Still not working? Check if you have the config file /data/etc/powermanagement.conf .

For undervolt (also useful to see the overclock frequencies):

Install a terminal app on your phone . Start the terminal then enter:

cat /proc/undervolt

You should see the voltage table (default|current|frequency).

Not working? Check if the undervolt module is loaded:

lsmod | grep undervolt

Not loaded? A little debug is required but I hope is not the case :-).

Cheers.

Just tested these things for fun, after updating my r9 (old script included) with your newest one and the new kernel. Everything seams to work right :P

Link to comment
Share on other sites

for further power saving:

does somebody know?

is it somehow posssible to permanent reduce the default 100mW (!) tx power to somewhat lower value?

iwconfig eth0 tx 10mW

would do it, but is lost after disabling wifi and enabling again

Link to comment
Share on other sites

for further power saving:

does somebody know?

is it somehow posssible to permanent reduce the default 100mW (!) tx power to somewhat lower value?

iwconfig eth0 tx 10mW

would do it, but is lost after disabling wifi and enabling again

I think it is possible. Stay tuned may be I release something this weekend.

Stupid question... from where did you get the wireless-tools? My R8 doesn't has iwconfig. If I find an ARM binary it will save me some time.

Edited by Sub501
Link to comment
Share on other sites

I think it is possible. Stay tuned may be I release something this weekend.

Stupid question... from where did you get the wireless-tools? My R8 doesn't has iwconfig. If I find an ARM binary it will save me some time.

i'm on a modified aura sense rom 7.9 atm, which has the iwconfig binary (execution called in /system/bin/ssts screenstate scaling script)

and use your kernel and scripts btw, works well

Edited by woti17
Link to comment
Share on other sites

@Sub501,

Seen this SD speed fix over on XDA:

http://forum.xda-developers.com/showthread.php?t=815557

Will applying it overwrite your gov from the r9 kitchen?

Cheers

David P

Of course, it is a different kernel with different version magic.

But why doing this in kernel instead of runtime config? Normally /etc/sysctl.conf should (not tested yet) solve without patching the kernel.

example:

vm.max-readahead=64

vm.min-readahead=32

then sysctl -p to load it.

Good idea of init-mod improvement ;-).

Link to comment
Share on other sites

Guest David_P
Of course, it is a different kernel with different version magic.

But why doing this in kernel instead of runtime config? Normally /etc/sysctl.conf should (not tested yet) solve without patching the kernel.

example:

vm.max-readahead=64

vm.min-readahead=32

then sysctl -p to load it.

Good idea of init-mod improvement ;-).

Since I am not a dev, that all went totally above my head, but thanks for the clarification :-)

David P

Link to comment
Share on other sites

Of course, it is a different kernel with different version magic.

But why doing this in kernel instead of runtime config? Normally /etc/sysctl.conf should (not tested yet) solve without patching the kernel.

example:

vm.max-readahead=64

vm.min-readahead=32

that will probably not work, because the kernel on xda is patched for readahead settings

Link to comment
Share on other sites

For powermanagement (screen-state) script:

Filter by 'pwrmgt' in aLogCat, then switch the screen off then on.

Still not working? Check if you have the config file /data/etc/powermanagement.conf .

For undervolt (also useful to see the overclock frequencies):

Install a terminal app on your phone . Start the terminal then enter:

cat /proc/undervolt

You should see the voltage table (default|current|frequency).

Not working? Check if the undervolt module is loaded:

lsmod | grep undervolt

Not loaded? A little debug is required but I hope is not the case :-).

Cheers.

Thank you very much.

At first i thought it was not working as i was looking for the config files but was only showed an empty /data directory in EStrong file explorer because i forgot to give it superuser privileges.

Everything is fine now. I could see the switching in aLogCat and the voltage table with cat /proc/undervolt. Only problem is even tho' i know it's working i couldn't perform a "lsmod | grep undervolt" as the "|" key would not work, it's there but does nothing when i select it.

I started playing around with conf files and will keep on doing so to find my sweet spot.

Thanks again for taking the time to deal with my inabilities.

Link to comment
Share on other sites

Thank you very much.

At first i thought it was not working as i was looking for the config files but was only showed an empty /data directory in EStrong file explorer because i forgot to give it superuser privileges.

Everything is fine now. I could see the switching in aLogCat and the voltage table with cat /proc/undervolt. Only problem is even tho' i know it's working i couldn't perform a "lsmod | grep undervolt" as the "|" key would not work, it's there but does nothing when i select it.

I started playing around with conf files and will keep on doing so to find my sweet spot.

Thanks again for taking the time to deal with my inabilities.

lsmod alone is enough btw

grep-ing for undervolt in the output of the command is only useful when there is a massiv amount of modules loaded, so that only the one is displayed that matches the grep expression "undervolt"

in the output of lsmod you should see undervolt as _one_ of them modules loaded

Edited by woti17
Link to comment
Share on other sites

Yeah, http://www.redhat.com/magazine/001nov04/features/vm/ is somehow out of scope. The min/max-readahead keys are not found.

The vanilla 2.6.35 kernel has 128/16 for max/min .

Now, I have to find why HTC reduced min/max to 4kbytes . Don't like to change until I understand the reasons they lowered to 4.

From: http://www.redhat.com/magazine/001nov04/features/vm/

"

min-readahead

.........

By raising this value, the Linux kernel allows the readahead value to grow larger, resulting in more blocks being prefetched from disks which predictably access files in uniform linear fashion. This can result in performance improvements but can also result in excess (and often unnecessary) memory usage. Lowering this value has the opposite affect. By forcing readaheads to be less aggressive, memory may be conserved at a potential performance impact.

max-readahead

Like max-readahead, min-readahead places a floor on the readahead value. Raising this number forces a file's readahead value to be unconditionally higher, which can bring about performance improvements provided that all file access in the system is predictably linear from the start to the end of a file. This, of course, results in higher memory usage from the pagecache. Conversely, lowering this value, allows the kernel to conserve pagecache memory at a potential performance cost.

"

Try this:

echo "128" > /sys/block/mmcblk0/bdi/read_ahead_kb

It should set read ahead for SDcard only.

Let me know if this mod is working (your SDcard performance is imporved).

Edited by Sub501
Link to comment
Share on other sites

echo "128" > /sys/block/mmcblk0/bdi/read_ahead_kb

It should set read ahead for SDcard only.

Let me know if this mod is working (your SDcard performance is imporved).

just out of curiosity: what sense makes readahead on a sdcard with none moving/rotating parts?

this is useful on rotating harddisks. where sectors are read because they would be used later but the head is now at a point and can also read the data while there for later?

on a static storage like the sd card, mmmh?

it maybe also may to speed down the transfer rate if the controller is overruled with harddisk preferences for readahead?

well and the same goes for nand btw.

Edited by woti17
Link to comment
Share on other sites

just out of curiosity: what sense makes readahead on a sdcard with none moving/rotating parts?

this is useful on rotating harddisks. where sectors are read because they would be used later but the head is now at a point and can also read the data while there for later?

on a static storage like the sd card, mmmh?

it maybe also may to speed down the transfer rate if the controller is overruled with harddisk preferences for readahead?

well and the same goes for nand btw.

Here are my assumptions: it is something like caching. You find data in memory then no IO penalty. IO penalty is not only in rotating devices, can be in drivers, chipset, bus, usb hubs and so on.

My SDCARD is OK with stock 4kbytes and I will not include the patch in the kernel but if peoples found that readahead is boosting their sdcard performance then why not helping them with a configurable init mod...

Link to comment
Share on other sites

Here are my assumptions: it is something like caching. You find data in memory then no IO penalty. IO penalty is not only in rotating devices, can be in drivers, chipset, bus, usb hubs and so on.

My SDCARD is OK with stock 4kbytes and I will not include the patch in the kernel but if peoples found that readahead is boosting their sdcard performance then why not helping them with a configurable init mod...

well. this seems logical, but then, it would likely not be in the kernel as the kernel doesn t know about userspace programms doing prefetch into memory

and what i have read about solid state disks, you turn off readahead to have not the effect of slowing down because its pointless to use readahead on non rotating drives

should be something like ureadahead in ubuntu then, which prefetches infos _about_ files that are nessessary for booting to make boot faster.

and i wonder if the kernelfunction readahead also is used for other i/o than harddisk, cdrom etc but then im no kernel dev

Edited by woti17
Link to comment
Share on other sites

well. this seems logical, but then, it would likely not be in the kernel as the kernel doesn t know about userspace programms doing prefetch into memory

and what i have read about solid state disks, you turn off readahead to have not the effect of slowing down because its pointless to use readahead on non rotating drives

should be something like ureadahead in ubuntu then, which prefetches infos _about_ files that are nessessary for booting to make boot faster.

and i wonder if the kernelfunction readahead also is used for other i/o than harddisk, cdrom etc but then im no kernel dev

Yes as I said it will not be in kernel but in init mods.

http://www.mail-archive.com/linux-embedded...g/msg02591.html

"As for SSD, I find that Intel X25-M SSD desires large readahead size

> > even for sequential reads"

On SSD seek time is let's say 0 but read is not instant.

Anyway, who want to play with readahead and post some results...

Edited by Sub501
Link to comment
Share on other sites

Try this:

echo "128" > /sys/block/mmcblk0/bdi/read_ahead_kb

It should set read ahead for SDcard only.

Let me know if this mod is working (your SDcard performance is imporved).

sd card speed test from market

aura 7.9 kernel - 2.6.35-gd96f2c0-sub501 #1

start

cat /sys/block/mmcblk0/bdi/read_ahead_kb

=4

echo xy > /sys/block/mmcblk0/bdi/read_ahead_kb

read/write in MB/s

without ( xy = 4k)

6/4, Buffer 1MB

with xy=8k

9/5 (1MB)

5/4 (10MB)

with 16k

11/5 (1MB)

11/5 (10MB)

with 32k

11/5 (1MB)

11/5 (10MB)

with 64k

14/4 (1MB)

13/4 (10MB)

with 128k

16/5 (1MB Buffer)

15/5 (10MB Buffer)

with 256k

16/5 (1MB)

16/5 (10MB)

with 512k

15/5 (1MB)

16/5 (10MB)

with 1024k

15/5 (1MB)

17/5 (10MB)

seems 256-1024 is best for 10MB, 128-256 best for 1MB

cannot test for < 1MB, would be interesting with loads of small files

Edited by woti17
Link to comment
Share on other sites

Guest System of a pWne!^

Hey Sub501, may you add the acpu table of this kernel please? http://forum.xda-developers.com/showthread.php?t=801435

I'm currently using this kernel but I want to switch to yours. What I like most of his kernel are the new CPU steppings (more steps and even down to 128 MHz).

My suggestion is, not to take the table from his post (it's an older afaik) but the one from his source.

Thanks in advance.

Edited by System of a pWne!^
Link to comment
Share on other sites

Hey Sub501, may you add the acpu table of this kernel please? http://forum.xda-developers.com/showthread.php?t=801435

I'm currently using this kernel but I want to switch to yours. What I like most of his kernel are the new CPU steppings (more steps and even down to 128 MHz).

My suggestion is, not to take the table from his post (it's an older afaik) but the one from his source.

Thanks in advance.

Have you ever look in /data/etc/undervolt.conf ?

You can edit this file and put your voltage table, save, reboot and that's all.

Example:

950 1050 19200

950 1050 128000

950 1050 245000

975 1050 384000

975 1050 422400

1000 1050 460800

1025 1075 499200

1025 1100 537600

1050 1100 576000

1075 1125 614400

1100 1150 652800

1125 1175 691200

1150 1200 729600

1175 1200 768000

1200 1225 806400

1200 1250 844800

1225 1275 883200

1225 1300 921600

1250 1300 960000

1250 1300 998400

1275 1300 1036800

1275 1300 1075200

1300 1300 1113600

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.