[Q] Schedulers - Nexus 5 Q&A, Help & Troubleshooting

Hi and forgive my 'noobness' but do you guys think there's a significal difference in performance/battery if I use a different scheduler, because I googled a lot about the differences between all of them and I actually understand what all they do and their main advantages. Some people say that ROW feels quicker than deadline but Im not sure if its placebo. A guy in andrux-and-me(dot)blogspot(dot)com(dot)es/2014/05/io-schedulers-and-performance-2(dot)html compared/tested them so that's why I was wondering.
I always use the default scheduler in ElementalX (ROW I think) and never had any troubles but I also believe that Franco uses deadline so I was wondering what the experts here have to say.

Difference isn't too noticeable for most.

DamnItLukasz said:
Hi and forgive my 'noobness' but do you guys think there's a significal difference in performance/battery if I use a different scheduler, because I googled a lot about the differences between all of them and I actually understand what all they do and their main advantages. Some people say that ROW feels quicker than deadline but Im not sure if its placebo. A guy in andrux-and-me(dot)blogspot(dot)com(dot)es/2014/05/io-schedulers-and-performance-2(dot)html compared/tested them so that's why I was wondering.
I always use the default scheduler in ElementalX (ROW I think) and never had any troubles but I also believe that Franco uses deadline so I was wondering what the experts here have to say.
Click to expand...
Click to collapse
I've done benchmarks with some schedulers at different buffer sizes, and other users have done way more extensive testing.
it is heavily device dependent and benchmarking does not exactly reflect real-life usage.
your best bet is to find one that works for you.
my two most common are row and fiops at 512 or 1024 buffer.

it all depends how personally you use your device. how you use it would show you which one to use. i use only deadline. it works perfectly for how i use my device.

Related

scheduler - what to use and why

I have yet to find a good explaination for this and since I am a n00b that is trying hard to improve my phone performance without destroying it I thought I would ask here.
What do the schedulers do, and do they really make a difference in performance? Can I hurt my phone by changing them? Are they only used if I want to OC?
http://blog.mypapit.net/2011/01/the-differences-between-linux-io-scheduler.html
I use sio.
No, trying different ones out will not hurt your phone.
No, they are used constantly, overclocking or not.

Q and A related to Team UtterChaos [UC] kernel

