Date: Sun, 30 Mar 2008 11:14:42 +0200 From: Hans Petter Selasky <hselasky@c2i.net> To: freebsd-hackers@freebsd.org, FreeBSD Net <freebsd-net@freebsd.org> Cc: Alexander Motin <mav@freebsd.org> Subject: Re: Multiple netgraph threads Message-ID: <200803301114.43336.hselasky@c2i.net> In-Reply-To: <47EF4F18.502@FreeBSD.org> References: <47EF4F18.502@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi, Have you thought about nodes that lock the same mutex must be run on the same thread else for example one thread will run while another will just waits for a mutex ? You can achieve this by grouping nodes into a tree, and the node at the top of the tree decides on which thread the nodes in the tree should be run. How does your patch handle this ? Also see recent discussion about multithreaded callouts on "freebsd-arch@freebsd.org". Subject "timeout/callout small step forward". --HPS On Sunday 30 March 2008, Alexander Motin wrote: > Hi. > > I have implemented a patch (for the HEAD) making netgraph to use several > own threads for event queues processing instead of using single swinet. > It should significantly improve netgraph SMP scalability on complicated > workloads that require queueing by implementation (PPTP/L2TP) or stack > size limitations. It works perfectly on my UP system, showing results > close to original or even a bit better. I have no real SMP test server > to measure real scalability, but test on HTT CPU works fine, utilizing > both virtual cores at the predictable level. > > Reviews and feedbacks are welcome. > > URL: http://people.freebsd.org/~mav/netgraph.threads.patch
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200803301114.43336.hselasky>