High interrupt rate on a PF box + performance

Jeremy Chadwick freebsd at jdc.parodius.com
Thu Jan 27 20:58:47 UTC 2011

On Thu, Jan 27, 2011 at 09:38:22PM +0100, Damien Fleuriot wrote:
> On 1/27/11 8:57 PM, Jeremy Chadwick wrote:

<...snipping out stuff...>

> We're also considering moving to faster machines but I don't think that
> will help much with our problem.
> I suppose additional CPU cores will be of no help at all, considering
> the kernel is single threaded and runs on cpu0 only ?

Kernel folks should be able to talk about this in detail, but my
understanding is that the kernel itself supports multiple threads, but
the question is whether or not the drivers or relevant "pieces" (e.g.
igb(4) driver, pf, TCP stack, etc.) support SMP (multi-core/threading)
or not.  I think this is referred to as something being "MPSAFE" or not.

The things you see during boot -- [ITHREAD], [FILTER], and
[GIANT-LOCKED] play a role as well, but I think those indicate what
style of locking is used (since some drivers/features might not work
properly in a multiprocessor environment).

I'm trying to avoid correlating "multiprocessor safe" with "makes use of
multiple processors".  I'm an old 65xxx CPU guy, this SMP stuff is still
"new technology" to me when it comes to actual operations/mechanics.

Regarding TCP and SMP, this is regularly touched on in the FreeBSD
Status Reports that go out (always worth reading).  See "TCP SMP
scalability project":


I know all this information is technical of course and doesn't answer
your question directly.  I wish there was something more authoritative
when it came to this question.

> Actually, I assume it might even be detrimental to us to add more cores,
> since they'll spend more time interrupting each other ?
> Thanks for sharing your thoughts :)

| Jeremy Chadwick                                   jdc at parodius.com |
| Parodius Networking                       http://www.parodius.com/ |
| UNIX Systems Administrator                  Mountain View, CA, USA |
| Making life hard for others since 1977.               PGP 4BD6C0CB |

More information about the freebsd-stable mailing list