From: Tom Zanussi <zanussi@us.ibm.com>
To: karim@opersys.com
Cc: Roman Zippel <zippel@linux-m68k.org>, Andi Kleen <ak@muc.de>,
Nikita Danilov <nikita@clusterfs.com>,
linux-kernel@vger.kernel.org, Tom Zanussi <zanussi@us.ibm.com>,
frankeh@watson.ibm.com
Subject: Re: 2.6.11-rc1-mm1
Date: Sun, 16 Jan 2005 13:05:19 -0600 [thread overview]
Message-ID: <16874.47855.427013.376104@tut.ibm.com> (raw)
In-Reply-To: <41EA0307.6020807@opersys.com>
Karim Yaghmour writes:
>
> What I'm dropping for now is all the functions that allow a
> subsystem to read from a channel from within the kernel. So,
> for example, if you want to obtain large amounts of data from
> user-space via a relayfs channel you won't be able to. Here
> are the functions that would go:
>
> rchan_reader *add_rchan_reader(channel_id, auto_consume)
> int remove_rchan_reader(rchan_reader *reader)
> rchan_reader *add_map_reader(channel_id)
> int remove_map_reader(rchan_reader *reader)
> int relay_read(reader, buf, count, wait, *actual_read_offset)
> void relay_buffers_consumed(reader, buffers_consumed)
> void relay_bytes_consumed(reader, bytes_consumed, read_offset)
> int relay_bytes_avail(reader)
> int rchan_full(reader)
> int rchan_empty(reader)
>
> We could add these at a later time when/if needed. Removing
> these changes nothing for ltt.
One of the things that uses these functions to read from a channel
from within the kernel is the relayfs code that implements read(2), so
taking them away means you wouldn't be able to use read() on a relayfs
file. That wouldn't matter for ltt since it mmaps the file, but there
are existing users of relayfs that do use relayfs this way. In fact,
most of the bug reports I've gotten are from people using it in this
mode. That doesn't mean though that it's necessarily the right thing
for relayfs or these users to be doing if they have suitable
alternatives for passing lower-volume messages in this way. As others
have mentioned, that seems to be the major question - should relayfs
concentrate on being solely a high-speed data relay mechanism or
should it try to be more, as it currently is implemented? If the
former, then I wonder if you need a filesystem at all - all you have
is a collection of mmappable buffers and the only thing the filesystem
provides is the namespace. Removing read()/write() and filesystem
support would of course greatly simplify the code; I'd like to hear
from any existing users though and see what they'd be missing.
ltt would still need at least relay_buffers_consumed() though. This
is used to support the 'no-overwrite' option, which means that when
the buffers are full i.e. the daemon has fallen behind and needs to
catch up, channel writing is 'suspended' until it catches up.
>
> Also, we should try to get rid of the following. They are there
> for allowing dynamically-resizable buffers, but if we are to
> make buffer-management opaque, then this should be done
> internally (Tom: I can't remember the rationale for these. Let
> me know if there's a reason why the must be kept.)
>
> int relay_realloc_buffer(*rchan, nbufs, async)
> int relay_replace_buffer(*rchan)
relay_realloc_buffer actually does the work of allocating the new
buffer space for used for resizing, and since it can sleep, it's done
in the background using a work queue. When everything's ready, the
channel buffer can then be replaced, thus relay_replace_buffer().
The only user of channel resizing that I know of is the 'dynamically
resizeable printk replacement' I posted awhile back, and that
apparently doesn't have any users, so I'd be happy to get rid of all
the resizing code.
Tom
>
> I think this is a pretty major change and simplification of the
> API along the lines of what others have asked for. Let me know
> what you think.
>
> Karim
> --
> Author, Speaker, Developer, Consultant
> Pushing Embedded and Real-Time Linux Systems Beyond the Limits
> http://www.opersys.com || karim@opersys.com || 1-866-677-4546
--
Regards,
Tom Zanussi <zanussi@us.ibm.com>
IBM Linux Technology Center/RAS
next prev parent reply other threads:[~2005-01-16 18:19 UTC|newest]
Thread overview: 142+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-01-14 8:23 2.6.11-rc1-mm1 Andrew Morton
2005-01-14 8:47 ` 2.6.11-rc1-mm1 Andi Kleen
2005-01-14 9:27 ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-14 10:27 ` 2.6.11-rc1-mm1 Nikita Danilov
2005-01-14 10:38 ` 2.6.11-rc1-mm1 Andi Kleen
2005-01-14 11:06 ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-14 15:31 ` 2.6.11-rc1-mm1 Roman Zippel
2005-01-14 21:11 ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-14 22:58 ` 2.6.11-rc1-mm1 Tim Bird
2005-01-15 0:20 ` 2.6.11-rc1-mm1 Andi Kleen
2005-01-15 4:25 ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-15 1:06 ` 2.6.11-rc1-mm1 Roman Zippel
2005-01-15 4:18 ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-16 2:38 ` 2.6.11-rc1-mm1 Roman Zippel
2005-01-16 6:00 ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-16 16:52 ` 2.6.11-rc1-mm1 Roman Zippel
2005-01-16 21:18 ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-17 1:37 ` 2.6.11-rc1-mm1 Thomas Gleixner
2005-01-17 2:24 ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-17 12:20 ` 2.6.11-rc1-mm1 Thomas Gleixner
2005-01-17 20:32 ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-17 22:31 ` 2.6.11-rc1-mm1 Thomas Gleixner
2005-01-17 22:42 ` 2.6.11-rc1-mm1 Robert Wisniewski
2005-01-17 23:26 ` 2.6.11-rc1-mm1 Thomas Gleixner
2005-01-17 23:41 ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-18 0:02 ` 2.6.11-rc1-mm1 Thomas Gleixner
2005-01-18 3:05 ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-17 13:54 ` 2.6.11-rc1-mm1 Roman Zippel
2005-01-17 21:27 ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-17 23:57 ` 2.6.11-rc1-mm1 Roman Zippel
2005-01-18 4:03 ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-18 4:30 ` 2.6.11-rc1-mm1 Aaron Cohen
2005-01-18 4:46 ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-18 8:07 ` 2.6.11-rc1-mm1 Tom Zanussi
2005-01-18 16:40 ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-18 19:37 ` 2.6.11-rc1-mm1 Tom Zanussi
2005-01-18 15:31 ` 2.6.11-rc1-mm1 Roman Zippel
2005-01-21 6:26 ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-21 22:23 ` 2.6.11-rc1-mm1 Roman Zippel
2005-01-23 7:43 ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-23 7:52 ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-23 8:28 ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-24 0:38 ` 2.6.11-rc1-mm1 Roman Zippel
2005-01-25 9:12 ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-18 1:13 ` 2.6.11-rc1-mm1 Roman Zippel
2005-01-18 2:52 ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-17 17:02 ` 2.6.11-rc1-mm1 Tom Zanussi
2005-01-16 19:05 ` Tom Zanussi [this message]
2005-01-19 11:14 ` 2.6.11-rc1-mm1 Christoph Hellwig
2005-01-19 16:53 ` 2.6.11-rc1-mm1 Tom Zanussi
2005-01-16 16:14 ` 2.6.11-rc1-mm1 Christoph Hellwig
2005-01-16 19:47 ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-16 20:30 ` 2.6.11-rc1-mm1 Tom Zanussi
2005-01-19 11:11 ` 2.6.11-rc1-mm1 Christoph Hellwig
2005-01-14 15:24 ` 2.6.11-rc1-mm1 Roman Zippel
2005-01-18 11:19 ` 2.6.11-rc1-mm1 Masami Hiramatsu
2005-01-18 11:46 ` 2.6.11-rc1-mm1 Andi Kleen
2005-01-18 14:52 ` [Lkst-develop] 2.6.11-rc1-mm1 Masami Hiramatsu
2005-01-14 12:36 ` 2.6.11-rc1-mm1 Miklos Szeredi
2005-01-14 13:04 ` 2.6.11-rc1-mm1 Kasper Sandberg
2005-01-14 18:35 ` 2.6.11-rc1-mm1 Andrew Morton
2005-01-14 19:08 ` 2.6.11-rc1-mm1 Rogério Brito
2005-01-14 19:41 ` 2.6.11-rc1-mm1 Peter Buckingham
2005-01-17 17:04 ` 2.6.11-rc1-mm1 Matthias Urlichs
2005-01-14 19:02 ` 2.6.11-rc1-mm1 Bill Davidsen
2005-01-14 15:07 ` 2.6.11-rc1-mm1 Barry K. Nathan
2005-01-14 16:56 ` 2.6.11-rc1-mm1 Dave Jones
2005-01-14 17:55 ` 2.6.11-rc1-mm1 Barry K. Nathan
2005-01-19 23:06 ` 2.6.11-rc1-mm1 Marcos D. Marado Torres
2005-01-19 23:54 ` 2.6.11-rc1-mm1 Barry K. Nathan
2005-01-14 15:35 ` 2.6.11-rc1-mm1 Zwane Mwaikambo
2005-01-14 22:03 ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-14 17:35 ` [patch] 2.6.11-rc1-mm1: ip_tables.c: ipt_find_target must be EXPORT_SYMBOL'ed Adrian Bunk
2005-01-14 17:43 ` Patrick McHardy
2005-01-14 22:41 ` 2.6.11-rc1-mm1 Tim Bird
2005-01-14 22:46 ` 2.6.11-rc1-mm1 Thomas Gleixner
2005-01-14 23:22 ` 2.6.11-rc1-mm1 Tim Bird
2005-01-15 0:24 ` 2.6.11-rc1-mm1 Thomas Gleixner
2005-01-15 1:27 ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-16 16:18 ` 2.6.11-rc1-mm1 Christoph Hellwig
2005-01-15 13:08 ` [RFC] Instrumentation (was Re: 2.6.11-rc1-mm1) Thomas Gleixner
2005-01-16 2:09 ` Karim Yaghmour
2005-01-16 3:11 ` Roman Zippel
2005-01-16 4:23 ` Karim Yaghmour
2005-01-16 23:43 ` Thomas Gleixner
2005-01-17 1:54 ` Karim Yaghmour
2005-01-17 10:26 ` Thomas Gleixner
2005-01-17 20:34 ` Karim Yaghmour
2005-01-17 22:18 ` Thomas Gleixner
2005-01-17 23:57 ` Karim Yaghmour
2005-01-18 8:46 ` Thomas Gleixner
2005-01-18 16:31 ` Karim Yaghmour
2005-01-19 7:13 ` Werner Almesberger
2005-01-19 17:38 ` Karim Yaghmour
2005-01-14 22:48 ` 2.6.11-rc1-mm1 Andre Eisenbach
2005-01-15 8:42 ` 2.6.11-rc1-mm1 Miklos Szeredi
2005-01-15 8:45 ` 2.6.11-rc1-mm1 Miklos Szeredi
[not found] ` <1105740276.8604.83.camel@tglx.tec.linutronix.de>
2005-01-14 23:09 ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-15 0:01 ` 2.6.11-rc1-mm1 Thomas Gleixner
2005-01-15 0:26 ` 2.6.11-rc1-mm1 Andrew Morton
2005-01-15 1:00 ` 2.6.11-rc1-mm1 Thomas Gleixner
2005-01-15 1:25 ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-15 10:20 ` 2.6.11-rc1-mm1 Thomas Gleixner
2005-01-16 4:13 ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-16 15:19 ` 2.6.11-rc1-mm1 Robert Wisniewski
2005-01-15 1:14 ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-15 9:57 ` 2.6.11-rc1-mm1 Thomas Gleixner
2005-01-16 16:21 ` 2.6.11-rc1-mm1 Christoph Hellwig
2005-01-16 19:49 ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-16 20:11 ` 2.6.11-rc1-mm1 Robert Wisniewski
2005-01-16 20:32 ` 2.6.11-rc1-mm1 Andrew Morton
2005-01-16 21:06 ` 2.6.11-rc1-mm1 Robert Wisniewski
2005-01-16 21:40 ` 2.6.11-rc1-mm1 Arjan van de Ven
2005-01-17 15:48 ` 2.6.11-rc1-mm1 Robert Wisniewski
2005-01-17 16:13 ` 2.6.11-rc1-mm1 Christoph Hellwig
2005-01-17 21:38 ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-16 20:39 ` 2.6.11-rc1-mm1 Christoph Hellwig
2005-01-16 21:14 ` 2.6.11-rc1-mm1 Robert Wisniewski
2005-01-15 2:58 ` 2.6.11-rc1-mm1 William Lee Irwin III
2005-01-17 22:19 ` 2.6.11-rc1-mm1 William Lee Irwin III
2005-01-16 0:59 ` 2.6.11-rc1-mm1 Joseph Fannin
2005-01-16 19:09 ` 2.6.11-rc1-mm1 Daniel Drake
2005-01-16 19:20 ` 2.6.11-rc1-mm1 William Lee Irwin III
2005-01-16 21:09 ` 2.6.11-rc1-mm1 Daniel Drake
2005-01-17 23:31 ` 2.6.11-rc1-mm1 J.A. Magallon
2005-01-18 2:35 ` 2.6.11-rc1-mm1 Daniel Drake
2005-01-18 2:54 ` [PATCH] Wait and retry mounting root device (revised) Daniel Drake
2005-01-18 0:34 ` Al Viro
2005-01-18 0:02 ` Randy.Dunlap
2005-01-18 8:05 ` Andries Brouwer
2005-01-18 8:28 ` Helge Hafting
2005-01-18 8:49 ` Andrew Morton
2005-01-18 13:20 ` Helge Hafting
2005-01-20 20:55 ` [PATCH] Configurable delay before mounting root device Daniel Drake
2005-01-20 20:24 ` Andrew Morton
2005-01-21 18:15 ` Daniel Drake
2005-01-20 22:49 ` William Park
2005-01-18 1:03 ` [PATCH] Wait and retry mounting root device (revised) William Park
2005-01-19 0:43 ` Werner Almesberger
2005-01-18 8:02 ` Andries Brouwer
2005-01-19 20:11 ` Frank van Maarseveen
-- strict thread matches above, loose matches on Subject: below --
2005-01-17 6:49 2.6.11-rc1-mm1 Prasanna S Panchamukhi
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=16874.47855.427013.376104@tut.ibm.com \
--to=zanussi@us.ibm.com \
--cc=ak@muc.de \
--cc=frankeh@watson.ibm.com \
--cc=karim@opersys.com \
--cc=linux-kernel@vger.kernel.org \
--cc=nikita@clusterfs.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 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.