Os argumentos dos testes profile são os seguintes:
arg0 |
O contador do programa (PC) no kernel na hora em que o teste foi acionado, ou 0 se o processo atual não estava sendo executado no kernel na hora em que o teste foi acionado |
arg1 |
O PC no processo no nível do usuário na hora em que o teste foi acionado, ou 0 se o processo atual estava sendo executado no kernel na hora em que o teste foi acionado |
Conforme as descrições sugerem, se arg0 for diferente de zero, então arg1 é zero; se arg0 for zero, então arg1 é diferente de zero. Portanto, você pode usar arg0 e arg1 para diferenciar o nível do usuário do nível do kernel, como neste exemplo simples:
profile-1ms { @ticks[arg0 ? "kernel" : "user"] = count(); }