[dpdk-dev] [PATCH v7 09/15] vhost: add shadow used ring support for packed rings
Tiwei Bie
tiwei.bie at intel.com
Thu Jul 5 16:36:01 CEST 2018
On Thu, Jul 05, 2018 at 04:28:20PM +0200, Maxime Coquelin wrote:
> On 07/05/2018 04:03 PM, Tiwei Bie wrote:
> > On Thu, Jul 05, 2018 at 02:49:34PM +0200, Maxime Coquelin wrote:
> > > On 07/05/2018 09:15 AM, Tiwei Bie wrote:
> > > > On Wed, Jul 04, 2018 at 11:54:32PM +0200, Maxime Coquelin wrote:
> > > > [...]
> > > > > +
> > > > > +static __rte_always_inline void
> > > > > +flush_shadow_used_ring_packed(struct virtio_net *dev,
> > > > > + struct vhost_virtqueue *vq)
> > > > > +{
> > > > [...]
> > > > > +}
> > > > > +
> > > > > +static __rte_always_inline void
> > > > > +update_shadow_used_ring_packed(struct vhost_virtqueue *vq,
> > > > > + uint16_t desc_idx, uint16_t len, uint16_t count)
> > > > > +{
> > > > > + uint16_t i = vq->shadow_used_idx++;
> > > > > +
> > > > > + vq->shadow_used_packed[i].id = desc_idx;
> > > > > + vq->shadow_used_packed[i].len = len;
> > > > > + vq->shadow_used_packed[i].count = count;
> > > > > }
> > > >
> > > > I met below build errors in this patch when doing
> > > > per-patch build test with clang:
> > > >
> > > > lib/librte_vhost/virtio_net.c:134:1: error: unused function 'flush_shadow_used_ring_packed'
> > > > [-Werror,-Wunused-function]
> > > > flush_shadow_used_ring_packed(struct virtio_net *dev,
> > > > ^
> > > > lib/librte_vhost/virtio_net.c:188:1: error: unused function 'update_shadow_used_ring_packed'
> > > > [-Werror,-Wunused-function]
> > > > update_shadow_used_ring_packed(struct vhost_virtqueue *vq,
> > > > ^
> > > >
> > > > It's better to add __rte_unused in this patch,
> > > > and remove it when functions are used.
> > > >
> > > > PS. I also saw similar errors with fill_vec_buf_packed()
> > > > in patch 11/15.
> > > >
> > >
> > > Thanks for the report, I missed these build issues...
> > > This is not fixed using __rte_unused as you suggested.
> > >
> Oops, I meant "This *now* fixed using __rte_unused" :)
Got it! :)
>
> >
> > Why not? This can be fixed by something like this
> > on my machine:
> >
> > -static __rte_always_inline void
> > +static __rte_always_inline __rte_unused void
> > flush_shadow_used_ring_packed(struct virtio_net *dev,
> > struct vhost_virtqueue *vq)
> > {
> >
> > And __rte_unused can be removed in the patch that
> > above function is called.
> >
> > Best regards,
> > Tiwei Bie
> >
More information about the dev
mailing list