예제 #1
0
파일: kern_clock.c 프로젝트: ryo/netbsd-src
void
schedclock(struct lwp *l)
{
	if ((l->l_flag & LW_IDLE) != 0)
		return;

	sched_schedclock(l);
}
예제 #2
0
void
schedclock(struct lwp *l)
{
	struct cpu_info *ci;

	ci = l->l_cpu;

	/* Accumulate syscall and context switch counts. */
	atomic_add_int((unsigned *)&uvmexp.swtch, ci->ci_data.cpu_nswtch);
	ci->ci_data.cpu_nswtch = 0;
	atomic_add_int((unsigned *)&uvmexp.syscalls, ci->ci_data.cpu_nsyscall);
	ci->ci_data.cpu_nsyscall = 0;
	atomic_add_int((unsigned *)&uvmexp.traps, ci->ci_data.cpu_ntrap);
	ci->ci_data.cpu_ntrap = 0;

	if ((l->l_flag & LW_IDLE) != 0)
		return;

	sched_schedclock(l);
}