Module Name: src Committed By: bouyer Date: Sat Oct 22 21:16:59 UTC 2011
Modified Files: src/sys/arch/xen/xen [cherry-xenmp]: clock.c Log Message: Really use HYPERVISOR_block() To generate a diff of this commit: cvs rdiff -u -r1.54.6.5 -r1.54.6.6 src/sys/arch/xen/xen/clock.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/xen/xen/clock.c diff -u src/sys/arch/xen/xen/clock.c:1.54.6.5 src/sys/arch/xen/xen/clock.c:1.54.6.6 --- src/sys/arch/xen/xen/clock.c:1.54.6.5 Sat Oct 22 19:26:16 2011 +++ src/sys/arch/xen/xen/clock.c Sat Oct 22 21:16:59 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: clock.c,v 1.54.6.5 2011/10/22 19:26:16 bouyer Exp $ */ +/* $NetBSD: clock.c,v 1.54.6.6 2011/10/22 21:16:59 bouyer Exp $ */ /* * @@ -29,7 +29,7 @@ #include "opt_xen.h" #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: clock.c,v 1.54.6.5 2011/10/22 19:26:16 bouyer Exp $"); +__KERNEL_RCSID(0, "$NetBSD: clock.c,v 1.54.6.6 2011/10/22 21:16:59 bouyer Exp $"); #include <sys/param.h> #include <sys/cpu.h> @@ -552,18 +552,6 @@ setstatclockrate(int arg) void idle_block(void) { -#ifdef MULTIPROCESSOR - HYPERVISOR_yield(); - __sti(); -#else - struct cpu_info *ci = curcpu(); - int r; - - r = HYPERVISOR_set_timer_op( - vcpu_system_time[ci->ci_cpuid] + NS_PER_TICK); - if (r == 0) - HYPERVISOR_block(); - else - __sti(); -#endif + KASSERT(curcpu()->ci_ipending == 0); + HYPERVISOR_block(); }