I am having a problem of disabled interrupts when i use down() in SMP
environment. I found out the following document in gcom.com web site
regarding the semaphore analysis by David Grothe.

This is what i found ....
 
"The semaphore algorithm was changed so that it buzzes a lock in the
 SMP case of down() and always disables interrupts ".

now my exact problem ....

 I am using semaphore in our SCSI/RAID driver (which is part of standard
linux
 kernel) which uses down/up semaphore primitives.

 I call up() in our ISR to release the semaphore flag . Since down() in SMP
 disable interrupts , there is no way my ISR is fired which releases the
flag
 and so freezes the system.

 i have verified that ISR is not called . 

 Is there any other way to enable interrupts in down(). I know that it may
 side-effects.

 The non-SMP version of the driver works fine . even the SMP kernel with one
processor freezes.

TIA
Venkatesh
American Megatrends Inc.,



-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]

Reply via email to