Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 11 Nov 2000 03:56:21 -0600
From:      "Michael C . Wu" <keichii@iteration.net>
To:        John Baldwin <jhb@FreeBSD.org>
Cc:        Matthew Jacob <mjacob@feral.com>, alpha@FreeBSD.org, Andrew Gallatin <gallatin@cs.duke.edu>
Subject:   Re: Does your Alpha run a SMPng kernel?
Message-ID:  <20001111035621.J93151@peorth.iteration.net>
In-Reply-To: <XFMail.001110113530.jhb@FreeBSD.org>; from jhb@FreeBSD.org on Fri, Nov 10, 2000 at 11:35:30AM -0800
References:  <Pine.BSF.4.21.0011101005500.83354-100000@beppo.feral.com> <XFMail.001110113530.jhb@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Nov 10, 2000 at 11:35:30AM -0800, John Baldwin scribbled:
| On 10-Nov-00 Matthew Jacob wrote:
| > On Fri, 10 Nov 2000, Andrew Gallatin wrote:
| >> John Baldwin writes:
| >>  > Have any clues as to where it is hanging?  One thing that may help is
| >>  > that I
| >> This is the "one device goes south but everything else is happy" sort
| >> of problem I was complaining about last week.
| >>
| >> My UP1000 running today's -current just wedged while I was rcp'ing a
| >> large file to it over a 100Mb link.  It's busy speweing "fxp0: device
| >> timeout" Everything but the nic seems happy.  (But since I'm running
| >> with NIS and NFS, loosing the nic is fatal)
| > 'ata' timeouts occur with abandon during probing PC164 or on XP1000.
| ata timeouts are due to the interrupt either not arriving or the interrupt
| being ignored due to other weirdness.  Try adding some printf()'s into the ata
| interrupt handler to see if it gets called and how far it gets if it does get
| called.  The fxp timeouts are definitely due to no interrupts as well.  If you
| look below, neither the fxp0 or swi:net interrupt threads are runnable, but are
| stuck in SWAIT instead.
| >> getting a clock interrupt in the middle of doing some low-level
| >> should-be-atomic timing-dependant I/O operations in either the driver
| >> or the I/O support routines?
| >>
| >> Remember that on the UP1000, everything goes through the isa interrupt
| >> controller.
|
| So you get some interrupts and then they stop.  On the x86 we do a
| disable/enable interrupt scheme for ISA interrupts by dinking with the PIC, so
| Matt's suggestion to use isa_enable_intr()/isa_disable_intr() might be needed
| actually.  (see hte INTREN() call in ithd_loop() in i386/isa/ithread.c)
| Actually, it looks like we wait too long to enable the interrupt sources on the
| x86.  However, using the isa_enable/disable_intr() stuff that Matt suggested
| might help.

Soren has freebsd.dk/pub/ATA patches online if you wish to try.

--
+------------------------------------------------------------------+
| keichii@peorth.iteration.net         | keichii@bsdconspiracy.net |
| http://peorth.iteration.net/~keichii | Yes, BSD is a conspiracy. |
+------------------------------------------------------------------+


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-alpha" in the body of the message




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