Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753039AbbLKCIY (ORCPT ); Thu, 10 Dec 2015 21:08:24 -0500 Received: from mail4.hitachi.co.jp ([133.145.228.5]:45331 "EHLO mail4.hitachi.co.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751520AbbLKCIW (ORCPT ); Thu, 10 Dec 2015 21:08:22 -0500 From: =?utf-8?B?5bmz5p2+6ZuF5bezIC8gSElSQU1BVFXvvIxNQVNBTUk=?= To: "'Wangnan (F)'" , "'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 Thread-Topic: [PATCH perf/core 00/22] perf refcnt debugger API and fixes Thread-Index: AQHRMifqdrp25x+uR0WYuBPwTEPEhp7CE3gAgAGJXGD///sdAIAAJ0qAgACzFACAAJgSQA== Date: Fri, 11 Dec 2015 02:08:18 +0000 Message-ID: <50399556C9727B4D88A595C8584AAB37526515DD@GSjpTKYDCembx32.service.hitachi.net> References: <20151209021047.10245.8918.stgit@localhost.localdomain> <20151209134138.GB15864@kernel.org> <50399556C9727B4D88A595C8584AAB375264FB48@GSjpTKYDCembx32.service.hitachi.net> <56697572.90701@huawei.com> <20151210151239.GB17996@kernel.org> <566A2CA0.8070608@huawei.com> In-Reply-To: <566A2CA0.8070608@huawei.com> Accept-Language: ja-JP, en-US Content-Language: ja-JP X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.198.220.44] Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by mail.home.local id tBB28ToA005728 Content-Length: 983 Lines: 25 From: Wangnan (F) [mailto:wangnan0@huawei.com] >On 2015/12/10 23:12, 'Arnaldo Carvalho de Melo' wrote: > >[SNIP] >> 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 :-\ >> >> And would be a requirement to change the observed workload :-\ >> >> Is this _strictly_ required? > >No. The requirement should be: > > 1. The create/get/put/delete functions are non-inline (because dwarf info > is not as reliable as symbol); > 2. From their argument list, we can always get the variable we need (the > pointer of objects, the value of refcnt, etc.) However, we have to customize it for each application. Perf itself might be OK but others might have different implementation. Thanks, ????{.n?+???????+%?????ݶ??w??{.n?+????{??G?????{ay?ʇڙ?,j??f???h?????????z_??(?階?ݢj"???m??????G????????????&???~???iO???z??v?^?m???? ????????I?