^C does not interrupt biowait()

^C does not interrupt biowait()

Post by Pete A. Zaitce » Fri, 22 Nov 1996 04:00:00

Dear Collegues,

I need a help with a device driver.

Usually a driver which uses DMA calls physio() in order to
lock pages, flush caches and wait with biowait(). I found
that a signal to the process does not interrupt biowait().

Is it possible to interrupt a DMA transfer in Solaris? How?
A timeout handler can call biodone(), but I see no way to
get into a driver upon a signal(2) from an application.

Things are very simple with PIO: just wait on cv_wait_sig().
DMA hides cv_wait inside of biodone() and I want to overcome

Thanks in advance,


1. SMP and CPU1 not showing interrupts in /proc/interrupts

somewhere between about 2.5.53 and 2.5.62 my /proc/interrupts has gone
from an approximately even distribution of interrupts between CPU0 and
CPU1 to grossly uneven:

           CPU0       CPU1      
  0:   13223321    2233217    IO-APIC-edge  timer
  1:      13442          0    IO-APIC-edge  i8042
  2:          0          0          XT-PIC  cascade
  3:     291874          0    IO-APIC-edge  serial
  8:          3          0    IO-APIC-edge  rtc
  9:          0          0    IO-APIC-edge  acpi
 14:      18932          0    IO-APIC-edge  ide0
 15:         14          0    IO-APIC-edge  ide1
 16:     190607          1   IO-APIC-level  eth0, nvidia
 17:       3214          0   IO-APIC-level  bttv0
 18:      14249          1   IO-APIC-level  ide2
 19:     121942          0   IO-APIC-level  uhci-hcd, wlan0
NMI:          0          0
LOC:   15458218   15458423
ERR:          0
MIS:          0

if i really hit the system hard then CPU1 will start accruing interrupts
but in a mostly idle state CPU1 just sits on its bum and lets CPU0
handle them all, with the exception of irq #0, for some reason.

any ideas?



To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

2. Will this work on large HD?

3. killing program blocked by biowait

4. trouble with rm *

5. HELP:biowait() error Why?

6. Mustek scanner prob

7. Avoiding biowait() on Sun OS 5.9 when calling SCSI driver....

8. COBOL and AIX 4.3.3

9. How do you boot DOS not typing dos?

10. lost timer interrupts when doing audio CD burn/extract

11. ifup: getting IP info for eth0 failed; unexpected TX-done interrupt

12. I/O Communications like a DOS Interrupt

13. linux equiv of DOS service interrupts?