Subject: Re: NetBSD and large pps
To: tls@rek.tjls.com, Mihai CHELARU <kefren@netbastards.org>
From: Jonathan Stone <jonathan@dsg.stanford.edu>
List: tech-kern
Date: 12/03/2004 16:21:35
In message <20041203221730.GA614@panix.com>,
Thor Lancelot Simon writes:

[snip much]

>You should make one change at a time, if you can, and do careful
>benchmarks.  But my strong suspicion is that in fact hyperthreading is
>not doing you any good.

Seconded, on all counts. If it were me, I'd probably reduce HZ, too.

I think it'd make sense to raise HZ if you're using FreeBSD-style pure
polling; but NetBSD doesn't support that. (And with the hw.bge
settings you've tried, you've reduce interrupt load down to below
where I'd have it with pure FreeBSD-style polling in any case).

The last trick I've tried is to force sharing of interrupts at very
high packet rates.  On single-CPU i386 systems, there used to be an
easy kludge: configure for SMP systems and use ioapic routing to get
non-shared interrupts; or configure a non-SMP system and get shared
interrupts.

That's no longer true, but I used to repeatably eke out an additional
5% or so throughput by sharing interrupts.  So some way to mark device
instances, to force interrupt-sharing across marked devices at high
load, would be a nice feature.  (Christos? What do you think?)