On Thu, Dec 13, 2018 at 11:11:48AM +0800, jiangyiwen wrote: > On 2018/12/13 3:09, David Miller wrote: > > From: jiangyiwen <jiangyiwen@xxxxxxxxxx> > > Date: Wed, 12 Dec 2018 17:29:31 +0800 > > > >> diff --git a/include/uapi/linux/virtio_vsock.h b/include/uapi/linux/virtio_vsock.h > >> index 1d57ed3..2292f30 100644 > >> --- a/include/uapi/linux/virtio_vsock.h > >> +++ b/include/uapi/linux/virtio_vsock.h > >> @@ -63,6 +63,11 @@ struct virtio_vsock_hdr { > >> __le32 fwd_cnt; > >> } __attribute__((packed)); > >> > >> +/* It add mergeable rx buffers feature */ > >> +struct virtio_vsock_mrg_rxbuf_hdr { > >> + __le16 num_buffers; /* number of mergeable rx buffers */ > >> +} __attribute__((packed)); > >> + > > > > I know the rest of this file uses 'packed' but this attribute should > > only be used if absolutely necessary as it incurs a > > non-trivial performance penalty for some architectures. > > > > . > > > > Hi David, > > I hope Host can fill fewer bytes into rx virtqueue, so > I keep structure virtio_vsock_mrg_rxbuf_hdr one byte > alignment. > > Thanks, > Yiwen. It doesn't work like this now though, does it? Buffers are preallocated and they are always aligned. So I do not see the point. -- MST