DragonFly kernel List (threaded) for 2007-07
Re: MP development needs
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.
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
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 | http://dragonflybsd.org Against HTML \
Dude 2c 2 the max ! http://golden-apple.biz Mail + News / \