From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ot1-f42.google.com (mail-ot1-f42.google.com [209.85.210.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A71032FF65F for ; Mon, 22 Dec 2025 14:52:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.42 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766415150; cv=none; b=Z6HpOesWXIvinuKs5ja6g5UxdAX3/9Uc6WlJ6UGU/1aiBoPXZXfYHMA7mljIoh3qsJ7cvyBmL0IPWBDJDGcSol7xQaeoLgrqgzicTnNgWrGAGhqll1J/uHwuP4qWxZVFWI1ew9cu2PtB19B9WAnD6BwqH/aF0J58RAJT8/01J38= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766415150; c=relaxed/simple; bh=Lpyn9tsJg0zwSeavaT29XnRv2mvoX0IosORFt8lYkTA=; h=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To:Cc; b=lmIQhAV1UEX65MchXigEDhXvttRSDWD793J0/y29FfCJLF8IGNPA1BLfAVlBd43+irX0vYnqvsXW52gcJML6S11qVrX5N66D618zp9RaXT9Zhi+ShrvqkL8yiG8EzDuaJd/w2qPgyAvePfL8KeVosEeZGIKd1xSSEbozRNbkUAU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=debian.org; spf=pass smtp.mailfrom=gmail.com; arc=none smtp.client-ip=209.85.210.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=debian.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-ot1-f42.google.com with SMTP id 46e09a7af769-7cac9225485so3326852a34.3 for ; Mon, 22 Dec 2025 06:52:28 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766415147; x=1767019947; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=SSmO9rSpf1HE0AkJMJvsQtYeDJHt5UKP07FlrQBAlfE=; b=X6FKGkKt3iN8j7xOZvRqOHV+tfltybi0BCc5V6YxfjP2gG1D02MILPnSUqpqYkv6+i eq47MBXteHbyhtfr2p1EiTVHIfxsmUAMiUO/75cMsRyvckB6T6vohFN14aMZURZJ4cmo yql0bG5pKgnVJwIv3aZLJLLo+uv1Ns6Mc8f/fCvDAwRqZcNl6EiLQm/ZHHVfF6hw1rp5 qkZhgfgKu4/TWIwFRDE92kiekH6nq2fMMW7A4TX+BaVWbPGBeI3wSO07JlEMF56l+2RH sMFRJ22iSL8H+f/ZiCwAb02Xx4QzjSooQpqtBzsDZNiuzd5EGjeqWHy2AfXv8mgXZP/Z ReJw== X-Forwarded-Encrypted: i=1; AJvYcCVMet8LG6ujC7utNC2z2mf5c4ufyyLDr4k/KnddcPWbfk3cq+zwlidWxnNlU9Gofk6uKc49cyRlTvZuRO0=@vger.kernel.org X-Gm-Message-State: AOJu0YyQv5ZJ5O+Es68wE3aCyVRJHHSJ7j3jTqqkR1Udw0v4N3eArX+I dY3NZvtVSgG4ilCsEfRD4rZVCqsdd+xfiysROd9vQbA/t6Kah967T8zU X-Gm-Gg: AY/fxX5QwaxDJIB9XU9sqlitSUoiOHPPXiSQ302IgS0DMfI8sq2lAxVr07MHGxiTgld Az3Q3xvz54ycsAIzKAlzwAda84qs9LnN+PmIefj+x6kk8AkS/TRHL3nyOMNDoQReETwC+QAtOgh emppfwMM4z1g0r7aYyJcLv1usvFQRNlJZKmrmcgEiIQaFgFzbbwm7Sx9UedO2VN/tkSxr3GjFjl lwz1nsheDkH3NSCF78znV6wHmHklWjFDW/A42SRHXvvSX5o7xhYhaq73tXQmSztLIP8bobDRpj2 vrfePJwp2zl3NiuH81rrIDR/IysbYkvtSCf1b2AcJIDawD/PyOmIJZzTJzPmJ1legMEUuIB/YKN 9GeFkvbD0TjVyfL7kZ/rRMatFGYMBwmab7Rued4h/Es1y+vPn+awOp0+KS7e87JC10cpK2N8CqD dFm4eT+qSOtu3b X-Google-Smtp-Source: AGHT+IGAwhuUsx7Fd/+/3NrcQAUltcFLRbhiXbvn1mIlfuHyEFiPeZMxXjTgjycIu24XHR+wcgJmRA== X-Received: by 2002:a05:6830:82ca:b0:7cc:4d72:586f with SMTP id 46e09a7af769-7cc66a9564dmr6576897a34.31.1766415147262; Mon, 22 Dec 2025 06:52:27 -0800 (PST) Received: from localhost ([2a03:2880:10ff:2::]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7cc667281fesm7465677a34.6.2025.12.22.06.52.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 Dec 2025 06:52:26 -0800 (PST) From: Breno Leitao Subject: [PATCH net-next 0/2] net: netconsole: convert to NBCON console infrastructure Date: Mon, 22 Dec 2025 06:52:09 -0800 Message-Id: <20251222-nbcon-v1-0-65b43c098708@debian.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-B4-Tracking: v=1; b=H4sIABpbSWkC/x3MQQqAIBAF0KsMf52QVkheJVqUjTWbKTQiiO4e9 A7wHhTOwgWBHmS+pMiuCGQrQtwmXdnIgkBwteustd7oHHc1ybWt93HqU8OoCEfmJPf/DFA+jfJ 9YnzfDzkHwJJhAAAA X-Change-ID: 20251117-nbcon-f24477ca9f3e To: Breno Leitao , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, asantostc@gmail.com, efault@gmx.de, gustavold@gmail.com, calvin@wbinvd.org, jv@jvosburgh.net, kernel-team@meta.com, Petr Mladek , Simon Horman X-Mailer: b4 0.15-dev-47773 X-Developer-Signature: v=1; a=openpgp-sha256; l=1994; i=leitao@debian.org; h=from:subject:message-id; bh=Lpyn9tsJg0zwSeavaT29XnRv2mvoX0IosORFt8lYkTA=; b=owEBbQKS/ZANAwAIATWjk5/8eHdtAcsmYgBpSVspfbVqnsPu5Bv/eEfAvgPigf9yjHuN+XdBW KFG0jk6BISJAjMEAAEIAB0WIQSshTmm6PRnAspKQ5s1o5Of/Hh3bQUCaUlbKQAKCRA1o5Of/Hh3 bdKcEACKJ6DK6qsLWkMiEWLXkcxGcNJb20WewGochuocoGF9IsFwzjENEDck74TDOnTRc42Cyhh qpfCL6xAB8HgzotaHmzfX990TOq3pDl1Fq0hxvWCREKti5OfepCr9QoY+bW3MGvmlusT+Iifcyq L/8pOtX1fWmmLMG64k0n8HK7GER37HzLfxKLJwsRChOAAPSn6D/mbQYkFr3WvSK0XhSSRWM0Vji P2rCTw/wy6XBoKGaQBGuF2IQ7R54xbtg7Je6hkE5BFPGHhvxzTWq4PfTDVeNFeafn3Fa08kc1xZ HQCoxDprem7OcLfxJ/GvNayn667HnFOyyMEX2EMBLXE6uPDotVUdIfppjMyAm7GuE0DcMPpmMhQ cEf/mQh64GiW4j5O4kjGqFSpyRgP+wCOaIxcHcJDJd4YtHCLBL7aVqgLvoIN/BpgxCkugvTMa+O rYnSg28bEqcXC//bKJgdfs1I+/npjsXlnPnDirogI+50euYEpmk6e9l3Y3uywGxhgJfon4D6MDp z4pz3g4MZ3mR5TIhSz6Q5unbbLvautKhblISe7PyPIYIU5X4lxpYgr+B3IbSiOVPqOy/D41QPA2 oC65NPCxHYauRsXi0V/EdlhX9Ea4dumPtsdTlIsyJrrMJDAPRWkZDGv5vPey/SgLgziqpddgyWm X3BX5mu1KvusANQ== X-Developer-Key: i=leitao@debian.org; a=openpgp; fpr=AC8539A6E8F46702CA4A439B35A3939FFC78776D This series adds support for the nbcon (new buffer console) infrastructure to netconsole, enabling lock-free, priority-based console operations that are safer in crash scenarios. The implementation is introduced in three steps: 1) Refactor the message fragmentation logic into a reusable helper function 2) Extend nbcon support to non-extended (basic) consoles using the same infrastructure. The initial discussion about it appeared a while ago in [1], in order to solve Mike's HARDIRQ-safe -> HARDIRQ-unsafe lock order warning, and the root cause is that some hosts were calling IRQ unsafe locks from inside console lock. At that time, we didn't have the CON_NBCON_ATOMIC_UNSAFE yet. John kindly implemented CON_NBCON_ATOMIC_UNSAFE in 187de7c212e5 ("printk: nbcon: Allow unsafe write_atomic() for panic"), and now we can implement netconsole on top of nbcon. Important to note that netconsole continues to call netpoll and the network TX helpers with interrupt disable, given the TX are called with target_list_lock. Link: https://lore.kernel.org/all/b2qps3uywhmjaym4mht2wpxul4yqtuuayeoq4iv4k3zf5wdgh3@tocu6c7mj4lt/ [1] Signed-off-by: Breno Leitao Changes from RFC: * Removed the extra CONFIG for NBCON, given we don't want to support both console. Move to nbcon as the only console framework supported * Incorporated the changes from Petr. * Some renames to make the code more consistent. * Link: https://lore.kernel.org/all/20251121-nbcon-v1-0-503d17b2b4af@debian.org/ --- Breno Leitao (2): netconsole: extract message fragmentation into send_msg_udp() netconsole: convert to NBCON console infrastructure drivers/net/netconsole.c | 109 +++++++++++++++++++++++++++++------------------ 1 file changed, 68 insertions(+), 41 deletions(-) --- base-commit: 7b8e9264f55a9c320f398e337d215e68cca50131 change-id: 20251117-nbcon-f24477ca9f3e Best regards, -- Breno Leitao