Just for the sake of it, I tried if the performance of em would be different
under -CURRENT and it is. Initially when I had:
options INVARIANTS #Enable calls of extra sanity checking
options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS
options WITNESS #Enable checks to detect deadlocks and cycles
options WITNESS_SKIPSPIN #Don't run witness on spinlocks for speed

The performance was not much better than 100Mbps ethernet. Dropping these
options upped the performance to ~300Mbps:ish while 4.7-STABLE gives twice
that using the same application. The machine is 2.4GHz Dual P4.

At 300Mbps the other CPU seems to be spending almost all it's time on interrupt
context while the stuff on other CPU is waiting for *Giant. Are all network drivers
still under Giant on 5.0?

Is there any other parameters I should tune? Increase allowed mbuf clusters?

mbuf usage:
GEN list: 0/0 (in use/in pool)
CPU #0 list: 232/528 (in use/in pool)
CPU #1 list: 282/416 (in use/in pool)
Total: 514/944 (in use/in pool)
Maximum number allowed on each CPU list: 512
Maximum possible: 51200
Allocated mbuf types:
514 mbufs allocated to data
1% of mbuf map consumed
mbuf cluster usage:
GEN list: 1/30 (in use/in pool)
CPU #0 list: 205/248 (in use/in pool)
CPU #1 list: 306/392 (in use/in pool)
Total: 512/670 (in use/in pool)
Maximum number allowed on each CPU list: 128
Maximum possible: 25600
2% of cluster map consumed
1576 KBytes of wired memory reserved (73% in use)
0 requests for memory denied
0 requests for memory delayed
0 calls to protocol drain routines

Pete



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-net" in the body of the message

Reply via email to