Re: Merging relayfs?

From: Roman Zippel
Date: Mon Jul 18 2005 - 10:09:02 EST


Hi,

On Mon, 18 Jul 2005, Steven Rostedt wrote:

> > What exactly would be slowed down?
> > It would just move around some code and even avoid the overwrite mode
> > check.
>
> Yes, you're adding a jump to another function via a function pointer,
> that would kill the cache line of execution, to avoid a simple check, or
> some other way of handling it.

RTFS. (deliver_default_callback)

> Since I don't want to know the internals
> of relayfs,

You have to anyway, currently relayfs client need some knowledge about how
buffers are managed.

> the overwrite mode could be implemented in a more officient way.

I wouldn't call the buffer switch routine efficient, yet.

> > > I don't see the problem with having an overwrite mode or not. Why
> > > can't relayfs know this?
> >
> > The point is to design a simple and flexible relayfs layer, which means
> > not every possible function has to be done in the relayfs layer, as long
> > it's flexible enough to build additional functionality on top of it (for
> > which it can again provide some library functions).
>
> The overwrite mode isn't that complex. You don't want to make something
> so flexible that it becomes more complex. Assembly is more flexible
> than C but I wouldn't want to code a lot with it. A library function
> for me is out of the question, since what I build on top of relayfs is
> mostly in the kernel. The overwrite mode would then have to be
> implemented through another kernel activity. I might as well keep my
> own ring buffers and forget about using relayfs, and all my points in
> which I argue for it being merged is mute.

I must admit I have no clue, what you're talking about here...
The keywords above are "_simple_ _and_ _flexible_".

bye, Roman
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/