Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Implementing protocols in user space versus kernel space - performance implication

I am looking for some articles / papers on the impact of moving a protocol implementation say TCP/IP stack from kernel to user space. It will obviously have an impact but how much? Or there is any literature of how much the context switch costs. I realize that there may not be an accurate answers because it will depend on the application. Assuming therefore it is a network stack, it will be great if anyonce can probvide some inputs. I googled but cannot find anything good except this User space Vs Kernel space program performance difference but which does not shed enough light.

like image 311
doon Avatar asked Sep 16 '12 14:09

doon


1 Answers

As I know you could see for file system comparisions - there is many different implementations, as kernel modules and as fuse modules. May be you can find interesting information in this types of components.

Also in field of network I can mention that some drivers utilize ability of network cards to calc hash's for ethernet frames - and there is some gane of it. If you work on user space - you can't use such trick. In result you can get compassions of performance in use of such trick as upper bound of performance penalty.

like image 180
cgi Avatar answered Nov 29 '22 21:11

cgi