Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Mar 2010 17:06:21 +0100
From:      Luigi Rizzo <rizzo@iet.unipi.it>
To:        Evgenii Davidov <dado@korolev-net.ru>
Cc:        freebsd-ipfw@freebsd.org
Subject:   Re: dummynet cpu usage
Message-ID:  <20100312160621.GA22985@onelab2.iet.unipi.it>
In-Reply-To: <20100312153429.GA88435@korolev-net.ru>
References:  <20091027074022.GE88744@korolev-net.ru> <20091027162924.GF88744@korolev-net.ru> <20100310153303.GB62866@korolev-net.ru> <20100312153429.GA88435@korolev-net.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Mar 12, 2010 at 06:34:29PM +0300, Evgenii Davidov wrote:
> Dear Luigi,
> 
> i've moved from RELENG_8 to RELENG_8_0 and now have a lot of idle cpu again:
> 
> 0 root       -68    0     0K    72K -       0   0:31  0.00% {dummynet}
> 
> 00030  2671994   474106017 pipe 6 ip from table(111) to any out xmit em0
> 00040  4495521  2942321163 pipe tablearg ip from any to table(2) in recv em0

i am not sure how you can tell the problem is gone since
you seem to have the same problem before 8.0 and after 8.0
and there is nothing that i can think of that was added and
removed (or vice-versa) just for a brief window around 8.0

This said, a comment on your ruleset:

you should put the cheap options (such as "in", "out", "recv" and "xmit")
before the expensive ones ("from table(X)" or "to table(X)" ),
so you can avoid the latter if one of the previous checks fails.

Table lookups are costly (anywhere from 200ns to 1us depending
on circumstances), whereas things such as "in" and "out" cost
20-30ns.

cheers
luigi

>  ipfw pipe show | wc -l
>      504
> 
> On Wed, Mar 10, 2010 at 06:33:04PM +0300, Evgenii Davidov ?????:
> 
> > ????????????,
> > 
> > got the same problem again, now on freebsd8:
> > 
> > rebuilded kernel today, and after it, on the same configuration dummunet began to eat a lot of cpu:
> > 
> >     0 root       -68    0     0K    72K -       0 119:34  0.78% {dummynet}
> >     0 root       -68    0     0K    72K -       0 119:39  6.98% {dummynet}
> >     0 root       -68    0     0K    72K -       1 220:31  0.10% {dummynet}
> >     0 root       -68    0     0K    72K -       0 220:34  0.59% {dummynet}
> >     0 root       -68    0     0K    72K -       0 220:38  0.68% {dummynet}
> >     0 root       -68    0     0K    72K -       1   0:00  7.47% {dummynet}
> >     0 root       -68    0     0K    72K -       0   0:01 57.08% {dummynet}
> >     0 root       -68    0     0K    72K -       1   0:02 63.87% {dummynet}
> >     0 root       -68    0     0K    72K -       0   0:03 42.87% {dummynet}
> >     0 root       -68    0     0K    72K -       1   0:03 46.29% {dummynet}
> >     0 root       -68    0     0K    72K -       0   0:04 76.17% {dummynet}
> > 
> > (it's a log of a top -SHI every minute)
> > 
> > the previous kernel was build a month ago
> > 
> 
> -- 
> Evgenii V Davidov
> _______________________________________________
> freebsd-ipfw@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-ipfw
> To unsubscribe, send any mail to "freebsd-ipfw-unsubscribe@freebsd.org"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100312160621.GA22985>