DTrace arg0-kernel mode and arg1-user mode

Arguments

The arguments to profile probes are as follows:

arg0

The program counter (PC) in the kernel at the time that the probe fired, or 0 if the current process was not executing in the kernel at the time that the probe fired

arg1

The PC in the user-level process at the time that the probe fired, or 0 if the current process was executing at the kernel at the time that the probe fired

As the descriptions imply, if arg0 is non-zero then arg1 is zero; if arg0 is zero then arg1 is non-zero. Thus, you can use arg0 and arg1 to differentiate user-level from kernel level, as in this simple example:

profile-1ms
{
	@ticks[arg0 ? "kernel" : "user"] = count();
}
posted @ 2020-02-04 22:05  SolidMango  阅读(170)  评论(0编辑  收藏  举报