Hi Jano,

Recognized there was already a commit for a  fixing: 
7bff646d71aa90ed8727ef99be29d6d2ab5d8f06.
And now I got your idea.

Thanks
Huaqiang

> -----Original Message-----
> From: Wang, Huaqiang
> Sent: Tuesday, October 9, 2018 5:55 PM
> To: 'Ján Tomko' <jto...@redhat.com>; John Ferlan <jfer...@redhat.com>
> Cc: libvir-list@redhat.com; Feng, Shaohe <shaohe.f...@intel.com>; Niu, Bing
> <bing....@intel.com>; Ding, Jian-feng <jian-feng.d...@intel.com>; Zang, Rui
> <rui.z...@intel.com>
> Subject: RE: [libvirt] [PATCHv2 1/4] util: Introduce monitor capability 
> interface
> 
> 
> 
> > -----Original Message-----
> > From: Ján Tomko [mailto:jto...@redhat.com]
> > Sent: Friday, October 5, 2018 10:42 PM
> > To: John Ferlan <jfer...@redhat.com>
> > Cc: Wang, Huaqiang <huaqiang.w...@intel.com>; libvir-list@redhat.com;
> > Feng, Shaohe <shaohe.f...@intel.com>; Niu, Bing <bing....@intel.com>;
> > Ding, Jian- feng <jian-feng.d...@intel.com>; Zang, Rui
> > <rui.z...@intel.com>
> > Subject: Re: [libvirt] [PATCHv2 1/4] util: Introduce monitor
> > capability interface
> >
> > On Tue, Sep 18, 2018 at 03:38:44PM -0400, John Ferlan wrote:
> > >On 09/14/2018 09:30 PM, Wang Huaqiang wrote:
> > >> This patch introduces the resource monitor and creates the
> > >> interface for getting host capability of resource monitor from the
> > >> system resource control file system.
> > >>
> > >> The resource monitor take the role of RDT monitoring group, could
> > >> be
> > >
> > >*takes...
> > >
> > >s/, could/ and could/
> > >
> > >> used to monitor the resource consumption information, such as the
> > >> last level cache occupancy and the utilization of memory bandwidth.
> > >>
> > >> Signed-off-by: Wang Huaqiang <huaqiang.w...@intel.com>
> > >> ---
> > >>  src/util/virresctrl.c | 124
> > >> ++++++++++++++++++++++++++++++++++++++++++++++++++
> > >>  1 file changed, 124 insertions(+)
> > >>
> >
> > [...]
> >
> > >> +
> > >> +    rv = virFileReadValueUint(&info_monitor->max_monitor,
> > >> +                              SYSFS_RESCTRL_PATH 
> > >> "/info/L3_MON/num_rmids");
> > >> +    if (rv == -2) {
> > >> +        /* The file doesn't exist, so it's unusable for us, probably 
> > >> resource
> > >> +         * monitor unsupported */
> > >> +        VIR_INFO("The path '" SYSFS_RESCTRL_PATH
> > "/info/L3_MON/num_rmids' "
> > >> +                 "does not exist");
> > >
> > >Add virResetLastError()
> > >
> > >[avoids having this error in Last and something else failing and
> > >spewing the error]
> > >
> >
> > The return value of -2 means no error was set, so there is nothing to do 
> > here.
> 
> A return value of -2 means no error, rather than executing remaining part of
> function, it requires to return to the caller without reporting any error.
> 
> Here, a return value of -2 means "/info/L3_MON/num_rmids" is not exists, this
> could happen if CMT is not supported by host. This is a valid scenario and 
> does
> not mean an error, and this function should not report any error to its 
> caller, and
> the caller, which is virResctrlGetInfo, will continue to run its remaining
> statements normally.
> 
> >
> > Also, virResetLastError is meant to be used before starting an API.
> > It only resets the thread-local error object (which can only contain
> > one error), it cannot possibly unlog an error that was logged earlier.
> > In that case, creating a Quiet version of the function is the proper 
> > solution.
> 
> Do you mean the message reported by 'VIR_INFO' should be removed and also
> not adding the 'virResetLastError' line?
> 
> It might be more consistent if we keep the 'VIR_INFO' lines, because the 
> similar
> message has been emitted in checking the memory bandwidth information and
> cache allocation information. But if you insist that this message should not 
> be
> shown to user or developer, I could accept that and make change to it.
> 
> @@ -704,12 +704,7 @@ virResctrlGetMonitorInfo(virResctrlInfoPtr resctrl)
>      rv = virFileReadValueUint(&info_monitor->max_monitor,
>                                SYSFS_RESCTRL_PATH "/info/L3_MON/num_rmids");
>      if (rv == -2) {
>         /* The file doesn't exist, so it's unusable for us, probably resource
>          * monitor unsupported */
>         VIR_INFO("The file '" SYSFS_RESCTRL_PATH "/info/L3_MON/num_rmids' "
>                  "does not exist");
>          ret = 0;
> -        virResetLastError();
>          goto cleanup;
>      } else if (rv < 0) {
>          /* Other failures are fatal, so just quit */
> 
> >
> > Jano
> >
> > >> +        ret = 0;
> > >> +        goto cleanup;

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

Reply via email to