Messages in this thread | | | Date | Thu, 14 Apr 2005 09:21:49 +0200 | From | Arjan van de Ven <> | Subject | Re: SLEEP_ON_BKLCHECK |
| |
On Thu, Apr 14, 2005 at 04:17:34PM +0900, tsuchiya yoshihiro wrote: > Arjan van de Ven wrote: > > >On Thu, 2005-04-14 at 09:42 +0900, tsuchiya yoshihiro wrote: > > > > > >>Hi, > >>In Fedora Core3, interruptible_sleep_on() checks if the system is > >>lock_kernel()'ed > >>by SLEEP_ON_BKLCHECK. Same thing is done in RedHatEL4. > >>Also I found a patch including SLEEP_ON_BKLCHECK was posted before, > >>but is not included in 2.6.11. > >>Why SLEEP_ON_BKLCHECK checks lock_kernel ? > >> > >> > > > >Because you really need to hold the BKL when you call sleep_on() family > >of APIs, otherwise you have a very big race. > > > >Also note that you in your code really should not call any of the > >sleep_on() family of functions at all! It is a very very deprecated and > >defective API!!!! > > > > > > > Oh, I did not know that. > What do you use instead? I found wait_event. Is that what you use?
yep
> > Actually, I am porting my friend's code that runs on 2.4.X to 2.6. > How is sleep_on in 2.4? You should not use sleep_on in 2.4 also?
correct, sleep_on in 2.4 is also broken and racey - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |