All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lin Ming <ming.m.lin@intel.com>
To: Greg KH <gregkh@suse.de>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Ingo Molnar <mingo@elte.hu>, Andi Kleen <andi@firstfloor.org>,
	Stephane Eranian <eranian@google.com>,
	Arnaldo Carvalho de Melo <acme@ghostprotocols.net>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	Kay Sievers <kay.sievers@vrfy.org>
Subject: Re: [PATCH v2 1/6] perf: Add interface to add general events to sysfs
Date: Tue, 26 Jul 2011 09:06:07 +0800	[thread overview]
Message-ID: <1311642367.3938.1516.camel@minggr.sh.intel.com> (raw)
In-Reply-To: <20110725152038.GA23356@suse.de>

On Mon, 2011-07-25 at 23:20 +0800, Greg KH wrote:
> On Mon, Jul 25, 2011 at 10:32:03AM +0200, Peter Zijlstra wrote:
> > On Mon, 2011-07-25 at 16:11 +0800, Lin Ming wrote:
> > > It's strange that I didn't find a way to check if a directory is present
> > > in sysfs. Any hint?
> > 
> > sysfs is voodoo for me, best I can come up with is, ask the sysfs
> > folks ;-)
> > 
> > Kay, Greg?
> 
> What are you trying to do here specifically?

Now there are perf event source devices in sysfs.

$ tree /sys/bus/event_source/devices/
/sys/bus/event_source/devices/
|-- breakpoint
|-- cpu
|-- software
`-- tracepoint

I want to create a "events" directory to hold the most useful events
under the event_source.

$ tree /sys/bus/event_source/devices/cpu
| -- events

Then add one event each time to the "events" dir.

Add "event1"
$ tree /sys/bus/event_source/devices/cpu
| -- events
     | -- event1

Add "event2"
$ tree /sys/bus/event_source/devices/cpu
| -- events
     | -- event1
     | -- event2

So at the first time to add a event I need to check if the "events"
directory is present. If not, create it.

Like below pseudo code,

int perf_pmu_add_event(struct pmu *pmu, const char *name, ....)
{
	if there is no "events" dir under pmu->dev->kobj
		then create "events" dir

	add event "name" to "events"

	return ....
}

So the problem is, for example, how to check if there is a "events" dir
under /sys/bus/event_source/devices/cpu in kernel.

Thanks,
Lin Ming

> 
> sysfs is not ment to be walked from within the kernel, only from
> userspace.  Perhaps that is your problem here?
> 
> greg k-h



  reply	other threads:[~2011-07-26  1:06 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-15 14:34 [PATCH v2 0/6] perf: Intel uncore pmu counting support Lin Ming
2011-07-15 14:34 ` [PATCH v2 1/6] perf: Add interface to add general events to sysfs Lin Ming
2011-07-18 13:34   ` Peter Zijlstra
2011-07-18 14:00     ` Lin Ming
2011-07-19  7:52     ` Lin Ming
2011-07-25  7:08       ` Lin Ming
2011-07-25  7:57       ` Peter Zijlstra
2011-07-25  8:32         ` Lin Ming
2011-07-25  8:11     ` Lin Ming
2011-07-25  8:32       ` Peter Zijlstra
2011-07-25 15:20         ` Greg KH
2011-07-26  1:06           ` Lin Ming [this message]
2011-07-26  4:42             ` Greg KH
2011-07-26  5:50               ` Lin Ming
2011-07-15 14:34 ` [PATCH v2 2/6] perf, x86: Add Intel Nehalem/Westmere uncore pmu Lin Ming
2011-07-15 14:48   ` Lin Ming
2011-07-18 14:20   ` Peter Zijlstra
2011-07-18 14:54     ` Lin Ming
2011-07-18 16:11       ` Peter Zijlstra
2011-07-15 14:35 ` [PATCH v2 3/6] perf, x86: Add Intel SandyBridge " Lin Ming
2011-07-15 14:35 ` [PATCH v2 4/6] perf: Remove perf_event_attr::type check Lin Ming
2011-07-15 14:35 ` [PATCH v2 5/6] perf tool: Allow system-wide 'perf stat' without 'command' Lin Ming
2011-07-15 14:35 ` [PATCH v2 6/6] perf tool: Parse general/raw events from sysfs Lin Ming
2011-08-06 20:10   ` Stephane Eranian
2011-08-06 23:38     ` Lin Ming
2011-08-07 23:47       ` Stephane Eranian
2011-08-08  1:08         ` Lin Ming
2011-08-08  5:54           ` Stephane Eranian
2011-08-08  8:48           ` Peter Zijlstra
2011-08-08  8:57             ` Lin Ming
2011-08-08  9:03               ` Peter Zijlstra
2011-08-11 22:38           ` Stephane Eranian
2011-08-15 19:18             ` Corey Ashford
2011-08-31 12:21 ` [PATCH v2 0/6] perf: Intel uncore pmu counting support Stephane Eranian

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1311642367.3938.1516.camel@minggr.sh.intel.com \
    --to=ming.m.lin@intel.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=acme@ghostprotocols.net \
    --cc=andi@firstfloor.org \
    --cc=eranian@google.com \
    --cc=gregkh@suse.de \
    --cc=kay.sievers@vrfy.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.