device polling takes more CPU hits??
Marko Zec
zec at tel.fer.hr
Tue Jul 27 04:52:03 PDT 2004
James,
what timecounter method are you using, i8254 or TSC? The polling code
frequently calls microuptime(), which is very expensive (slow) with i8254,
while being reasonable fast with TSC. Since you are running with quite high
system clock (4 kHz), using i8254 could be causing the problems you've
described.
Cheers,
Marko
On Monday 26 July 2004 22:27, Don Bowman wrote:
> From: James [mailto:haesu at towardex.com]
>
> > I have two boxes behind em0 that I can use to generate
> > 250kpps to another vlan
> > within em0 card as a test, so that bge0 is not involved in
> > the stress test.
> > Even when doing so, CPU load climbs higher with device
> > polling turned on.
> > Opened up systat, etc to check the interrupts, and em0 is
> > generating 0
> > interrupts with device polling on (as obvious), but general
> > interrupt load
> > climbs rock high.. so I don't know what's causing it to
> > climb. Cleared the
> > firewall rules as well as a test... no difference :(
> >
> > Oh also, just FYI, each vlan interface has link0 set, since
> > em(4) supports
> > hardware 802.1q tag/detagging.
>
> The CPU time during the 'polling' is charged to interrupt,
> even though it occurs during softclock. That's why you
> see 0 interrupts, but high CPU usage in interrupt.
> Did u try lowering the 'register' access?
>
> --don
More information about the freebsd-net
mailing list