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.

Thursday, November 16, 2017

PDS 0.98f release

PDS 0.98f is released with the following changes

1. Fix set task cpu to offline cpu warning, reported by pf.
2. Fix long existed task schedule runtime accounting bug, reported by Eduardo.
3. Remove yield support, as planned.

It is too good to have no issue in my list. Enjoy PDS 0.98f 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.

Monday, November 13, 2017

PDS 0.98e release

PDS 0.98e is released with the following changes

1. Sync with 4.14 mainline scheduler changes.

This is sync-up release for 4.14. The remain known issue is the task accounting issue reported by Edurado, hopefully be fixed in this release.

Enjoy PDS 0.98e 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, October 27, 2017

PDS 0.98d release

PDS 0.98d is released with the following changes

1. Rework next_balance for balancing overhead cutting. Which fix task imbalance issue reported by Manuel.

This is a bug fix release, and will be the last one before next kernel release.

Enjoy PDS 0.98d for v4.13 kernel, :)

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

 All-in-one patch is available too.

Sunday, October 22, 2017

PDS 0.98c release

PDS 0.98c is released with the following changes

1.Refine __sched_setscheduler().
2.Task deadline catch-up algorithm V3, which just apply catch-up algorithm for NORMAL policy tasks.
3.Adjust next_balance value and Fix task balance with low HZ system. (Task policy fairness imbalance issue reported by Manuel still under investigation)
4.Set default yield_type to 0. Help with wine running which use yield APIs. Yield support in PDS will be removed if no complains.

This is a bug fix release, hopefully it helps with compatibility and stability.

Enjoy PDS 0.98c for v4.13 kernel, :)

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

 All-in-one patch is available too.

Tuesday, October 10, 2017

PDS 0.98b release

PDS 0.98b is released with the following changes

1. UP compilation fix.
2. Task deadline catch-up algorithm V2. A simple deadline catch-up algorithm, give less cpu usage task earlier deadline when it is woken up. This will help for interactivity.
3. Sync up for 4.13 mainline release. Hopefully help with suspend/resume stability.
4. Fix a long existed hidden sync-up issue of get_user_cpu_mask().
5. Minor improvement.

This is a bug fix release, hopefully it will solve the issues reported in previous release.

Enjoy PDS 0.98b for v4.13 kernel, :)

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

 All-in-one patch is available too.

Saturday, September 30, 2017

PDS 0.98a release

PDS 0.98a is released with the following changes

1. Fix calculation mistake in task_deadline_level() in previous release.
2. Reduce policy fairness balance overhead when task_deadline_level() calcalation is corrected.
3. Refine policy fairness balance.
4. For 32bits kernel, remove a global lock accessing by only preempt lower scheduling level run queue. (32bits Raspberry PI should get some love)
5. Extend one more NORMAL policy deadline level.
6. Fix reverted task policy value.

This is a bug fix release plus some enhancement. Compare to previous release, there is some performance regression in exchange for some interactivity improvment. Now, all design should work as expected.

Enjoy PDS 0.98a for v4.13 kernel, :)

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

 All-in-one patch is available too.