On Fri, Aug 04, 2023 at 12:09:53AM -0700, Saurabh Sengar wrote: > Hyper-V is adding multiple low speed "speciality" synthetic devices. > Instead of writing a new kernel-level VMBus driver for each device, > make the devices accessible to user space through a UIO-based > hv_vmbus_client driver. Each device can then be supported by a user > space driver. This approach optimizes the development process and > provides flexibility to user space applications to control the key > interactions with the VMBus ring buffer. Why is it faster to write userspace drivers here? Where are those new drivers, and why can't they be proper kernel drivers? Are all hyper-v drivers going to move to userspace now? > The new synthetic devices are low speed devices that don't support > VMBus monitor bits, and so they must use vmbus_setevent() to notify > the host of ring buffer updates. The new driver provides this > functionality along with a configurable ring buffer size. > > Moreover, this series of patches incorporates an update to the fcopy > application, enabling it to seamlessly utilize the new interface. The > older fcopy driver and application will be phased out gradually. > Development of other similar userspace drivers is still underway. > > Moreover, this patch series adds a new implementation of the fcopy > application that uses the new UIO driver. The older fcopy driver and > application will be phased out gradually. Development of other similar > userspace drivers is still underway. You are adding a new user api with the "ring buffer" size api, which is odd for normal UIO drivers as that's not something that UIO was designed for. Why not just make you own generic type uiofs type kernel api if you really want to do all of this type of thing in userspace instead of in the kernel? And finally, if this is going to replace the fcopy driver, then it should be part of this series as well, removing it to show that you really mean it when you say it will be deleted, otherwise we all know that will never happen. thanks, greg k-h