Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753835AbbLKC6c (ORCPT ); Thu, 10 Dec 2015 21:58:32 -0500 Received: from szxga02-in.huawei.com ([119.145.14.65]:36923 "EHLO szxga02-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753722AbbLKC6a (ORCPT ); Thu, 10 Dec 2015 21:58:30 -0500 Message-ID: <566A3AB2.2020700@huawei.com> Date: Fri, 11 Dec 2015 10:53:38 +0800 From: "Wangnan (F)" User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: =?UTF-8?B?5bmz5p2+6ZuF5bezIC8gSElSQU1BVFXvvIxNQVNBTUk=?= , "'Arnaldo Carvalho de Melo'" CC: Peter Zijlstra , Adrian Hunter , "linux-kernel@vger.kernel.org" , "linux-perf-users@vger.kernel.org" , Ingo Molnar , "Namhyung Kim" , Jiri Olsa , Alexei Starovoitov Subject: Re: [PATCH perf/core 00/22] perf refcnt debugger API and fixes References: <20151209021047.10245.8918.stgit@localhost.localdomain> <20151209134138.GB15864@kernel.org> <50399556C9727B4D88A595C8584AAB375264FB48@GSjpTKYDCembx32.service.hitachi.net> <56697572.90701@huawei.com> <20151210151239.GB17996@kernel.org> <50399556C9727B4D88A595C8584AAB37526515F5@GSjpTKYDCembx32.service.hitachi.net> <566A3823.9080503@huawei.com> In-Reply-To: <566A3823.9080503@huawei.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [10.111.66.109] X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A020206.566A3AB9.001F,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: 63a736a63e851d7d786e88b5eb5bc16e Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2256 Lines: 80 On 2015/12/11 10:42, Wangnan (F) wrote: > > > On 2015/12/11 10:15, 平松雅巳 / HIRAMATU,MASAMI wrote: >> From: 'Arnaldo Carvalho de Melo' [mailto:acme@kernel.org] >>> But this requires having these special refcnt__ routines, that will >>> make >>> tools/perf/ code patterns for reference counts look different that the >>> refcount patterns in the kernel :-\ >> BTW, I think even without the refcnt debugger, we'd better introduce >> this >> kind API to unify the refcnt operation in perf code. As I said, we >> have many >> miscodings on current implementation. Unifying the API can enforce >> developers >> to avoid such miscodings. >> >> Thank you, >> > > I tried this problem in another way, I'd like to share it here. > > First: create two uprobes: > > # ./perf probe --exec /home/wangnan/perf dso__new%return %ax > Added new event: > probe_perf:dso__new (on dso__new%return in /home/wangnan/perf with > %ax) > > You can now use it in all perf tools, such as: > > perf record -e probe_perf:dso__new -aR sleep 1 > > # ./perf probe --exec /home/wangnan/perf dso__delete dso > Added new event: > probe_perf:dso__delete (on dso__delete in /home/wangnan/perf with dso) > > You can now use it in all perf tools, such as: > > perf record -e probe_perf:dso__delete -aR sleep 1 > > > Then start test: > > # ./perf record -g -e probe_perf:dso__new -e probe_perf:dso__delete > ./perf probe vfs_read > Added new event: > probe:vfs_read (on vfs_read) > > You can now use it in all perf tools, such as: > > perf record -e probe:vfs_read -aR sleep 1 > > [ perf record: Woken up 1 times to write data ] > [ perf record: Captured and wrote 0.048 MB perf.data (178 samples) ] > > > From the perf report result I know two dso objects are leak: > > 90 probe_perf:dso__new ` > 88 probe_perf:dso__delete > The above result is gotten from yesterday's perf/core. I also tried today's perf/core and get: 90 probe_perf:dso__new ` 90 probe_perf:dso__delete So we fix these leak. Thank you. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/