[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <51257502-cf5e-0a98-5bbd-5e3d18d3e15a@huawei.com>
Date: Sat, 21 Nov 2020 10:00:36 +0800
From: tanhuazhong <tanhuazhong@...wei.com>
To: Andrew Lunn <andrew@...n.ch>
CC: <davem@...emloft.net>, <netdev@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <linuxarm@...wei.com>,
<kuba@...nel.org>, <mkubecek@...e.cz>
Subject: Re: [RFC V2 net-next 1/2] ethtool: add support for controling the
type of adaptive coalescing
On 2020/11/20 23:25, Andrew Lunn wrote:
>> @@ -310,6 +334,13 @@ int ethnl_set_coalesce(struct sk_buff *skb, struct genl_info *info)
>> ret = dev->ethtool_ops->set_coalesce(dev, &coalesce);
>> if (ret < 0)
>> goto out_ops;
>> +
>> + if (ops->set_ext_coalesce) {
>> + ret = ops->set_ext_coalesce(dev, &ext_coalesce);
>> + if (ret < 0)
>> + goto out_ops;
>> + }
>> +
>
> The problem here is, if ops->set_ext_coalesce() fails, you need to
> undo what dev->ethtool_ops->set_coalesce() did. From the users
> perspective, this should be atomic. It does everything, or it does
> nothing and returns an error code.
>
> And that is not easy given this structure of two op calls.
>
> Andrew
>
yes, i will try what Michal suggested in V1.
Regards.
Huazhong.
> .
>
Powered by blists - more mailing lists