Re: [PATCH 3/5] perf core: Prepare writing into ring buffer from end

From: pi3orama
Date: Sun Mar 27 2016 - 11:32:03 EST




发自我的 iPhone

> 在 2016年3月27日,下午11:20,Peter Zijlstra <peterz@xxxxxxxxxxxxx> 写道:
>
> On Fri, Mar 25, 2016 at 10:14:36PM +0800, Wangnan (F) wrote:
>>>> I think you enabled some unusual config options?
>
> x86_64-defconfig
>
>>> You must enabled CONFIG_OPTIMIZE_INLINING. Now I get similar result:
>
> It has that indeed.
>
>> After enabling CONFIG_OPTIMIZE_INLINING:
>>
>> Test its performance by calling 'close(-1)' for 3000000 times and
>> use 'perf record -o /dev/null -e raw_syscalls:* test-ring-buffer' to
>> capture system calls:
>>
>> MEAN STDVAR
>> BASE 800077.1 23448.13
>> RAWPERF.PRE 2465858.0 603473.70
>> RAWPERF.POST 2471925.0 609437.60
>>
>> Considering the high stdvar, after applying this patch the performance
>> is not change.
>
> Why is your variance so immense? And doesn't that render the
> measurements pointless?
>

For some unknown reason, about
10% of these results raises 2 times of normal
results. Say, "normal results" are about
2200000, but those "outliers" are about
4400000 (I can't access raw data now).
Variance becomes much smaller if I remove
those outliers.

I guess the outliers is caused by some type
of lock stepping? No clue about it.

Thank you.