Userspace <=> Kernel communication

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello all,

I would like to have variable number of stream communication channels
between user-space (my userspace daemon) and kernel (my module). I prefer
"file" interface because of possibility to use select(). 

I am considering one of the following:

1. miscdev
This seems to be the easiest, but it is limited in number of devices (256
devices shared with others).

2. own char device (allocate one major)
Major issue is here that it requires one major number (hard to get one
reserved) or it may get allocated at module load time (register_chardev()),
but then I need to recreate device files accordingly or use devfs... This is
similar to Coda's psdev...
Limited to 256 minor devices.

3. /proc files
This one seems nice, because you can create /proc entries when you need them
and with good naming scheme, userspace can just open the correct filename.
There is no real limitation in the number of devices I can create (AFAIK). I
am however not sure how this communication through /proc compares with
character device files (option 1 or 2) - can I expect same performance as
from char device? 

Is there any other option I can use?

Regards,
Luka

--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
IRC Channel:   irc.openprojects.net / #kernelnewbies
Web Page:      http://www.kernelnewbies.org/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux