Menu

Main Menu
Talk Get Daily Search

Member's Online

    User Name
    Password

    [Announce] kernel-bfs

    Reply
    Page 1 of 10 | 1   2     3   | Next | Last
    iDont | # 1 | 2011-09-29, 20:26 | Report

    The kernel-bfs project provides a bleeding-edge kernel with its main feature being Con Kolivas' BFS CPU scheduler. Kernel-bfs is derived from the kernel-power project and thus retains all features from it (e.g. overclocking, IPv6, USB Host mode, ..).

    Note: The latest kernel-bfs is based on kernel-power v49 unstable, so you'll have to adjust your kernel profile to its new frequency scheme (if applicable). Also see kernel-power's thread.

    The BFS CPU scheduler
    The CPU scheduler is responsible for assigning the CPU's timeslices to all processes which are being ran on the operating system. By default, Linux uses the Completely Fair Scheduler (CFS). However, this scheduler is designed to scale to "monster proportion hardware that the common man will never see". This can result in sub-optimal results on machines with lower specifications, like your typical desktop, laptop, and our phone.

    From the BFS FAQ:

    Originally Posted by
    What is it?

    BFS is the Brain **** Scheduler. It was designed to be forward looking only,
    make the most of lower spec machines, and not scale to massive hardware. ie
    it is a desktop orientated scheduler, with extremely low latencies for
    excellent interactivity by design rather than "calculated", with rigid
    fairness, nice priority distribution and extreme scalability within normal
    load levels.

    Extreme scalability within normal load levels? Isn't that a contradiction?

    For years we've been doing our workloads on linux to have more work than we
    had CPUs because we thought that the "jobservers" were limited in their
    ability to utilise the CPUs effectively (so we did make -j6 or more on a
    quad core machine for example). This scheduler proves that the jobservers
    weren't at fault at all, because make -j4 on a quad core machine with BFS
    is faster than *any* choice of job numbers on CFS. See reverse scalability
    graph courtesy of Serge Belyshev showing various job numbers on a kernel build
    on a quad core machine. The problem has always been that the mainline
    scheduler can't keep the CPUs busy enough; ie it doesn't make the most of
    your hardware in the most common situations on a desktop!
    The BFS FAQ also provides information on other typical questions. Please refer to it for more information on BFS.

    Bleeding-edge features
    Besides the BFS CPU scheduler, kernel-bfs incorporates several bleeding-edge patches. At the moment of writing, the following additional patches over kernel-power are included:
    • A set of patches from the -ck kernel patchset. These patches are designed to lighten the VM load and improve the desktop (i.e. non-server) Linux experience, with an emphasis on responsiveness. For example, one patch enables the kernel to identify large files that are unlikely to be fully cached in RAM. These files will then be the first thing to evict next time RAM is needed.
    • The BFQ I/O scheduler (experimental)
    • Support for the Reiser4 filesystem. This is an advanced filesystem with features like transparent lzo/gzip compression.
    • Backported UBIFS patches for the Linux 2.6.28 kernel
    • A few minor fixes/enhancements
    • Temporary fix for the bq27x00_battery/bme issue (see additional notes below)

    Where to download
    You can find kernel-bfs in Maemo's extras-devel repository. It is listed in the category "system" as "Linux kernel for BFS user". You can also install it via the terminal by executing
    Code:
    apt-get install kernel-bfs-flasher
    Note: you can install only one kernel at the same time. Uninstall kernel-power via its menu entry before installing kernel-bfs.

    If you want to use multiple kernels, either use uBoot or install kernel-bfs' multiboot package:
    Code:
    apt-get install kernel-bfs-bootimg
    Toggling between different kernels causes Maemo to reboot spontaneously a few times. Just keep booting the kernel you want to boot, and it'll succeed after about three times. This is not an issue specific to kernel-bfs and can be experienced as pretty scary. Do not worry though, it will work.

    Warning
    Don't forget the meaning of "bleeding-edge". Having all kinds of goodies can be really great, but they are generally more unstable than widely tested and used software.
    However, you do not need to expect any issues with using kernel-bfs.

    Complementary products
    Kernel-bfs can be complemented with some other software available to Maemo. This software includes:
    • Schedtool. This application allows you to alter a process' scheduling policy. The BFS scheduler introduces a two new scheduling policies: SCHED_ISO and SCHED_IDLEPRIO. SCHED_ISO allows you to run processes as an unprivileged real-time task, whilst SCHED_IDLEPRIO only schedules tasks when idle. You could for example add "sleep 5 && /usr/bin/schedtool -I `pidof hildon-desktop`" to a startup script, which can be a welcome bonus to kernel-bfs users.
    • Reiser4progs. Kernel-bfs has been compiled with support for the Reiser4 filesystem. However, kernel support by itself only allows you to mount Reiser4 volumes. To create, debug or fsck Reiser4 volumes you'll need this package. Creating/fscking Reiser4 volumes can then be done like you're used to (mkfs.reiser4 ...).
    • Fcam-drivers. This is the regular fcam-drivers package, but recompiled with kernel-bfs support. I'll try contacting the fcam-drivers package maintainer to see if the official package can be updated to include kernel-bfs support. Until then, you'll need this package.
    • Bleeding-edge wl1251 WiFi driver. The famous bleeding-edge wl1251 driver from lxp recompiled for kernel-bfs.

    Additional notes
    For those who seek the kernel-bfs build with the temporary fix for the bq27x00_battery/bme issue: go to this page. Make sure to read the warning at that page carefully. Whilst actively maintained, using that build is strongly discouraged.

    Known issues
    • Flickering in the Opera webbrowser
    • Considerably slower networking speed
    • Haptic feedback acts up under heavy load

    --
    The kernel-bfs team consists of coreyoconnor, Tigerite, and iDont.

    See also
    • talk.maemo.org: old "BFS for the power kernel" thread
    • garage.maemo.org: kernel-bfs development
    • garage.maemo.org: kernel-bfs bugtracker

    Edit | Forward | Quote | Quick Reply | Thanks

    Last edited by iDont; 2011-11-15 at 20:52.
    The Following 45 Users Say Thank You to iDont For This Useful Post:
    412b, ahmadamaj, Alfred, Bad_Habit, Daneel, ejasmudar, erendorn, Estel, evan, fahadj2003, freemangordon, fw190, geneven, Gusse, hawaii, hgroove, HtheB, ivyking, jedi, joerg_rw, kingoddball, maacruz, miqu, moepda, mrsellout, Netweaver, OVK, P@t, prankster, Raimu, reinob, Santhan, Seker_94, sidd211095, smoku, strange1712, Straycat, szopin, tetris11_, Trestry, wicket, wow23, xes, xsmabbs, zeljkobo12

     
    awroax | # 2 | 2011-09-29, 22:07 | Report

    Do I have to remove kernel-power before trying this?

    Edit | Forward | Quote | Quick Reply | Thanks

     
    fahadj2003 | # 3 | 2011-09-29, 22:12 | Report

    Originally Posted by awroax View Post
    Do I have to remove kernel-power before trying this?
    nope

    and oh, thanks.. and btw, compatibility issue with bleeding edge drivers *from wlan driver selector applet*

    Edit | Forward | Quote | Quick Reply | Thanks

     
    TMavica | # 4 | 2011-09-29, 22:49 | Report

    compatible with kernel power v49?

    Edit | Forward | Quote | Quick Reply | Thanks

     
    fraad | # 5 | 2011-09-29, 23:27 | Report

    Originally Posted by TMavica View Post
    compatible with kernel power v49?
    install ok kp 48 but if you try on kp 49 dont get kernel bfs bootimg it will not work to boot in to kernel bfs it took me 5 times to get it to boot into it then went back to kernel 48 that took 3 times to get it up but all well if u dont use kernel bsf bootimg

    Edit | Forward | Quote | Quick Reply | Thanks

     
    wumpwoast | # 6 | 2011-09-29, 23:58 | Report

    I'm curious to hear user experiences about this BFS kernel on N900, specifically if it makes keyboard input/shortcuts and the phone app buttons more responsive under load.

    Until then, I'm a little hesitant to switch in the near-term (when upgrading to kernel-power-v49 I forgot the -flasher package, bricking my phone for a few hours)!

    Somebody put my mind at ease

    Edit | Forward | Quote | Quick Reply | Thanks

     
    Storm_11 | # 7 | 2011-09-30, 01:04 | Report

    when installing via FAM, it comes up with a conflicting package, stating it is kernel-power-flasher. so maybe it is not compatible with kernel-power

    Edit | Forward | Quote | Quick Reply | Thanks

     
    fraad | # 8 | 2011-09-30, 01:27 | Report

    boot in to kernel bfs ok after a few times trying playing around in with it every now and then you get app closing yet you have not even open the app up once you do boot in to bfs it will boot back into it ok but if wont to boot back kp 48 or maemo kernel or android it will take a few goes be for it will boot into them

    Edit | Forward | Quote | Quick Reply | Thanks

     
    werks | # 9 | 2011-09-30, 01:48 | Report

    i have kp49 installed, i tried installing bfs,
    upon reboot, uname -r shows its power49.
    i dont have multiboot, is it a prerequisite?

    Edit | Forward | Quote | Quick Reply | Thanks

     
    fraad | # 10 | 2011-09-30, 01:56 | Report

    try apt-get install kernel-bfs-bootimg

    Edit | Forward | Quote | Quick Reply | Thanks
    The Following User Says Thank You to fraad For This Useful Post:
    iDont

     
    Page 1 of 10 | 1   2     3   | Next | Last
vBulletin® Version 3.8.8
Normal Logout