New profile protocol

- when kernel profiles a process for the first time it saves an entry
  describing the process [endpoint|name]

- every profile sample is only [endpoint|pc]

- profile utility creates a table of endpoint <-> name relations and
  translates endpoints of samples into names and writing out the
  results to comply with the processing tools

- "task" endpoints like KERNEL are negative thus we must cast it to
  unsigned when hashing
This commit is contained in:
Tomas Hruby
2010-09-23 10:49:39 +00:00
parent 123a968be3
commit db12229ce3
6 changed files with 121 additions and 33 deletions

View File

@@ -241,6 +241,7 @@ struct proc {
* regs are significant (initialized)*/
#define MF_SENDING_FROM_KERNEL 0x2000 /* message of this process is from kernel */
#define MF_CONTEXT_SET 0x4000 /* don't touch context */
#define MF_SPROF_SEEN 0x8000 /* profiling has seen this process */
/* Magic process table addresses. */
#define BEG_PROC_ADDR (&proc[0])