Monday, March 30, 2020

BMQ v5.6-r0 release

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

1. Sync up with mainline kernel 5.6 scheduler code changes.

This is the first BMQ release for linux kernel 5.6, nothing new but sync-up, fix and enhancement will be come in next release.

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

Tuesday, March 10, 2020

BMQ v5.5-r3 release

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

1. Implement sched_exec(). Take this change to balance cpu loading as task has very load memory&llc footprint at this point of time.
2. Optimize sg_balance_check(). Cut off one of the two sg balance checking branch based on analysis.
3. Introduce per cpu sched_cpu_llc_mask. And also deploy bottom up topology cpumask setup, used more code but hopefully it is the final version suitable for all major CPUS.

These are major code changes for the found-out during spring code clean-up. I believe that all for 2020's Spring code clean-up and it will be the final release for 5.5 kernel release.

After more than one year of deployment(officially release today one year ago), the main features of BMQ are stable and in a good shape(IMO). So from next kernel release, I'd like to start picking up some previous low priority work items.

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

Sunday, March 1, 2020

BMQ v5.5-r2 release

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

1. Spring code clean-up to better aligned with mainline scheduler code.

These are minor clean-up code changes, other lager code changes and feature add-on found during code clean-up is planned in next release.

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

Tuesday, February 4, 2020

BMQ v5.5-r1 release

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

1. Rework/Clean up cpu affinity cpumask setup code.
2. Introduce boot-time kernel parameter "bmq.timeslice".

As users request, introduced boot-time kernel parameter "bmq.timeslice" in us. Remove kernel config CONFIG_SCHED_TIMESLICE. Documented in Documentation/admin-guide/kernel-parameters.txt, copied here for reference

bmq.timeslice=  [KNL] Time slice in us for BMQ scheduler.
                Format: <int> (must be >= 1000)
                Default: 4000
                See Documentation/scheduler/sched-BMQ.txt

For example, add kernel parameter "bmq.timeslice=2000" to try out 2000us(2ms) time slice for BMQ.

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

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