From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm1-x335.google.com (mail-wm1-x335.google.com [IPv6:2a00:1450:4864:20::335]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id B95153B29D for ; Thu, 17 Nov 2022 16:02:27 -0500 (EST) Received: by mail-wm1-x335.google.com with SMTP id 187-20020a1c02c4000000b003cfe48519a6so278221wmc.0 for ; Thu, 17 Nov 2022 13:02:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=3e2uRU+NppaMWO06aQev3E1EBffrk4MIAlG3cyLjX00=; b=NzLsNBtdmHT3lt1etWZlyoWoVMvHAeBsomJoSeO/lwzybZgAooMa1lbxAOY0tg0QDH l3/VHl6agVj+Kmbpr49GJskx2/zOS5d+xhhX7qbxstSn+PArq3WTNZTICUXqkD+ieoDd 9/kvArJvy4SMJGi6sp3iMVXQTX5pEgC/TyIIzpIxuoYQmOUrFh5vQT5uVw4V0erDgFT/ lTmathWVGTv7tMaEwhijBp0fGLmGK4CowPmm/B52vtZhspPSuxgFhdeSLqXSLGb0jH59 hFA0LGNSjUGRvzSAPziVFo9p/2Ttw29aXXMHHy3W6tj8NWyNuNqTl+cF/VVPWC0ea7cu +3sA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=3e2uRU+NppaMWO06aQev3E1EBffrk4MIAlG3cyLjX00=; b=Qv7kgKlVk7UC1Hd+jhgfZd9Y3Nj6Oh7o0FZ7td2ATLRXRZI/FwhmmruKBxlAChyuOE JaUdeFMT6g8iCDBaywdaxfmpjhf19Tjg7cIAea5O2VuJqZMuBEFZ22hLorutR298rHw0 6Dv0qyJFrL1Syxob5nMLuanTHWpo5Q43mU43jSIPN3Jy2PL4rmmis5ecZGLrWkUyKie/ qc5Rz/pJkOi3erwqzqoEcop5DxHRF5lg2+ATKtVtXqmNKLmPcCgnAelCFVMHXune/WWr sKroG5EUOwiPSFoer1k/XKv81FYY5FeFff8AUPHWakmzqFnuUe+Io5aDqY5L+DRKOfLB MsiQ== X-Gm-Message-State: ANoB5plWkGWxnbkqcUdLP2haCwEwx6vwQLOIwMYEokTy36/ACDnZcq3R 1S2oCeW6vBusy+rVLnyN7U7pmzETS/FXOlpkw2I+fBRvfh5TQw== X-Google-Smtp-Source: AA0mqf4xNGJu2Qz6Zjdf0Ctaq506X7HcZJWIKTPSxQuHh5GFw16ApR4m+4P1SKrrpJOYsw2ntle8xYliK3rEw33cOkQ= X-Received: by 2002:a05:600c:1d24:b0:3cf:6fd0:8168 with SMTP id l36-20020a05600c1d2400b003cf6fd08168mr6437657wms.206.1668718945477; Thu, 17 Nov 2022 13:02:25 -0800 (PST) MIME-Version: 1.0 References: <20221117201440.21183-1-gerhard@engleder-embedded.com> In-Reply-To: <20221117201440.21183-1-gerhard@engleder-embedded.com> From: Dave Taht Date: Thu, 17 Nov 2022 13:02:13 -0800 Message-ID: To: libreqos , Gerhard Engleder Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Subject: [LibreQoS] Fwd: [PATCH net-next 0/4] tsnep: Throttle irq, rotten pkts, RX buffer alloc and ethtool_get_channels() X-BeenThere: libreqos@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: Many ISPs need the kinds of quality shaping cake can do List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 Nov 2022 21:02:27 -0000 time sensitive networking is a thing. Now less sensitive. At least on this a53, an interrupt rate of 20us resulted in total cpu usage at a gbit... Taking a 7x hit in latency tho, to reduce the cpu load, strikes me as a lot. dpdk would just spin-read here, vs a vs xdp. "Without interrupt throttling, iperf server mode generates a CPU load of 100% (A53 1.2GHz). Also the throughput suffers with less than 900Mbit/s on a 1Gbit/s link. The reason is a high interrupt load with interrupts every ~20us. Reduce interrupt load by throttling of interrupts. Interrupt delay is configured statically to 64us. For iperf server mode the CPU load is significantly reduced to ~20% and the throughput reaches the maximum of 941MBit/s. Interrupts are generated every ~140us." ---------- Forwarded message --------- From: Gerhard Engleder Date: Thu, Nov 17, 2022 at 12:40 PM Subject: [PATCH net-next 0/4] tsnep: Throttle irq, rotten pkts, RX buffer alloc and ethtool_get_channels() To: Cc: , , , , Gerhard Engleder Collection of improvements found during development of XDP support. Hopefully the last patch series before the XDP support. Fix of rotten packets increased CPU load and caused slight drop of iperf performance, because CPU load was already at 100% before. This performance drop is compensated with interrupt throttling, which makes sense anyway. ethtool_get_channels() is needed for automatic TAPRIO configuration in combination with multiple queues. Rework of RX buffer allocation is prework of XDP. It ensures that packets are only dropped if RX queue would otherwise run empty because of failed allocations. So it should reduce the number of dropped packets under low memory conditions. Gerhard Engleder (4): tsnep: Throttle interrupts tsnep: Fix rotten packets tsnep: Add ethtool get_channels support tsnep: Rework RX buffer allocation drivers/net/ethernet/engleder/tsnep.h | 4 + drivers/net/ethernet/engleder/tsnep_ethtool.c | 19 ++ drivers/net/ethernet/engleder/tsnep_hw.h | 7 + drivers/net/ethernet/engleder/tsnep_main.c | 252 +++++++++++++----- 4 files changed, 214 insertions(+), 68 deletions(-) -- 2.30.2 -- This song goes out to all the folk that thought Stadia would work: https://www.linkedin.com/posts/dtaht_the-mushroom-song-activity-69813666656= 07352320-FXtz Dave T=C3=A4ht CEO, TekLibre, LLC