On Jul 6, 2015 14:49, Prerna wrote:

> On Sun, Jul 5, 2015 at 5:13 PM, Qiaowei Ren <qiaowei....@intel.com
> <mailto:qiaowei....@intel.com> > wrote:
> 
> 
>       One RFC in
>       https://www.redhat.com/archives/libvir-list/2015-June/msg01509.html
> 
>       CMT (Cache Monitoring Technology) can be used to measure the
>       usage of cache by VM running on the host. This patch will
>       extend the bulk stats API (virDomainListGetStats) to add this
>       field. Applications based on libvirt can use this API to achieve
>       cache usage of VM. Because CMT implementation in Linux kernel
>       is based on perf mechanism, this patch will enable perf event
>       for CMT when VM is created and disable it when VM is destroyed.
> 
> 
> 
> 
> Hi Ren,
> 
> One query wrt this implementation. I see you make a perf ioctl to gather CMT
> stats each time the stats API is invoked.
> 
> If the CMT stats are exposed by a hardware counter, then this implies logging 
> on
> a per-cpu (or per-socket ???) basis.
> 
> This also implies that the value read will vary as the CPU (or socket) on 
> which it is
> being called changes.
> 
> 
> Now, with this background, if we need real-world stats on a VM, we need this
> perf ioctl executed on all CPUs/ sockets on which the VM ran. Also, once done,
> we will need to aggregate results from each of these sources.
> 
> 
> In this implementation, I am missing this -- there seems no control over
> which physical CPU the libvirt worker thread will run and collect the
> perf data from. Data collected from this implementation might not
> accurately model the system state.
> 
> I _think_ libvirt currently has no way of directing a worker thread to 
> collect stats
> from a given CPU -- if we do, I would be happy to learn about it :)
> 

Prerna, thanks for your reply. I checked the CMT implementation in kernel, and 
noticed that the series implement new ->count() of pmu driver which can  
aggregate the results from each cpu if perf type is PERF_TYPE_INTEL_CQM . The 
following is the link for the patch: 
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=bfe1fcd2688f557a6b6a88f59ea7619228728bd7
 

So I guess that this patch just need to set right perf type and "cpu=-1". Do 
you think this is ok?

Thanks,
Qiaowei


--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to