From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755258AbbIHPfD (ORCPT ); Tue, 8 Sep 2015 11:35:03 -0400 Received: from mx1.redhat.com ([209.132.183.28]:60699 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754760AbbIHPfA (ORCPT ); Tue, 8 Sep 2015 11:35:00 -0400 Date: Tue, 8 Sep 2015 17:34:56 +0200 From: Jiri Olsa To: Arnaldo Carvalho de Melo Cc: "Wangnan (F)" , acme@kernel.org, kan.liang@intel.com, linux-kernel@vger.kernel.org, lizefan@huawei.com, pi3orama@163.com, Adrian Hunter , Andi Kleen , Jiri Olsa , Namhyung Kim , Stephane Eranian Subject: Re: [PATCH] perf report: Fix invalid memory accessing Message-ID: <20150908153456.GG2038@krava.brq.redhat.com> References: <1441630315-189525-1-git-send-email-wangnan0@huawei.com> <55ED90BE.9090706@huawei.com> <20150908073747.GA2038@krava.brq.redhat.com> <20150908151813.GF2435@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150908151813.GF2435@redhat.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Sep 08, 2015 at 12:18:13PM -0300, Arnaldo Carvalho de Melo wrote: > Em Tue, Sep 08, 2015 at 09:37:47AM +0200, Jiri Olsa escreveu: > > On Mon, Sep 07, 2015 at 09:27:26PM +0800, Wangnan (F) wrote: > > > > SNIP > > > > > > > > I found the problem. > > > > > > perf relies on build_cpu_topology() to fetch CPU_TOPOLOGY from sysfs. It > > > depend on > > > the existance of > > > > > > /sys/devices/system/cpu/cpu%d/topology/core_siblings_list > > > > > > However, CPU can be canceled by hotcpu subsystem. After that the directory > > > of > > > /sys/devices/system/cpu/cpu%d/topology is gone, which causes perf's > > > write_cpu_topology() --> uild_cpu_topology() to fail, result in the above > > > perf.data. > > > > > > So I think my patch is required. > > > > no question there.. I just meant it should be placed in > > perf_event__preprocess_sample function with the rest of > > the 'al' initialization, like in the patch below? > > > > it does not compile, because there're many places calling > > it and it'd need changing all callers to pass env, which > > seems to require more changes.. > > Humm, I think that we can have a pointer to the current perf_env, be it > from the current machine, or from the machine environment in the > perf.data file in struct machine, that way we don't need to change that > function prototype, I'm prototyping this now, will post a patch. I was thinking of that.. but the perf_env is actualyl related to the perf.data not to the current machine.. I think it should be part of the session or perf_header jirka