Thursday, August 15, 2019

BMQ 0.99 release

BMQ 0.99 is released with the following changes

1. A lot of refines here and there in BMQ routines and code path.
2. Consider llc(last level cache) in sg balance and ttwu code path. This hopefully can help with cpu topology with multiple llc, like ryzen. But I don't have hw to further test.

Your feedback will be welcome, especially for #2 changes for multiple llc cpus.

Enjoy BMQ 0.99 for v5.2 kernel, :)

Full kernel tree repository can be found at https://gitlab.com/alfredchen/linux-bmq
And all-in-one patch can be found at gitlab.

Sunday, July 14, 2019

BMQ 0.98 release

BMQ 0.98 is released with the following changes

1. Minor comment/code readable changes.
2. BMQ default RLIMIT_NICE, which let normal privilege users can set nice up to -10.
3. Instroduce __bmq_find_first_bit()/__bmq_find_next_bit() for rq->queue.bitmap, to avoid zero checking.

In this release, there is just one minor improvement(#3) for BMQ itself. But there is #2 for user experience. Now, even normal privilege users can promote interactive focused tasks to nice level up to -10, for example, I'd like to use "nice --5 firefox" to run firefox so heavy normal nice level 0 tasks on the terminal won't impact it. Usually, normal privilege users can't set nice level lower than 0. But it should be a nice to have privilege if using BMQ.

Further explanation  about the above use case, consider there is +/-4 auto nice level adjustment in BMQ, the firefox and the normal nice level 0 tasks will still have some overlap in scheduler level for some time, but the result turns out very good. If no overlap is really required, nice level -10 can be used for the firefox.

Enjoy BMQ 0.98 for v5.2 kernel, :)

Full kernel tree repository can be found at https://gitlab.com/alfredchen/linux-bmq
And all-in-one patch can be found at gitlab.

Please report bugs at https://gitlab.com/alfredchen/bmq/issues.

Sunday, July 7, 2019

BMQ 0.97 release

BMQ 0.97 is released with the following changes

1. Sync up with mainline 5.2 scheduler code changes.
2. Fix compilation error when PSI disabled and CGROUP enabled.

This is the first release for 5.2 kernel, just a sync-up release.

Enjoy BMQ 0.97 for v5.2 kernel, :)

Full kernel tree repository can be found at https://gitlab.com/alfredchen/linux-bmq
And all-in-one patch can be found at gitlab.

Please report bugs at https://gitlab.com/alfredchen/bmq/issues.

Thursday, June 6, 2019

BMQ 0.96 release

BMQ 0.96 is released with the following changes

1. Several enhancement in the core path.
2. Redo the sync commit reverted in 0.95.

Enjoy BMQ 0.96 for v5.1 kernel, :)

Full kernel tree repository can be found at https://gitlab.com/alfredchen/linux-bmq
And all-in-one patch can be found at gitlab.

Please report bugs at https://gitlab.com/alfredchen/bmq/issues.

Sunday, May 26, 2019

BMQ 0.95 release

BMQ 0.95 is released with the following changes

1. Fix rq missing on arm arch.
2. Rework/Remove code to reduce overhead.

Enjoy BMQ 0.95 for v5.1 kernel, :)

Full kernel tree repository can be found at https://gitlab.com/alfredchen/linux-bmq
And all-in-one patch can be found at gitlab.

Please report bugs at https://gitlab.com/alfredchen/bmq/issues.

Monday, May 6, 2019

BMQ 0.94 release

BMQ 0.94 is released with the following changes

1. Sync up with mainline kernel scheduler code changes.

This is the first BMQ release for 5.1 kernel, it just contains the sync up changes.

Enjoy BMQ 0.94 for v5.1 kernel, :)

Full kernel tree repository can be found at https://gitlab.com/alfredchen/linux-bmq
And all-in-one patch can be found at gitlab.

Please report bugs at https://gitlab.com/alfredchen/bmq/issues.

UPDATE:
Pls check https://gitlab.com/alfredchen/bmq/issues/5 for detail, in short, pls pick up commit https://gitlab.com/alfredchen/linux-bmq/commit/c98f44724fac5c2b42d831f0ad986008420d13c2 for this release.

Tuesday, April 30, 2019

BMQ 0.93 release

BMQ 0.93 is released with the following changes

1. New tasks has MAX_PRIORITY_ADJ boost_prio. This will help with task fairness while new task boost creating.
2. Rework deboost_task(). Again, this will help to reduce scheduling overhead.
3. Re-implement yield_type 1. The new yield implement now can be set by yield_type 2. Still, default is 1(deboost task and requeue it).

This should be the last BMQ release for v5.0 kernel.

Enjoy BMQ 0.93 for v5.0 kernel, :)

Full kernel tree repository can be found at https://gitlab.com/alfredchen/linux-bmq
And all-in-one patch can be found at gitlab.

Please report bugs at https://gitlab.com/alfredchen/bmq/issues.