Wednesday, August 22, 2018

PDS 0.98w release

PDS 0.98w is released with the following changes

1. Rework rq->sl_header data structure. Now, it is a pointer to the idle->sl_node. This unify sl_node -> task conversion.
2. Policy based task_preemptible_rq(). IDLE/BATCH/NORMAL tasks now has their own strategy in the ttwu code path.
3. Rewrok take_other_rq_task() code path. This code change is prepare for the incoming SM_NICE feature.
4. Try to take tasks from other rq when prio downgrade. Now when rq is going to switch to a low priority task than previous, it will look up if there is higher priority tasks from other run queues.
5. Introduce sched_rq_pending_masks. This replace the sched_rq_nr_running_masks, and provide better filter mask for take_other_rq_task code path.
5. Change per cpu cpu_has_smt_sibling to sched_sibling_cpu. Another preparation for SMT_NICE.
6. Fix UP/non-SMT compilation warning.

#1 and #2 are the new code changes. I personally like the #1, which actually implement the idle task as the tail of the task link in the rq, just like the old school book said. Other changes are preparation for SMT_NICE in the next release.

Enjoy PDS 0.98w for v4.18 kernel, :)

Code are available at https://gitlab.com/alfredchen/linux-pds.
All-in-one patch is available too.

Thursday, August 16, 2018

PDS 0.98v release

PDS 0.98v is released with the following changes

1. Some code refine.
2. Make Batch/Idle tasks less preemptible vs Normal tasks.

With #2, Normal policy tasks should be more responsible when run with Batch/Idle policy tasks. Slight regression has been found for Batch/Idle policy task sanity tests, but they are the design intention of #2.

SMT_NICE will get some love in this kernel release. There will be some SMT_NICE pre-required code changes in next PDS release next week.

Enjoy PDS 0.98v for v4.18 kernel, :)

Code are available at https://gitlab.com/alfredchen/linux-pds.
All-in-one patch is available too.

Sunday, August 12, 2018

PDS 0.98u release

PDS 0.98u is released with the following changes

1. Sync up mainline scheduler changes in 4.18

This is the first PDS-mq release for kernel 4.18. As usual, it just a sync-up release, it all goes well. The next PDS-mq release will be arrived at the weekend, 10+ commits are pending.

Enjoy PDS 0.98u for v4.18 kernel, :)

Code are available at https://gitlab.com/alfredchen/linux-pds
(Say good-bye to github)

All-in-one patch is available too.

Edit: Fix all-in-one patch link.