System calls are expensive for a variety of reasons (including, but not limited to, the cost of extra data copies and the cost of switching security "rings"). For system-call heavy applications (in particular, networked services), moving things into the kernel provide huge speed benefits. [0] [1]
You are right that it's generally a stupid choice to make, but you're dead wrong in assuming that it's got no benefit at all.
You are right that it's generally a stupid choice to make, but you're dead wrong in assuming that it's got no benefit at all.
[0] http://read.cs.ucla.edu/click/click
[1] http://www.research.ibm.com/afpa/ "All three components are implemented in the operating system kernel for maximum efficiency"