Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757542AbbGQN1V (ORCPT ); Fri, 17 Jul 2015 09:27:21 -0400 Received: from bombadil.infradead.org ([198.137.202.9]:37389 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752309AbbGQN1U (ORCPT ); Fri, 17 Jul 2015 09:27:20 -0400 Date: Fri, 17 Jul 2015 15:26:57 +0200 From: Peter Zijlstra To: pi3orama Cc: "Wangnan (F)" , kaixu xia , "ast@plumgrid.com" , "davem@davemloft.net" , "acme@kernel.org" , "mingo@redhat.com" , "masami.hiramatsu.pt@hitachi.com" , "jolsa@kernel.org" , "linux-kernel@vger.kernel.org" , "hekuang@huawei.com" Subject: Re: [RFC PATCH 5/6] bpf: Implement function bpf_read_pmu() that get the selected hardware PMU conuter Message-ID: <20150717132657.GM19282@twins.programming.kicks-ass.net> References: <55A8E703.70306@huawei.com> <20150717113924.GD19282@twins.programming.kicks-ass.net> <55A8EABE.1060308@huawei.com> <20150717115505.GF19282@twins.programming.kicks-ass.net> <20150717115615.GA18673@twins.programming.kicks-ass.net> <55A8EE83.3000708@huawei.com> <20150717121836.GH19282@twins.programming.kicks-ass.net> <55A8F4BF.3020902@huawei.com> <20150717124538.GI19282@twins.programming.kicks-ass.net> <45F8BB22-F978-4671-BAD0-6DE3643EA04C@163.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <45F8BB22-F978-4671-BAD0-6DE3643EA04C@163.com> User-Agent: Mutt/1.5.21 (2012-12-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 893 Lines: 21 On Fri, Jul 17, 2015 at 08:57:00PM +0800, pi3orama wrote: > >> But what if we really want cross-cpu PMU accessing? Impossible? > > > > Under the assumption that the eBPF program is called from tracing, and > > therefore from any context (task, softirq, irq and nmi), yes impossible. > > > > You cannot do (synchronous) IPIs from either IRQ context or with IRQs > > disabled. And both are valid trace contexts. > > What about software perf event? For example, tracepoints? Some of them, tracepoints would work. So you could exempt TYPE_TRACEPOINT, but I would suggest starting as constrained as possible and relaxing when we really need/want. -- 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/