From: Lukasz Stelmach <l.stelmach@samsung.com>
To: Jakub Kicinski <kuba@kernel.org>
Cc: "Andrew Lunn" <andrew@lunn.ch>,
jim.cromie@gmail.com, "Heiner Kallweit" <hkallweit1@gmail.com>,
"David S. Miller" <davem@davemloft.net>,
"Rob Herring" <robh+dt@kernel.org>,
"Kukjin Kim" <kgene@kernel.org>,
"Krzysztof Kozlowski" <krzk@kernel.org>,
"Russell King" <linux@armlinux.org.uk>,
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,
"Bartłomiej Żolnierkiewicz" <b.zolnierkie@samsung.com>,
"Marek Szyprowski" <m.szyprowski@samsung.com>
Subject: Re: [PATCH v7 3/3] net: ax88796c: ASIX AX88796C SPI Ethernet Adapter Driver
Date: Wed, 02 Dec 2020 11:46:28 +0100 [thread overview]
Message-ID: <dleftj8sageb97.fsf%l.stelmach@samsung.com> (raw)
In-Reply-To: <20201125132621.628ac98b@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com> (Jakub Kicinski's message of "Wed, 25 Nov 2020 13:26:21 -0800")
[-- Attachment #1: Type: text/plain, Size: 2598 bytes --]
It was <2020-11-25 śro 13:26>, when Jakub Kicinski wrote:
> On Tue, 24 Nov 2020 13:03:30 +0100 Łukasz Stelmach wrote:
>> +static int
>> +ax88796c_start_xmit(struct sk_buff *skb, struct net_device *ndev)
>> +{
>> + struct ax88796c_device *ax_local = 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.
>
Removed.
>> + 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 *skb,
>> + struct rx_header *rxhdr)
>> +{
>> + struct net_device *ndev = 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 = CHECKSUM_UNNECESSARY;
>> + } while (0);
>> +
>> + ax_local->stats.rx_packets++;
>> + ax_local->stats.rx_bytes += skb->len;
>> + skb->dev = ndev;
>> +
>> + skb->truesize = skb->len + sizeof(struct sk_buff);
>> + skb->protocol = 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 = netif_rx(skb);
>
> If I'm reading things right this is in process context, so netif_rx_ni()
>
Is it? The stack looks as follows
ax88796c_skb_return()
ax88796c_rx_fixup()
ax88796c_receive()
ax88796c_process_isr()
ax88796c_work()
and ax88796c_work() is a scheduled in the system_wq.
>> + if (status != 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.
Even if limmited by the msglvl flag, which is off by default?
--
Łukasz Stelmach
Samsung R&D Institute Poland
Samsung Electronics
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
next prev parent reply other threads:[~2020-12-02 10:47 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20201124120336eucas1p20710fdff8434428ea0f011b02249b8a8@eucas1p2.samsung.com>
2020-11-24 12:03 ` [PATCH v7 0/3] AX88796C SPI Ethernet Adapter Łukasz Stelmach
[not found] ` <CGME20201124120336eucas1p2df4e6cc5f456a48f19a5c0e8ea91c662@eucas1p2.samsung.com>
2020-11-24 12:03 ` [PATCH v7 1/3] dt-bindings: vendor-prefixes: Add asix prefix Łukasz Stelmach
[not found] ` <CGME20201124120336eucas1p2982f8a4e16a9357e1354cde77333f695@eucas1p2.samsung.com>
2020-11-24 12:03 ` [PATCH v7 2/3] dt-bindings: net: Add bindings for AX88796C SPI Ethernet Adapter Łukasz Stelmach
[not found] ` <CGME20201124120337eucas1p268c7e3147ea36e62d40d252278c5dcb7@eucas1p2.samsung.com>
2020-11-24 12:03 ` [PATCH v7 3/3] net: ax88796c: ASIX AX88796C SPI Ethernet Adapter Driver Łukasz Stelmach
2020-11-24 12:17 ` Krzysztof Kozlowski
[not found] ` <CGME20201124143011eucas1p182d53a872283904341ed4038d457d817@eucas1p1.samsung.com>
2020-11-24 14:29 ` Lukasz Stelmach
2020-11-24 22:33 ` Andrew Lunn
2020-11-25 21:26 ` Jakub Kicinski
[not found] ` <CGME20201202104645eucas1p25335c0b07b106f932006f2a5bce88b6e@eucas1p2.samsung.com>
2020-12-02 10:46 ` Lukasz Stelmach [this message]
2020-12-02 17:18 ` Jakub Kicinski
[not found] ` <CGME20201202200727eucas1p18311ed19904e8a0c7b8c28cde87f155b@eucas1p1.samsung.com>
2020-12-02 20:07 ` Lukasz Stelmach
2020-11-25 21:27 ` Jakub Kicinski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=dleftj8sageb97.fsf%l.stelmach@samsung.com \
--to=l.stelmach@samsung.com \
--cc=andrew@lunn.ch \
--cc=b.zolnierkie@samsung.com \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=hkallweit1@gmail.com \
--cc=jim.cromie@gmail.com \
--cc=kgene@kernel.org \
--cc=krzk@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=m.szyprowski@samsung.com \
--cc=netdev@vger.kernel.org \
--cc=robh+dt@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).