Sunday, August 28, 2016

v4.7_0472_vrq3 patch released

v4.7_0472_vrq3 patch is released

The new code changes have been in -test branch since 4.6 release and tested by users since then, bugs has been fixed and improvement has been added. Although currently -test branch is pending on user feedback for further improvement, but IMO, these code changes now on the -test branch are stable enough to be merged into the -vrq branch. So, here it comes the v4.7_0472_vrq3 patch.

This patch is identical with  v4.7_0472_test2 except the version print out in dmesg. Comparing to -vrq2, the major feature in vrq3(-test2) is the introduction of preempt stick task to replace the original stick timeout in previous release, which helps with high workload performance and the result can be proved in the sanity test report.

Code has been pushed to bitbucket and github, all-in-one patch is also available.

Enjoy -vrq3, :)

BR Alfred

Monday, August 22, 2016

v4.7_0472_test2 patch released

v4.7_0472_test2 patch has been released, with the following changes
1. Revert "Immediately select preempt task in deactivate_choose_task().", which is reported introduce lag of mouse pointer moving when idle.
2. Adding quick path in pick_other_cpu_stick_task() when no preemptible rq/cpu or just one preemptible rq/cpu.

Enjoy this new release and feedback will be welcome. :)

BR Alfred

EDIT:
It's nice to hear that -test2 fixed issues on -test1, now, base upon -test2, there are debug patches for testing, you can check them out at previous post "debug patches call for testing"

Friday, August 19, 2016

4.7 debug patches, call for testing

I was working on the debug patches in the previous release and try to work out which direction to be taken, but ending up the one last puzzle is still missing, so uploaded three debug patches upon the -test1 patch, so users can help to complete the whole picture.

The stick and cache mechanism for NORMAL policy tasks are both turned on in -test1 patch, here are three debug patches to find out how it goes when these two mechanism on and off independently.

#1 4.7_vrq_test1_debug_s0c0.patch which turn both stick and cache off, it was the debug1 patch in 4.6 release
#2 4.7_vrq_test1_debug_s0c1.patch which turn stick off and cache on for NORMAL policy tasks, it was the debug2 patch in 4.6 release
#3 4.7_vrq_test1_debug_s1c0.patch which turn stick on and cache off, which is the missing puzzle, :)

It will be appreciate for users to compare the test0, test1 and these three debug patches and focus on NORMAL policy task interactivity then provide the feedback.

Enjoying this puzzle game, :)

BR Alfred

EDIT:
-test2 patch has been released and fix issues reported by user on -test1, so these debug patches should be applied upon -test2 patch for testing and comparing to -test2 patch.

Wednesday, August 17, 2016

v4.7_0472_test1 patch released

v4.7_0472_test1 patch released

v4.7_0472_test1 patch is released. In this release
1. Improve throughput performance by introducing cpu affinity selection in pick_other_cpu_stick_task() . This helps to reduce regression on SMT cpus.
2. Immediately select preempt task in deactivate_choose_task(). This helps with performance, for interactivity, I'd need your comments to find out.

Enjoy it and I am looking at the debug patches in 4.6 release, -test2 patch will be out next week, :)

BR Alfred

Friday, August 12, 2016

v4.7_0472_test0 patch released

v4.7_0472_test0 patch released

There is no new code for this first test patch, not even include the debug patches(for 4.6) in the previous post.

Base on the sanity test result, the new code changes in the test patch improve throughput on non-SMT cpu, in all kinds of workload scenarios, just like the sanity result in 4.6 release(v4.6_0470_test4 patch for testing & 4.6 Sanity test raw data). But for SMT cpus, throughput regression are recorded.

So the next important item for -test branch would be fix the regression on SMT cpus.

Enjoy this first -test patch for 4.7 and wait for the next -test release, :)

BR Alfred

Tuesday, August 9, 2016

v4.7_0472_vrq2 patch released

v4.7_0472_vrq2 patch was released at bitbucket and github.

What's new

1. Rearrange commits for -test branch work
2. Several minor changes upon 0472, which includes
57374d9 bfs/vrq: Do not need to set_task_cpu() in task_preemptable_rq()
7a1262a bfs/vrq: task_cpu_hotplug() update
cbfc46d bfs/vrq: Deploy cpufreq_trigger() in task_preempt_rq()
7829fd9 bfs/vrq: Add WARN_ON_ONCE() when to_wakeup equal prev

 
Currently, -test branch rework is on going, hopefully be available at the weekend for testing.
 
Enjoy it, :)
 
BR Alfred

Friday, August 5, 2016

v4.7_0472_vrq1 patch released

v4.7_0472_vrq1 patch released

with the fix for wrong task cpu affinity after suspend/resume cycle.

Codes are committed at bitbucket and github, all in one patch also available.

Enjoy it, :)

BR Alfred

Wednesday, August 3, 2016

v4.7_0472_vrq0 patch released

Finally, v4.7_0472_vrq0 patch released

Please check it out at bitbucket and github, all-in-one patch is also available.

It's based on BFS 0472 and *no new code changes* from 4.6 vrq branch. As cpu hotplug api changes in 4.7 which impact the availability of several cpumask bitmap during system init/suspend/resume phase. There are some code modification in individual commits to adapter these changes.

The patch is running fine on 3 of my machines and no suspend/resume regression is observed so far. Sanity tests will be on the way.

The next release will be the vrq1 patch which to  merge/rearrange some commits and prepare for the -test branch.

Enjoy this vrq patch for 4.7 and your feedback will be always welcome.

BR Alfred