From: Paul Mundt <lethal@linux-sh.org>
To: Mathieu Desnoyers <compudj@krystal.dyndns.org>
Cc: Tom Zanussi <zanussi@us.ibm.com>, Greg KH <greg@kroah.com>,
linux-kernel@vger.kernel.org, axboe@suse.de, karim@opersys.com
Subject: Re: [PATCH, RFC] sysfs: relay channel buffers as sysfs attributes
Date: Mon, 20 Feb 2006 19:15:31 +0200 [thread overview]
Message-ID: <20060220171531.GA9381@linux-sh.org> (raw)
In-Reply-To: <20060220130555.GA29405@Krystal>
On Mon, Feb 20, 2006 at 08:05:56AM -0500, Mathieu Desnoyers wrote:
> LTTng currently uses some particular features from relayfs. I would like to make
> sure that they will still be available.
>
> * LTTng uses the "void *private" private data pointer extensively. It's very
> useful to pass a kernel client specific data structure to the client
> callbacks.
> * LTTng does have its own ltt_poll and ltt_ioctl that are all what is needed to
> control the interaction with the file (along with the relayfs mmap/unmap).
>
> In this scenario, the sysfs relay attribute creation would look like :
>
> - create an empty attr
> - fill some of attr members
> - sysfs_create_relay_file(kobj, attr);
> (it will overwrite some attr members : kobj, rchan, rchan_buf)
> * set specific LTTng file operations on the inode
> * set the "private" field of the rchan structure.
>
->rchan is set after sysfs_create_relay_file(), you can set
->rchan->private after it's created. All that happens in
sysfs_create_relay_file() as far as the relay interface is concerned is
wrapping relay_open(), where ->rchan is first allocated.
As far as setting specific file operations for the inode, that's
definitely not in line with the sysfs way of doing things. If you need
to do this, go with debugfs, or stick with the relayfs patch on top of
CONFIG_RELAY as this stuff is clearly not going to be merged into
mainline as Cristoph also pointed out.
debugfs gives you roughly all of the same functionality, and the kernel
side implementation for what LTTng will need should be quite trivial. LTT
is arguably a debugging thing anyways, so debugfs seems like a more
appropriate match than trying to beat sysfs into submission with this
workload.
next prev parent reply other threads:[~2006-02-20 17:15 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-02-19 17:17 [PATCH, RFC] sysfs: relay channel buffers as sysfs attributes Paul Mundt
2006-02-19 17:21 ` Christoph Hellwig
2006-02-19 17:56 ` Greg KH
2006-02-19 18:52 ` Paul Mundt
2006-02-20 5:29 ` Tom Zanussi
2006-02-20 9:20 ` Jens Axboe
2006-02-20 11:17 ` Paul Mundt
2006-02-20 13:05 ` Mathieu Desnoyers
2006-02-20 14:17 ` Christoph Hellwig
2006-02-20 17:15 ` Paul Mundt [this message]
2006-02-20 17:37 ` Mathieu Desnoyers
2006-02-20 22:27 ` Greg KH
2006-02-21 15:21 ` Paul Mundt
2006-02-21 16:48 ` Mathieu Desnoyers
2006-02-21 17:43 ` Greg KH
2006-02-22 21:27 ` Karim Yaghmour
2006-02-22 21:32 ` Greg KH
2006-02-20 22:24 ` Greg KH
2006-02-21 15:10 ` [PATCH] sysfs: Add __ATTR_RELAY() helper for relay attributes Paul Mundt
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=20060220171531.GA9381@linux-sh.org \
--to=lethal@linux-sh.org \
--cc=axboe@suse.de \
--cc=compudj@krystal.dyndns.org \
--cc=greg@kroah.com \
--cc=karim@opersys.com \
--cc=linux-kernel@vger.kernel.org \
--cc=zanussi@us.ibm.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox