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
Tuesday, February 4, 2020
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
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
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
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
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
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
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
Subscribe to:
Posts (Atom)