Re: [libvirt] [PATCHv10 0/4] Introduce x86 Cache Monitoring Technology (CMT)

2018-11-27 Thread John Ferlan


On 11/27/18 8:28 AM, Wang, Huaqiang wrote:
> Hi John,
> 
> The issue mentioned is generated by a -1 returned by 
> qemuDomainGetIOThreadsMon. 
> 
> Further, it is caused by a -1 returned by virQEMUCapsGet:
>  6174 if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_OBJECT_IOTHREAD)) 
> {
>  6175 virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
>  6176_("IOThreads not supported with this 
> binary"));
>  6177 goto endjob;
>  6178 }
> 
> By checking qemuCaps->flags, it seems the bit of 
> QEMU_CAPS_OBJECT_IOTHREAD(176) is not set. 
> (gdb) call virBitmapFormat(qemuCaps->flags)
> $4 = 0x7f08a4004cb0 
> "13,33,46,50,54-55,58,61-64,66-70,72-73,77-78,80,87-88,92-93,95-97,99,102-110,112,114,119-121,128-131,141-142,146,148-149,151-156,158-161,165,167,174-175,180,182,188,193-198,210,214,221-222,225,250,255"...
> 

Hmm... Thanks for the details...

This is an "interesting" failure.  There's a couple of bugs I suppose.
One simple to fix - the qemuConnectGetAllDomainStats should have saved
the error, but the call to virDomainStatsRecordListFree wipes out the
error when calling virDomainFree (via virResetLastError) when there's
more than one domain's worth of stats being collect and "some" domains
had already succeeded. So saving that error across the failure is
possible via a couple of means.

The other part of this would be a change to qemuDomainGetStatsIOThread
to not fail when the cap isn't available, but yet still allow a failure
if the cap was there, but the mon call failed.

As an aside, your QEMU must be fairly "old" to fail on the lack of the
capability QEMU_CAPS_OBJECT_IOTHREAD... Perhaps older than 2.0 - which
doesn't quite make sense given everything else.

I'll post a couple of patches shortly...

Tks,

John


> Breakpoint 1 at 0x7f088ef00880: file qemu/qemu_driver.c, line 5492.
> (gdb) c
> Continuing.
> [Switching to Thread 0x7f08bcdcb700 (LWP 24711)]
> 
> Breakpoint 1, qemuDomainGetIOThreadsMon (driver=0x7f0874049b80, 
> vm=0x7f08740cd840, iothreads=0x7f08bcdca8b8) at qemu/qemu_driver.c:5492
> 5492{
> Unprocessed breakpoint [1]
> (gdb) finish
> Run till exit from #0  qemuDomainGetIOThreadsMon (driver=0x7f0874049b80, 
> vm=0x7f08740cd840, iothreads=0x7f08bcdca8b8) at qemu/qemu_driver.c:5492
> 0x7f088ef0098f in qemuDomainGetStatsIOThread (driver=, 
> dom=, record=0x7f08ac000b60, maxparams=0x7f08bcdca9e4, 
> privflags=) at qemu/qemu_driver.c:20885
> 20885   if ((niothreads = qemuDomainGetIOThreadsMon(driver, dom, 
> )) < 0)
> Value returned is $1 = -1
> (gdb) bt
> #0  0x7f088ef0098f in qemuDomainGetStatsIOThread (driver=, 
> dom=, record=0x7f08ac000b60, maxparams=0x7f08bcdca9e4, 
> privflags=) at qemu/qemu_driver.c:20885
> #1  0x7f088eee70a9 in qemuDomainGetStats (flags=1, record= pointer>, stats=255, dom=0x7f08740cd840, conn=0x7f08ac000c50) at 
> qemu/qemu_driver.c:21062
> #2  qemuConnectGetAllDomainStats (conn=0x7f08ac000c50, doms=, 
> ndoms=, stats=255, retStats=0x7f08bcdcab10, flags= out>) at qemu/qemu_driver.c:21162
> #3  0x7f08cd147646 in virConnectGetAllDomainStats (conn=0x7f08ac000c50, 
> stats=0, retStats=retStats@entry=0x7f08bcdcab10, flags=0) at 
> libvirt-domain.c:11685
> #4  0x562e2404d2c0 in remoteDispatchConnectGetAllDomainStats 
> (server=0x562e24ee74a0, msg=, ret=0x7f08ac001ec0, 
> args=0x7f08ac001f30, rerr=0x7f08bcdcac50, client=0x562e24ef5200) at 
> remote/remote_daemon_dispatch.c:6665
> #5  remoteDispatchConnectGetAllDomainStatsHelper (server=0x562e24ee74a0, 
> client=0x562e24ef5200, msg=, rerr=0x7f08bcdcac50, 
> args=0x7f08ac001f30, ret=0x7f08ac001ec0) at 
> remote/remote_daemon_dispatch_stubs.h:743
> #6  0x7f08cd05dad5 in virNetServerProgramDispatchCall 
> (msg=0x562e24ef5910, client=0x562e24ef5200, server=0x562e24ee74a0, 
> prog=0x562e24ee6650) at rpc/virnetserverprogram.c:437
> #7  virNetServerProgramDispatch (prog=0x562e24ee6650, 
> server=server@entry=0x562e24ee74a0, client=0x562e24ef5200, 
> msg=0x562e24ef5910) at rpc/virnetserverprogram.c:304
> #8  0x7f08cd063f7d in virNetServerProcessMsg (msg=, 
> prog=, client=, srv=0x562e24ee74a0) at 
> rpc/virnetserver.c:144
> #9  virNetServerHandleJob (jobOpaque=, opaque=0x562e24ee74a0) 
> at rpc/virnetserver.c:165
> #10 0x7f08ccf95171 in virThreadPoolWorker 
> (opaque=opaque@entry=0x562e24ee69a0) at util/virthreadpool.c:167
> #11 0x7f08ccf944f8 in virThreadHelper (data=) at 
> util/virthread.c:206
> #12 0x7f08cb213dc5 in start_thread (arg=0x7f08bcdcb700) at 
> pthread_create.c:308
> #13 0x7f08cab3b76d in clone () at 
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
> (gdb)
> 
> My domain configuration is:
> [root@dl-c200 libvirt]# virsh list
> v^H Id   Name   State
> --
>  1ubuntu16.04-base   running
> 
> [root@dl-c200 libvirt]# virsh dumpxml 1
> 
>   ubuntu16.04-base
>   19d01bd1-ad54-4176-84bd-e510de08fe00
>   10485760
>   10485760
>   8
>   
> 
>   
> 
>   
>   
>  

