network performance
Kris Kennaway
kris at FreeBSD.org
Wed Feb 6 12:07:50 PST 2008
Stefan Lambrev wrote:
> Greetings,
>
> Kris Kennaway wrote:
>> Yes, it is gone with 8.0. Disable the module builds because some of
>> them like this one probably need compile fixes. If you need a subset
>> of modules use MODULES_OVERRIDE=list (in /etc/make.conf)
>>
> Yes, kernel builds.
> I'm still playing with it, but the first results shows that new kernel
> can handle 800k incoming packets (well may be more but I have not enough
> power right now to generate more packets).
> It still answer only to 250K-260K. I guess I'm hitting the limitation of
> syncache/syncookies ?
Yes, it could be. You may need to tune the net.inet.tcp.syncache
parameters to get better performance. That is good news though.
> Anyway this netisr2 looks like huge improvement :)
Actually I forgot to mention: you probably want to set net.isr2.direct=1.
> I can't build kernel without option LOCK_PROFILING with your sources:
>
> make -V CFILES -V SYSTEM_CFILES -V GEN_CFILES | MKDEP_CPP="cc -E"
> CC="cc" xargs mkdep -a -f .newdep -O2 -frename-registers -pipe
> -fno-strict-aliasing -march=nocona -std=c99 -g -Wall -Wredundant-decls
> -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes
> -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign
> -fformat-extensions -nostdinc -I. -I/usr/src/sys
> -I/usr/src/sys/contrib/altq -I/usr/src/sys/contrib/ipfilter
> -I/usr/src/sys/contrib/pf -I/usr/src/sys/dev/ath
> -I/usr/src/sys/contrib/ngatm -I/usr/src/sys/dev/twa
> -I/usr/src/sys/gnu/fs/xfs/FreeBSD
> -I/usr/src/sys/gnu/fs/xfs/FreeBSD/support -I/usr/src/sys/gnu/fs/xfs
> -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common
> -finline-limit=8000 --param inline-unit-growth=100 --param
> large-function-growth=1000 -mcmodel=kernel -mno-red-zone -mfpmath=387
> -mno-sse -mno-sse2 -mno-mmx -mno-3dnow -msoft-float
> -fno-asynchronous-unwind-tables -ffreestanding
> In file included from /usr/src/sys/netinet/ip_output.c:47:
> /usr/src/sys/sys/rwlock.h:153:2: error: #error LOCK_DEBUG not defined,
> include <sys/lock.h> before <sys/rwlock.h>
> mkdep: compile failed
> *** Error code 1
>
> So I added #include <sys/lock.h>, rebuild kernel and tested again w/o
> LOCK_PROFILING, but results are the same.
Thanks, I think I forgot to check in another fix. As you found though,
LOCK_PROFILING does not have a large performance impact when compiled in
but not active.
> I'll use again hwpmc and LOCK_PROFILING to see what's going on.
> And will try the same benchmark on quad core processor as now numbers of
> cores/cpus matter :)
That will certainly be interesting to test!
Kris
More information about the freebsd-performance
mailing list