Thread (2 messages) 2 messages, 2 authors, 2003-11-19

Re: [PATCH NCR5380 updates

From: Alan Cox <hidden>
Date: 2003-11-19 22:28:10

On Maw, 2003-11-18 at 10:26, Christoph Hellwig wrote:
  - use schedule_delayed_work() instead of the global timer for the
    coroutines
Definitely good
  - use dev_id field in the isr instead of searching the global list
    of hosts (g_NCR5380 had to be updated to pass in that one for
    this change)
Makes sense
  - use spinlocks even in the non-interrupt driven case, with SMP
    and PREEMPT that's needed these days
Make sure they don't disable interrupts. If you take an IRQ disabling
spinlock you might as well go home because those code paths can take
ages to run). Without locking its actually best to ignore the IRQ on any
SMP box and poll because of the chip design. Think of the coroutine as a
thread running on the host CPU pretending to be most of the scsi
controller..

The locks are guarding the interrupt handler paths against the command
issue path (which is single threaded via run_main) so I strongly
disagree with your belief that it needs changing. The chip is also quite
happy to wait ages for the host machine to do something, its 'hi-tech'
technology from the era of 4Mhz processors being quick.

Your changes as proposed would make NCR5380 unusable.

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help