Re: Relayfs question

From: Baruch Even
Date: Sat Mar 19 2005 - 14:13:21 EST


Jan Engelhardt wrote:
according to the relayfs description on opersys.com,

|As the Linux kernel matures, there is an ever increasing number of facilities
|and tools that need to relay large amounts of data from kernel space to user
|space. Up to this point, each of these has had its own mechanism for relaying
|data. To supersede the individual mechanisms, we introduce the "high-speed
|data relay filesystem" (relayfs). As such, things like LTT, printk, EVLog,
|etc.

This sounds to me like it would obsolete most character-based devices, e.g.
random and urandom.

What do the relayfs developers say to this?

I'm not a relayfs developer, just a happy user...

The latest relayfs versions are slimmed down of the original and are unlikely to be useful as a character-based device, but are much better as a data-transport facility.

There is no longer any interface for character based reading so it can't be used for the device replace purposes.

The current method is to just manage buffers and enable applications to mmap the buffers to read them with some signalling on when a buffer is to be read and when the kernel can overwrite it.

A character device is unlikely to need such interface since you do want 16 bytes of random data and not several pages of mapped random numbers. If you really need a lot of random numbers you need something in user-space anyway since you'll deplete the kernel entropy pool pretty fast anyway.

If you have a device that needs to transfer lots of data doesn't mind it being batched and doesn't really need the character device interface then relayfs could be useful.

Baruch
-
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/