Performance Read() and Write() to/from Linux SKB's

Viewed 220

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,

  1. Why? and is moving the frame in one direction (i.e from user to kernel) have a higher impact.
  2. 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?
2 Answers
Related