lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <7d591d9f-463b-cedd-5590-c4ff8260ffa0@hpe.com> Date: Wed, 3 Aug 2016 09:04:44 -0700 From: Rick Jones <rick.jones2@....com> To: skallam <siva.kallam@...adcom.com>, davem@...emloft.net Cc: netdev@...r.kernel.org, michael.chan@...adcom.com, prashant@...adcom.com, satish.baddipadige@...adcom.com Subject: Re: [PATCH net 1/2] tg3: Fix for diasllow rx coalescing time to be 0 On 08/02/2016 09:13 PM, skallam wrote: > From: Satish Baddipadige <satish.baddipadige@...adcom.com> > > When the rx coalescing time is 0, interrupts > are not generated from the controller and rx path hangs. > To avoid this rx hang, updating the driver to not allow > rx coalescing time to be 0. > > Signed-off-by: Satish Baddipadige <satish.baddipadige@...adcom.com> > Signed-off-by: Siva Reddy Kallam <siva.kallam@...adcom.com> > Signed-off-by: Michael Chan <michael.chan@...adcom.com> > --- > drivers/net/ethernet/broadcom/tg3.c | 1 + > 1 files changed, 1 insertions(+), 0 deletions(-) > > diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c > index ff300f7..f3c6c91 100644 > --- a/drivers/net/ethernet/broadcom/tg3.c > +++ b/drivers/net/ethernet/broadcom/tg3.c > @@ -14014,6 +14014,7 @@ static int tg3_set_coalesce(struct net_device *dev, struct ethtool_coalesce *ec) > } > > if ((ec->rx_coalesce_usecs > MAX_RXCOL_TICKS) || > + (!ec->rx_coalesce_usecs) || > (ec->tx_coalesce_usecs > MAX_TXCOL_TICKS) || > (ec->rx_max_coalesced_frames > MAX_RXMAX_FRAMES) || > (ec->tx_max_coalesced_frames > MAX_TXMAX_FRAMES) || > Should anything then happen with: /* No rx interrupts will be generated if both are zero */ if ((ec->rx_coalesce_usecs == 0) && (ec->rx_max_coalesced_frames == 0)) return -EINVAL; which is the next block of code? The logic there seems to suggest that it was intended to be able to have an rx_coalesce_usecs of 0 and rely on packet arrival to trigger an interrupt. Presumably setting rx_max_coalesced_frames to 1 to disable interrupt coalescing. happy benchmarking, rick jones
Powered by blists - more mailing lists