This thread is regarding discussion about Doomlord UC kernel for our device. This thread is specially for general chit chat, opinions, Q and A related to his kernel so that main thread of Doomlord kernel in developement section will have less crowd of unnecessary questions & posts.
So I request senior members to help noobs here. Also if necessary Doomlord will also answer ur important querries here.
Important :-Kernel is working universally perfectly with EVERY firmwares without any problems.
Current version :- v14 (21st MAY 2012)
Original Thread for updates
http://forum.xda-developers.com/showthread.php?t=1357747
http://forum.xda-developers.com/showpost.php?p=26353627&postcount=1659
Thank you.
Regards,
Vishal
Well now that kernel development is in full swing, could we look into fixing the notification bug? I don't know much about android development, but I read someone say it could be kernel related... That I feel is the biggest bug facing our beloved phone on gb!
manrock111 said:
@doomlord finally you got our device, this device has seen lots of bad times and always neglected by senior members or devs. I know lots of your work involve sony ericsson devices,qualcomm devices .
So how do you feel about our device? It's cost only 17k and you know now how it is.
What do you think of it compare to others.
Sent from my GT-I9003 using Tapatalk
Click to expand...
Click to collapse
Sent from my GT-I9003 using Tapatalk
I've just loaded UC v2 on my DXKP9 SL with ext4 and it works fine.
bigeyes0x0 said:
I've just loaded UC v2 on my DXKP9 SL and it works fine.
Click to expand...
Click to collapse
can u tell us which governer & scheduler will be best for battery & performance?
I'm not an expert in android governer and i/o scheduler but I've been using smartassv2 and vr with better performance than stock with a slightly higher battery drain than original settings when actively used. When idle I have about the same battery drain as default.
vishal24387 said:
can u tell us which governer & scheduler will be best for battery & performance?
Click to expand...
Click to collapse
I've used smartassv2 (proposed by XDA_Bam) and Scary and interactive (proposed by Doomlord). I'm using my phone mostly as audioplayer (ie almost always audioplayer is working). For me is more better smartassv2. Because with other I have lags while changing pages in the applications menu or changing screens in the Go launcher Ex.
Also I'm using BFQ as IO scheduler, because I know it's the best for not too many concurrent processes reading/writing to disk. Also usually it doesn't have too big sense for mobile devices, because we don't have a lot applications working with hdd/sd card
can anyone tell me which governer and i/o should i choose for best performance while playing hd games (i dont care about the battery drain). actually i downloaded shadowgun non tegra but it gets a bit laggy when too many enemies appear on screen, i tried setting performance governer but its the same.
nail16 said:
can anyone tell me which governer and i/o should i choose for best performance while playing hd games (i dont care about the battery drain). actually i downloaded shadowgun non tegra but it gets a bit laggy when too many enemies appear on screen, i tried setting performance governer but its the same.
Click to expand...
Click to collapse
1. You have to close all other application and services
2. The performance governor just put CPU to the max frequency, that's why it's the best for gaming
3. If it's still laggy you need or overclocked kernel (we don't have it yet) or make lower settings in the game (or in the Chainfire 3D)
@nail16: You need to OC or a new phone, that game is just too heavy for this phone.
After doing some research on available i/o scheduler I say simple i/o (sio) is the best from theory considering we're accessing a random access device. For quantitative conclusion someone needs to bench.
EDIT: @vishal, can you include a list of firmware versions that work with current UC kernel in your OP? For now I think we have XXKPM, XXKPQ and mine DXKP9. Also I think "[UC Kernel] Q & A" is a better title (the shorter it is the better), please change it if you feel appropriate.
Also here is very good benchmark of the IO schedulers
But remember that it was 2009, now it's 2011 and some things can be changed/optimized
what are the benefits of running custom kernel other than governer and i/o?, sorry noob question
falex007 said:
Also here is very good benchmark of the IO schedulers
But remember that it was 2009, now it's 2011 and some things can be changed/optimized
Click to expand...
Click to collapse
I dare say those benchs are not enough to evaluate those i/o schedulers. e.g. In read_test.c, you see that the program will read chunk of 1MB one by one which is a very rare case that our phone would do in day to day usage. We need a better benchmark methodology to reach a conclusive answer.
What is TinyRCU? Link
---------- Post added at 05:40 PM ---------- Previous post was at 05:37 PM ----------
nail16 said:
what are the benefits of running custom kernel other than governer and i/o?, sorry noob question
Click to expand...
Click to collapse
On the kernel page, you saw lots of line saying added in v1, added in v2.
All those are not present in the vanilla kerel by samsung.
U can check each in google to see what it means and what good it brings the mobile.
Also read these links to understand more:
Fugumod Kernel
Steam Kernel
There are lots more.
Thanks ganesh, you are very noob friendly.
bigeyes0x0 said:
I dare say those benchs are not enough to evaluate those i/o schedulers. e.g. In read_test.c, you see that the program will read chunk of 1MB one by one which is a very rare case that our phone would do in day to day usage. We need a better benchmark methodology to reach a conclusive answer.
Click to expand...
Click to collapse
How many applications do you start every day that hard works with hard disk? Do you think IO scheduler can be bottleneck for usual usage of our device? I don't think so. Only games during load of new level, gallery (during making thumbnails) and launcher (during loading icons) work hard with "hard disk"
Updated op.
I was looking into fs benchmarks for debian linux.
Found that JFS was the least CUP intensive off all.
Would it be the same on Android?
falex007 said:
How many applications do you start every day that hard works with hard disk? Do you think IO scheduler can be bottleneck for usual usage of our device? I don't think so. Only games during load of new level, gallery (during making thumbnails) and launcher (during loading icons) work hard with "hard disk"
Click to expand...
Click to collapse
No, I actually don't really care as long as my phone feel smooth, that's why I don't go out and do a benchmark myself to ultimately find an answer. My point simply was that benchmark method in your link is inadequate. Finding faults in other ppl's works is one thing I do at my job after all.
bigeyes0x0 said:
No, I actually don't really care as long as my phone feel smooth, that's why I don't go out and do a benchmark myself to ultimately find an answer. My point simply was that benchmark method in your link is inadequate. Finding faults in other ppl's works is one thing I do at my job after all.
Click to expand...
Click to collapse
What these benchmarks do is to guide us to use the appropriate one for our use.
As Doom says we can switch the IO Scheculer/Governor on the fly.
So where is the problem in doing so.

