Jump to content

Recommended Posts

Guest timfimjim
Posted

Using No Frills CPU control to overclock...

The I/O scheduler has 3 options:

noop, cfq and vr.

The default setting is vr.

What differences do they have? How do you know which one to use? There seems very little information about this on the net...

Thanks

Guest targetbsp
Posted

Don't know the differences between them but I do believe the options you see there vary from rom to rom too for anyone with different options.

Guest t0mm13b
Posted (edited)

Using No Frills CPU control to overclock...

The I/O scheduler has 3 options:

noop, cfq and vr.

The default setting is vr.

What differences do they have? How do you know which one to use? There seems very little information about this on the net...

Thanks

Not 100% sure here, but I think you've got it mixed up - I/O scheduler is more for disk input/output scheduling.

  • No-Op - No operations
  • CFQ - Completely Fair Queueing
  • VR - never heard of that one?!

Or maybe the kernel in your ROM is not overclockable?

You could try using setcpu from the market and use that instead. :)

What ROM are you using?

Edited by t0mm13b
Guest targetbsp
Posted

Not 100% sure here, but I think you've got it mixed up - I/O scheduler is more for disk input/output scheduling

Yes. No Frills lets you change CPU seped, governor and I/O scheduler. Unlike most which let you change only cpu speed and governor.

I guess he's asking which to use?

Guest t0mm13b
Posted

Yes. No Frills lets you change CPU seped, governor and I/O scheduler. Unlike most which let you change only cpu speed and governor.

I guess he's asking which to use?

Hooo Okie.... yes, sounds like he's using the wrong option, maybe its CPU speed that needs to be selected?? :)

Guest Pelemane
Posted

  • VR - never heard of that one?!

V® I/O Scheduler: V® is similar to, and based on, Linux's deadline I/O scheduler. It implements request deadlines which try to limit starvation, but provide no hard guarantee of request latency. It also merges and batches requests in a similar manner, but unlike deadline, read and write requests are issued together. This means there is no preference to reads over writes. Thus, higher throughput can be achieved at the cost of interactive performance. Secondly, V® could be used for situations where maximal throughput it the primary concern, such as batch processing systems, where per-request latency is not important. By scheduling read and write requests together and setting sufficiently high deadlines, V® can theoretically produce a better schedule than deadline, AS or CFQ.

Source: http://rootzwiki.com/showthread.php?2184-KERNEL-CM7-2.6.35.14-demonspeed-v8-OC-1.90-SVS-UV-NOOP-SLQB-SMARTASS-9.4.2011&p=44224&viewfull=1#post44224

Posted (edited)

Using No Frills CPU control to overclock...

The I/O scheduler has 3 options:

noop, cfq and vr.

The default setting is vr.

What differences do they have? How do you know which one to use? There seems very little information about this on the net...

Thanks

the way I understand it, they are all different ways the kernel can deal with input/output operations from memory. some schedulers use queuing etc. to make input/output operations more efficient but in the case of our phones we only have flash memory so there is no need to queue stuff. That would be better for mechanical drives as it means less movement of the drive parts. So I think noop is the best for phones as this just uses a simple First In First Out (FIFO) queuing system.

No idea about vr, but I would use noop

Edited by fp30
Guest t0mm13b
Posted (edited)

Also, it is difficult to pin down exactly which i/o scheduler to use, a number of factors:

  • CPU Chipset and clock speed
  • Graphics chipset - the two previous lines, including this, are the obvious factors
  • Filesystem type - Ext2fs, Ext3fs, Ext4fs, list goes on...
  • Overall CPU load - such as widgets, launcher etc
  • ROM type - To each and their own, different roms will handle speed differently...
  • Kernel configuration - again, important one to consider

AFAIK, CM7 uses BFQ i/o scheduling.

For the CPU clocking handler - it uses ondemand, there's performance, smartass etc, that also can affect the i/o scheduler too :)

B)

Edited by t0mm13b
Posted

Also, it is difficult to pin down exactly which i/o scheduler to use, a number of factors:

  • CPU Chipset and clock speed
  • Graphics chipset - the two previous lines, including this, are the obvious factors
  • Filesystem type - Ext2fs, Ext3fs, Ext4fs, list goes on...
  • Overall CPU load - such as widgets, launcher etc
  • ROM type - To each and their own, different roms will handle speed differently...
  • Kernel configuration - again, important one to consider

AFAIK, CM7 uses BFQ i/o scheduling.

For the CPU clocking handler - it uses ondemand, there's performance, smartass etc, that also can affect the i/o scheduler too :)

