Date: Fri, 19 Mar 1999 20:13:07 -0800 (PST) From: Matthew Dillon <dillon@apollo.backplane.com> To: Julian Elischer <julian@whistle.com> Cc: Bill Paul <wpaul@skynet.ctr.columbia.edu>, hackers@FreeBSD.ORG Subject: Re: Gigabit ethernet revisited Message-ID: <199903200413.UAA16399@apollo.backplane.com> References: <199903200132.UAA04463@skynet.ctr.columbia.edu> <36F2FE8E.7566F4CF@whistle.com>
next in thread | previous in thread | raw e-mail | index | archive | help
:Bill Paul wrote:
:>
:> The receiving host is under heavy interrupt load. Andrew Gallatin has
:> said to me that this is a classic case of livelock, where the system
:> is so busy processing interrupts that nothing else is getting done.
:> In this case, the NIC is dutifully DMAing all the packets to the host
:> and the driver is queing them all to ether_input(), but this is happening
:...
:
:I think Andrew might be right..
:it could well be livelock.
:
:Matt Thomas implemented a solution for the 100mb dec cards
:when 100 was fast. I think that the de drivers responded to the
:interrupt and immediatly did SCHEDNETISR() to schedule the rest of
Hey cool, at least the hardware problem has been solved!
On the livelock thingy -- well, one way to find out is to use ipfw
to throw away the packets, and then do a 'systat -vm 1' to see where
the cpu's time is being sent and how much cpu is being used.
I'm guessing between 50% and 70% of the cpu is being eaten with the
packets going into an ipfw bitbucket.
Each memory read or write represents around 85 MBytes/sec. The DMA counts
as one. The read() system call counts as two ( because it must read from
one memory location and write to another ) -- this puts us perilously
close to the memory bandwidth limit of the cpu when you count all the
other garbage going on that's breaking up the L1 cache.
:julian
-Matt
Matthew Dillon
<dillon@backplane.com>
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199903200413.UAA16399>