Re: [libvirt] [PATCHv10 0/4] Introduce x86 Cache Monitoring Technology (CMT)

2018-11-27 Thread Wang, Huaqiang
Hi John,

The issue mentioned is generated by a -1 returned by qemuDomainGetIOThreadsMon. 

Further, it is caused by a -1 returned by virQEMUCapsGet:
 6174 if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_OBJECT_IOTHREAD)) {
 6175 virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
 6176_("IOThreads not supported with this binary"));
 6177 goto endjob;
 6178 }

By checking qemuCaps->flags, it seems the bit of QEMU_CAPS_OBJECT_IOTHREAD(176) 
is not set. 
(gdb) call virBitmapFormat(qemuCaps->flags)
$4 = 0x7f08a4004cb0 
"13,33,46,50,54-55,58,61-64,66-70,72-73,77-78,80,87-88,92-93,95-97,99,102-110,112,114,119-121,128-131,141-142,146,148-149,151-156,158-161,165,167,174-175,180,182,188,193-198,210,214,221-222,225,250,255"...

Breakpoint 1 at 0x7f088ef00880: file qemu/qemu_driver.c, line 5492.
(gdb) c
Continuing.
[Switching to Thread 0x7f08bcdcb700 (LWP 24711)]

Breakpoint 1, qemuDomainGetIOThreadsMon (driver=0x7f0874049b80, 
vm=0x7f08740cd840, iothreads=0x7f08bcdca8b8) at qemu/qemu_driver.c:5492
5492{
Unprocessed breakpoint [1]
(gdb) finish
Run till exit from #0  qemuDomainGetIOThreadsMon (driver=0x7f0874049b80, 
vm=0x7f08740cd840, iothreads=0x7f08bcdca8b8) at qemu/qemu_driver.c:5492
0x7f088ef0098f in qemuDomainGetStatsIOThread (driver=, 
dom=, record=0x7f08ac000b60, maxparams=0x7f08bcdca9e4, 
privflags=) at qemu/qemu_driver.c:20885
20885   if ((niothreads = qemuDomainGetIOThreadsMon(driver, dom, 
)) < 0)
Value returned is $1 = -1
(gdb) bt
#0  0x7f088ef0098f in qemuDomainGetStatsIOThread (driver=, 
dom=, record=0x7f08ac000b60, maxparams=0x7f08bcdca9e4, 
privflags=) at qemu/qemu_driver.c:20885
#1  0x7f088eee70a9 in qemuDomainGetStats (flags=1, record=, stats=255, dom=0x7f08740cd840, conn=0x7f08ac000c50) at 
qemu/qemu_driver.c:21062
#2  qemuConnectGetAllDomainStats (conn=0x7f08ac000c50, doms=, 
ndoms=, stats=255, retStats=0x7f08bcdcab10, flags=) at qemu/qemu_driver.c:21162
#3  0x7f08cd147646 in virConnectGetAllDomainStats (conn=0x7f08ac000c50, 
stats=0, retStats=retStats@entry=0x7f08bcdcab10, flags=0) at 
libvirt-domain.c:11685
#4  0x562e2404d2c0 in remoteDispatchConnectGetAllDomainStats 
(server=0x562e24ee74a0, msg=, ret=0x7f08ac001ec0, 
args=0x7f08ac001f30, rerr=0x7f08bcdcac50, client=0x562e24ef5200) at 
remote/remote_daemon_dispatch.c:6665
#5  remoteDispatchConnectGetAllDomainStatsHelper (server=0x562e24ee74a0, 
client=0x562e24ef5200, msg=, rerr=0x7f08bcdcac50, 
args=0x7f08ac001f30, ret=0x7f08ac001ec0) at 
remote/remote_daemon_dispatch_stubs.h:743
#6  0x7f08cd05dad5 in virNetServerProgramDispatchCall (msg=0x562e24ef5910, 
client=0x562e24ef5200, server=0x562e24ee74a0, prog=0x562e24ee6650) at 
rpc/virnetserverprogram.c:437
#7  virNetServerProgramDispatch (prog=0x562e24ee6650, 
server=server@entry=0x562e24ee74a0, client=0x562e24ef5200, msg=0x562e24ef5910) 
at rpc/virnetserverprogram.c:304
#8  0x7f08cd063f7d in virNetServerProcessMsg (msg=, 
prog=, client=, srv=0x562e24ee74a0) at 
rpc/virnetserver.c:144
#9  virNetServerHandleJob (jobOpaque=, opaque=0x562e24ee74a0) at 
rpc/virnetserver.c:165
#10 0x7f08ccf95171 in virThreadPoolWorker 
(opaque=opaque@entry=0x562e24ee69a0) at util/virthreadpool.c:167
#11 0x7f08ccf944f8 in virThreadHelper (data=) at 
util/virthread.c:206
#12 0x7f08cb213dc5 in start_thread (arg=0x7f08bcdcb700) at 
pthread_create.c:308
#13 0x7f08cab3b76d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:113
(gdb)

