Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753232AbbGABck (ORCPT ); Tue, 30 Jun 2015 21:32:40 -0400 Received: from szxga03-in.huawei.com ([119.145.14.66]:33183 "EHLO szxga03-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751591AbbGABcd (ORCPT ); Tue, 30 Jun 2015 21:32:33 -0400 Message-ID: <559342F7.80900@huawei.com> Date: Wed, 1 Jul 2015 09:31:35 +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: Arnaldo Carvalho de Melo CC: , , , , , , , , , , , , , , Subject: Re: [RFC PATCH v9 49/50 -fix] perf probe: Init symbol as kprobe if any event is kprobe References: <1435328155-87115-50-git-send-email-wangnan0@huawei.com> <1435407945-23468-1-git-send-email-wangnan0@huawei.com> <20150629143330.GE11747@kernel.org> <5591F312.9010808@huawei.com> <20150630143711.GB5888@kernel.org> In-Reply-To: <20150630143711.GB5888@kernel.org> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.111.66.109] X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A020203.55934307.0011,ss=1,re=0.000,recu=0.000,reip=0.000,cl=1,cld=1,fgs=0, ip=0.0.0.0, so=2013-05-26 15:14:31, dmn=2013-03-21 17:37:32 X-Mirapoint-Loop-Id: fa87a32556399f33e9922d300be89ee9 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2841 Lines: 78 On 2015/6/30 22:37, Arnaldo Carvalho de Melo wrote: > Em Tue, Jun 30, 2015 at 09:38:26AM +0800, Wangnan (F) escreveu: >> >> On 2015/6/29 22:33, Arnaldo Carvalho de Melo wrote: >>> Em Sat, Jun 27, 2015 at 12:25:45PM +0000, Wang Nan escreveu: >>>> Before this patch, add_perf_probe_events() init symbol maps only for >>>> uprobe if the first 'struct perf_probe_event' passed to it is a uprobe >>>> event. This is a trick because 'perf probe''s command line syntax >>>> constrains the first elements of the probe_event arrays must be kprobes >>>> if there is one. >>>> >>>> However, with the incoming BPF uprobe support, the constrain is not >>>> hold since 'perf record' will also probe on k/u probes through BPF >>>> object, and is possible to pass an array with kprobe but the first >>>> element is uprobe. >>>> >>>> This patch init symbol maps for kprobes even if all of events are >>>> uprobes, because the extra cost should be small enough. >>>> >>>> Signed-off-by: Wang Nan >>>> --- >>> Please add more info here, i.e. is this to be applied on top of the >>> original 49/50? I guess so, but please state this in the future to speed >>> things up. >>> >>> - Arnaldo >> You should replace the original 49/50, and also for the other -fix patches >> sent >> by me. Sorry for the lacking of information. > Ok, figured that out, applied the first two patches before starting to > test the userspace ones, till I got stuck on not know what was required > to satisfy the bpf test expectation, i.e. what bpf.h file was supposed > to be used. > > - Arnaldo > Which is /usr/include/linux/bpf.h if you only apply 2/50, and becomes /path/to/kernel/include/uapi/linux/bpf.h for libbpf after appling 3/50, and for perf after applying 23/50. I'll post a v10 series with 2/50 and 3/50 merged together to reduce your confusion. Thank you. > >> I posted the modified patches only because I don't want to be noisy. If >> posting >> them all makes your work easier I'll do that next time. >> >> Thank you. >> >>>> tools/perf/util/probe-event.c | 2 +- >>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>> >>>> diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c >>>> index ea08015..e74ca8f 100644 >>>> --- a/tools/perf/util/probe-event.c >>>> +++ b/tools/perf/util/probe-event.c >>>> @@ -2804,7 +2804,7 @@ int add_perf_probe_events(struct perf_probe_event *pevs, int npevs, >>>> { >>>> int i, ret; >>>> - ret = init_symbol_maps(pevs->uprobes); >>>> + ret = init_symbol_maps(false); >>>> if (ret < 0) >>>> return ret; >>>> -- >>>> 1.8.3.4 -- 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/