Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp136199pxu; Wed, 25 Nov 2020 15:27:43 -0800 (PST) X-Google-Smtp-Source: ABdhPJwJF7VLy3v1NLGhHIP3Kk6+ibrjCoZnbXSmOVPh5Q0BqbaVo38epPS4Yq7E8ZIMXZOFSXyZ X-Received: by 2002:a17:906:180b:: with SMTP id v11mr288730eje.41.1606346863041; Wed, 25 Nov 2020 15:27:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1606346863; cv=none; d=google.com; s=arc-20160816; b=kkA1TLTaMXwJInzUVK1B83WHGsJajbjzmB8zRQNXXBpFMBqqdfj7/G/hLBGhDTPjdW FphSZI/ufDJjuQGdud6LQAnSUjxMhfAQApixNH9bKPM/xPBRdc2f8sFqFEsBLTXUFrtT JNIImrvOj4fmk5HsO/HHyyAvnPf54PzVvqyy1J9fCRl979wrJasXHNiRTjwPFzToqnhI SOTDazTFnlNKSL0tgNv1EYYlS76W/FBDZt0yDDBPOhlw7mTW+qAGoA4pfJkUum72ZWYc OGXXE0ujJiRVgPohmtgHp/9gIBrh1n7Ew2P0wfoTrkkMcCAF3rC38epqQwmq/TMNtAU7 3N9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date :dkim-signature; bh=QGQMyLb9Ikq6LndyDiM5EzUmR6OuNMhJYV31P93yMEs=; b=NjzeurXKP8R6SBLit7cmZsTfaaqS3/MGSi/ds86gbSjLQRjjjSfm/VsYmMs4ul2bgD zURmHIRzHMPZnfpDGwfBodB9Tz4TBwmLXjkj70HyEYfR7BM+3wh6nrdtL40FW9IMsU5o nZ/uJrqY7SJndHGqmPrRkXb/m+dvkn2EGGXPvQwvOS0XPdvJtpr4+fJX+9l72XWChrAV WCs/YVgaq3J80xR5QwhpQpo/mYyfAs2O7RYWMk2xHnEhnVlTW09iAmSkMyY/iikI3ISY EYnpyVaWArNixYbclmR4Q5gMcfPWvLfOQyD3GHuGpqafz2y/sl7UBzJWSuzEyiHbVGDe wPXg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="NyoD/7pa"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id z20si2094870edq.601.2020.11.25.15.27.20; Wed, 25 Nov 2020 15:27:43 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="NyoD/7pa"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732040AbgKYV0Y (ORCPT + 99 others); Wed, 25 Nov 2020 16:26:24 -0500 Received: from mail.kernel.org ([198.145.29.99]:54972 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731413AbgKYV0Y (ORCPT ); Wed, 25 Nov 2020 16:26:24 -0500 Received: from kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com (unknown [163.114.132.4]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 028FD206E0; Wed, 25 Nov 2020 21:26:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1606339583; bh=xlVmgI/1tuUDmjoHsU+bOocWXs+9aWQwye1zxmYacjk=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=NyoD/7pacUiN/UOWdzqe1A3IRmDDGJIE48q22IVgs3ZeI+St4evp56IeLhFGJuYiR eqElZ2a+vQZRRL9aUJWvy10WHK4HW8Pta1O8t+f+V1dyudQSNOHiUig0/jaWYG6UgN Ys72PSONPAFk3EXitvS01IHUWm0ICZ+8Vt8833tU= Date: Wed, 25 Nov 2020 13:26:21 -0800 From: Jakub Kicinski To: =?UTF-8?B?xYF1a2Fzeg==?= Stelmach Cc: Andrew Lunn , jim.cromie@gmail.com, Heiner Kallweit , "David S. Miller" , Rob Herring , Kukjin Kim , Krzysztof Kozlowski , Russell King , netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, =?UTF-8?B?QmFydMWCb21pZWogxbtvbG5pZXJr?= =?UTF-8?B?aWV3aWN6?= , Marek Szyprowski Subject: Re: [PATCH v7 3/3] net: ax88796c: ASIX AX88796C SPI Ethernet Adapter Driver Message-ID: <20201125132621.628ac98b@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com> In-Reply-To: <20201124120330.32445-4-l.stelmach@samsung.com> References: <20201124120330.32445-1-l.stelmach@samsung.com> <20201124120330.32445-4-l.stelmach@samsung.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 24 Nov 2020 13:03:30 +0100 =C5=81ukasz Stelmach wrote: > +static int > +ax88796c_start_xmit(struct sk_buff *skb, struct net_device *ndev) > +{ > + struct ax88796c_device *ax_local =3D to_ax88796c_device(ndev); > + > + skb_queue_tail(&ax_local->tx_wait_q, skb); > + if (skb_queue_len(&ax_local->tx_wait_q) > TX_QUEUE_HIGH_WATER) { > + netif_err(ax_local, tx_queued, ndev, > + "Too many TX packets in queue %d\n", > + skb_queue_len(&ax_local->tx_wait_q)); This will probably happen under heavy traffic. No need to print errors, it's normal to back pressure. > + netif_stop_queue(ndev); > + } > + > + set_bit(EVENT_TX, &ax_local->flags); > + schedule_work(&ax_local->ax_work); > + > + return NETDEV_TX_OK; > +} > + > +static void > +ax88796c_skb_return(struct ax88796c_device *ax_local, struct sk_buff *sk= b, > + struct rx_header *rxhdr) > +{ > + struct net_device *ndev =3D ax_local->ndev; > + int status; > + > + do { > + if (!(ndev->features & NETIF_F_RXCSUM)) > + break; > + > + /* checksum error bit is set */ > + if ((rxhdr->flags & RX_HDR3_L3_ERR) || > + (rxhdr->flags & RX_HDR3_L4_ERR)) > + break; > + > + /* Other types may be indicated by more than one bit. */ > + if ((rxhdr->flags & RX_HDR3_L4_TYPE_TCP) || > + (rxhdr->flags & RX_HDR3_L4_TYPE_UDP)) > + skb->ip_summed =3D CHECKSUM_UNNECESSARY; > + } while (0); > + > + ax_local->stats.rx_packets++; > + ax_local->stats.rx_bytes +=3D skb->len; > + skb->dev =3D ndev; > + > + skb->truesize =3D skb->len + sizeof(struct sk_buff); > + skb->protocol =3D eth_type_trans(skb, ax_local->ndev); > + > + netif_info(ax_local, rx_status, ndev, "< rx, len %zu, type 0x%x\n", > + skb->len + sizeof(struct ethhdr), skb->protocol); > + > + status =3D netif_rx(skb); If I'm reading things right this is in process context, so netif_rx_ni() > + if (status !=3D NET_RX_SUCCESS) > + netif_info(ax_local, rx_err, ndev, > + "netif_rx status %d\n", status); Again, it's inadvisable to put per packet prints without any rate limiting in the data path.