On 20-Jan-01 Poul-Henning Kamp wrote:
> In message <[EMAIL PROTECTED]>, John Baldwin writes:
>>On 20-Jan-01 The Hermit Hacker wrote:
>>> On Sat, 20 Jan 2001, Mark Murray wrote:
>>>> >
>>>> > on a 2xPII/350, 256M, two scsi disks on ahc, and ccd I have three times
>>>> > now hung the machine so that only reset got any attention simply by
>>>> >    make -j 128 world
>>>> Do you have an easy way to narrow it down to CCD by doing the same
>>>> thing but without ccd involvement?
>>> I don't have CCD, and got home last night from the office and mine was
>>> hung also, on a kernel from the day before ... being in X, pretty much
>>> nothing I could do to try and debug it ... new laptop gets in this week,
>>> so will be setting up the whole serial console debugging env ...
>>Is it SMP, and does it have multiple SCSI disks hanging off of the same
> SMP, one scsi disk on each controller, /usr and /home ccd'ed.

Is there any code dealing with disk I/O in the kernel that does the equivalent
of this:

while (!io_done)
  /* spin */ ;

That assumes an interrupt will set io_done?

Using DELAY() in places might explain this.  If the kernel is spining, then it
is probably holding Giant, which prevents Ctrl-Alt-Esc (keyboard ithread blocks
on Giant) not to mention we aren't doing a task switch to it anyways.  Also,
NMI's would be blocked by trap() being broken.  I have a patch for trap() btw
that tells it to not bother with Giant for NMI's.  I haven't tested it yet


John Baldwin <[EMAIL PROTECTED]> -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to