From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mta1.migadu.com (out-27.mta1.migadu.com [95.215.58.27]) (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 AC1D9409E12 for ; Sun, 18 Oct 2026 18:15:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=95.215.58.27 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792347347; cv=none; b=Dkb6H2sARSL1Nw249QiIfpq17c3ASZ1zc4bYJRoQjpgC51+TyDUULpQf7Jgnle47XibCsEcFpuZ+T9kEfI4RqCDEvnCBJsfvA7j9rYzWzyxVzWZw5j+e0CD4L/tWX8C2KuQu4g0pwy6UODTIEG2C3ssW9+w52aVtOsdu2/jZ9ws= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792347347; c=relaxed/simple; bh=HqmCUrjg4+06azE0v+hSyzYIgleJ2lU6GL05+/Eo0Js=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=FZG95t+XUd/jSSQ3R+HBO3ccb5LC/qyDsHcc98vnUTRD4yrKMzkIKW68q5pbqblIbAtS1JC4h5zaaPVjBt3ev0aqoX7hrwfF+JN4Kaj03vgsm5vZB88l1qoUxJbJC9gpimBtsy9iEXYzbZNcTu+EWEEvPRj3bVNfITnoPx+/Hv4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=U87Kz5Yk; arc=none smtp.client-ip=95.215.58.27 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="U87Kz5Yk" X-Envelope-To: linux-rt-devel@lists.linux.dev DKIM-Signature: a=rsa-sha256; bh=HqmCUrjg4+06azE0v+hSyzYIgleJ2lU6GL05+/Eo0Js=; c=simple/simple; d=linux.dev; h=from:to:subject:date:message-id:mime-version:content-type; s=key1; t=1792347342; v=1; x=1792952142; b=U87Kz5YkFaE+p8k+zkh3ylJ4TfHde+7KsfOtSVymd7VQGPmNZA0/xsYhQxt69LR4EhCpzkzf rNp3gx74L3pKwSz0tnmflx1Luo9pmxS4YN8HprpkFTsvW0Oz/GWXf4fEkAuWHQYBEifJpD8TYzF E8Ip8Vjjp2REieC5z/pKPk58= X-Envelope-To: linux-rt-devel@lists.linux.dev Received: by mta10.migadu.com with ESMTPS id 4227090cbd0bd74e; Sun, 18 Oct 2026 18:15:39 +0000 X-Mizu-Trace-ID: 4227090cbd0bd74e X-Migadu-Flow: FLOW_OUT From: wen.yang@linux.dev To: Sebastian Andrzej Siewior , Clark Williams , Steven Rostedt Cc: linux-rt-devel@lists.linux.dev Subject: [PATCH 6.6-rt 0/5] net: Backport backlog-NAPI threads to resolve PREEMPT_RT softirq warning in SMP flush Date: Mon, 19 Oct 2026 02:15:22 +0800 Message-Id: X-Mailer: git-send-email 2.25.1 Precedence: bulk X-Mailing-List: linux-rt-devel@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Wen Yang Backport backlog-NAPI threads to v6.6-rt-next first, as requested by Sebastian and Clark, before following up with the v6.1-rt backport. The base is 4c4970859022 (Linux 6.6.151-rt78-rc1). The existing RT workaround, 1f7514c9c75d ("net: Avoid the IPI to free the"), redirects deferred skb cleanup to a worker but leaves RPS remote-backlog scheduling on the function-call IPI path. In a fresh RT guest this still triggers do_softirq_post_smp_call_flush() from idle queue flushing. The ten earlier NAPI/RPS prerequisites are already present in v6.6, so this series reverts the workaround and backports the four upstream changes (all in upstream v6.10) in dependency order. Backlog-NAPI threads replace the RPS/defer function-call notifications; ordinary scheduler wakeup IPI traffic can still occur. Two of the changes were previously backported to ordinary 6.6.y and reverted (507692c05636, 5a530c8ead06) only because PREEMPT_RT is absent there, not for a functional defect. Backport notes -------------- Only 3/5 needs context adaptations; they are listed in that patch's commit message. The other four apply without context edits. Unlike v6.1, v6.6 keeps WRITE_ONCE(napi->list_owner, ...) because the field already exists here. Verification ------------ Each of the five stages was replayed against the base snapshot and compiled for net/core/dev.o and net/core/skbuff.o. The baseline and final RT/RPS bzImages were built with byte-identical normalized configs using GCC 9.4.0, with no compiler warnings or errors. Tests use virtme-ng 1.38, x86_64 QEMU/KVM, four vCPUs and 2 GiB memory: vng --run --cpus 4 --memory 2G \ --qemu-opts='-machine accel=kvm' --exec 'bash