[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b6eda7a5-6363-9633-7be7-8d01956b69ea@redhat.com>
Date: Tue, 10 Jan 2017 10:24:00 +0800
From: Jason Wang <jasowang@...hat.com>
To: "Michael S. Tsirkin" <mst@...hat.com>
Cc: virtualization@...ts.linux-foundation.org, netdev@...r.kernel.org,
kvm@...r.kernel.org, stephen@...workplumber.org, wexu@...hat.com,
stefanha@...hat.com
Subject: Re: [PATCH V4 net-next 3/3] tun: rx batching
On 2017年01月10日 07:12, Michael S. Tsirkin wrote:
> On Mon, Jan 09, 2017 at 10:39:55AM +0800, Jason Wang wrote:
>> On 2017年01月07日 03:47, Michael S. Tsirkin wrote:
>>>> +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.
>>
>> Thanks
> I 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
Powered by blists - more mailing lists