Large data flow between the user and the kernel

What is the best way (performance) for bidirectional data flow between user level and kernel level?

I understand that you can open the NETLINK socket and transfer the data there. But we need to accept some other interaction with the user and the kernel (system calls, ioctl) to send control information through. Is this the most efficient way to transfer large amounts of data across a user-kernel boundary?

+4
source share
1 answer

Transferring large data buffers to the kernel driver / thread / without problems - the kernel has the privilege to read it, without problems. To return the material, the ususal path is to provide the thingy kernel with a sufficiently large user space buffer or buffer pool to return data. It’s like for a regular file - a file / network for reading / writing, for example.

What is the problem, more precisely - do you need to transfer data to / from the kernel level on another machine?

Rgds, Martin

+4
source

All Articles