Re: Freebsd IP Forwarding performance (question, and some info) [7-stable, current, em, smp]

[ Available lists | Index of freebsd-net | Month of Jul 2008 | Week of 2 Jul 2008 | Raw email | View thread | Wrap long lines | Reply | Tag ]
From
Ingo Flaschberger <if@xip.at>
Date
2 Jul 2008 10:05:52
Subject
Re: Freebsd IP Forwarding performance (question, and some info) [7-stable, current, em, smp]
Message-ID
alpine.LFD.1.10.0807021155280.557@filebunker.xip.at

In reply to

[ Hide this part ]
Dear Paul,

> I still don't like the huge hit ipfw and lagg take :/

I think, you can't use fastforward with with lagg.

> ** I tried polling in UP mode and I got some VERY interesting results..
> CPU is 44% idle (idle polling isn't on) but I'm getting errors! It's doing
> 530kpps with ipfw loaded, which without polling uses 100% cpu but now it says
> my cpu is 44% idle? that makes no sense.. If it was idle why am I getting
> errors? I only get errors when em taskq was eating 100% cpu..
> Idle polling on/off makes no difference.
> user_frac is set to 5 ..

what are your values:
kern.polling.reg_frac=
kern.polling.user_frac=
kern.polling.burst_max=

I use:
kern.polling.reg_frac=20
kern.polling.user_frac=20
kern.polling.burst_max=512

if you need more than 1000, you need to change the code:
src/sys/kern/kern_poll.c
#define MAX_POLL_BURST_MAX 1000

> So my maximum without polling is close to 800kpps but if I push that it
> starts locking me from doing things, or

how many kpps do you want to achieve?

> HZ=2000 for this test (512/512 descriptors)

you mean:
hw.em.rxd=512
hw.em.txd=512
?

can you try with polling:
hw.em.rxd=4096
hw.em.txd=4096

Kind regards,
Ingo Flaschberger



Elapsed time: 0.250 seconds