MP development needs

Simon 'corecode' Schubert corecode at
Wed Jul 25 11:24:55 PDT 2007

Matthew Dillon wrote:
:I just wanted to drop this as a note so that I won't forget about it and maybe some (masochistic) people want to pick up these as a task.
:For sensible MP development, we need:
:- a core dump format which will reflect lwps
:- a GDB which can handle lwps
:- best a KGDB which works with vkernels/threads
:- a working kernel profiler (pmc, oprofile, at least working gprof, dtrace?)
:did I forget something?  as ususal, feedback expected.
:  simon
    This main issue here is for someone to research how GDB handles
    threading and to then device a kernel API (e.g. via /proc that gdb
    can tie into directly).  The core dump format would be pretty straight
No, gdb uses ptrace.  So we need to change the ptrace API to be able to specify the tid as well, not just the pid.  Linux doesn't need this, because they have a pid per thread.  We'd have to check what freebsd and netbsd are doing.

    Right now the register state is stored in the core dump via an ELF note
    in the elf_corehdr() and elf_puthdr() procedures.  Basically we would
    want to add an ELF note for each thread that we can then parse back out
    in GDB.
exactly.  just has to be done.  dito for checkpointing, btw.

Serve - BSD     +++  RENT this banner advert  +++    ASCII Ribbon   /"\
Work - Mac      +++  space for low €€€ NOW!1  +++      Campaign     \ /
Party Enjoy Relax   |      Against  HTML   \
Dude 2c 2 the max   !       Mail + News   / \

More information about the Kernel mailing list