From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751233AbcASLTC (ORCPT ); Tue, 19 Jan 2016 06:19:02 -0500 Received: from szxga02-in.huawei.com ([119.145.14.65]:26671 "EHLO szxga02-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752528AbcASLSY (ORCPT ); Tue, 19 Jan 2016 06:18:24 -0500 From: Wang Nan To: , CC: , Wang Nan , He Kuang , Arnaldo Carvalho de Melo , "Brendan Gregg" , Jiri Olsa , "Masami Hiramatsu" , Namhyung Kim , Zefan Li , Subject: [PATCH 0/6] perf core: Read from overwrite ring buffer Date: Tue, 19 Jan 2016 11:16:44 +0000 Message-ID: <1453202210-134429-1-git-send-email-wangnan0@huawei.com> X-Mailer: git-send-email 1.8.3.4 In-Reply-To: <20160118120230.GP6357@twins.programming.kicks-ass.net> References: <20160118120230.GP6357@twins.programming.kicks-ass.net> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.107.193.248] X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A020206.569E1B37.0048,ss=1,re=0.000,recu=0.000,reip=0.000,cl=1,cld=1,fgs=0, ip=0.0.0.0, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32 X-Mirapoint-Loop-Id: a36de3c37cc626a3dad3469de3914ee0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patchset introduces two methods to support reading from overwrite. 1) Tailsize: write the size of an event at the end of it 2) Backward writing: write the ring buffer from the end of it to the beginning. Patch 1/6 introduces a new ioctl operation to pause and resume ring buffer since reading from a overwrite ring buffer is not reliable. To reduce overhead as much as possible, force setting overflow_handler and create specific function for backward writing and onward writing. Cc: He Kuang Cc: Alexei Starovoitov Cc: Arnaldo Carvalho de Melo Cc: Brendan Gregg Cc: Jiri Olsa Cc: Masami Hiramatsu Cc: Namhyung Kim Cc: Peter Zijlstra Cc: Zefan Li Cc: pi3orama@163.com Wang Nan (6): perf core: Introduce new ioctl options to pause and resume ring buffer perf core: Set event's default overflow_handler perf core: Prepare writing into ring buffer from end perf core: Add backwork attribute to perf event perf core: Reduce perf event output overhead by setting overwrite handler perf/core: Put size of a sample at the end of it by PERF_SAMPLE_TAILSIZE include/linux/perf_event.h | 39 +++++++--- include/uapi/linux/perf_event.h | 7 +- kernel/events/core.c | 155 +++++++++++++++++++++++++++++++--------- kernel/events/internal.h | 11 +++ kernel/events/ring_buffer.c | 65 ++++++++++++++--- 5 files changed, 223 insertions(+), 54 deletions(-) -- 1.8.3.4