VRQ 0.90 is released with the following changes
1. Introduce sched_yield_type from MuQSS
2. Remove temp valuables in run queue for current task
3. Refine dither.
As there is no more previous vrq feature code need to be ported, I'd like to announce VRQ 0.90 release just before the new year. All known issues will be traced in 0.90+ releases.
In the 0.90+ release, I am planning to focus on fixing known issues, porting useful code changes from BFS/MuQSS and develop new features in VRQ.
Enjoy 0.90 release of VRQ in 2017, :)
code are available at
https://bitbucket.org/alfredchen/linux-gc/commits/branch/linux-4.9.y-vrq
and also
https://github.com/cchalpha/linux-gc/commits/linux-4.9.y-vrq
All-in-one patch is available too.
BR Alfred
Thursday, December 29, 2016
Friday, December 23, 2016
VRQ 0.89h release
VRQ 0.89h is released with the following changes
1. Fix UP compile issue.
2. Refine take_other_rq_task(), which create a code path for cpu running scaling frequency.
3. Code clean up and remove un-used code.
I'd spend the rest week of this year to double check if there are still helpful feature in previous VRQ not yet been ported to 0.89, if no, there will be 0.9 release at the end of 2016.
Enjoy this X'mas release of VRQ, :)
code are available at
https://bitbucket.org/alfredchen/linux-gc/commits/branch/linux-4.9.y-vrq
and also
https://github.com/cchalpha/linux-gc/commits/linux-4.9.y-vrq
All-in-one patch is available too.
BR Alfred
1. Fix UP compile issue.
2. Refine take_other_rq_task(), which create a code path for cpu running scaling frequency.
3. Code clean up and remove un-used code.
I'd spend the rest week of this year to double check if there are still helpful feature in previous VRQ not yet been ported to 0.89, if no, there will be 0.9 release at the end of 2016.
Enjoy this X'mas release of VRQ, :)
code are available at
https://bitbucket.org/alfredchen/linux-gc/commits/branch/linux-4.9.y-vrq
and also
https://github.com/cchalpha/linux-gc/commits/linux-4.9.y-vrq
All-in-one patch is available too.
BR Alfred
Thursday, December 15, 2016
VRQ 0.89g release
VRQ 0.89g is released with the following changes
1. Sync-up with kernel 4.9
2. Fix a bug that scheduler may out of sync with acpi governors when switch from non-acpi drivers.
3. Minor compile warning fix.
As 4.9 is a release with huge changes, two of my machines are still have issues caused by mainline code changes. It may required one or two minor release to settle down.
Meanwhile, I am planning to continue deploy missing changes from previous VRQ to 0.89. And consider that BFS is no longer development, vrq doesn't need to rebase to any BFS code base, I will squash some commits that would help to reduce the over head when porting to new kernel release next time.
Enjoy kernel 4.9 with VRQ scheduler, :)
code are available at
https://bitbucket.org/alfredchen/linux-gc/commits/branch/linux-4.9.y-vrq
and also
https://github.com/cchalpha/linux-gc/commits/linux-4.9.y-vrq
All-in-one patch is available too.
BR Alfred
1. Sync-up with kernel 4.9
2. Fix a bug that scheduler may out of sync with acpi governors when switch from non-acpi drivers.
3. Minor compile warning fix.
As 4.9 is a release with huge changes, two of my machines are still have issues caused by mainline code changes. It may required one or two minor release to settle down.
Meanwhile, I am planning to continue deploy missing changes from previous VRQ to 0.89. And consider that BFS is no longer development, vrq doesn't need to rebase to any BFS code base, I will squash some commits that would help to reduce the over head when porting to new kernel release next time.
Enjoy kernel 4.9 with VRQ scheduler, :)
code are available at
https://bitbucket.org/alfredchen/linux-gc/commits/branch/linux-4.9.y-vrq
and also
https://github.com/cchalpha/linux-gc/commits/linux-4.9.y-vrq
All-in-one patch is available too.
BR Alfred
Tuesday, December 6, 2016
VRQ 0.89f release
VRQ 0.89f release
Normally I won't do two release in a day, but there are always exception. Here is the VRQ 0.89f relase with just one single commit
Rewrite the best_mask_cpu(). Which now use sched_cpu_affinity_chk_masks, to provide better performance improvement and to avoid addtional checking in non smt abilty cpu but has SMT kernel config enabled.
In short, in my sanity test, it shows improvement in all kinds of workload, here comes the sanity result of VRQ 0.89f before the next kernel release.
vrq0.89f
>>>>>50% workload
>>>>>round 1
real 5m27.812s
user 10m13.565s
sys 0m39.533s
>>>>>round 2
real 5m27.771s
user 10m13.407s
sys 0m39.521s
>>>>>round 3
real 5m27.834s
user 10m13.448s
sys 0m39.579s
>>>>>100% workload
>>>>>round 1
real 2m54.660s
user 10m30.269s
sys 0m41.142s
>>>>>round 2
real 2m54.602s
user 10m30.652s
sys 0m41.021s
>>>>>300% workload
>>>>>round 1
real 2m57.899s
user 10m40.231s
sys 0m41.864s
>>>>>round 2
real 2m57.682s
user 10m40.238s
sys 0m41.928s
>>>>>round 3
real 2m57.480s
user 10m40.219s
sys 0m41.282s
Enjoy this final vrq release before next kernel, :)
code are available at
https://bitbucket.org/alfredchen/linux-gc/commits/branch/linux-4.8.y-test
and also
https://github.com/cchalpha/linux-gc/commits/linux-4.8.y-test
All-in-one patch is available too.
BR Alfred
Normally I won't do two release in a day, but there are always exception. Here is the VRQ 0.89f relase with just one single commit
Rewrite the best_mask_cpu(). Which now use sched_cpu_affinity_chk_masks, to provide better performance improvement and to avoid addtional checking in non smt abilty cpu but has SMT kernel config enabled.
In short, in my sanity test, it shows improvement in all kinds of workload, here comes the sanity result of VRQ 0.89f before the next kernel release.
vrq0.89f
>>>>>50% workload
>>>>>round 1
real 5m27.812s
user 10m13.565s
sys 0m39.533s
>>>>>round 2
real 5m27.771s
user 10m13.407s
sys 0m39.521s
>>>>>round 3
real 5m27.834s
user 10m13.448s
sys 0m39.579s
>>>>>100% workload
>>>>>round 1
real 2m54.660s
user 10m30.269s
sys 0m41.142s
>>>>>round 2
real 2m54.602s
user 10m30.652s
sys 0m41.021s
>>>>>300% workload
>>>>>round 1
real 2m57.899s
user 10m40.231s
sys 0m41.864s
>>>>>round 2
real 2m57.682s
user 10m40.238s
sys 0m41.928s
>>>>>round 3
real 2m57.480s
user 10m40.219s
sys 0m41.282s
Enjoy this final vrq release before next kernel, :)
code are available at
https://bitbucket.org/alfredchen/linux-gc/commits/branch/linux-4.8.y-test
and also
https://github.com/cchalpha/linux-gc/commits/linux-4.8.y-test
All-in-one patch is available too.
BR Alfred
Monday, December 5, 2016
VRQ 0.89e release
4.9 kernel will be released soon and vrq 0.89 will be replaced previous version as the official release of VRQ branch. To give enough hand-off period before 4.9 officially come out, here come VRQ 0.89e release with just two commits
1. Fix hang issue once switch to schedutil governor.
2. Use mainline loadavg.c for load avg calculation.
code are available at
https://bitbucket.org/alfredchen/linux-gc/commits/branch/linux-4.8.y-test
and also
https://github.com/cchalpha/linux-gc/commits/linux-4.8.y-test
All-in-one is available too.
Enjoy this release, :)
There is just one may be two missing features which existed in previous vrq but not yet be in vrq 0.89 release. Once they are done, 0.9 can be official released, hopefully it could happened this year.
BR Alfred
1. Fix hang issue once switch to schedutil governor.
2. Use mainline loadavg.c for load avg calculation.
code are available at
https://bitbucket.org/alfredchen/linux-gc/commits/branch/linux-4.8.y-test
and also
https://github.com/cchalpha/linux-gc/commits/linux-4.8.y-test
All-in-one is available too.
Enjoy this release, :)
There is just one may be two missing features which existed in previous vrq but not yet be in vrq 0.89 release. Once they are done, 0.9 can be official released, hopefully it could happened this year.
BR Alfred
Thursday, December 1, 2016
VRQ 0.89d release
VRQ 0.89d now release with
1. Fix the cpu c-state issue. It is a long existed bug but covered by other issue.
2. Don't punish run queue time slice for RT/ISO and NORMAL policy task. The hackbench test shows that sharing time slices between parent and child task(enabled in 089c) limited the fork boost in one time slice. So here comes this policy specified modification.
3. Rewrite task_preemptible_rq(), more efficiency than previous version and help with policy fairness.
4. Remove unneeded code and debug code.
cpufreq_trigger investigation is still on going and policy fairness is being watched to see if further improvement is needed.
code are available at
https://bitbucket.org/alfredchen/linux-gc/commits/branch/linux-4.8.y-test
and also
https://github.com/cchalpha/linux-gc/commits/linux-4.8.y-test
All-in-one patch is available too.
Enjoy this release, :)
BR Alfred
PS, if you want to see some sanity test result comparing to vrq089a
089d
>>>>>50% workload
>>>>>round 1
real 5m27.954s
user 10m12.988s
sys 0m40.254s
>>>>>round 2
real 5m27.918s
user 10m13.064s
sys 0m40.219s
>>>>>round 3
real 5m28.132s
user 10m13.435s
sys 0m40.086s
>>>>>100% workload
>>>>>round 1
real 2m54.629s
user 10m30.754s
sys 0m41.447s
>>>>>round 2
real 2m54.776s
user 10m30.643s
sys 0m41.513s
>>>>>round 3
real 2m54.765s
user 10m30.421s
sys 0m41.619s
>>>>>300% workload
>>>>>round 1
real 2m58.007s
user 10m40.934s
sys 0m42.030s
>>>>>round 2
real 2m57.813s
user 10m40.255s
sys 0m42.349s
>>>>>round 3
real 2m58.158s
user 10m40.527s
sys 0m42.589s
089a
>>>>>50% workload
>>>>>round 1
real 5m29.051s
user 10m15.233s
sys 0m40.015s
>>>>>round 2
real 5m28.288s
user 10m13.595s
sys 0m40.065s
>>>>>round 3
real 5m28.229s
user 10m13.232s
sys 0m40.328s
>>>>>100% workload
>>>>>round 1
real 2m55.358s
user 10m32.229s
sys 0m41.553s
>>>>>round 2
real 2m55.629s
user 10m32.527s
sys 0m41.358s
>>>>>round 3
real 2m55.252s
user 10m31.858s
sys 0m41.873s
>>>>>300% workload
>>>>>round 1
real 2m59.998s
user 10m47.413s
sys 0m42.727s
>>>>>round 2
real 3m0.404s
user 10m47.422s
sys 0m43.425s
>>>>>round 3
real 2m59.934s
user 10m47.287s
sys 0m43.103s
1. Fix the cpu c-state issue. It is a long existed bug but covered by other issue.
2. Don't punish run queue time slice for RT/ISO and NORMAL policy task. The hackbench test shows that sharing time slices between parent and child task(enabled in 089c) limited the fork boost in one time slice. So here comes this policy specified modification.
3. Rewrite task_preemptible_rq(), more efficiency than previous version and help with policy fairness.
4. Remove unneeded code and debug code.
cpufreq_trigger investigation is still on going and policy fairness is being watched to see if further improvement is needed.
code are available at
https://bitbucket.org/alfredchen/linux-gc/commits/branch/linux-4.8.y-test
and also
https://github.com/cchalpha/linux-gc/commits/linux-4.8.y-test
All-in-one patch is available too.
Enjoy this release, :)
BR Alfred
PS, if you want to see some sanity test result comparing to vrq089a
089d
>>>>>50% workload
>>>>>round 1
real 5m27.954s
user 10m12.988s
sys 0m40.254s
>>>>>round 2
real 5m27.918s
user 10m13.064s
sys 0m40.219s
>>>>>round 3
real 5m28.132s
user 10m13.435s
sys 0m40.086s
>>>>>100% workload
>>>>>round 1
real 2m54.629s
user 10m30.754s
sys 0m41.447s
>>>>>round 2
real 2m54.776s
user 10m30.643s
sys 0m41.513s
>>>>>round 3
real 2m54.765s
user 10m30.421s
sys 0m41.619s
>>>>>300% workload
>>>>>round 1
real 2m58.007s
user 10m40.934s
sys 0m42.030s
>>>>>round 2
real 2m57.813s
user 10m40.255s
sys 0m42.349s
>>>>>round 3
real 2m58.158s
user 10m40.527s
sys 0m42.589s
089a
>>>>>50% workload
>>>>>round 1
real 5m29.051s
user 10m15.233s
sys 0m40.015s
>>>>>round 2
real 5m28.288s
user 10m13.595s
sys 0m40.065s
>>>>>round 3
real 5m28.229s
user 10m13.232s
sys 0m40.328s
>>>>>100% workload
>>>>>round 1
real 2m55.358s
user 10m32.229s
sys 0m41.553s
>>>>>round 2
real 2m55.629s
user 10m32.527s
sys 0m41.358s
>>>>>round 3
real 2m55.252s
user 10m31.858s
sys 0m41.873s
>>>>>300% workload
>>>>>round 1
real 2m59.998s
user 10m47.413s
sys 0m42.727s
>>>>>round 2
real 3m0.404s
user 10m47.422s
sys 0m43.425s
>>>>>round 3
real 2m59.934s
user 10m47.287s
sys 0m43.103s
Subscribe to:
Posts (Atom)