PDS 0.99k is released with the following changes
1. Use exported task_rq_lock/unlock(). These mainline API has been implemented and exported in PDS, so we can use them in other modules to minimized PDS code changes.
2. Optimize pds_skiplist_random_level().
3. Rework SCHED_ISO and non-root user can switch task among ISO/NORMAL/BATCH/IDLE.
The most important change in this release is the rework of ISO policy in PDS
SCHED_ISO tasks now have higher priority to be picked up and run than
SCHED_NORMAL tasks. When their remaining time slice(default max 4ms in
PDS) run out, they will degrade to SCHED_NORMAL(and nice level kicks
in). The degradation will be continued when they still hungry for cpu.
The above design makes SCHED_ISO good for interactivity but not cpu
And now, normal users can set task policy ISO/NORMAL/BATCH/IDLE freely without root permission. You are encouraged to test any interactive task in PDS new ISO policy(such as gaming, media playback, browsing web ...), and feedback will be welcome.
Enjoy PDS 0.99k for v4.20 kernel, :)
Code are available at https://gitlab.com/alfredchen/linux-pds
All-in-one patch is available too.