From: Tom Zanussi <zanussi@us.ibm.com>
To: Roman Zippel <zippel@linux-m68k.org>
Cc: Karim Yaghmour <karim@opersys.com>,
Steven Rostedt <rostedt@goodmis.org>,
Tom Zanussi <zanussi@us.ibm.com>,
richardj_moore@uk.ibm.com, varap@us.ibm.com,
linux-kernel@vger.kernel.org,
Christoph Hellwig <hch@infradead.org>,
Andrew Morton <akpm@osdl.org>
Subject: Re: Merging relayfs?
Date: Mon, 18 Jul 2005 10:58:31 -0500 [thread overview]
Message-ID: <17115.53671.326542.392470@tut.ibm.com> (raw)
In-Reply-To: <Pine.LNX.4.61.0507181706430.3728@scrub.home>
Roman Zippel writes:
> Hi,
>
> On Mon, 18 Jul 2005, Karim Yaghmour wrote:
>
> > I guess I just don't get the point here. Why cut something away if many
> > users will need it. If it's that popular that you're ready to provide a
> > library function to do it, then why not just leave it to boot? One of the
> > goals of relayfs is to avoid code duplication with regards to buffering
> > in general.
>
> The road to bloatness is paved with lots of little features.
> There aren't that many users anyway (none of the examples use that
> feature). I'd prefer to concentrate on a simple and correct relayfs layer
> and we can still think about other features as more users appear.
> Starting a design by implementing every little feature which _might_ be
> needed is a really bad idea.
>
OK, if we got rid of the padding counts and commit counts and let the
client manage those, we can simplify the buffer switch slow path and
make the API simpler in the process. Here's a first proposal for
doing that - I won't know until I actually do it what snags I may run
into, but if this looks like the right direction to go, I'll go ahead
with it...
- get rid of the padding counts - the client can manage those if it
wants to, but in any case pass the padding for the previous sub-buffer
in to the subbuf_start callback.
- get rid of the commit counts - the client can manage those. Also,
get rid of the related API functions that deal with those
i.e. relay_commit() and the deliver() callback.
- change the buffer_start() callback to something like the following
(the body shows an example of what would typically be done by a
client):
/*
* subbuf_start() callback.
*
* Return 1 to allow logging to continue, 0 to stop.
*/
static int subbuf_start_default_callback (struct rchan_buf *buf,
void *subbuf,
void *prev_subbuf,
int prev_padding)
{
*((int *)prev_subbuf) = prev_padding;
if (relay_buf_full(buf))
return 0;
relay_reserve(subbuf, sizeof (int));
return 1;
}
- add a relay_reserve() function for the client to use to reserve
space at the beginning of the sub-buffer (it can use this reserved
space to save the padding among other things). This would be used by
the client in the subbuf_start callback, rather than returning it via
an outparam or struct.
- remove the buf_full() callback - the client can determine this in
the subbuf_start() callback.
Also, as far as the netlink/ioctl/proc file communication, I'll have
to think more about it, but will play around with something when I
update the example code.
Let me know if this sounds ok, or if you have better suggestions.
Thanks,
Tom
next prev parent reply other threads:[~2005-07-18 15:59 UTC|newest]
Thread overview: 89+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-07-12 1:10 Tom Zanussi
2005-07-12 1:45 ` Andrew Morton
2005-07-12 2:17 ` Dave Airlie
2005-07-12 2:22 ` Tom Zanussi
2005-07-12 9:12 ` Baruch Even
2005-07-12 2:25 ` Christoph Hellwig
2005-07-12 2:34 ` Andrew Morton
2005-07-12 2:59 ` Karim Yaghmour
2005-07-14 13:26 ` Roman Zippel
2005-07-14 15:01 ` Tom Zanussi
2005-07-17 14:04 ` Roman Zippel
2005-07-17 15:52 ` Tom Zanussi
2005-07-18 5:17 ` Hareesh Nagarajan
2005-07-18 14:31 ` Tom Zanussi
2005-07-18 13:44 ` Steven Rostedt
2005-07-18 14:16 ` Roman Zippel
2005-07-18 14:32 ` Karim Yaghmour
2005-07-18 15:20 ` Roman Zippel
2005-07-18 15:58 ` Tom Zanussi [this message]
2005-07-22 20:43 ` Tom Zanussi
2005-07-22 23:19 ` Karim Yaghmour
2005-07-23 2:31 ` Tom Zanussi
2005-07-26 2:35 ` Karim Yaghmour
2005-07-22 20:43 ` Tom Zanussi
2005-07-18 14:36 ` Steven Rostedt
2005-07-18 15:06 ` Roman Zippel
2005-07-18 14:41 ` Tom Zanussi
2005-07-18 8:40 ` Richard J Moore
2005-07-12 13:03 ` Steven Rostedt
2005-07-12 3:05 ` Greg KH
2005-07-12 3:03 ` Karim Yaghmour
2005-07-12 3:24 ` Greg KH
2005-07-12 3:52 ` Karim Yaghmour
2005-07-12 4:30 ` Greg KH
2005-07-12 4:40 ` Karim Yaghmour
2005-07-12 5:23 ` Greg KH
2005-07-12 14:36 ` Steve Rotolo
2005-07-12 3:55 ` Tom Zanussi
2005-07-12 4:27 ` Greg KH
2005-07-12 14:01 ` Tomasz Kłoczko
2005-07-12 14:21 ` Baruch Even
2005-07-12 15:30 ` Tomasz Kłoczko
2005-07-12 15:16 ` Tom Zanussi
2005-07-12 15:44 ` Tomasz Kłoczko
2005-07-12 16:27 ` Tom Zanussi
2005-07-12 17:01 ` Tomasz Kłoczko
2005-07-12 17:23 ` Tom Zanussi
[not found] ` <Pine.BSO.4.62.0507121935500.6919@rudy.mif.pg.gda.pl>
[not found] ` <17108.1906.628755.613285@tut.ibm.com>
[not found] ` <Pine.BSO.4.62.0507122026520.6919@rudy.mif.pg.gda.pl>
[not found] ` <17108.5721.202275.377020@tut.ibm.com>
2005-07-12 19:29 ` Tomasz Kłoczko
2005-07-12 20:44 ` Vara Prasad
2005-07-12 21:02 ` Vara Prasad
2005-07-13 12:40 ` Tomasz Kłoczko
2005-07-13 15:04 ` Vara Prasad
2005-07-13 16:22 ` Tomasz Kłoczko
2005-07-13 4:29 ` Vara Prasad
2005-07-13 13:47 ` Tomasz Kłoczko
2005-07-13 15:55 ` Karim Yaghmour
2005-07-13 15:56 ` Vara Prasad
2005-07-13 16:50 ` Tomasz Kłoczko
2005-07-12 14:58 ` Jason Baron
2005-07-12 15:26 ` Tom Zanussi
2005-07-12 16:00 ` Steven Rostedt
2005-07-12 15:53 ` Steven Rostedt
2005-07-12 16:08 ` Tom Zanussi
2005-07-12 16:23 ` Steven Rostedt
2005-07-12 16:36 ` Tom Zanussi
2005-07-12 16:49 ` Steven Rostedt
2005-07-12 17:01 ` Tom Zanussi
2005-07-12 21:38 ` Tom Zanussi
2005-07-12 23:40 ` Steven Rostedt
2005-07-12 23:55 ` Andrew Morton
2005-07-13 0:08 ` Steven Rostedt
2005-07-16 21:07 ` relayfs documentation sucks? bert hubert
2005-07-16 23:13 ` Tom Zanussi
2005-07-17 9:01 ` [PATCH] " bert hubert
2005-07-17 15:43 ` Tom Zanussi
2005-07-17 19:45 ` bert hubert
2005-07-17 20:47 ` Tom Zanussi
2005-07-18 13:27 ` Steven Rostedt
2005-07-20 21:27 ` Paul Jackson
2005-07-20 21:45 ` bert hubert
2005-07-21 0:31 ` Paul Jackson
2005-07-22 20:01 ` Paul Jackson
2005-07-22 20:33 ` relayfs as infrastructure, ltt, systemtap, diskstat bert hubert
2005-07-23 18:53 ` Christoph Hellwig
2005-07-23 18:53 ` [PATCH] Re: relayfs documentation sucks? Christoph Hellwig
2005-07-25 23:47 ` Karim Yaghmour
2005-07-26 5:15 ` bert hubert
[not found] <17107.6290.734560.231978@tut.ibm.com.suse.lists.linux.kernel>
[not found] ` <20050712022537.GA26128@infradead.org.suse.lists.linux.kernel>
[not found] ` <20050711193409.043ecb14.akpm@osdl.org.suse.lists.linux.kernel>
2005-07-12 4:36 ` Merging relayfs? Andi Kleen
2005-07-13 8:13 Spirakis, Charles
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=17115.53671.326542.392470@tut.ibm.com \
--to=zanussi@us.ibm.com \
--cc=akpm@osdl.org \
--cc=hch@infradead.org \
--cc=karim@opersys.com \
--cc=linux-kernel@vger.kernel.org \
--cc=richardj_moore@uk.ibm.com \
--cc=rostedt@goodmis.org \
--cc=varap@us.ibm.com \
--cc=zippel@linux-m68k.org \
/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
Powered by JetHome