Subject: Re: 80Mbps routing with Micrel KS8695
To: David Laight <david@l8s.co.uk>
From: Steve Woodford <scw@netbsd.org>
List: port-arm
Date: 01/14/2005 20:54:31
On Friday 14 January 2005 20:17, David Laight wrote:
> Unless your NFS implementation [1] detects when buffers are freed!
> and refuses to send anything else until they are - even if it
> receives an ack!!!
>
> [1] some commercial Unix NFS code used to behave this way.
Is ours any different? I've certainly seen this behaviour on NetBSD NFS
clients with Ethernet drivers which defer Tx interrupts. This was fixed
by searching the mbuf chain for (m->m_flags & M_EXT &&
m->m_ext.ext_free != NULL) in the tx_start() routine and enabling Tx
interrupts for as long as there are active Tx packets which meet the
above condition.
Having a flag in the mbuf header to indicate that someone is waiting on
Tx completion would make life easier...
Cheers, Steve