Can someone explain I/O Schedulers?

Well with the release of Imnuts' awesome new kernel I'm finally back to messing around with clocks/volts. I seriously haven't touched Voltage Control since EP1W was released months ago, and even then I only overclocked and undervolted, I never messed with the I/O Schedulers or the CPU Governors. I've decided to use Smartass V2 as the Governor since Imoseyon explained what all the different governors did and that one seems to suit me the best, but as for I/O Schedulers I'm still pretty baffled.
So basically I'm asking if one of you nice XDA users could explain what I/O Schedulers are and what your personal favorite is.
For flash based memory, all IO Schedulers work roughly the same as far as how fast they work. You won't see much of any difference between any of them for 95% of what you do most likely. There is a thread here on XDA in the Nexus One section where someone (or a few people) setup a simple benchmark to test the read/write speed of a few different schedulers and they were all the same, or close enough that it wasn't significant.
blarrick said:
So basically I'm asking if one of you nice XDA users could explain what I/O Schedulers are and what your personal favorite is.
Click to expand...
Click to collapse
To answer the "what they are" question...
They are the rules that the OS uses to determine what order to execute reads and writes to and from block storage (HDD or flash). The primary goal of the majority of them is to find ways to group operations in such a way as to minimize the effect of the seek time on a rotating physical disk, such as an HDD. Different schedulers have different ways of deciding, but, as imnuts said, they'll make very little difference on flash, as flash doesn't have the limitations of a spinning disk, and thus, don't have the problem that I/O schedulers are meant to solve. Certain types of operations or certain individual operations may benefit from one over another in the short term, but over the long run, the total time to complete a larger set of operations on flash should shake out to be roughly the same regardless of the scheduler used.
This thread has a lot of info, scheduler info is in post #3:
http://forum.xda-developers.com/showthread.php?t=1369817

Governor, Scheduler and frequency on Fallout V5.0

