From owner-freebsd-hackers Fri Mar 19 17:51:24 1999 Delivered-To: freebsd-hackers@freebsd.org Received: from alpo.whistle.com (alpo.whistle.com [207.76.204.38]) by hub.freebsd.org (Postfix) with ESMTP id 6482F15352 for ; Fri, 19 Mar 1999 17:51:04 -0800 (PST) (envelope-from julian@whistle.com) Received: from current1.whistle.com (current1.whistle.com [207.76.205.22]) by alpo.whistle.com (8.9.1a/8.9.1) with SMTP id RAA71046; Fri, 19 Mar 1999 17:49:03 -0800 (PST) Message-ID: <36F2FE8E.7566F4CF@whistle.com> Date: Fri, 19 Mar 1999 17:49:02 -0800 From: Julian Elischer Organization: Whistle Communications X-Mailer: Mozilla 3.0Gold (X11; I; FreeBSD 2.2.8-RELEASE i386) MIME-Version: 1.0 To: Bill Paul Cc: Matthew Dillon , hackers@FreeBSD.ORG Subject: Re: Gigabit ethernet revisited References: <199903200132.UAA04463@skynet.ctr.columbia.edu> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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 > so often that the other parts of the kernel aren't getting a chance to > process the packets in time, so the queues fill up and packets get dropped. 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 the driver that was running at a lower priority. I don't know if the if_de driver still does that but is could be worth a look. The other problem may be that there is just not enough PCI bus left for all the cycles needed for the processor to clear out the queue. (no wait that doesn't make sense because that would be memory bus bandwidth.. julian To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message