> -----Original Message-----
> From: Stephen Hemminger [mailto:[email protected]]
> Sent: Friday, December 20, 2024 12:16 AM
> To: Wangyunjian(wangyunjian,TongTu) <[email protected]>
> Cc: [email protected]; [email protected]; [email protected];
> Lilijun (Jerry) <[email protected]>; xiawei (H) <[email protected]>;
> wangzengyuan <[email protected]>; [email protected]
> Subject: Re: [PATCH 1/1] vhost: fix a double fetch when dequeue offloading
> 
> On Thu, 19 Dec 2024 14:38:28 +0800
> Yunjian Wang <[email protected]> wrote:
> 
> > -                   hdr = (struct virtio_net_hdr 
> > *)((uintptr_t)buf_vec[0].buf_addr);
> > +                   rte_memcpy((void *)(uintptr_t)&tmp_hdr,
> > +                           (void *)(uintptr_t)buf_vec[0].buf_addr,
> > +                           sizeof(struct virtio_net_hdr));
> >             }
> 
> Do not introduce more rte_memcpy of a fixed size.
> You don't need that many casts!
> Why can you not use a structure assignment here.

 The virtio_hdr is a shared component, and other fields within it are read
multiple times. This can potentially result in a double fetch scenario.

Reply via email to