My domain configuration is:
[root@dl-c200 libvirt]# virsh list
v^H Id   Name   State
--
 1ubuntu16.04-base   running

[root@dl-c200 libvirt]# virsh dumpxml 1

  ubuntu16.04-base
  19d01bd1-ad54-4176-84bd-e510de08fe00
  10485760
  10485760
  8
  

  

  
  
/machine
  
  
hvm

  
  


  
  
Broadwell


  
  



  
  destroy
  restart
  destroy
  


  
  
/usr/libexec/qemu-kvm

  
  
  
  
  
  


  
  
  
  
  


  
  


  
  
  


  
  
  


  
  
  


  


  
  


  
  
  
  
  
  


  
  

  
  


  
  
  


  


  


  


  
  
  


  
  

  
  
system_u:system_r:svirt_t:s0:c157,c912
system_u:object_r:svirt_image_t:s0:c157,c912
  
  
+0:+0
+0:+0
  


I wonder if these message is enough for you to locate the root cause, I don’t 
have too much time in investigating this today, I'll try to create a fix 
tomorrow if you need.

Huaqiang

> -Original Message-
> From: Wang, Huaqiang
> Sent: Tuesday, November 27, 2018 11:21 AM
> To: 'John Ferlan' ; libvir-list@redhat.com
> Subject: RE: [PATCHv10 0/4] Introduce x86 Cache 

