Re: io_request_lock question (2.2)

From: Reto Baettig (baettig@k2.llnl.gov)
Date: Fri Dec 08 2000 - 19:10:38 EST


>
>
>
> On Fri, 8 Dec 2000, Alan Cox wrote:
>
> > > Yes, and I believe that this is what's broken about the SCSI midlayer. The the
> > > io_request_lock cannot be completely released in a SCSI HBA because the flags
> >
> > You can drop it with spin_unlock_irq and that is fine. I do that with no
> > problems in the I2O scsi driver for example
>
> I am (like, I think I *finally* got locking sorta right in my QLogic driver),
> but doesn't this still leave ints blocked for this CPU at least?
>
> -matt
>
>
>

I am actually concerned about the following case:

The add_request ON CPU_1 function calls
        spin_lock_irqsave(&io_request_lock,flags);

Our I/O Function unlocks the spinlock and goes to sleep.

Finally, the add_request function, NOW ON CPU_2 calls
        spin_unlock_irqrestore(&io_request_lock,flags);
and restores the flags of CPU_1 on CPU_2.

What am I missing? Are the flags which we restore valid for all the CPU's the same?

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Dec 15 2000 - 21:00:16 EST