| The kprof devices samples the kernel IP at 1 Khz.  | 
 |  | 
 | You have to bind into /net for now as 9namespace doesn't yet control /dev. | 
 |  | 
 | bind -a '#K' /net | 
 |  | 
 | set up your world. | 
 |  | 
 | echo start > /net/kpctl | 
 |  | 
 | run your tests | 
 |  | 
 | echo stop > /net/kpctl | 
 |  | 
 | get the data | 
 | cat /net/kpdata > some-file | 
 |  | 
 | The file should probably NOT be on the akaros node, funnel it out over a mnt | 
 | or similar path to a persistent place where you can run tools. | 
 |  | 
 | The data is in this form | 
 | pc name count-in-milliseconds | 
 | The format is | 
 | %016llx %29s %016llx\n | 
 |  | 
 | The pc is 8-byte aligned. You'll see the function name a lot. You might want to reduce the | 
 | number of times you see it. | 
 |  | 
 | One way to process: | 
 |  | 
 | awk '{ | 
 | > kp[$3]++; | 
 | > } | 
 | > END{ | 
 | > for (var in kp) | 
 | > print var, " ", kp[var] | 
 | > } | 
 | > ' kp.txt | 
 |  | 
 | Oh, and, currently, we tend to assume that the pc is a kernel pc. That's kind of dumb, and | 
 | we need to fix it. |