Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 27 Jul 2004 13:36:34 +0200
From:      Marko Zec <zec@tel.fer.hr>
To:        "'James'" <haesu@towardex.com>
Cc:        freebsd-net@freebsd.org
Subject:   Re: device polling takes more CPU hits??
Message-ID:  <200407271336.34744.zec@tel.fer.hr>
In-Reply-To: <FE045D4D9F7AED4CBFF1B3B813C85337051D9444@mail.sandvine.com>
References:  <FE045D4D9F7AED4CBFF1B3B813C85337051D9444@mail.sandvine.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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@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



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