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.

Wednesday, September 20, 2017

PDS 0.98 release

PDS 0.98 is released with the following changes

1. Renamed. As planned, the scheduler is proper described as Priority and Deadline based Skiplist multiple queue Scheduler, in short, PDS-mq or just PDS. Documentation/scheduler/sched-PDS-mq.txt has been added to document the PDS, but it is not finished.
2. Fix UP compilation issue in previous release, reported by jwh7.
3. re-queue task when priority/deadline changed, which fix tasks out of order issue in run queue and cause a WARNING kernel log.
4. Minor code improvements.
5. Skiplist randomization when task burst forking, this help with skiplist level randomization when forking tasks in a very short time frame.

This release is mainly for bug fix and rename. Now there is over 200+ commits for PDS and the scheduler is consider stable in this kernel release, so in next kernel release, it is planned to squash commits into one or just few for better maintenance.

Enjoy the brand new (named) PDS 0.98 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

(Yes, still use old branch name, will be renamed in 4.14)

 All-in-one patch is available too.


PS:
Found a task deadline level calculation mistaken on a debug load today, please consider to pick up the fix at https://bitbucket.org/alfredchen/linux-gc/commits/543de0b70aed7785c226ad65a39366c80f15711b