From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752001AbdJCLpx (ORCPT ); Tue, 3 Oct 2017 07:45:53 -0400 Received: from mail-eopbgr30056.outbound.protection.outlook.com ([40.107.3.56]:46121 "EHLO EUR03-AM5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751823AbdJCLpt (ORCPT ); Tue, 3 Oct 2017 07:45:49 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=matthieu.castet@parrot.com; Date: Tue, 3 Oct 2017 13:45:41 +0200 From: Matthieu CASTET To: Adrian Hunter Cc: , Arnaldo Carvalho de Melo , Chris Phlipot Subject: Re: perf script : wrong symoff in callchain Message-ID: <20171003134454.037783e6@perruche.parrot.biz> In-Reply-To: <42f1fb90-246c-782f-a8d7-2d126968f4b0@intel.com> References: <20171003121922.7d818faa@perruche.parrot.biz> <42f1fb90-246c-782f-a8d7-2d126968f4b0@intel.com> X-Mailer: Claws Mail 3.15.1-dirty (GTK+ 2.24.31; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Originating-IP: [46.218.109.88] X-ClientProxiedBy: DB6PR07CA0119.eurprd07.prod.outlook.com (2603:10a6:6:2c::33) To DB6PR1001MB1032.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:4:64::10) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f1aecd79-7aff-437c-6264-08d50a5448f8 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(2017030254152)(2017052603199)(201703131423075)(201703031133081)(201702281549075);SRVR:DB6PR1001MB1032; X-Microsoft-Exchange-Diagnostics: 1;DB6PR1001MB1032;3:Jac+eLqH8/fuJIzXt6Ck39dBucThUjCJltJ/mLtZyTYLF6GVISzeSKs+LdSzgJ0fIhMmUEYifvCWxWc/T3y/WCHkqByDNBVm2t7VFyxNB5BpPBHcVDT2g3fxnGHkI6hccViFUzyY9cyZrFmpRNgFXmxbBgzMfp909oDVE17XqFZZkqh6J1Y1mOt8EPqOAT/7VBwrhF3YtT1uThHIW+wE4pSamhNUOctMT81HdSrClcSD03ZXpRpc8rysJiPt1Qrq;25:p8FDnxALBoEv9REIbMvn6SLGNlKNK3PwQGJWblZEtUVTEy5RXpWY/gE2zRXVu0q8xj5iu66VmXRvRAnmFGZr0uelYIfHLMX9p4/wyO0sFpleTp5/Lw3jZAnqjdZ6IBotLtqzcdZUiySiAbmcpon2riQdIqYPB68RGIgZUUcnRpH3JPhc7rbocAJH/4IRYuw/W6e2a5HyAmJx5fFcipWX+C4ekNdJ+7Ku21eO563/aajYpkmfbNi/TA1ZKO/3Ce8l0D99PHyb5caZZjhYxtaoJVV85zfW+zkkFuRYC6Aw6bioH61E6TgUiBB/4lqoNI5QLT7/YbQXrXIVORsuK8Bkdg==;31:yHYsxMV/PeANsDUhIRycwlapKkK/NUnnv1y27D/fGfH1/uHzKX4b3I7wMfSgPHlKJQm8Fi6Bep1skv7KoKsB+r+1ceo48Eq/yHFBFTx7brP+ccEelAk7X7zU/HOjIn15qp5qXrMc5eqYn6r1pPDaEieFa8IEa//Lc3wZnU70pc+eDWVodwWShAqSxXtWlWNkbvVgfWgya9z80WDTuHnhp5O8DGLfKplcxkdnYNP+ux4= X-MS-TrafficTypeDiagnostic: DB6PR1001MB1032: X-Exchange-Antispam-Report-Test: UriScan:(228905959029699); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(3002001)(100000703101)(100105400095)(93006095)(93001095)(10201501046)(6041248)(20161123564025)(20161123558100)(20161123562025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:DB6PR1001MB1032;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:DB6PR1001MB1032; X-Microsoft-Exchange-Diagnostics: 1;DB6PR1001MB1032;4:AYNYnDxFe+DUC47zTsH7AQFIw/JlsWc/3/GrBfAYyT1MB8A9zuRK4Yajma/6HkvDJXvdLr/D5Wn5gtKEOYFkZ1OwvzZhKojaot4V+Yz13jxNHL37bUCG8Kub4/aSBspV8m6s2OL/72Y71JK7hPiSFyBhBFoEjv2FkhTgDhDHPcXBhJOjzIgynSoeHrWRk9O1hy3uVdTa3JE3wLQa08orzzrzUuMJMz2ZQRekGhHkfQqYqZGCu++/M5Zg3U3ymny6SfhKocnX8PIe+gRR+8MfyCv68FigfVyeCm+ee6DbyWM= X-Forefront-PRVS: 044968D9E1 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(346002)(376002)(189002)(24454002)(199003)(4326008)(33646002)(2906002)(5660300001)(66066001)(8746002)(2950100002)(305945005)(8676002)(81166006)(68736007)(6666003)(6916009)(7736002)(81156014)(106356001)(229853002)(25786009)(47776003)(53416004)(105586002)(8936002)(6246003)(6506006)(53936002)(39060400002)(76176999)(50986999)(316002)(54906003)(101416001)(50226002)(6306002)(9686003)(23676002)(97736004)(6116002)(53546010)(966005)(50466002)(55016002)(1076002)(189998001)(478600001)(69596002)(16526017)(3846002)(86362001)(39210200001);DIR:OUT;SFP:1101;SCL:1;SRVR:DB6PR1001MB1032;H:perruche.parrot.biz;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtEQjZQUjEwMDFNQjEwMzI7MjM6Y2lldkRBQXVDdHR2MFF2WVpoWGZld0VV?= =?utf-8?B?UG9iUlY4NjFEb0NNM2w5V056T1VIQmhrcGhvTUtsdUE1d3grLzRnTG5aMXV3?= =?utf-8?B?S0paUXQ3Z2U3QUQzTUpudnM1T2lackppOVdMdzJLTmsyWmxqUkMxRlMwVnNu?= =?utf-8?B?RTZjUXhQdkpoSjNPZytBN05SWjlxY3NUdEtmWDVsVC9ZeUd0NEorTzE4T3lO?= =?utf-8?B?ckZBYmRGM0J1WXBzazlvVkZmS1BTWDlWM0VvSk50czZMRmI1M2k5d3YwdE5K?= =?utf-8?B?YUZsRmRwZmJ4ZEtXalJZQkJ4eGsvTUVLaWpIaXZIUmlPa2lFNUxSK203TEFV?= =?utf-8?B?UDc3R203aXh0NlNjOHdSZ05tMUhKQU1oaE9DM1I2bjhRMzVkSk0wS1U5RXpM?= =?utf-8?B?VkVXWGNjbERyb3E4Q1c5czJReHN2ME9CMmFEaEFOOC8yUGZnN3Q5SC9WNXpB?= =?utf-8?B?S2NjRzRNQXJsU1lxYlRPdXVmaDU5Nkd2bVdsTG9iY0hXNFpFV1o0R3pTRGpW?= =?utf-8?B?YnJSMjEwTVhIczA5b2p3V0VmOGFSZ3NWWXNQbHVpUVBWNU9rS2k3VmRrR1k1?= =?utf-8?B?RTFxS05OcEdQV0pYZDd4Z2VjRzBIYlNDcTAwQWo0VjhNZFBsemFZWjJSZDZN?= =?utf-8?B?QVRZVHgyK0JlRW5DdzVVb2szOGtVRDNPZi9aUkx1SHBRLzJtcEtvTmlFRnZq?= =?utf-8?B?KzhiUDBEWjI0SnlXajl2TVF6Qk9abit2RFR2M1BTTkJoRzQvVGR1RmtOeUgy?= =?utf-8?B?RUpadWNsVjQ3eEZKMnBmaUQvNFVBNFVpbjJnYjNYMW1wcUVaSENGd0toTElU?= =?utf-8?B?b1g4M3F5NXZDbzlpSnF0bmdTZFgvUHlCdGN2bHZxWS9UMGt4dVFSdXJHL0F6?= =?utf-8?B?SitESVlYODQreWVNZm5XUDlWcGtJVUZwalBMcUlBSEFTTmpsNUt2Vy9sV1JI?= =?utf-8?B?L0toZUI0dHZkbHNwWEtzbTNtaHFENHlXWVI2ZlZKMVBNMlZUWWlyTFhjSG5y?= =?utf-8?B?dVFmRDU1a2EwNGh1aktTMHdFdHpieUw1cXdDOW45eXFMOWxoSlprc1lZZnp6?= =?utf-8?B?ajlPSm4wZFJsbnFXWTZQNjlhTmNrdTJ5WjZ1WFVDT1NtTmVZVVFwTEVKZkhm?= =?utf-8?B?V1R5U1pMN1dzbSt6SHBQNmxsRnhiUDVMcEVUTCt6NWwxWXRHZHFHN3hlSm43?= =?utf-8?B?UTg1bWpYMDN4bnpMWDdjb0pqK29jdHJ1d3d0bDFpYjZzNEhsSjZva0hReWE4?= =?utf-8?B?b0ZCTFpvVWxtY1pGWW5kTlZxK3VDZms1RnNGWmJhci9hMFFpNTNBWkNybUNk?= =?utf-8?B?bE0rd296UHBrM1UxMDh4ajhISWhVZ3BRZzR5Q0NjMU90ZkNXN2dYQm0rYUt4?= =?utf-8?B?TzFmL0IxNHVSS2F4aVMzcmd1and2T3Z2eHJhUzh4RU1NMXJBQ2xZdTM3cTBC?= =?utf-8?B?VGJGcnBxbW9odXAyWDRvTThoVUMzazJWenlXME1CNE0xdkpKZVdSdlF2M0NM?= =?utf-8?B?c0RhYkRwQmRlcis2S0hlMjNMTEJyRWNsMDVpNTFWWnh5WWF0S1NXMTltQ3Fh?= =?utf-8?B?QkJuMUZ4WlYyVklKSFZjV05rOFVvK1BiM3ZpTFJrT2NQUnJiTVg0QnlmeTlR?= =?utf-8?B?RjNsQ0diTTI1WGZoNXhUVnF5VWdMYXdDbUNMMVU5aVpiVUZxY1dSUzl6dzBY?= =?utf-8?Q?qXugFHMvfer8zxOPKIr40+8p7ty8kqBnePbZrS2Om?= X-Microsoft-Exchange-Diagnostics: 1;DB6PR1001MB1032;6:QnUlD6rGMycwXjTpf0Kc6tIcAYRbGAVEXG0ugdQWbHA/xXeA8ugAfwO/+7Z7STGv3bpBmUvSwAvNbKa/RE5L72pnZ6VMkxmPoLWLoF+5tUPwWHfIxKpxMspYxPj/6959DKwh42sO5qy4K84J35gWTINq6Hm3rT8QuFUCgrXASBR5c8woItbga8gg+/fz0MQOHENCdr5wHAMRhNPBAwaqRz7Sum6Yfbotjg5l3HFcuEkIx5zEpwQN+/YdT949qMnv/MQN8jZRoaPcvs5hv8KA6yMwkQPUk4IVPvwpfDlTX8rDWwDySn4b9i0MW5ARGS4XlmhrZVSQxYK4XmUeyK/AJg==;5:66DsbTcucWCaJ0UrhwuxeXFfoTeGX+tmYxStnknDnP1J18A12m1ehf9+4m236ByaClBWqM4pZTKaH+kQyqKZWFX8qpQm0APRqRvH4KcITDux7LaiXZ0gHLLBsAYabV5UGFSV8MxYqWLmnmgsxi987A==;24:EM9lB9052Mu1jfus/NMH1+XF3rD9kGFlJYv2XejQlZP2Jn20sqOe7GicLAiMrA8LYpZZ59fHM4aoLPZsjTfUmsWOcbgG6TVOJi9bRGWK1WQ=;7:yX25sRqpRiMrYIEi2ymcn4QhoMjRbbdyFPEyal8xGQ3hfdJWREtZ4N6v4rsVQZFi1ehTAG8hz7Rykk3Gyxz7mTsqR2uSTOhjiYwDWzzcXniWEzvHjSsTfdk7DNkUewpMgsC3zfNiSlbvsPII8QrIebGCoD7g2B1/2TBRV40qE25OW6TDQKWxm4JsiU8PEF9Dnt/UaXBWTFDc6QajY/Zi6x3l1cnKjdFo+xASSmHFHEM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: parrot.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Oct 2017 11:45:45.9155 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: ff7d991b-3922-4803-8418-ab806a3414a6 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR1001MB1032 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 quoted-printable to 8bit by nfs id v93Bjw3W013058 Le Tue, 3 Oct 2017 13:34:37 +0300, Adrian Hunter a écrit : > On 03/10/17 13:19, Matthieu CASTET wrote: > > Hi, > > > > while using perf on x86_64, I saw strange output for symoff. > > > > $ perf record -g -- sleep 1 > > $ perf script -F comm,tid,pid,time,ip,sym,dso,symoff > > > > [...] > > sleep 11656/11656 1045318.546436: > > 7fff9542e5b5 __d_lookup_rcu+0x80006ae02035 ([kernel.kallsyms]) > > 7fff9541e132 lookup_fast+0x80006ae02052 ([kernel.kallsyms]) > > 7fff9541eae8 walk_component+0x80006ae02048 ([kernel.kallsyms]) > > 7fff9541efa2 link_path_walk+0x80006ae021b2 ([kernel.kallsyms]) > > 7fff9541c92d path_init+0x80006ae021bd ([kernel.kallsyms]) > > 7fff9542100b path_openat+0x80006ae020fb ([kernel.kallsyms]) > > 7fff953c14fe handle_mm_fault+0x80006ae020ee ([kernel.kallsyms]) > > 7fff95423669 do_filp_open+0x80006ae02099 ([kernel.kallsyms]) > > 7fff95433414 __alloc_fd+0x80006ae02044 ([kernel.kallsyms]) > > 7fff9540ff6e do_sys_open+0x80006ae0212e ([kernel.kallsyms]) > > 7fff9540ff6e do_sys_open+0x80006ae0212e ([kernel.kallsyms]) > > 7fff95850abb system_call_fast_compare_end+0x80006ae0200c ([kernel.kallsyms]) > > 2aecf _nl_load_locale_from_archive+0xffff014b5a92841f (/lib/x86_64-linux-gnu/libc-2.24.so) > > > > > > I tried to revert a4eb24a49566db77ee999b46603f602a0302f481 and I got > > good result : > > [...] > > sleep 11656/11656 1045318.546436: > > 7fff9542e5b5 __d_lookup_rcu+0x35 ([kernel.kallsyms]) > > 7fff9541e132 lookup_fast+0x52 ([kernel.kallsyms]) > > 7fff9541eae8 walk_component+0x48 ([kernel.kallsyms]) > > 7fff9541efa2 link_path_walk+0x1b2 ([kernel.kallsyms]) > > 7fff9541c92d path_init+0x1bd ([kernel.kallsyms]) > > 7fff9542100b path_openat+0xfb ([kernel.kallsyms]) > > 7fff953c14fe handle_mm_fault+0xee ([kernel.kallsyms]) > > 7fff95423669 do_filp_open+0x99 ([kernel.kallsyms]) > > 7fff95433414 __alloc_fd+0x44 ([kernel.kallsyms]) > > 7fff9540ff6e do_sys_open+0x12e ([kernel.kallsyms]) > > 7fff9540ff6e do_sys_open+0x12e ([kernel.kallsyms]) > > 7fff95850abb system_call_fast_compare_end+0xc ([kernel.kallsyms]) > > 2aecf _nl_load_locale_from_archive+0x41f (/lib/x86_64-linux-gnu/libc-2.24.so) > > > > > > Any idea ? > > It could be the problem with add_callchain_ip() described here: > > https://www.spinics.net/lists/linux-perf-users/msg03172.html The db-export code removed the remapping [1] So there a mix of mapping in callchain code : - add_callchain_ip() store al.addr (ip remapped) - fill_callchain_info do the translation (map_ip) - sample__fprintf_callchain do the translation - call_path_from_sample (db-export) don't do anymore the translation So what should we do : - assume we store al.addr and remove mapping from all consumers ? - store ip and do the mapping in consumers ? [1] commit 7a2544c004a6c576b1e307f30925b165affe6a22 Author: Chris Phlipot Date: Tue May 10 20:26:48 2016 -0700 perf script: Fix callchain addresses in db-export Remove the call to map_ip() to adjust al.addr, because it has already been called when assembling the callchain, in: thread__resolve_callchain_sample(perf_sample) add_callchain_ip(ip = perf_sample->callchain->ips[j]) thread__find_addr_location(addr = ip) thread__find_addr_map(addr) { al->addr = addr if (al->map) al->addr = al->map->map_ip(al->map, al->addr); } Calling it a second time can result in incorrect addresses being used. This can have effects such as duplicate symbols being created and exported.