Re: [libvirt] [PATCHv10 0/4] Introduce x86 Cache Monitoring Technology (CMT)

2018-11-26 Thread Wang, Huaqiang



> -Original Message-
> From: John Ferlan [mailto:jfer...@redhat.com]
> Sent: Tuesday, November 27, 2018 10:59 AM
> To: Wang, Huaqiang ; libvir-list@redhat.com
> Subject: Re: [PATCHv10 0/4] Introduce x86 Cache Monitoring Technology
> (CMT)
> 
> 
> 
> On 11/26/18 9:39 PM, Wang, Huaqiang wrote:
> > Hi John,
> >
> > Really appreciate your hard work for the CMT series. Next I'll working on
> the MBM.
> >
> > In testing the newly pushed code, I find a problem:
> >
> > 
> > [david@dl-c200 ~]$ sudo virsh domstats
> > error: An error occurred, but the cause is unknown 
> >
> 
> I couldn't reproduced in a quick test here. Can you get a thread trace of the
> failure?
> 
> What I usually do, build libvirt, then in a terminal session at the top of the
> git tree "./run gdb src/libvirtd"  (dbg> r)... THen in another terminal 
> session
> run the virsh command and when the libvirtd session stops do a "t a a bt"
> (thread apply all backtrace)...
> 
> John

I'll trace the error. 

Thanks.
Huaqiang

