Re: Reading a file in the driver

Erik Mouw (J.A.K.Mouw@its.tudelft.nl)
Sun, 29 Dec 2002 16:24:52 +0100


On Fri, Dec 27, 2002 at 10:13:32AM -0500, David Anderson wrote:
> I am reading some data from a file byte by byte in my driver. Although it's not a good thing to read a file in the driver I have to do it. My file is quite big can contain about 1000 lines each line containing anywhere from 0 to 500 characters. I believe carry out 500000 reads is not a good thing.
>
> Any suggestions on how I can improve ??

Sure, do it from userland. Make a device node to which userland can write
the file you want. This nicely removes the policy problem of *which* file
to read from *what* location and puts it were it belongs: userland. With
this setup you can even read files from such exotic locations like other
servers or SQL databases.

If the driver needs to initiate the file reading, just startup a userland
helper that does the reads for you. See for example how the hotplug
subsystem calls /sbin/hotplug.

Erik

-- 
J.A.K. (Erik) Mouw
J.A.K.Mouw@its.tudelft.nl  mouw@nl.linux.org
http://www-ict.its.tudelft.nl/~erik/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/