Jump to content

Welcome to CyanogenMod

Welcome to our forum. Like most online communities you must register to post, but don't worry this is a simple free process that requires minimal information for you to signup. Be a part of the CyanogenMod Forum by signing in or creating an account. You can even sign in with your Facebook or Twitter account.
  • Start new topics and reply to others
  • Subscribe to topics and forums to get automatic updates
  • Get your own profile and make new friends
  • Download files attached to the forum.
  • Customize your experience here
  • Share your CyanogenMod experience!
Guest Message by DevFuse
 

CFS vs BFS Kernel scheduler


  • Please log in to reply
7 replies to this topic

#1 BRINGNDARUTKUS

BRINGNDARUTKUS
  • Members
  • 69 posts
  • Twitter:HIPSTERMINAT0R
  • Country:
    us - United States
  • Location:
    SAINT PAUL, MN
  • Device Model:
    HTC Evo 4G
  • CM Version:
    CM7 N30
  • Recovery Image:
    Amon_RA

Posted 22 March 2011 - 05:38 AM

anybody come across experimenting with CFS and BFS type of kernels, specifically savage-zen's?

if so, what were your findings? which type of scheduler runs smoother? saves the most battery? ect.

#2 Christian_Buhay

Christian_Buhay
  • Donators
  • 60 posts
  • Twitter:@christian_buhay
  • Country:
    us - United States
  • Device Model:
    HTC Evo 4G
  • CM Version:
    CyanogenMod7-Nightlies
  • Recovery Image:
    Amon_RA

Posted 22 March 2011 - 11:11 AM

GAHHHH! Double post fail. See real post below.

#3 Christian_Buhay

Christian_Buhay
  • Donators
  • 60 posts
  • Twitter:@christian_buhay
  • Country:
    us - United States
  • Device Model:
    HTC Evo 4G
  • CM Version:
    CyanogenMod7-Nightlies
  • Recovery Image:
    Amon_RA

Posted 22 March 2011 - 11:11 AM

View PostBRINGNDARUTKUS, on 22 March 2011 - 05:38 AM, said:

anybody come across experimenting with CFS and BFS type of kernels, specifically savage-zen's?

if so, what were your findings? which type of scheduler runs smoother? saves the most battery? ect.

