[DRBD-user] drbd socket code, kernel space vs user space

Pan Ospam hr122005 at yahoo.com
Mon Dec 5 21:40:09 CET 2005

Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.

Hi all,

The other day my friend and I came across Christoph
Mitasch's paper (Server-Based Wide Area Data
Replication for Disaster Recovery). During our
conversation on Christoph's good work, the topic was
somehow -- can't recal why and what -- shifted to
asking why the DRBD transport code (e.g. drbd_accept()
in drbd_receiver.c) was done in kernel space instead
of user space.  My answer right of the bat was:
performance -- not the least would be the savings in
context switching, just like nfsd would do it.
However, in his infinite wisdom, my friend
hypothesized there was more to it.

Can someone please shed some light in this area: i.e.
implementing the DRBD socket code in kernel space vs
user space, with the understanding that the user-space
socket code has to mode/context-switch into the kernel
through system calls anyway? I'm particularlly
interested in exploring the advantage of implementing
the socket code in user space.

Thanks & Happy Holidays!

Yahoo! DSL – Something to write home about. 
Just $16.99/mo. or less. 

More information about the drbd-user mailing list