lkml.org 
[lkml]   [2015]   [Feb]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
Subject[BUG] Time accounting in KVM host
From
Time accounting for KVM guests running mixed IO and CPU workloads seems wrong.

KVM host: CentOS 6, x86_64, Linux 3.14.33
KVM guest: CentOS 6, x86_64, Linux 3.14.33, one vCPU.

Both guest and host enabled CONFIG_IRQ_TIME_ACCOUNTING and
CONFIG_PARAVIRT_TIME_ACCOUNTING

The KVM guest was running iperf network workload and a CPU-bound loop workload.
On the host, the KVM guest and four while(1) loops were consolidated
to one physical CPU. Top command in the host showed 20% CPU
utilization for the KVM guest and each loop process. However, the time
accounting was apparently wrong as the iperf performance in the KVM
guest was just slightly lower than its peak throughput when it ran on
a dedicated physical CPU. I expected the throughput to be
"proportional" or at least much lower than its peak as only 20% CPU
was allocated to the KVM guest. The performance of co-running loops
did see significant drops.

The KVM guest and loops were put in the same cgroup with same shares.
The problem seems to be that the IO process inside the KVM guest
silently eats up CPU cycles that are accounted to CPU-bound processes
outside of the KVM guest. This seems to be a serious fairness or
security concern between consolidated workloads.

Thanks,
Yun


\
 
 \ /
  Last update: 2015-02-15 20:01    [W:0.018 / U:8.428 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site