CFS, or Completely Fair Scheduler, is more established and is used in many main-line linux kernels.  While, BFS is quite a bit newer (it's been developed only in the past few years), it is said to be optimized for simpler linux builds.

I believe, for example that the Cyanogen kernel uses BFS, while Google's stock Froyo kernel uses CFS.  For a quick read on BFS, see wikipedia:  http://en.wikipedia...._Fuck_Scheduler

Also, for more fun, here's a fairly comprehensive paper out of the Univ. of New Mexico comparing the two schedulers:
http://www.cs.unm.ed...kel-schulte.pdf

If you don't feel like reading the whole thing, here's the Cliffnotes version:

Quote

The results indicate that CFS outperformed BFS with minimizing turnaround time but that BFS outperformed CFS for minimizing latency. This indicates that BFS is better for interactive tasks
that block on I/O or user input and that CFS is better for batch processing that is CPU bound.  Many distros like Ubuntu already have separate kernel packages for desktops and servers optimized for those common use cases. To improve the average desktop experience, distros could patch their kernel to use the BFS scheduler. If desktop users do perform a lot of batch processing, distros could provide two dierent kernel packages alternatives.

I came across this a while back, and while I looked at both schedulers, I honestly did not look at any record-able difference between the two- ie. I didn't run any benchmarks.  I do find, though, that I get a much smoother experience using CM roms, vs those based off stock froyo, using HTC's kernel.  There are, I'm sure, many reasons for this, and not just based on which scheduler is being used.  Having said that, I've been using SZ with BFS for most of my CM7 experience, and I like both the performance and battery life.

#4 BRINGNDARUTKUS

BRINGNDARUTKUS
  • Members
  • 69 posts
  • Twitter:HIPSTERMINAT0R
  • Country:
    us - United States
  • Location:
    SAINT PAUL, MN
  • Device Model:
    HTC Evo 4G
  • CM Version:
    CM7 N30
  • Recovery Image:
    Amon_RA

Posted 22 March 2011 - 08:17 PM

View PostChristian_Buhay, on 22 March 2011 - 11:11 AM, said:


I came across this a while back, and while I looked at both schedulers, I honestly did not look at any record-able difference between the two- ie. I didn't run any benchmarks.  I do find, though, that I get a much smoother experience using CM roms, vs those based off stock froyo, using HTC's kernel.  There are, I'm sure, many reasons for this, and not just based on which scheduler is being used.  Having said that, I've been using SZ with BFS for most of my CM7 experience, and I like both the performance and battery life.
yeah i used sz bfs all this weekend and then decided to flash the cfs version. not too happy with this type of kernel. battery life is not as good as bfs. plus my wifi seems like it's not working, could be an issue with n29 though.

#5 Christian_Buhay

Christian_Buhay
  • Donators
  • 60 posts
  • Twitter:@christian_buhay
  • Country:
    us - United States
  • Device Model:
    HTC Evo 4G
  • CM Version:
    CyanogenMod7-Nightlies
  • Recovery Image:
    Amon_RA

Posted 23 March 2011 - 12:26 AM

View PostBRINGNDARUTKUS, on 22 March 2011 - 08:17 PM, said:

yeah i used sz bfs all this weekend and then decided to flash the cfs version. not too happy with this type of kernel. battery life is not as good as bfs. plus my wifi seems like it's not working, could be an issue with n29 though.
Try your wifi on stock CM7 without flashing the Kernel.  I've had no problems with SZ-BFS, but different strokes and all....

#6 BRINGNDARUTKUS

BRINGNDARUTKUS
  • Members
  • 69 posts
  • Twitter:HIPSTERMINAT0R
  • Country:
    us - United States
  • Location:
    SAINT PAUL, MN
  • Device Model:
    HTC Evo 4G
  • CM Version:
    CM7 N30
  • Recovery Image:
    Amon_RA

Posted 23 March 2011 - 04:13 AM

View PostChristian_Buhay, on 23 March 2011 - 12:26 AM, said:

Try your wifi on stock CM7 without flashing the Kernel.  I've had no problems with SZ-BFS, but different strokes and all....
all is well. just flashed back to sz's BFS kernel and wifi seems to be working.

#7 aaanadie

aaanadie
  • Donators
  • 75 posts
  • Country:
    us - United States
  • Device Model:
    LG Optimus F6
  • CM Version:
    Stock (waiting for Cyanogen)
  • Recovery Image:
    ClockworkMod

Posted 27 March 2011 - 01:16 AM

View PostChristian_Buhay, on 23 March 2011 - 12:26 AM, said:

Try your wifi on stock CM7 without flashing the Kernel.  I've had no problems with SZ-BFS, but different strokes and all....

Hello,
I do not know if CM7 Nightly kernel is BFS or CFS, but I must to say CM7 Nightly 29, 30 & 31 are very stables, very good battery life even charging connected to PC, but I am using SetCPU (I did not check without it).

#8 BRINGNDARUTKUS

BRINGNDARUTKUS
  • Members
  • 69 posts
  • Twitter:HIPSTERMINAT0R
  • Country:
    us - United States
  • Location:
    SAINT PAUL, MN
  • Device Model:
    HTC Evo 4G
  • CM Version:
    CM7 N30
  • Recovery Image:
    Amon_RA

Posted 28 March 2011 - 08:21 PM

View Postaaanadie, on 27 March 2011 - 01:16 AM, said:

Hello,
I do not know if CM7 Nightly kernel is BFS or CFS, but I must to say CM7 Nightly 29, 30 & 31 are very stables, very good battery life even charging connected to PC, but I am using SetCPU (I did not check without it).
i agree with you on that point. i just got setcpu from XDA developers and i'm using the stock kernel on RC3. having great battery life and i don't have the screen timeout issue that comes with the savaged-zen kernels.
WOOT!