Re: PATCH Multithreaded core dump support for the 2.5.14 (and 15) kernel.

Mark Gross
2002-05-16T21:40:55Z

On Thursday 16 May 2002 05:24 pm, Robert Love wrote:
> On Thu, 2002-05-16 at 14:32, Alan Cox wrote:
> > > For this to happen that semaphore would have to held across
> > > schedule()'s. The ONLY place I've seen that in the kernel is
> > > set_CPUs_allowed + migration_thread.
> >
> > The 2.5 kernel is pre-emptible.
>
> Indeed :)
>
> But there is plenty of places in the kernel - sans preemption - where we
> sleep while holding a semaphore. Was that the original question? If
> so, set_cpus_allowed by be one of the few _explicit_ places but we
> implicitly sleep holding a semaphore all over. Heck, we use them for
> user-space synchronization.
>
> Robert Love
>

The original question was:
Couldn't the TCore patch deadlock in elf_core_dump on a semiphore held by a
sleeping process that gets placed onto the phantom runque?

So far I can't tell the problem is real or not, but I'm worried :(

I haven't hit any such deadlocks in my stress testing, such as it is. In my
review of the code I don't see any obviouse problems dispite the fact that
the mmap_sem is explicitly grabbed by elf_core_dump.

--mgross