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 > >