Showing posts with label Raspberry Pi 2. Show all posts
Showing posts with label Raspberry Pi 2. Show all posts

Wednesday, April 4, 2018

PDS 0.98m release

PDS 0.98m is released with the following changes

1. Unify 32/64bits handing in task_preemptible_rq(). This makes 32/64bits system has the same code base(again). Personally, I'd love to see my raspberry pi running same scheduler code with my laptop.
2. Remove cpu scaling interfaces. Based on recent testing, there is no regression to drop these interfaces. Removing these also cut of overhead.
3. Accurate preempt for RT tasks. Before this release, RT tasks wake up on 32bits system is not fully based on their priority(kind of a bug).
4. Refines and code clean-up in several functions.
5. Fix some wrong likely/unlikely usage in PDS code.

These changes are inspired by the experimental cachehot patch. Aim to reduce the overhead in the existed code path and make the design simple. Another obvious change is in the patch size, -5KB!(No one cares, right?) For the sanity tests, there is slight improvement, no regression was found so far.

Enjoy PDS 0.98m for v4.16 kernel, :)

code are available at
https://bitbucket.org/alfredchen/linux-gc/commits/branch/linux-4.16.y-pds
and also
https://github.com/cchalpha/linux-gc/commits/linux-4.16.y-pds

 All-in-one patch is available too.

PS, PDS-mq patch repository is created, which will be used to category all pds-mq patch since 4. 13. I am thinking about migrate the source code/patch repository from bitbucket to github, because bitbucket used to have limit repository size(2G), but it looks like that they remove such limitation recently, what about your thought?

Thursday, November 23, 2017

PDS 0.98g release

PDS 0.98g is released with the following changes

1. Fix rq->online is default false for cpu 0, issue reported by Manuel.
2. Remove update_rq_clock() in hrtick(), it's a minor enhancement.

This is a bug fix/enhancement release. After bug fixes for the new features in the recent releases, I have done a kernel compilation benchmark in 4.14. The results are as expected, but it also indicate that the overhead under high workload is larger than CFS. So, reduce scheduling/balance/migration overhead will the next feature in the todo list. But don't expect such features will be coming soon, as current PDS is stable, I'll tend to slow down and do more research before rolling out new features.

One more thing, current release of PDS is running well on raspberry pi, you can have a try if you own a raspberry pi soc.

Anyway, enjoy PDS 0.98g for v4.14 kernel, :)

code are available at
https://bitbucket.org/alfredchen/linux-gc/commits/branch/linux-4.14.y-pds
and also
https://github.com/cchalpha/linux-gc/commits/linux-4.14.y-pds

 All-in-one patch is available too.

Friday, July 1, 2016

BFS/VRQ on Raspberry Pi 2

When it is at 4.1 release, the Raspberry PI 2 used to have stable issue with VRQ patch, which cause it hang after about 1 day uptime. I have to run it with -gc patch for 7*24 usage.

In this release, it happens that I have to debug the -vrq stable issue and I decided to try -vrq again on rpi2. Till now, my Raspberry PI 2 7*24 box has been up with 4.6 BFS/VRQ patch for almost 12 days. No scheduler related kernel debug warming/error in can be found so far. So it is considered stable.

The -vrq patch of 4.6 can be cleanly apply on rpi kernel tree and no additional patch is needed. Have fun with these wonderful SoCs with BFS/VRQ scheduler.

BR Alfred

Monday, April 13, 2015

BFS fun for Raspberry Pi 2

Recently I brought a Raspberry Pi 2 as there are 4 cores than the single one on the first generation and double ram size. I would like to check whether it can be a thin-client replacement for me at this moment and for sure, Pi is very extendable and a fun toy to play with, I already have several idea want to be made from Pi.

After try with the NOOB to make sure the hardware works, I installed funtoo into Pi, system runs fine, X works with FB driver, FF 31 can be compiled and works, but it runs slow than I expected. I may try Xorg rpi driver to see if it acts better. But before that, I tried to custom the pi kernel for my needs and of course, get BFS run on it.

Pi now using 3.18.x kernel, the default pi kernel conig is a little be "fat", I am not going to customize the kernel config heavily right now, as it's the first time to touch this arch. Changed two kernel config to my needed, rebuild the kernel and it works on Pi. BFS 0460 can be clearly applied and be built, the kernel is running for 8H now. So far, BFS on Pi2 goes smoothly, going to apply -gc branch onto it, to be continued...