Reply
Thread Tools
Posts: 52 | Thanked: 55 times | Joined on Dec 2009
#1
Hi all!
I have completed a first attempt at applying the BFS scheduler patch to both the power and the stock 2.6.28-omap1 kernel.

The debian files here:
http://coreyoconnor.com/downloads/
Will install the equivalent of the latest kernel-power + BFS patches. This can be installed over kernel-power just fine; The package manager will consider it an update.

The patch for the stock kernel is located at:
http://coreyoconnor.com/downloads/ke...6.28-bfs.patch

I will be packaging up the patch for kernel-power shortly.

For me kernel-power + BFS works great. Still, since I just got this working only apply if you are OK reflashing your device if something goes wrong. This will uninstall in the same way as kernel-power.

The basic procedure for patching the stock kernel is similar to what is listed here:
http://natisbad.org/N900/n900-custom-kernel.html

suppose your stock kernel source is in the directory kernel-2.6.28-stock and the patch file is copied to the same directory then the procedure is
Code:
host# cd kernel-2.6.28-stock
host# patch -p1 < kernel-2.6.28-bfs.patch
At this point all patches should be applied OK. If not, well, something went wrong and you should let me know.

Now switch to the kernel-2.6.28-stock within the scratchbox environment
Code:
[sbox-FREMANTLE_ARMEL: ~/kernel-2.6.28-stock] > make rx51_defconfig
[sbox-FREMANTLE_ARMEL: ~/kernel-2.6.28-stock] > make oldconfig
[sbox-FREMANTLE_ARMEL: ~/kernel-2.6.28-stock] > make
This should build the kernel and all required modules just fine.

I'm going to leave the instructions incomplete. If you've flashed a kernel and updated the kernel modules on your device you should be fine. Otherwise.. try it with the stock kernel first!

How to package this up into a deb? Any pointers?

UPDATE
I have uploaded deb packages that are equivalent to the latest kernel-power packages plus the bfs patches.

Last edited by coreyoconnor; 07-21-2010 at 03:58 PM.
 

The Following 29 Users Say Thank You to coreyoconnor For This Useful Post:
dchky's Avatar
Posts: 549 | Thanked: 298 times | Joined on Jun 2010 @ Australian in the Philippines
#2
Where are your benchmarks? Unless this patch makes things perceptibly faster, (and subjective is not a good enough metric) then what is the point?

Last edited by dchky; 07-20-2010 at 06:59 AM.
 
Posts: 52 | Thanked: 55 times | Joined on Dec 2009
#3
Ask the Android kids what the point is.

Plus, if you had read up on BFS you'd know it's goal is to reduce latency and benchmarking latency is much harder than the typical benchmarking of a single process performance. Which is what most benchmarks tests. Good for testing overclocking, doesn't tell you much of anything in this case. I can think of a few good latency tests but the error bounds may be quite high. Unless somebody has a robot to push buttons for me....

Single process benchmarks, like a web browser javascript benchmark, are easy to schedule. So the difference between CFS and BFS should be negligable. Still, i might as well run a few. what benchmarks would you like to see?

One subjective difference that is significant enough to, IMO, be interesting is: the speed of my interactions with the phone are not diminished significantly when i am installing an application in the background. Not even the silly little graphical effects.
 

The Following 2 Users Say Thank You to coreyoconnor For This Useful Post:
Posts: 317 | Thanked: 783 times | Joined on Oct 2009 @ Krakow, Poland
#4
It would be really cool it this was incorporated into Power kernel. Is it possible to have more than one scheduler in one kernel and doing a switch (not necessarily in runtime but after a reboot maybe).

When n900 is on high load its responsiveness leaves a great deal to be desired. Its even worse when it is overclocked. It sometimes (ie after installing an app in HAM) stalls for 30 or more seconds not responding to any user activity. I would like to test if and how BFS affects that but I really don't want to loose Power kernel features.
 
Posts: 52 | Thanked: 55 times | Joined on Dec 2009
#5
Agreed. Integrating this patch into the power kernel would be great. I haven't checked out the power kernel patches yet, but I suspect they are largely orthogonal to this patch and should integrate easily.
 
Posts: 52 | Thanked: 55 times | Joined on Dec 2009
#6
I added the voltage scaling patch referenced here:
http://omappedia.org/wiki/Patches_be..._yet_submitted

The debs can be found at:
http://www.tothepowerofdisco.com/downloads/

I am going to try to apply the patches under the "smart reflex fixes" heading next. No idea if these, or even the vp force patch, make any difference at all.
 
Posts: 317 | Thanked: 783 times | Joined on Oct 2009 @ Krakow, Poland
#7
What about the other way - ask Titan to include BFS into Power Kernel. I do not think forking his job and creating new kernel line is advantageous. He recently corrected fcam-drivers in his kernel. Are you sure you want to maintain separate kernel line?
 

The Following User Says Thank You to dwaradzyn For This Useful Post:
Posts: 52 | Thanked: 55 times | Joined on Dec 2009
#8
This kernel is a branch of the git repository for Titan's kernel. So eventual inclusion should be easy.

The biggest reason I haven't been able to even send patches to Titan is that I am a git newbie and my repository is a mess! I'm not really even sure how to spit out patches O_o

Some other reasons tho:
  1. I would like somebody (besides me) to test the kernel.
  2. Preferably create a garage project so people can test changes that haven't been migrated to Titan's.

Um.. I think that's it! Thoughts?
 

The Following 2 Users Say Thank You to coreyoconnor For This Useful Post:
Tiboric's Avatar
Posts: 433 | Thanked: 311 times | Joined on Nov 2009 @ U.K
#9
will try this now... let you know how I do,
 

The Following User Says Thank You to Tiboric For This Useful Post:
Posts: 2,014 | Thanked: 1,578 times | Joined on Sep 2009
#10
I will give this a shot and run linpack benchmarks pre/post.

http://www.phoronix.com/scan.php?pag...nchmarks&num=1

For those who have no idea what this is about.

Connor - looks like you have used ver 38 rather than 37 of Titans kernel - is that correct?
__________________
Class .. : Power Poster, Potential Coder
Humor .. : [*********] Alignment: Chaotic Evil
Patience : [***-------] Weapon(s): +2 Logic Mace
Agro ... : |*****-----] Relic(s) : G1, N900


Last edited by Bratag; 07-27-2010 at 02:06 PM.
 

The Following 3 Users Say Thank You to Bratag For This Useful Post:
Reply

Thread Tools

 
Forum Jump


All times are GMT -4. The time now is 02:13 AM.