lkml.org 
[lkml]   [2016]   [Jan]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH RFC] locking/mutexes: don't spin on owner when wait list is not NULL.
Date
huang ying <huang.ying.caritas@gmail.com> writes:

> On Sat, Jan 30, 2016 at 9:18 AM, Ding Tianhong <dingtianhong@huawei.com> wrote:
>> On 2016/1/29 17:53, Peter Zijlstra wrote:
>>> On Sun, Jan 24, 2016 at 04:03:50PM +0800, Ding Tianhong wrote:
>>>
>>>> looks good to me, I will try this solution and report the result, thanks everyone.
>>>
>>> Did you get a change to run with this?
>>>
>>> .
>>>
>>
>> I backport this patch to 3.10 lts kernel, and didn't change any
>> logic, Till now, the patch works fine to me, and no need to change
>> anything,
>> So I think this patch is no problem, could you formal release this patch to the latest kernel? :)
>>
>> Thanks.
>> Ding
>>
>>
>
> The original patch from Tianhong triggered a performance regression
> because the optimistic spinning is turned off in effect. I tested
> Peter's patch with same configuration and there show no regression.
> So I think the patch keep the optimistic spinning. Test result
> details will be in the next email.

Here is the detailed test result:

=========================================================================================
compiler/cpufreq_governor/kconfig/nr_task/rootfs/tbox_group/test/testcase:
gcc-4.9/performance/x86_64-rhel/100%/debian-x86_64-2015-02-07.cgz/lkp-ivb-d01/fstime/unixbench

commit:
v4.4
1db66c17114d5437c0757d6792c0d8923192ecd6

