em network issues
Oleg Bulyzhin
oleg at freebsd.org
Tue Oct 24 11:50:03 UTC 2006
On Sat, Oct 21, 2006 at 07:09:41PM -0400, Kris Kennaway wrote:
> On Sat, Oct 21, 2006 at 09:32:50PM +0400, Gleb Smirnoff wrote:
> > On Sat, Oct 21, 2006 at 12:57:52PM -0400, Kris Kennaway wrote:
> > K> On Sat, Oct 21, 2006 at 10:17:06AM +0400, Gleb Smirnoff wrote:
> > K> > On Thu, Oct 19, 2006 at 02:18:13PM -0700, Jack Vogel wrote:
> > K> > J> The engineer in our test group has installed 6.2 BETA2 and attempted via a
> > K> > J> number of tests to reproduce this problem, the machine even shares the em
> > K> > J> interrupt with usb, and yet so far he has been unsuccessful.
> > K> >
> > K> > I've failed to reproduce on a system where IRQ was shared between em(4)
> > K> > and fxp(4). I've put traffic on both, but failed to reproduce. Probably
> > K> > shared IRQ is required, but not sufficient.
> > K>
> > K> Note what I've said a couple of times now...blasting packets out over
> > K> the shared em doesn't trigger it for me either. I can trigger it by
> > K> fetching via FTP from a remote machine over the em.
> >
> > I suppose the TCP_STREAM test from the netperf is the same as ftp
> > fetch.
>
> Maybe, but why not just try fetch? ;)
>
> FYI, I still get timeouts from fetch on a shared em/fxp irq with
> DEVICE_POLLING configured. Turning on INTR_MPSAFE in the driver is
> the only known "fix" so far for this condition.
>
> Kris
It looks strange to me: if em(4) driver was built with DEVICE_POLLING,
it should use INTR_MPSAFE handler:
#ifdef DEVICE_POLLING
if (adapter->int_handler_tag == NULL && (error = bus_setup_intr(dev,
adapter->res_interrupt, INTR_TYPE_NET | INTR_MPSAFE, em_intr, adapte
r,
&adapter->int_handler_tag)) != 0) {
device_printf(dev, "Failed to register interrupt handler");
return (error);
}
#else
--
Oleg.
More information about the freebsd-stable
mailing list