Based on a standard Linux system, where there is a userland application and the kernel network stack. Ive read that moving frames from user space to kernel space (and vica-versa) can be expensive in terms of CPU cycles.
My questions are,
- Why? and is moving the frame in one direction (i.e from user to kernel) have a higher impact.
- Also, how do things differ when you move into TAP based interfaces. As the frame will still be going between user/kernel space. Do the space concerns apply, or is there some form of zero-copy in play?