v4.4 1db66c17114d5437c0757d6792
---------------- --------------------------
%stddev %change %stddev
\ | \
371269 ± 10% -93.2% 25080 ± 4% unixbench.time.voluntary_context_switches
371269 ± 10% -93.2% 25080 ± 4% time.voluntary_context_switches
6189 ± 8% -76.4% 1463 ± 6% vmstat.system.cs
5706 ± 0% -1.7% 5608 ± 0% vmstat.system.in
113680 ± 12% -73.5% 30086 ± 1% cpuidle.C1-IVB.usage
1515925 ± 20% +68.3% 2552001 ± 11% cpuidle.C1E-IVB.time
1227221 ± 20% -51.7% 592695 ± 17% cpuidle.C3-IVB.time
2697 ± 10% -77.8% 598.33 ± 10% cpuidle.C3-IVB.usage
15173 ± 6% -23.1% 11663 ± 1% cpuidle.C6-IVB.usage
34.38 ± 27% -35.0% 22.33 ± 2% cpuidle.POLL.usage
61.92 ± 9% +14.3% 70.78 ± 7% sched_debug.cfs_rq:/.load_avg.min
40.85 ± 29% +27.3% 52.00 ± 10% sched_debug.cfs_rq:/.runnable_load_avg.2
-1949 ±-37% -64.6% -690.19 ±-134% sched_debug.cfs_rq:/.spread0.4
-1773 ±-29% -85.6% -256.00 ±-388% sched_debug.cfs_rq:/.spread0.7
-2478 ±-26% -49.5% -1251 ±-66% sched_debug.cfs_rq:/.spread0.min
61.95 ± 9% +14.8% 71.11 ± 7% sched_debug.cfs_rq:/.tg_load_avg_contrib.min
396962 ± 12% +27.9% 507573 ± 10% sched_debug.cpu.avg_idle.0
432973 ± 18% +45.3% 629147 ± 12% sched_debug.cpu.avg_idle.6
448566 ± 3% +11.5% 499990 ± 0% sched_debug.cpu.avg_idle.avg
45.31 ± 5% -9.5% 41.00 ± 3% sched_debug.cpu.cpu_load[3].7
52204 ± 10% -49.9% 26173 ± 34% sched_debug.cpu.nr_switches.0
50383 ± 12% -57.6% 21353 ± 15% sched_debug.cpu.nr_switches.1
45425 ± 16% -68.5% 14325 ± 28% sched_debug.cpu.nr_switches.2
43069 ± 20% -65.5% 14852 ± 41% sched_debug.cpu.nr_switches.3
40285 ± 16% -70.4% 11905 ± 47% sched_debug.cpu.nr_switches.4
40732 ± 13% -75.8% 9872 ± 39% sched_debug.cpu.nr_switches.5
43011 ± 19% -80.0% 8607 ± 42% sched_debug.cpu.nr_switches.6
38076 ± 12% -75.9% 9167 ± 40% sched_debug.cpu.nr_switches.7
44148 ± 7% -67.1% 14532 ± 6% sched_debug.cpu.nr_switches.avg
59877 ± 8% -51.3% 29146 ± 21% sched_debug.cpu.nr_switches.max
33672 ± 9% -83.0% 5718 ± 4% sched_debug.cpu.nr_switches.min
-0.62 ±-1411% -2212.5% 13.00 ± 16% sched_debug.cpu.nr_uninterruptible.0
-1.23 ±-582% -1318.8% 15.00 ± 35% sched_debug.cpu.nr_uninterruptible.1
2.54 ±263% +267.7% 9.33 ± 91% sched_debug.cpu.nr_uninterruptible.2
0.31 ±2966% -5841.7% -17.67 ±-19% sched_debug.cpu.nr_uninterruptible.5
9.84 ± 19% +70.4% 16.76 ± 5% sched_debug.cpu.nr_uninterruptible.stddev
116287 ± 4% -20.9% 91972 ± 9% sched_debug.cpu.sched_count.0
50411 ± 12% -57.6% 21382 ± 15% sched_debug.cpu.sched_count.1
45453 ± 16% -68.4% 14356 ± 28% sched_debug.cpu.sched_count.2
43098 ± 20% -65.5% 14888 ± 41% sched_debug.cpu.sched_count.3
40314 ± 16% -70.4% 11934 ± 47% sched_debug.cpu.sched_count.4
40761 ± 13% -75.7% 9896 ± 39% sched_debug.cpu.sched_count.5
43041 ± 19% -79.9% 8636 ± 42% sched_debug.cpu.sched_count.6
38105 ± 12% -75.9% 9193 ± 40% sched_debug.cpu.sched_count.7
52184 ± 6% -56.3% 22782 ± 4% sched_debug.cpu.sched_count.avg
116288 ± 4% -20.9% 91972 ± 9% sched_debug.cpu.sched_count.max
33701 ± 9% -82.9% 5746 ± 4% sched_debug.cpu.sched_count.min
22760 ± 10% -63.0% 8418 ± 40% sched_debug.cpu.sched_goidle.0
23319 ± 13% -60.9% 9114 ± 22% sched_debug.cpu.sched_goidle.1
21273 ± 17% -80.4% 4169 ± 13% sched_debug.cpu.sched_goidle.2
19993 ± 19% -67.8% 6429 ± 45% sched_debug.cpu.sched_goidle.3
18614 ± 17% -85.0% 2788 ± 29% sched_debug.cpu.sched_goidle.4
18921 ± 12% -86.7% 2520 ± 15% sched_debug.cpu.sched_goidle.5
20131 ± 17% -82.1% 3596 ± 52% sched_debug.cpu.sched_goidle.6
17861 ± 12% -86.9% 2334 ± 14% sched_debug.cpu.sched_goidle.7
20359 ± 8% -75.8% 4921 ± 5% sched_debug.cpu.sched_goidle.avg
26477 ± 10% -60.2% 10539 ± 21% sched_debug.cpu.sched_goidle.max
15845 ± 10% -87.2% 2033 ± 4% sched_debug.cpu.sched_goidle.min
29043 ± 15% -58.8% 11958 ± 26% sched_debug.cpu.ttwu_count.0
24191 ± 10% -68.8% 7547 ± 27% sched_debug.cpu.ttwu_count.1
21313 ± 11% -72.7% 5819 ± 24% sched_debug.cpu.ttwu_count.2
21487 ± 13% -61.4% 8296 ± 43% sched_debug.cpu.ttwu_count.3
19644 ± 15% -54.4% 8967 ± 79% sched_debug.cpu.ttwu_count.4
20786 ± 15% -69.2% 6409 ± 58% sched_debug.cpu.ttwu_count.5
20435 ± 17% -79.3% 4231 ± 58% sched_debug.cpu.ttwu_count.6
19293 ± 17% -77.0% 4432 ± 55% sched_debug.cpu.ttwu_count.7
22024 ± 7% -67.3% 7207 ± 6% sched_debug.cpu.ttwu_count.avg
31009 ± 9% -45.2% 17008 ± 17% sched_debug.cpu.ttwu_count.max
16791 ± 10% -85.1% 2494 ± 5% sched_debug.cpu.ttwu_count.min
3084 ± 8% +25.5% 3870 ± 9% sched_debug.cpu.ttwu_local.avg

The URL of the original regression report email:

https://lists.01.org/pipermail/lkp/2016-January/003442.html

Best Regards,
Huang, Ying

\
 
 \ /
  Last update: 2016-02-01 05:01    [W:0.046 / U:0.036 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site