> 
> (done for the night)
> 
> > seems it is caused by qemuDomainGetStatsIOThread not by the new
> series.
> > What I test is return 0 immediately at top of
> > qemuDomainGetStatsIOThread, the command 'virsh domstats' reports
> the cache statistics normally.
> >
> > BR
> > Huaqiang
> >
> >> -Original Message-
> >> From: John Ferlan [mailto:jfer...@redhat.com]
> >> Sent: Tuesday, November 27, 2018 9:49 AM
> >> To: Wang, Huaqiang ; libvir-
> l...@redhat.com
> >> Subject: Re: [PATCHv10 0/4] Introduce x86 Cache Monitoring
> Technology
> >> (CMT)
> >>
> >>
> >>
> >> On 11/26/18 12:56 PM, Wang Huaqiang wrote:
> >>> These patches are the remaining part for the CMT enabling series,
> >>> and most of the series have been merged.
> >>>
> >>> This series is addressing John's review comments and suggestions,
> >>> which are
> >>> https://www.redhat.com/archives/libvir-list/2018-
> >> November/msg00907.htm
> >>> l
> >>> https://www.redhat.com/archives/libvir-list/2018-
> >> November/msg00510.htm
> >>> l
> >>> https://www.redhat.com/archives/libvir-list/2018-
> >> November/msg00561.htm
> >>> l
> >>>
> >>> Change lists:
> >>> Changes in v10:
> >>> -. Add tag (virResctrlMonitorType) in qemuDomainGetResctrlMonData,
> >> thus
> >>>qemuDomainGetResctrlMonData could be reused for MBM.
> >>> -. Using VIR_APPEND_ELEMENT to append virQEMUResctrlMonDataPtr
> >> list.
> >>> -. Add qemuDomainFreeResctrlMonData.
> >>> -. Add virResctrlMonitorFreeStats.
> >>> -. Return a list of virResctrlMonitorStatsPtr instead of
> >>>a virResctrlMonitorStats array in virResctrlMonitorGetStats.
> >>>
> >>> Changes in V9:
> >>> -. Addressing code review comments form John.
> >>> -. Refined the names for new data structure and new functions.
> >>> -. Merged qemuDomainGetStatsCpuResMonitorPerTag and
> >> qemuDomainGetStatsCpuResMonitor,
> >>>and refined new function name based on the fact that we only
> >>> support
> >> cache monitor now.
> >>> Wang Huaqiang (4):
> >>>   util: Return a list of pointer in virResctrlMonitorGetStats
> >>>   util: Add function to free monitor statistical data
> >>>   qemu: Report cache occupancy (CMT) with domstats
> >>>   docs: Updated news.xml for CMT
> >>>
> >>>  docs/news.xml|  12 
> >>>  src/libvirt-domain.c |  12 
> >>>  src/libvirt_private.syms |   1 +
> >>>  src/qemu/qemu_driver.c   | 183
> >> ++-
> >>>  src/util/virresctrl.c|  26 +--
> >>>  src/util/virresctrl.h|   8 ++-
> >>>  tools/virsh.pod  |  14 
> >>>  7 files changed, 248 insertions(+), 8 deletions(-)
> >>>
> >>
> >> Reviewed-by: John Ferlan 
> >> (series)
> >>
> >> and pushed,
> >>
> >> John

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


Re: [libvirt] [PATCHv10 0/4] Introduce x86 Cache Monitoring Technology (CMT)

2018-11-26 Thread John Ferlan



On 11/26/18 9:39 PM, Wang, Huaqiang wrote:
> Hi John,
> 
> Really appreciate your hard work for the CMT series. Next I'll working on the 
> MBM.
> 
> In testing the newly pushed code, I find a problem:
> 
> 
> [david@dl-c200 ~]$ sudo virsh domstats
> error: An error occurred, but the cause is unknown
> 
> 

I couldn't reproduced in a quick test here. Can you get a thread trace
of the failure?

What I usually do, build libvirt, then in a terminal session at the top
of the git tree "./run gdb src/libvirtd"  (dbg> r)... THen in another
terminal session run the virsh command and when the libvirtd session
stops do a "t a a bt" (thread apply all backtrace)...

John

(done for the night)

