Re: [PATCH V4 net-next 3/3] tun: rx batching
From: Jason Wang <hidden>
Date: 2017-01-10 02:24:00
Also in:
kvm, virtualization
On 2017年01月10日 07:12, Michael S. Tsirkin wrote:
On Mon, Jan 09, 2017 at 10:39:55AM +0800, Jason Wang wrote:quoted
On 2017年01月07日 03:47, Michael S. Tsirkin wrote:quoted
quoted
+static int tun_get_coalesce(struct net_device *dev, + struct ethtool_coalesce *ec) +{ + struct tun_struct *tun = netdev_priv(dev); + + ec->rx_max_coalesced_frames = tun->rx_batched; + + return 0; +} + +static int tun_set_coalesce(struct net_device *dev, + struct ethtool_coalesce *ec) +{ + struct tun_struct *tun = netdev_priv(dev); + + if (ec->rx_max_coalesced_frames > NAPI_POLL_WEIGHT) + return -EINVAL;So what should userspace do? Keep trying until it succeeds? I think it's better to just use NAPI_POLL_WEIGHT instead and DTRT here.Well, looking at how set_coalesce is implemented in other drivers, -EINVAL is usually used when user give a value that exceeds the limitation. For tuntap, what missed here is probably just a documentation for coalescing in tuntap.txt. (Or extend ethtool to return the max value). This seems much better than silently reduce the value to the limitation. ThanksI don't think it's better, it's mostly that 1. there's a hardware limit so it does not change much 2. default is enabled and no one bothers changing I don't see how will tuntap.txt help if we want to change it in the future.
Ok, so I will limit it to NAPI_POLL_WEIGHT if user gives a value that is greater than that. Thanks _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization