Showing posts with label BMQ. Show all posts
Showing posts with label BMQ. Show all posts

Tuesday, May 4, 2021

Sunday, April 25, 2021

Sunday, March 28, 2021

Sunday, March 7, 2021

Monday, February 15, 2021

Project C v5.11-r0 release

 

Project C v5.11-r0 is released.

First release for 5.11, a lot of mainline code changes and adaptation, there is still known minor issue, but it should work.

 And, Happy Chinese New Year!

Wednesday, December 30, 2020

Thursday, December 24, 2020

Project C v5.10-r1 release

Project C v5.10-r1 is released. 

This is a Xmas release of project c, last two issues raised in previous blog msg is not yet fixed. It is encouraged to create bug report/issue in gitlab, they will be better traced with the code.

2020 is a such different year which impact everyone in the world. Fortunately I can live more closer to normal live but still have face mask on for almost a year now, and I guess it will continue in 2021.

In this year, the development of bmq/pds schedulers still continue, and they make together into project c. To be honest, if I have more WFH time, I could put more time into this project, :) . In short, it is normal year for my scheduler development project. And, hopefully it give you a normal thing feeling in this abnormal year.

Merry Xmas and Happy new year.  Take care yourself and others.

Tuesday, September 15, 2020

Project C v5.8-r3 release

Project C v5.8-r3 is released at https://gitlab.com/alfredchen/linux-prjc/-/releases/v5.8-prjc-r3

And dear users(especial  amd cpu users), please check issue report at https://gitlab.com/alfredchen/linux-prjc/-/issues/8. If you have similar issue, pls let us know and try 00_v5.8_r0_disable_wake_list.patch in the attachments and see if it fix the issue for you.

Saturday, September 5, 2020

Project C v5.8-r2 release

Project C v5.8-r2 is released at https://gitlab.com/alfredchen/linux-prjc/-/releases/v5.8-prjc-r2

PDS has been ported from 5.0, I have tested for weeks in daily usage include suspend/resume etc, so it is good for open testing.

Detail changes can be trace via git commits, and will not be covered in blog. And I am thinking about move code/development information and activities to gitlab instead of blog. So, later, blog update will be just a notification about a new release. :)

Monday, August 17, 2020

Project C v5.8-r1release

Project C v5.8-r1 is released with the following changes

1. Fix UP compilation issue.
2. Fix compilation issue when CONFIG_SCHED_THERMAL_PRESSURE enabled.

This is a fix release.

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

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

Monday, August 10, 2020

Project C v5.8-r0 release

Project C v5.8-r0 is released with the following changes

1. Sync-up 5.8 mainline scheduler code changes.
2. Adjust task boost priority to +/-7, and change SCHED_BITS to 128.

It's one week delay than normal new mainline kernel release. Because there are lots of scheduler related sync-up in 5.8 kernel release. #2 has been asked by users, so here comes the +/- 7 boost priority and 128 bits SCHED_BITS, IMO, this should be well balance setting. But this just provides a more widely overlay in running priorities, it doesn't really change that BMQ is pure priority based scheduler.

PS, PDS porting has been started.

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

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

Tuesday, July 28, 2020

Project C v5.7.5-r3 release

Project C v5.7.5-r3 is released with the following changes

1. Include fixes from next release.
2. Introduce rq wake_list.

In 5.8 kernel release, mainline will rework around rq wake_list, so it's better to implement it now and get some test. Its code path just enabled when cpu has multiple last level cache. As I don't have the real HW to test it, so it is tested using qemu only. PS, 5.8 seems to be released in a week or two, but it may be some delay to release the first project c patch on 5.8.

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

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

Tuesday, June 30, 2020

Project C v5.7.5-r2 release

Project C v5.7.5-r2 is released with the following changes

1. Adapt to Project C infrastructure
2. v5.7.5 Sync-up fix for https://gitlab.com/alfredchen/projectc/-/issues/17

Now, all things has moved to Project C, will continue to fix things left in the incoming release. Please be noticed that the bmq.timeslice kernel parameter has been changed to sched_timeslice.

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

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

Sunday, June 7, 2020

BMQ v5.7-r1 release

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

1. Fixes for two compilation issue in r0 release.

Nothing new, just a bug fix release before project-C.

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, June 1, 2020

BMQ v5.7-r0 release

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

1. Sync-up with mainline scheduler code changes.

This is the first release of BMQ in v5.7, nothing new but the sync-up. Meanwhile, Project C has been started. In this kernel release cycle, BMQ will be refactored into Project C infrastructure. A lot things need to be decided in the next 2~3 weeks. Stay tuned.

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, May 22, 2020

Project C announcement


BMQ scheduler has been development for more than one year. And it has accomplished the ambition when it was setup to be. As a simple scheduler, BMQ is now stable for several kernel release and less feature is added from release to release. It is now in maintenance mode.

When searching for idea about cpu scheduling, PDS, which has been exiled since BMQ, is still the most potential one, and the one most close to BMQ(in code level and performance level). Several very early improvement idea has been drafted after the reviewing of the latest PDS(kernel 5.0). So, PDS will be picked up again, and it is going to share same code base of BMQ. That comes Project C.

Project C ambitions
1. Based on BMQ code base, provide common alternative cpu scheduler code for linux kernel.
2. Provide single patch set for BMQ and PDS, switch at kernel configuration.
3. Maintenance BMQ
4. Continuous improvement on PDS till it enter maintenance mode.

Here is the recent Project C planing in the incoming kernel release cycle
5.7   Refactor BMQ into Project C infrastructure. 
5.8   Recreate PDS based on Project C code base.
5.9   PDS beta.
5.10 PDS official release.
5.11 PDS continuous improvement. 

Project C has no deadline defined, but may last for a year.

And the last thing, C for "Cross".

Saturday, May 9, 2020

BMQ v5.6-r4 release

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

1. Minor reworks in two core functions.
2. Set proper time slice for idle tasks.

This should be the last BMQ release in this kernel cycle. Sync-up work from next week. 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, April 20, 2020

BMQ v5.6-r3 release

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

1. Rework codes in __schedule() and sched_fork(). These are minor changes, but will somehow help to reduce overhead.

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, April 12, 2020

BMQ v5.6-r2 release

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

1. Fix sync-up error when BMQ applied but not enabled.
2. Fix cpu topology setup for BMQ in ryzen system.
3. Fix incorrect rq->sched_goidle statistics.

This is a bug fix release, thanks for who reports these. 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