Sunday, January 26, 2020

BMQ v5.5-r0 release

BMQ v5.5-r0 is released with the following changes

1. Sync-up with mainline 5.5 scheduler changes.

Nothing new but sync-up for 5.5 kernel release, new code changes will be coming for next release. Meanwhile it seems be a very unexpected CNY holiday for this beginning of the new decade.

#PrayForChina
#RIP_Kobe

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

Friday, January 17, 2020

BMQ v5.4-r2 release

BMQ v5.4-r2 is released with the following changes

1. Change SCHED_BMQ Kconfig location. Now BMQ related Kconfig can be found under "Scheduler features"
2. Update recommend SCHED_TIMESLICE. 2ms is recommend for PREEMPT(Preemptible Kernel (Low-Latency Desktop)) system, 4ms for others.
3. Update yield_type documentation.

After weeks of experience, 2ms scheduler time slice is recommend for BMQ. The overhead introduced by double the time slice switches is so far acceptable.

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

Thursday, December 19, 2019

BMQ v5.4-r1 release

BMQ v5.4-r1 is released with the following changes

1. Adjust task boost_prio at deactivate&wake_up.

This change makes task which gives up CPU longer than a time slice a priority boost when it wakes up. And now, children tasks fork from high boost priority tasks will have relative higher boost priority than the original lowest boost priority.

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, November 25, 2019

BMQ v5.4-r0 release

BMQ v5.4-r0 is released with the following changes

1. Sync up with 5.4 mainline scheduler code changes.

This is the first BMQ release for 5.4 kernel series. Besides the sync-up changes, there is also fix for BMQ with NUMA kernel config, there were some Ryzen related NUMA in previous kernel releases, hopefully this will help with Ryzen users.

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, October 21, 2019

BMQ v5.3-r2 release

BMQ v5.3-r2 is released with the following changes

1. Several optimization. Remove sched_cpu_llc_start_mask, Optimize migrate_pending_tasks() and Refine bmq_find_first_bit/bmq_find_next_bit macros. 
2. Rename some variables for readable.

Version number pattern has changed per the suggestion from users. Now there should be no confusion.

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

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.