On Thu, Jun 30, 2022 at 6:13 PM Maxime Coquelin
<maxime.coque...@redhat.com> wrote:
> On 6/27/22 11:27, David Marchand wrote:
> > We recently improved the log messages in the vhost library, adding some
> > context that helps filtering for a given vhost-user device.
> > However, some parts of the code were missed, and some later code changes
> > broke this new convention (fixes were sent previous to this patch).
> >
> > Change the VHOST_LOG_CONFIG/DATA helpers and always ask for a string
> > used as context. This should help limit regressions on this topic.
> >
> > Most of the time, the context is the vhost-user device socket path.
> > For the rest when a vhost-user device can not be related, generic
> > names were chosen:
> > - "dma", for vhost-user async DMA operations,
> > - "device", for vhost-user device creation and lookup,
> > - "thread", for threads management,
> >
> > Signed-off-by: David Marchand <david.march...@redhat.com>
> > ---
> >   lib/vhost/iotlb.c      |  30 +-
> >   lib/vhost/socket.c     | 129 ++++-----
> >   lib/vhost/vdpa.c       |   4 +-
> >   lib/vhost/vhost.c      | 144 ++++-----
> >   lib/vhost/vhost.h      |  20 +-
> >   lib/vhost/vhost_user.c | 642 +++++++++++++++++++++--------------------
> >   lib/vhost/virtio_net.c | 258 +++++++++--------
> >   7 files changed, 634 insertions(+), 593 deletions(-)
> >
>
> > diff --git a/lib/vhost/vhost.h b/lib/vhost/vhost.h
> > index 810bc71c9d..310aaf88ff 100644
> > --- a/lib/vhost/vhost.h
> > +++ b/lib/vhost/vhost.h
> > @@ -625,14 +625,14 @@ vhost_log_write_iova(struct virtio_net *dev, struct 
> > vhost_virtqueue *vq,
> >   extern int vhost_config_log_level;
> >   extern int vhost_data_log_level;
> >
> > -#define VHOST_LOG_CONFIG(level, fmt, args...)                        \
> > +#define VHOST_LOG_CONFIG(prefix, level, fmt, args...)                \
> >       rte_log(RTE_LOG_ ## level, vhost_config_log_level,      \
> > -             "VHOST_CONFIG: " fmt, ##args)
> > +             "VHOST_CONFIG: (%s): " fmt, prefix, ##args)
> >
> > -#define VHOST_LOG_DATA(level, fmt, args...) \
> > +#define VHOST_LOG_DATA(prefix, level, fmt, args...)          \
> >       (void)((RTE_LOG_ ## level <= RTE_LOG_DP_LEVEL) ?        \
> >        rte_log(RTE_LOG_ ## level,  vhost_data_log_level,      \
> > -             "VHOST_DATA : " fmt, ##args) :                  \
> > +             "VHOST_DATA: (%s):" fmt, prefix, ##args) :      \
> >        0)
>
> As discussed off-list, adding the function will break OVS tests once
> again. I propose to pick the first 3 patches for now.

The issue with OVS tests is that they match the log message content,
and this current patch changes the format.

For example, before we have:
VHOST_CONFIG: (vhost0.sock) vhost-user server: socket created, fd: 57
VHOST_CONFIG: (vhost0.sock) binding succeeded
After:
VHOST_CONFIG: (vhost0.sock): vhost-user server: socket created, fd: 56
VHOST_CONFIG: (vhost0.sock): binding succeeded

I can respin, removing the extra ':' in VHOST_* macros.
WDYT?


-- 
David Marchand

Reply via email to