From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754491AbcAVTh7 (ORCPT ); Fri, 22 Jan 2016 14:37:59 -0500 Received: from mail-pf0-f182.google.com ([209.85.192.182]:35088 "EHLO mail-pf0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752304AbcAVTh5 (ORCPT ); Fri, 22 Jan 2016 14:37:57 -0500 Date: Fri, 22 Jan 2016 11:37:53 -0800 From: Alexei Starovoitov To: Wang Nan Cc: peterz@infradead.org, acme@kernel.org, linux-kernel@vger.kernel.org, He Kuang , Alexei Starovoitov , Arnaldo Carvalho de Melo , Brendan Gregg , Jiri Olsa , Masami Hiramatsu , Namhyung Kim , Zefan Li , pi3orama@163.com Subject: Re: [PATCH 0/6] perf core: Read from overwrite ring buffer Message-ID: <20160122193752.GB11338@ast-mbp.thefacebook.com> References: <1453464834-233200-1-git-send-email-wangnan0@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1453464834-233200-1-git-send-email-wangnan0@huawei.com> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Jan 22, 2016 at 12:13:48PM +0000, Wang Nan wrote: > This is v2 of this series. > > Compare with v1: > > Fixes several bugs in v1. > > Corresponsing perf has finished and can be found from: > > https://git.kernel.org/cgit/linux/kernel/git/pi3orama/linux.git/ > branch: perf/overwrite-benchmark > > Some benchmarking results can be found from [1]. > > Summary: > > On a PC with Intel E5-2640 0 @ 2.50GHz CPU, execute close(-1) 3000000 > times, capture raw_syscalls:* with perf into overwrite ring buffer, > check total time (in us): > > MEAN STDVAR > BASE : 879870.81 11913.13 > RAWPERF : 2603854.7 706658.4 > WRTBKWRD : 2313301.220 6727.957 > TAILSIZE : 2383051.860 5248.061 > RAWOVWRT : 2315273.180 5221.025 > RAWOVWRT*: 2323970.45 5103.39 > > Where: > BASE: don't use perf at all. > RAWPERF: use non-overwrite ring buffer, perf collects all data, > write to /dev/null > WRTBKWRD: Use backward writing ring buffer, write from tail to head, > never wakeup perf, collect data when exiting. > TAILSIZE: Use tailsize ring buffer, pad 8 bytes for the size of the > record for each event, never wakeup perf, collect data when > exiting. > RAWOVWRT: Use raw overwrite ring buffer, never wakeup perf, don't > collect data at all. > RAWOVWRT*: Same as RAWOVWRT, without this patchset. > > The benchmarking results shows WRTBKWRD is good enough. I suggest not > to implement TAILSIZE and tail-header ring buffer. yes. just drop patch 6. > I will post the result on a smartphone next week. great. would be interesting comparison. overall I think it looks good.