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