Re: [PATCH] multithreaded coredumps for elf exeecutables for O(1) scheduler

Mark Gross (mgross@unix-os.sc.intel.com)
Fri, 10 May 2002 11:13:08 -0400


ia64 requires more tweaks than just this to work. This patch as it stands
isn't expected to work for ia64.

Getting the register states for the note sections is more involved for ia64
as well as the avoiding of patch collisions with the diffs in
/pub/linux/kernel/ports/ia64/v2.5/

I have an ia64 patch set thats partially tested for 2.4.17, that seems to
work. It didn't get posted as O(1) support became a bigger priority.

I'm hoping to start updating the ia64 patch to support 2.5x very soon.

--mgross

On Friday 10 May 2002 01:13 pm, Manfred Spraul wrote:
> Have you checked that your patch doesn't deadlock on ia64?
>
> > + /* First pause all related threaded processes */
> > + if (dump_threads) {
> > + suspend_threads();
> > + }
> > +
> > + /* now stop all vm operations */
> > + down_write(&current->mm->mmap_sem);
> > + segs = current->mm->map_count;
> > +
>
> Stopping all vm operations means that copy_{to,from}_user can cause
> deadlocks.
> ia64 needs copy_to_user in their stack unwind handler, IIRC called by
> ELF_CORE_COPY_REGS.
>
> Afaics you don't handle that. You must dump all thread state before
> down_write(mmap_sem). And I don't see how you protect against 2 threads
> of one process calling suspend_threads() simultaneously.
-
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/