I've searched the forums for a while now and read up on these topics. However, I cannot seem to come to a conclusion about what settings to apply.
I've messed about with them. When I selected Conservative as my governor and SIO as my Scheduler, any additional CPU work (playing a game) would cause my music player application to stop. So I'm guessing it was holding the CPU back a bit.
My current settings goes as follows:
Awake:
CPU Max: 1024000
CPU Min : 245760
Governor : SmartassV2
Asleep: Same as awake(asking for trouble?)
I/O : SIO( I have read in a post that this was one of the better ones)
ROM : Fallout V5.0
Kernel : Fallout 3.0.42
All changes were done using Fallout Tweaks
Now, my main question...
For day to day stable use, what settings would you recommend ? I don't mind over clocking to 1.2Mhz(That should be safe, right?) but I don't understand which Governor, Scheduler and frequencies to use. I understand that there is a specific way in which you pair Awake and Asleep Governors and that some combinations are bad but I have no clue what this is. I'm looking for something that will keep regular phone use smooth and avoid lag but battery consumption is important. I know that this is asking for the best of both worlds, but take into account that I'm not asking for any heavy duty processing... Just smooth scrolling, messaging, browsing, music playing etc. without them forcing the other not to work (As stated in the problem above)
Well, now that thats over I would also like to suggest someone write a post involving these issues, if possible. In my searches, I have found information detailing the Schedulers and Governors(For other phones) but these just explain how they work and not definitively explaining which is better for a specific use and how they should be paired in an awake+asleep state. One specifically for us Desire S owners would be nice.
As such, it would also be nice to understand what is the difference between these awake/asleep states and why a certain scheduler should be used in each.
I don't mean to sound demanding or rude but perhaps some of the gurus on here have the time and would like to help noobs like myself or guide me to the correct post. Thank you !
DieLyn said:
I've searched the forums for a while now and read up on these topics. However, I cannot seem to come to a conclusion about what settings to apply.
I've messed about with them. When I selected Conservative as my governor and SIO as my Scheduler, any additional CPU work (playing a game) would cause my music player application to stop. So I'm guessing it was holding the CPU back a bit.
My current settings goes as follows:
Awake:
CPU Max: 1024000
CPU Min : 245760
Governor : SmartassV2
Asleep: Same as awake(asking for trouble?)
I/O : SIO( I have read in a post that this was one of the better ones)
ROM : Fallout V5.0
Kernel : Fallout 3.0.42
All changes were done using Fallout Tweaks
Now, my main question...
For day to day stable use, what settings would you recommend ? I don't mind over clocking to 1.2Mhz(That should be safe, right?) but I don't understand which Governor, Scheduler and frequencies to use. I understand that there is a specific way in which you pair Awake and Asleep Governors and that some combinations are bad but I have no clue what this is. I'm looking for something that will keep regular phone use smooth and avoid lag but battery consumption is important. I know that this is asking for the best of both worlds, but take into account that I'm not asking for any heavy duty processing... Just smooth scrolling, messaging, browsing, music playing etc. without them forcing the other not to work (As stated in the problem above)
Well, now that thats over I would also like to suggest someone write a post involving these issues, if possible. In my searches, I have found information detailing the Schedulers and Governors(For other phones) but these just explain how they work and not definitively explaining which is better for a specific use and how they should be paired in an awake+asleep state. One specifically for us Desire S owners would be nice.
As such, it would also be nice to understand what is the difference between these awake/asleep states and why a certain scheduler should be used in each.
I don't mean to sound demanding or rude but perhaps some of the gurus on here have the time and would like to help noobs like myself or guide me to the correct post. Thank you !
Click to expand...
Click to collapse
I use new amida's kernel with this settings:
Awake:
CPU Max: 1497 Mhz
CPU Min : 768 Mhz
Governor : Brazilianwax or reaper if you use the fallout kernel
Asleep:
CPU Max: 768 Mhz
CPU Min : 245 Mhz
Governor : SmartassV2
With this you can get a great performance for gaming and save battery during sleep
Sorry for my bad English
DieLyn said:
I've searched the forums for a while now and read up on these topics. However, I cannot seem to come to a conclusion about what settings to apply.
I've messed about with them. When I selected Conservative as my governor and SIO as my Scheduler, any additional CPU work (playing a game) would cause my music player application to stop. So I'm guessing it was holding the CPU back a bit.
My current settings goes as follows:
Awake:
CPU Max: 1024000
CPU Min : 245760
Governor : SmartassV2
Asleep: Same as awake(asking for trouble?)
I/O : SIO( I have read in a post that this was one of the better ones)
ROM : Fallout V5.0
Kernel : Fallout 3.0.42
All changes were done using Fallout Tweaks
Now, my main question...
For day to day stable use, what settings would you recommend ? I don't mind over clocking to 1.2Mhz(That should be safe, right?) but I don't understand which Governor, Scheduler and frequencies to use. I understand that there is a specific way in which you pair Awake and Asleep Governors and that some combinations are bad but I have no clue what this is. I'm looking for something that will keep regular phone use smooth and avoid lag but battery consumption is important. I know that this is asking for the best of both worlds, but take into account that I'm not asking for any heavy duty processing... Just smooth scrolling, messaging, browsing, music playing etc. without them forcing the other not to work (As stated in the problem above)
Well, now that thats over I would also like to suggest someone write a post involving these issues, if possible. In my searches, I have found information detailing the Schedulers and Governors(For other phones) but these just explain how they work and not definitively explaining which is better for a specific use and how they should be paired in an awake+asleep state. One specifically for us Desire S owners would be nice.
As such, it would also be nice to understand what is the difference between these awake/asleep states and why a certain scheduler should be used in each.
I don't mean to sound demanding or rude but perhaps some of the gurus on here have the time and would like to help noobs like myself or guide me to the correct post. Thank you !
Click to expand...
Click to collapse
u might want to read above this http://forum.xda-developers.com/showthread.php?p=19846297
nazri5363 said:
u might want to read above this http://forum.xda-developers.com/showthread.php?p=19846297
Click to expand...
Click to collapse
Ah, thank you. I did read that and it was the one I was referring to in my post. "Other phones" as it is for the SGS II.
DieLyn said:
Ah, thank you. I did read that and it was the one I was referring to in my post. "Other phones" as it is for the SGS II.
Click to expand...
Click to collapse
i am on fallout also...currently i am using intellidemant min/ max 245-1024 awake and 245-768 smartassv2 in asleep....basically the governor are the same i guess no matter from which device....my current setting quite good with no lag...btw i am using noop i/o scheduler...
DieLyn said:
Ah, thank you. I did read that and it was the one I was referring to in my post. "Other phones" as it is for the SGS II.
Click to expand...
Click to collapse
That is relative, you need one governor or other depend if you want performance, battery duration or a balanced combination...try one and another to get your best combination of them :fingers-crossed:
jos3ang3l said:
That is relative, you need one governor or other depend if you want performance, battery duration or a balanced combination...try one and another to get your best combination of them :fingers-crossed:
Click to expand...
Click to collapse
agreed....perhaps u should try to flash amidabuddha latest kernel...3.0.43 is the latest kernel....
nazri5363 said:
agreed....perhaps u should try to flash amidabuddha latest kernel...3.0.43 is the latest kernel....
Click to expand...
Click to collapse
Of course, I flashed it too
Sent from my HTC Desire S using xda premium

