From patchwork Fri Feb 11 23:38:36 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Sebastian Andrzej Siewior X-Patchwork-Id: 12744108 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3CC33C433F5 for ; Fri, 11 Feb 2022 23:38:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1354219AbiBKXiy (ORCPT ); Fri, 11 Feb 2022 18:38:54 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:40960 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245003AbiBKXix (ORCPT ); Fri, 11 Feb 2022 18:38:53 -0500 Received: from galois.linutronix.de (Galois.linutronix.de [IPv6:2a0a:51c0:0:12e:550::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 252B1CFE; Fri, 11 Feb 2022 15:38:51 -0800 (PST) From: Sebastian Andrzej Siewior DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1644622727; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W5M7ql07yQWYHKSb7prxi1WVArVxTUKiB6k0gKJBj48=; b=xFfIRusrlGnxMwknxZazpKRcaZaFH7OpX7G+Txw7KmBtopCmis4xVZ1mcSYnmACHL4du99 NzL/dezy+ob3wJOCOLY5uHXPPgQ5Pa0hvO4cLJYUcVcX2BfGHGbzGTtmvacGh8olyB4kcE 4N5JqkxL4hiBP6aN1Wlv+wwnGbP5yto1dBip491cB1iCndNOL7GEo9+uV+PsQ1IzMFJAHL uHDWDBEKRr9viB3um+JTgrKBpUQ3dZFl115n6aG0N1BMS0FPQnqItcpL7J7YnyntVzdNEh 5HlETSUhASZApq5jg0JeQdgPTzPnJ2tmXGlMhLjfL7voo4XKSKViDPZadAQ6nQ== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1644622727; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W5M7ql07yQWYHKSb7prxi1WVArVxTUKiB6k0gKJBj48=; b=4gjHOZiyhvDJC789sOGV/Emk1CuynXrKnzscJNPGgMu0HB2uDh93pEz/AZn/SCDaW18WQT Bo+/bF8tSZyhJ8CQ== To: bpf@vger.kernel.org, netdev@vger.kernel.org Cc: "David S. Miller" , Alexei Starovoitov , Daniel Borkmann , Eric Dumazet , Jakub Kicinski , Jesper Dangaard Brouer , John Fastabend , Thomas Gleixner , =?utf-8?q?Toke_H=C3=B8iland-J=C3=B8rg?= =?utf-8?q?ensen?= Subject: [PATCH net-next v3 0/3] net: dev: PREEMPT_RT fixups. Date: Sat, 12 Feb 2022 00:38:36 +0100 Message-Id: <20220211233839.2280731-1-bigeasy@linutronix.de> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: kuba@kernel.org Hi, this series removes or replaces preempt_disable() and local_irq_save() sections which are problematic on PREEMPT_RT. Patch 2 makes netif_rx() work from any context after I found suggestions for it in an old thread. Should that work, then the context-specific variants could be removed. v2…v3: - #2 - Export __netif_rx() so it can be used by everyone. - Add a lockdep assert to check for interrupt context. - Update the kernel doc and mention that the skb is posted to backlog NAPI. - Use __netif_rx() also in drivers/net/*.c. - Added Toke''s review tag and kept Eric's desptite the changes made. v1…v2: - #1 and #2 - merge patch 1 und 2 from the series (as per Toke). - updated patch description and corrected the first commit number (as per Eric). - #2 - Provide netif_rx() as in v1 and additionally __netif_rx() without local_bh disable()+enable() for the loopback driver. __netif_rx() is not exported (loopback is built-in only) so it won't be used drivers. If this doesn't work then we can still export/ define a wrapper as Eric suggested. - Added a comment that netif_rx() considered legacy. - #3 - Moved ____napi_schedule() into rps_ipi_queued() and renamed it napi_schedule_rps(). https://lore.kernel.org/all/20220204201259.1095226-1-bigeasy@linutronix.de/ v1: https://lore.kernel.org/all/20220202122848.647635-1-bigeasy@linutronix.de