> seems it is caused by qemuDomainGetStatsIOThread not by the new series.
> What I test is return 0 immediately at top of qemuDomainGetStatsIOThread, the
> command 'virsh domstats' reports the cache statistics normally.
> 
> BR
> Huaqiang
> 
>> -Original Message-
>> From: John Ferlan [mailto:jfer...@redhat.com]
>> Sent: Tuesday, November 27, 2018 9:49 AM
>> To: Wang, Huaqiang ; libvir-list@redhat.com
>> Subject: Re: [PATCHv10 0/4] Introduce x86 Cache Monitoring Technology
>> (CMT)
>>
>>
>>
>> On 11/26/18 12:56 PM, Wang Huaqiang wrote:
>>> These patches are the remaining part for the CMT enabling series, and
>>> most of the series have been merged.
>>>
>>> This series is addressing John's review comments and suggestions,
>>> which are
>>> https://www.redhat.com/archives/libvir-list/2018-
>> November/msg00907.htm
>>> l
>>> https://www.redhat.com/archives/libvir-list/2018-
>> November/msg00510.htm
>>> l
>>> https://www.redhat.com/archives/libvir-list/2018-
>> November/msg00561.htm
>>> l
>>>
>>> Change lists:
>>> Changes in v10:
>>> -. Add tag (virResctrlMonitorType) in qemuDomainGetResctrlMonData,
>> thus
>>>qemuDomainGetResctrlMonData could be reused for MBM.
>>> -. Using VIR_APPEND_ELEMENT to append virQEMUResctrlMonDataPtr
>> list.
>>> -. Add qemuDomainFreeResctrlMonData.
>>> -. Add virResctrlMonitorFreeStats.
>>> -. Return a list of virResctrlMonitorStatsPtr instead of
>>>a virResctrlMonitorStats array in virResctrlMonitorGetStats.
>>>
>>> Changes in V9:
>>> -. Addressing code review comments form John.
>>> -. Refined the names for new data structure and new functions.
>>> -. Merged qemuDomainGetStatsCpuResMonitorPerTag and
>> qemuDomainGetStatsCpuResMonitor,
>>>and refined new function name based on the fact that we only support
>> cache monitor now.
>>> Wang Huaqiang (4):
>>>   util: Return a list of pointer in virResctrlMonitorGetStats
>>>   util: Add function to free monitor statistical data
>>>   qemu: Report cache occupancy (CMT) with domstats
>>>   docs: Updated news.xml for CMT
>>>
>>>  docs/news.xml|  12 
>>>  src/libvirt-domain.c |  12 
>>>  src/libvirt_private.syms |   1 +
>>>  src/qemu/qemu_driver.c   | 183
>> ++-
>>>  src/util/virresctrl.c|  26 +--
>>>  src/util/virresctrl.h|   8 ++-
>>>  tools/virsh.pod  |  14 
>>>  7 files changed, 248 insertions(+), 8 deletions(-)
>>>
>>
>> Reviewed-by: John Ferlan 
>> (series)
>>
>> and pushed,
>>
>> John

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


Re: [libvirt] [PATCHv10 0/4] Introduce x86 Cache Monitoring Technology (CMT)

2018-11-26 Thread Wang, Huaqiang
Hi John,

Really appreciate your hard work for the CMT series. Next I'll working on the 
MBM.

In testing the newly pushed code, I find a problem:


[david@dl-c200 ~]$ sudo virsh domstats
error: An error occurred, but the cause is unknown


seems it is caused by qemuDomainGetStatsIOThread not by the new series.
What I test is return 0 immediately at top of qemuDomainGetStatsIOThread, the
command 'virsh domstats' reports the cache statistics normally.

BR
Huaqiang

