Hi, We have various locks, mutexes, etc., that are taken on entry to filesystem code, for example, and a bunch of them are taken interruptibly or killably (or ought to be) - but filesystem code might be called into from uninterruptible code, such as the memory allocator, fscache, etc.. Does it make sense to replace TASK_{INTERRUPTIBLE,KILLABLE,UNINTERRUPTIBLE} with begin/end functions that define the area of uninterruptibility? The regions would need to handle being nested, so maybe some sort of counter in the task_struct counter would work. David