From mboxrd@z Thu Jan 1 00:00:00 1970 From: Florian Fainelli Subject: Re: [PATCH net-next] virtio_net: ethtool tx napi configuration Date: Wed, 12 Sep 2018 11:16:44 -0700 Message-ID: <2fd8d46f-7466-e507-af31-c587693beb6e@gmail.com> References: <20180909224449.203593-1-willemdebruijn.kernel@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Cc: Network Development , David Miller , caleb.raitto@gmail.com, Jason Wang , "Michael S. Tsirkin" , "Jon Olson (Google Drive)" , Willem de Bruijn To: Willem de Bruijn Return-path: Received: from mail-pl1-f193.google.com ([209.85.214.193]:40464 "EHLO mail-pl1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726675AbeILXWc (ORCPT ); Wed, 12 Sep 2018 19:22:32 -0400 Received: by mail-pl1-f193.google.com with SMTP id s17-v6so1363501plp.7 for ; Wed, 12 Sep 2018 11:16:50 -0700 (PDT) In-Reply-To: Content-Language: en-US Sender: netdev-owner@vger.kernel.org List-ID: On 9/12/2018 11:07 AM, Willem de Bruijn wrote: > On Wed, Sep 12, 2018 at 1:42 PM Florian Fainelli wrote: >> >> >> >> On 9/9/2018 3:44 PM, Willem de Bruijn wrote: >>> From: Willem de Bruijn >>> >>> Implement ethtool .set_coalesce (-C) and .get_coalesce (-c) handlers. >>> Interrupt moderation is currently not supported, so these accept and >>> display the default settings of 0 usec and 1 frame. >>> >>> Toggle tx napi through a bit in tx-frames. So as to not interfere >>> with possible future interrupt moderation, use bit 10, well outside >>> the reasonable range of real interrupt moderation values. >>> >>> Changes are not atomic. The tx IRQ, napi BH and transmit path must >>> be quiesced when switching modes. Only allow changing this setting >>> when the device is down. >> >> Humm, would not a private ethtool flag to switch TX NAPI on/off be more >> appropriate rather than use the coalescing configuration API here? > > What do you mean by private ethtool flag? A new field in ethtool > --features (-k)? I meant using ethtool_drvinfo::n_priv_flags, ETH_SS_PRIV_FLAGS and then ETHTOOL_GFPFLAGS and ETHTOOL_SPFLAGS to control the toggling of that private flag. mlx5 has a number of privates flags for instance. > > Configurable napi-tx is not a common feature across devices. We really > want virtio-net to also just convert to napi-tx as default, but need a > way to gradually convert with application opt-out if some workloads > see regressions. The rationale makes sense, no questions about it. > There is prior art in interpreting coalesce values as > more than a direct mapping to usec. The e1000 is one example. > Looked at both e1000 and e1000e and they both have a similar programming of the HW's interrupt target rate register, which is relevant to interrupt coalescing, what part of these drivers do you see as doing something not quite coalescing related? -- Florian