B)

Im not quite sure I agree with all of that. I think you are confusing the issue. in no-frill cpu controller you have to options. One is to control the CPU governor e.g. ondemand, performance, conservative, interactive, smartass etc. The other is I/O scheduler e.g. cfg, noop, bfq

The cpu governor controls how the cpu freq. is changed. For e.g. performance, sets the cpu freq. to max. no matter what. Whereas ondemand, varies the frequency depending on the load. Higher load = higher frequency. Smartass was specifically written to make frequency steps more efficient and it incorporates an automatic sleep policy where lower frequencies will be used when the phone is asleep as phone response is not as important. The idea behind these governors is basically to save power. The less time the cpu spends at high frequencies, the less power the cpu will use so the all governors (except performance) try to balance phone responsiveness with battery drain.

The I/O scheduler deals with file system operations i.e. how and when files are written and read from the hard drive/flash disk. In HDD's you obviously want to reduce the amount of movement the reading arm has to do as this is more efficient. But at the same time you want access time to be as short as possible. To achieve this there are a number of different I/O schedulers (like there are different governors to control cpu frequency) that work in slightly different ways. The CFQ (completely fair queuing) scheduler queues processes in a certain way (see wikipedia description) whereas noop doesnt. The best scheduler depends on what you are reading from. As I said in previous post because we only have flash memory there is no extra work required to read/write from 2 completely different parts of the disk therefore scheduling is less important. Thus my suggestion to use NOOP.

Guest timfimjim
Posted

Thanks for all the replies, I understand it more now. Am using noop.

Or maybe the kernel in your ROM is not overclockable?

You could try using setcpu from the market and use that instead. :)

What ROM are you using?

@t0mm13b I'm using burtslams new kernel with added overclock capabilities, on a rom mashup (a mix of blue ginger V5, CM7 and GSF22)

Posted (edited)

Probably not going to be a huge difference between any of them. Some may be buggy on the blade with burstlams kernel, I'm not sure if they're all very well tested. I was using bfq for a day without any issue, might have been a bit faster, or might have been a rounding error in the benchmark. vr should be the most stable, it's the zte default.

t0mm13b is right that the cpu frequency governor can affect io performance too, that's usually going to have more effect than the choice of io scheduler & it'll also affect the best choice of io scheduler. The choice of io scheduler might make a difference on a busy server that uses a lot of io, but i doubt most people are going to notice any real difference between any of the io schedulers on a phone.

Edited by wbaw
Guest Nick Rhodes
Posted

Probably not going to be a huge difference between any of them. Some may be buggy on the blade with burstlams kernel, I'm not sure if they're all very well tested. I was using bfq for a day without any issue, might have been a bit faster, or might have been a rounding error in the benchmark. vr should be the most stable, it's the zte default.

t0mm13b is right that the cpu frequency governor can affect io performance too, that's usually going to have more effect than the choice of io scheduler & it'll also affect the best choice of io scheduler. The choice of io scheduler might make a difference on a busy server that uses a lot of io, but i doubt most people are going to notice any real difference between any of the io schedulers on a phone.

Benchmarking is really hard to do with I/O, its not just about raw bandwidth, but also about latency, cpu utilisation and sometimes blocking occurs in multiprocess systems, then results can be obscured by system buffers and caches.

Similar with governors. Some offer superior multitasking, some better cpu utilisation under different circumstances (one active process VS number of active processes).

Saddens me that people are getting obsessed about tweaking technical things like this, without knowing what they actually do or even how to test them to see if they are getting any real world performance gains/losses. I see people posting various benchmark results, which are far from scientific or conclusive, e.g. what is the variance between a number of runs for the results, unless you get a gain that is significantly higher than the average variance, you can't even tell if there is an improvement or not. Then there is a lack of information in knowing how these benchmarks will translate to real-world.

I've played about with settings on various linux workstations and servers (and tested real world apps/systems) and I can tell you that most of the time the defaults are sensible and you will waste more time changing the settings and reboot than you will gain from the actual tweaks.

Overclocking is a little more straight forward, but something I won't personally do as I rely on my phone and don't want to reduce reliability.

Cheers, Nick

Posted (edited)

If there are specific jobs to optimise for on a server then it can be worth tweaking the settings. However the default io scheduler & cpu governor seem to be good sensible choices on our blades, there isn't much to be gained by changing them. The difference between io schedulers is going to be barely noticeable if there is any difference at all, unless you're doing something very weird with your phone or find a bug.

Edited by wbaw

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.