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

From: Mark Gross (mgross@unix-os.sc.intel.com)
Date: Fri May 10 2002 - 08:24:14 EST


Attached is my current patch for creating multithreaded core dump files,
that works with the O(1) scheduler.
 
This is a continuation of the work posted by Vamsi Krishna back on 3/21/02.
I'm sorry for the delay. The problem of suspending the other thread
processes for the duration of the core dump was a challenging problem with
the O(1) scheduler.
 
Most of the patch is the same as that posted on 3/21/02 with some minor
fixes and the rebasing to the 2.5.14 kernel. The interesting bits are in
the additions to sched.c to pause and resume the thread processes under the
O(1) scheduler.
 
Here I'm leveraging the work of Eric Foct for the process migration, to
temporarily migrate the thread processes I need suspended to a "phantom
runqueue". This is just an additional run queue that has no cpu. When I'm
finish with the core dump I migrate them off the phantom run queue and
continue processing whatever exit processing they do.
 
I tried a number of approaches to process pausing that didn't quite work
before I settled on the attached implementation.
 
This work has been unit test on a 2 way and 4 way SMP systems with no
lockups so far. YMMV.
 
Note: GDB 5.x will work with the core files created with this patch, provided
the libpthread that gets loaded at gdb debug time is stripped of symbols.

Run strip on your libpthread so files and things should work fine for you.
 
--mgross
 
(W) 503-712-8218
MS: JF1-05
2111 N.E. 25th Ave.
Hillsboro, OR 97124



-
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/



This archive was generated by hypermail 2b29 : Tue May 14 2002 - 12:00:14 EST