[Q] Governors & I/O schedulers?

Please forgive me for asking, if this has already been answered. Question for the Devs... Will any future releases (kernel only, or ROM) include a wider selection of governors and i/o schedulers, or is this device limited to the ones already available for some reason?
Coming over from HTC Glacier and Doubleshot, there were more choices than I knew what to do with. This is my first Samsung device.
Not that I'm complaining, I've found a combination that works good for me. I just wanted to know.
By the way - you guys are doing some great work over here. I'm loving this phone. Thanks!
This would be done on the kernel level and it is certainly possible to add more options but doing so can make things less stable.
If there is something you think may work better you could ask a dev if implementing has been tried and what the result is otherwise the main kernel source is available on github and there are many guides to build yourself and test
Sent from my Nexus 4 using XDA Premium 4 mobile app
demkantor said:
This would be done on the kernel level and it is certainly possible to add more options but doing so can make things less stable.
If there is something you think may work better you could ask a dev if implementing has been tried and what the result is otherwise the main kernel source is available on github and there are many guides to build yourself and test
Sent from my Nexus 4 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
I'm sure the devs have sound reasoning behind their choices. I was just curious to find out if it was something device specific, as opposed to dev preference. I don't know that I would go so far, as to tamper with the kernel source myself. I don't have those skills yet. I may look into that in the future. I'm always willing to learn.
jadrt09 said:
Please forgive me for asking, if this has already been answered. Question for the Devs... Will any future releases (kernel only, or ROM) include a wider selection of governors and i/o schedulers, or is this device limited to the ones already available for some reason?
Coming over from HTC Glacier and Doubleshot, there were more choices than I knew what to do with. This is my first Samsung device.
Not that I'm complaining, I've found a combination that works good for me. I just wanted to know.
By the way - you guys are doing some great work over here. I'm loving this phone. Thanks!
Click to expand...
Click to collapse
Hit the app store and grab CPU Tuner, you might find it's got what you need.
yohan4ws said:
Hit the app store and grab CPU Tuner, you might find it's got what you need.
Click to expand...
Click to collapse
Thanks, I'll check that one out but I believe that apps like that will only allow you to select from the governors and schedulers that are available in the kernel itself - not implement one that isn't there. I'd like to try out intellidemand, or smartassV2 with this device.
Right now, I'm using the interactive governor & sio. Then using SetCPU with profiles for screen-off, screen-on, and charging. This is kind of giving me the results I wanted. Sort of gives me an interactiveX, I guess? SetCPU doesn't show me both cores, so I really don't know. Also have tried Kernel Tuner and Trickster with mixed results.
jadrt09 said:
Thanks, I'll check that one out but I believe that apps like that will only allow you to select from the governors and schedulers that are available in the kernel itself - not implement one that isn't there. I'd like to try out intellidemand, or smartassV2 with this device.
Right now, I'm using the interactive governor & sio. Then using SetCPU with profiles for screen-off, screen-on, and charging. This is kind of giving me the results I wanted. Sort of gives me an interactiveX, I guess? SetCPU doesn't show me both cores, so I really don't know. Also have tried Kernel Tuner and Trickster with mixed results.
Click to expand...
Click to collapse
Just downloaded CPU Tuner. This appears to be a better alternative to the other ones I've tried. I can get what I want without trying to mess with the kernel. Gonna run the "Sophisticated" config + Performance profile for a while and see how it goes. Thanks! :good:
jadrt09 said:
Please forgive me for asking, if this has already been answered. Question for the Devs... Will any future releases (kernel only, or ROM) include a wider selection of governors and i/o schedulers, or is this device limited to the ones already available for some reason?
Coming over from HTC Glacier and Doubleshot, there were more choices than I knew what to do with. This is my first Samsung device.
Not that I'm complaining, I've found a combination that works good for me. I just wanted to know.
By the way - you guys are doing some great work over here. I'm loving this phone. Thanks!
Click to expand...
Click to collapse
my roms have more freedom of the kernel with this...current governors in my builds are: conservative, ondemand, userspace, powersave, interactive, and performance. Current I/O schedulers are noop, deadline, row, cfq, and sio. i will be exapanding on this soon but sio and interactive or sio and ondemand have given the bast stability for me.
REV3NT3CH said:
my roms have more freedom of the kernel with this...current governors in my builds are: conservative, ondemand, userspace, powersave, interactive, and performance. Current I/O schedulers are noop, deadline, row, cfq, and sio. i will be exapanding on this soon but sio and interactive or sio and ondemand have given the bast stability for me.
Click to expand...
Click to collapse
I've been running your Carbon ROM for a little while and I've been pretty pleased with it. I've settled on the interactive and sio combination but I wanted to have a little more control. Most of the time I just text and do a little web browsing, so I want to extend battery life. But I have access to a lot of wi-fi hotspots, so then I can plug in for some gaming or Netflix. It's nice to have the performance amped up then. I seemed to have good results with intellidemand and smartass variations on my other phones.
I appreciate your work, thanks!
jadrt09 said:
I've been running your Carbon ROM for a little while and I've been pretty pleased with it. I've settled on the interactive and sio combination but I wanted to have a little more control. Most of the time I just text and do a little web browsing, so I want to extend battery life. But I have access to a lot of wi-fi hotspots, so then I can plug in for some gaming or Netflix. It's nice to have the performance amped up then. I seemed to have good results with intellidemand and smartass variations on my other phones.
I appreciate your work, thanks!
Click to expand...
Click to collapse
your very welcome...as ive stated before i will be adding some more here soon. i have a couple of new rom builds im working on and an update to another...i definitely need to work on the kernel as ive done little patches here and there but nothing too big....think within the next few weeks ill do a big update to it and update all my roms with it
Perhaps you could release a flashable kernel for people on cm?
Sent from my SGH-T699 using Tapatalk
REV3NT3CH said:
my roms have more freedom of the kernel with this...current governors in my builds are: conservative, ondemand, userspace, powersave, interactive, and performance. Current I/O schedulers are noop, deadline, row, cfq, and sio. i will be exapanding on this soon but sio and interactive or sio and ondemand have given the bast stability for me.
Click to expand...
Click to collapse
Errr What advantages are there from sio over the other i/o schedulers. That's the only addition between your list and what we are currently enabling.
Magamo said:
Errr What advantages are there from sio over the other i/o schedulers. That's the only addition between your list and what we are currently enabling.
Click to expand...
Click to collapse
Simple I/O (sio) scheduler aims to keep minimum overhead to achieve low latency to serve I/O requests. No priority quesues concepts, but only basic merging. Sio is a mix between noop & deadline. No reordering or sorting of requests.
REV3NT3CH said:
Simple I/O (sio) scheduler aims to keep minimum overhead to achieve low latency to serve I/O requests. No priority quesues concepts, but only basic merging. Sio is a mix between noop & deadline. No reordering or sorting of requests.
Click to expand...
Click to collapse
I notice a difference in performance when I change governors but I can't say that I notice a difference at all, when changing i/o schedulers. My understanding is that certain combinations are supposed to work better together. I just remember that devs of certain mods I've used had a preference for sio o over the others. Not sure why, but it worked, so I've stuck with it...

Categories

Resources