Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 11 Nov 2011 22:14:39 +0200
From:      Alexander Motin <mav@FreeBSD.org>
To:        freebsd-net <freebsd-net@freebsd.org>, yakimenko.alexey@gmail.com
Subject:   Re: Netgraph multithreading
Message-ID:  <4EBD822F.6000509@FreeBSD.org>

next in thread | raw e-mail | index | archive | help
Hi.

> Is Netgraph supports multithreading in FreeBSD 8.1?

Generally yes, but there are many different cases. Netgraph uses direct
function calls to handle traffic. It means that when it is possible it
runs directly in network card interrupt threads contexts, or if
net.isr.direct sysctl set to 0 (default) in network software interrupts
threads context. How many first you have depends on hardware and NIC
drivers. Number of second depends on hardware and OS version. Also when
function call depth is too big or there are other reasons preventing
direct calls, netgraph queues packets, and then, when possible, handles
them using multiple dedicated threads. Unluckily, after packets queued
for some node, all packets for it will be handled only by one thread to
prevent reordering.

-- 
Alexander Motin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4EBD822F.6000509>