Question regarding netgraph and threading

Julian Elischer julian at elischer.org
Tue Dec 1 20:47:27 UTC 2009


Brett Glass wrote:
> All:
> 
> I have several large PPTP servers which are currently using ppp(8) and 
> PoPTop (a userland PPTP server daemon which is, unfortunately, GPLed). 
> They're having trouble under heavy loads, and so I'd like to switch to 
> mpd5. However, even though mpd5 handles network connections in the 
> kernel, via netgraph, I am worried about performance.
> 
> As far as I can see, all netgraph operations are performed by a single 
> kernel thread named "ng_queue", while ppp(8) and PoPToP use many 
> processes and thus can distribute their work among multiple CPU cores.
> 
> Is netgraph able to multithread, or is there a way to make it do so?

well, not all work is done by that thread. It is the
backup-doer-of-things, but many netgraph operations are done in the
context of a caller such as teh user of a socket.

netgraph is more efficient than the user layer however because it
doesn't have to cross the kernel boundary to process the work.

why not just try it?


> 
> --Brett Glass
> 
> _______________________________________________
> freebsd-net at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"



More information about the freebsd-net mailing list