Thursday, October 3, 2019

BMQ v5.3.1 release

BMQ v5.3.1 is released with the following changes

1. Rework sched_rq_watermark. This rework shift the workload of sched_rq_watermaek from ttwu code path to enqueue/dequeue code path. Sanity tests show improvement under all kinds of cpu workload.
2. Fix task_sched_prio(). This fixes a long existed stupid plus/minus one mistake in schedule priority.

Yes, the version number is changed. Now it is better reflect the fact that BMQ is related to the kernel release. In current version pattern, the first two digital is the linux kernel version that this BMQ release is applied on, and 3rd digital is the BMQ release in the given(first 2 digital) kernel.

Enjoy BMQ for your linux 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.

Bug report at https://gitlab.com/alfredchen/bmq/issues

Monday, September 16, 2019

BMQ 1.00 release

BMQ 1.00 is released with the following changes

1. Syn up with mainline 5.3 scheduler code changes.
2. Enable CONFIG_CGROUP_CPUACCT with BMQ. Requested by user to enable this, not guarantee works 100% as expected, but at least no complain so far.
3. Document update.
4. unbreak systemd-detect-virt. Thanks Oleksandr Natalenko for reporting and providing fix patch. Pls check https://gitlab.com/alfredchen/bmq/issues/8# for detail.

Finally hits 1.00 release, but nothing special, just the first release of 5.3 kernel. Thanks for who contribute to BMQ, by testing,reporting and providing fix patches. All these make BMQ stable and advancing. BMQ development will keep moving forward. And currently there is a rework is under testing, the result is promising, hopefully will be released in next release in one or two weeks.

Enjoy BMQ 1.00 for v5.3 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.

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.