|
@@ -37,9 +37,8 @@ static DEFINE_PER_CPU(struct vcpu_runstate_info, xen_runstate);
|
|
|
/* snapshots of runstate info */
|
|
|
static DEFINE_PER_CPU(struct vcpu_runstate_info, xen_runstate_snapshot);
|
|
|
|
|
|
-/* unused ns of stolen and blocked time */
|
|
|
+/* unused ns of stolen time */
|
|
|
static DEFINE_PER_CPU(u64, xen_residual_stolen);
|
|
|
-static DEFINE_PER_CPU(u64, xen_residual_blocked);
|
|
|
|
|
|
/* return an consistent snapshot of 64-bit time/counter value */
|
|
|
static u64 get64(const u64 *p)
|
|
@@ -116,7 +115,7 @@ static void do_stolen_accounting(void)
|
|
|
{
|
|
|
struct vcpu_runstate_info state;
|
|
|
struct vcpu_runstate_info *snap;
|
|
|
- s64 blocked, runnable, offline, stolen;
|
|
|
+ s64 runnable, offline, stolen;
|
|
|
cputime_t ticks;
|
|
|
|
|
|
get_runstate_snapshot(&state);
|
|
@@ -126,7 +125,6 @@ static void do_stolen_accounting(void)
|
|
|
snap = &__get_cpu_var(xen_runstate_snapshot);
|
|
|
|
|
|
/* work out how much time the VCPU has not been runn*ing* */
|
|
|
- blocked = state.time[RUNSTATE_blocked] - snap->time[RUNSTATE_blocked];
|
|
|
runnable = state.time[RUNSTATE_runnable] - snap->time[RUNSTATE_runnable];
|
|
|
offline = state.time[RUNSTATE_offline] - snap->time[RUNSTATE_offline];
|
|
|
|
|
@@ -142,17 +140,6 @@ static void do_stolen_accounting(void)
|
|
|
ticks = iter_div_u64_rem(stolen, NS_PER_TICK, &stolen);
|
|
|
__this_cpu_write(xen_residual_stolen, stolen);
|
|
|
account_steal_ticks(ticks);
|
|
|
-
|
|
|
- /* Add the appropriate number of ticks of blocked time,
|
|
|
- including any left-overs from last time. */
|
|
|
- blocked += __this_cpu_read(xen_residual_blocked);
|
|
|
-
|
|
|
- if (blocked < 0)
|
|
|
- blocked = 0;
|
|
|
-
|
|
|
- ticks = iter_div_u64_rem(blocked, NS_PER_TICK, &blocked);
|
|
|
- __this_cpu_write(xen_residual_blocked, blocked);
|
|
|
- account_idle_ticks(ticks);
|
|
|
}
|
|
|
|
|
|
/* Get the TSC speed from Xen */
|