From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752356AbdARURh (ORCPT ); Wed, 18 Jan 2017 15:17:37 -0500 Received: from mga06.intel.com ([134.134.136.31]:45164 "EHLO mga06.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750890AbdARURg (ORCPT ); Wed, 18 Jan 2017 15:17:36 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,250,1477983600"; d="scan'208";a="1084575816" From: kan.liang@intel.com To: linux-kernel@vger.kernel.org, peterz@infradead.org, mingo@redhat.com Cc: alexander.shishkin@linux.intel.com, eranian@google.com, ak@linux.intel.com, Kan Liang Subject: [PATCH 0/2] patches to reduce perf overhead Date: Wed, 18 Jan 2017 08:21:00 -0500 Message-Id: <1484745662-15928-1-git-send-email-kan.liang@intel.com> X-Mailer: git-send-email 2.4.3 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Kan Liang perf brings additional overhead when monitoring the task which frequently generates child task. Two of the related issues are fixed in the patch series. Here is some data from the overhead test on Broadwell server perf record -e $TEST_EVENTS -- ./loop.sh 50000 loop.sh start=$(date +%s%N) i=0 while [ "$i" -le "$1" ] do date > /dev/null i=`expr $i + 1` done end=$(date +%s%N) elapsed=`expr $end - $start` Event# Original elapsed time Elapsed time with two patches delta 1 196,573,192,397 187,781,884,240 -4.47% 2 257,567,753,013 238,954,990,569 -7.23% 4 398,730,726,971 354,101,552,792 -11.19% 8 824,983,761,120 673,623,574,792 -18.35% 16 1,883,411,923,498 1,456,452,391,357 -22.67% Kan Liang (2): perf,core: try parent pmu first when init child event perf,core: use parent avg sample period as child initial period include/linux/perf_event.h | 3 +++ kernel/events/core.c | 28 ++++++++++++++++++++++++++-- 2 files changed, 29 insertions(+), 2 deletions(-) -- 2.4.3