On 26.08.24 16:26, Carlos Bilbao wrote: > Hello Dragos, > > On 8/26/24 4:06 AM, Dragos Tatulea wrote: >> >> On 23.08.24 18:54, Carlos Bilbao wrote: >>> Hello, >>> >>> I'm debugging my vDPA setup, and when using ioctl to retrieve the >>> configuration, I noticed that it's running in half duplex mode: >>> >>> Configuration data (24 bytes): >>> MAC address: (Mac address) >>> Status: 0x0001 >>> Max virtqueue pairs: 8 >>> MTU: 1500 >>> Speed: 0 Mb >>> Duplex: Half Duplex >>> RSS max key size: 0 >>> RSS max indirection table length: 0 >>> Supported hash types: 0x00000000 >>> >>> I believe this might be contributing to the underperformance of vDPA. >> mlx5_vdpa vDPA devicess currently do not support the VIRTIO_NET_F_SPEED_DUPLEX >> feature which reports speed and duplex. You can check the state on the >> PF. > > > According to ethtool, all my devices are running at full duplex. I assume I > can disregard this configuration output from the module then. > Yep. > >> >>> While looking into how to change this option for Mellanox, I read the following >>> kernel code in mlx5_vnet.c: >>> >>> static void mlx5_vdpa_set_config(struct vdpa_device *vdev, unsigned int offset, const void *buf, >>> unsigned int len) >>> { >>> /* not supported */ >>> } >>> >>> I was wondering why this is the case. >> TBH, I don't know why it was not added. But in general, the control VQ is the >> better way as it's dynamic. >> >>> Is there another way for me to change >>> these configuration settings? >>> >> The configuration is done using control VQ for most things (MTU, MAC, VQs, >> etc). Make sure that you have the CTRL_VQ feature set (should be on by >> default). It should appear in `vdpa mgmtdev show` and `vdpa dev config >> show`. > > > I see that CTRL_VQ is indeed enabled. Is there any documentation on how to > use the control VQ to get/set vDPA configuration values? > > You are most likely using it already through through qemu. You can check if the CTR_VQ feature also shows up in the output of `vdpa dev config show`. What values are you trying to configure btw? Thanks, Dragos