From: Peter Dinda Date: Tue, 26 Jun 2012 21:33:10 +0000 (-0500) Subject: Timed yielding in vmm_halt to avoid pegging CPU X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=commitdiff_plain;h=4d17b20a86eb8102a287263372458fcb9019c232;hp=a04338047280b77bdaa3882b748a442d9c9c06a8;p=palacios.git Timed yielding in vmm_halt to avoid pegging CPU --- diff --git a/palacios/src/palacios/vmm_halt.c b/palacios/src/palacios/vmm_halt.c index eca50cf..60ca74b 100644 --- a/palacios/src/palacios/vmm_halt.c +++ b/palacios/src/palacios/vmm_halt.c @@ -28,6 +28,8 @@ #endif +#define YIELD_TIME_USEC 1000 + // // This should trigger a #GP if cpl != 0, otherwise, yield to host @@ -44,7 +46,7 @@ int v3_handle_halt(struct guest_info * info) { uint64_t t, cycles; /* Yield, allowing time to pass while yielded */ t = v3_get_host_time(&info->time_state); - v3_yield(info); + v3_yield_timed(info,YIELD_TIME_USEC); cycles = v3_get_host_time(&info->time_state) - t; v3_advance_time(info, &cycles);