> -Original Message-
> From: John Ferlan [mailto:jfer...@redhat.com]
> Sent: Tuesday, November 27, 2018 9:49 AM
> To: Wang, Huaqiang ; libvir-list@redhat.com
> Subject: Re: [PATCHv10 0/4] Introduce x86 Cache Monitoring Technology
> (CMT)
> 
> 
> 
> On 11/26/18 12:56 PM, Wang Huaqiang wrote:
> > These patches are the remaining part for the CMT enabling series, and
> > most of the series have been merged.
> >
> > This series is addressing John's review comments and suggestions,
> > which are
> > https://www.redhat.com/archives/libvir-list/2018-
> November/msg00907.htm
> > l
> > https://www.redhat.com/archives/libvir-list/2018-
> November/msg00510.htm
> > l
> > https://www.redhat.com/archives/libvir-list/2018-
> November/msg00561.htm
> > l
> >
> > Change lists:
> > Changes in v10:
> > -. Add tag (virResctrlMonitorType) in qemuDomainGetResctrlMonData,
> thus
> >qemuDomainGetResctrlMonData could be reused for MBM.
> > -. Using VIR_APPEND_ELEMENT to append virQEMUResctrlMonDataPtr
> list.
> > -. Add qemuDomainFreeResctrlMonData.
> > -. Add virResctrlMonitorFreeStats.
> > -. Return a list of virResctrlMonitorStatsPtr instead of
> >a virResctrlMonitorStats array in virResctrlMonitorGetStats.
> >
> > Changes in V9:
> > -. Addressing code review comments form John.
> > -. Refined the names for new data structure and new functions.
> > -. Merged qemuDomainGetStatsCpuResMonitorPerTag and
> qemuDomainGetStatsCpuResMonitor,
> >and refined new function name based on the fact that we only support
> cache monitor now.
> > Wang Huaqiang (4):
> >   util: Return a list of pointer in virResctrlMonitorGetStats
> >   util: Add function to free monitor statistical data
> >   qemu: Report cache occupancy (CMT) with domstats
> >   docs: Updated news.xml for CMT
> >
> >  docs/news.xml|  12 
> >  src/libvirt-domain.c |  12 
> >  src/libvirt_private.syms |   1 +
> >  src/qemu/qemu_driver.c   | 183
> ++-
> >  src/util/virresctrl.c|  26 +--
> >  src/util/virresctrl.h|   8 ++-
> >  tools/virsh.pod  |  14 
> >  7 files changed, 248 insertions(+), 8 deletions(-)
> >
> 
> Reviewed-by: John Ferlan 
> (series)
> 
> and pushed,
> 
> John

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


Re: [libvirt] [PATCHv10 0/4] Introduce x86 Cache Monitoring Technology (CMT)

2018-11-26 Thread John Ferlan



On 11/26/18 12:56 PM, Wang Huaqiang wrote:
> These patches are the remaining part for the CMT enabling series,
> and most of the series have been merged.
> 
> This series is addressing John's review comments and suggestions,
> which are
> https://www.redhat.com/archives/libvir-list/2018-November/msg00907.html
> https://www.redhat.com/archives/libvir-list/2018-November/msg00510.html
> https://www.redhat.com/archives/libvir-list/2018-November/msg00561.html
> 
> Change lists:
> Changes in v10:
> -. Add tag (virResctrlMonitorType) in qemuDomainGetResctrlMonData, thus
>qemuDomainGetResctrlMonData could be reused for MBM.
> -. Using VIR_APPEND_ELEMENT to append virQEMUResctrlMonDataPtr list.
> -. Add qemuDomainFreeResctrlMonData.
> -. Add virResctrlMonitorFreeStats.
> -. Return a list of virResctrlMonitorStatsPtr instead of
>a virResctrlMonitorStats array in virResctrlMonitorGetStats.
> 
> Changes in V9:
> -. Addressing code review comments form John.
> -. Refined the names for new data structure and new functions.
> -. Merged qemuDomainGetStatsCpuResMonitorPerTag and 
> qemuDomainGetStatsCpuResMonitor,
>and refined new function name based on the fact that we only support cache 
> monitor now.
> Wang Huaqiang (4):
>   util: Return a list of pointer in virResctrlMonitorGetStats
>   util: Add function to free monitor statistical data
>   qemu: Report cache occupancy (CMT) with domstats
>   docs: Updated news.xml for CMT
> 
>  docs/news.xml|  12 
>  src/libvirt-domain.c |  12 
>  src/libvirt_private.syms |   1 +
>  src/qemu/qemu_driver.c   | 183 
> ++-
>  src/util/virresctrl.c|  26 +--
>  src/util/virresctrl.h|   8 ++-
>  tools/virsh.pod  |  14 
>  7 files changed, 248 insertions(+), 8 deletions(-)
> 

Reviewed-by: John Ferlan 
(series)

and pushed,

John

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