tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: callout handler re-entrancy

> If not, calls are serialised under kernel lock and it may not necessary 
> have to be reetrant (terms and conditions apply).
I'm sorry to say that I know rather little about these T&Cs.

> Keep in mind that multi-thread safety and reentrancy are not the same.
I'm afraid I don't get that.

My application is a scsipi(9) timeout callback. Normally, the same 
timeout handler is installed for all requests, and, if I'm extremly 
unlucky, two different requests may time out at the same time.
So, if someone enters the timeout handler (which is going to reset the 
hardware and loop through all requests, stopping their callouts and asking 
scsipi to re-schedule the requests), is it safe to assume that the timeout 
handler will not be entered again (on a different CPU, by a different thread 
or whatever) until whoever entered it first returns?
If that's not safe to assume, what's the suggested way to guard against it?

Home | Main Index | Thread Index | Old Index