Wednesday, January 9, 2019

PDS 0.99k release

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
    consumption tasks.
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
All-in-one patch is available too.