tcp_output starving -- is due to mbuf get delay?
Eric Anderson
anderson at centtech.com
Thu Apr 10 09:16:52 PDT 2003
Mike Silbersack wrote:
>>My hosts are connected directly to core routers in a 10Gbps nationwide
>>network, so if anybody is interested in some testing I am more than
>>willing to participate. If anybody produces a patch, I have a third system
>>that I can use for piloting of that too.
>>
>>--Börje
>
>
> This brings up something I've been wondering about, which you might want
> to investigate:
>
>>From tcp_output:
>
> if (error == ENOBUFS) {
> if (!callout_active(tp->tt_rexmt) &&
> !callout_active(tp->tt_persist))
> callout_reset(tp->tt_rexmt, tp->t_rxtcur,
> tcp_timer_rexmt, tp);
> tcp_quench(tp->t_inpcb, 0);
> return (0);
> }
>
> That tcp_quench knocks the window size back to one packet, if I'm not
> mistaken. You might want to put a counter there and see if that's
> happening frequently to you; if so, it might explain some loss of
> performance.
>
> Have you tried running kernel profiling yet? It would be interesting to
> see which functions are using up the largest amount of time.
It's interesting - I'm only getting about 320mb/s.. I must be hitting a
similar problem. I'm not nearly as adept at hacking code to find bugs
though. :(
Eric
--
------------------------------------------------------------------
Eric Anderson Systems Administrator Centaur Technology
Attitudes are contagious, is yours worth catching?
------------------------------------------------------------------
More information about the freebsd-hackers
mailing list