From nobody Wed Feb 11 09:19:18 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C46B518A956 for ; Thu, 8 Jan 2026 15:51:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767887468; cv=none; b=g0S2nX4tvBM7PhZAAGveCC0h1eDoSU/HC2sI3iYV+NNx1g8lI7gb0e/8uk+3QqN9HHnS99JM43pTqsE84frm1cuUZ0lkdMHKeOEu+QTAALfuZYN8NbQdFLweMxOLbJwhVe+EaMQ4OSqKAKVp74QPtAe0D9UVONHHZZG9iYM+Ip4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767887468; c=relaxed/simple; bh=OoUyWpXzKoQEQQAFFRkKYxrBz6OqXOu3Z50W7ndNmZU=; h=Message-ID:Date:From:To:Cc:Subject:References:MIME-Version: Content-Type; b=iZf7hmH5Hf0k8lD5RVdcC2VPILg9ZPMPiATqw/RTUf3eDelc1evF1+kNDudzezdKm+voU4clkk2Dexli19vgXE4i7WfxSX2OB6nrGITK6dAH8Q+d4FEQ9wFJZLv0VGLr7nHSD1jTo7PoTCgSsVm4Jb6B78YpnR2n5XJmnV8vXOg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=A7SDxV37; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="A7SDxV37" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A2B4BC116C6; Thu, 8 Jan 2026 15:51:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1767887468; bh=OoUyWpXzKoQEQQAFFRkKYxrBz6OqXOu3Z50W7ndNmZU=; h=Date:From:To:Cc:Subject:References:From; b=A7SDxV378BfRWYrWUf5w33mZApn9UOV+EMnjIiXjW7ywVvfRrxqSKHk2YvhFJIy9g VmaRwP2Ff8yGO60HKwYcf91eluGdjIRmQPNtKOK1K/k62hPJc+SibrqQZJ9U/HLF9s CivpvGMNQzn37vlic7eJA/TC7G6M1dxyUip5/IYINWssqxlh8cBX+X+rVoe8lZDhkr V7OB1iKRj33wyZ6MtYxHEd4C3xlpDj8NWi+86ZimhDfu4g8On8grA8jZ4RV+Eu4JPO uN/ri2dWkL/W7SZ0Ve8D4uluaNUYbonj/Rd7zac/fVBITxvPN+zV6VZAc+wRn9ET+O QV4kEGi/AyI7w== Received: from rostedt by gandalf with local (Exim 4.99.1) (envelope-from ) id 1vdsIU-00000004aV4-0cLx; Thu, 08 Jan 2026 10:51:38 -0500 Message-ID: <20260108155137.956642850@kernel.org> User-Agent: quilt/0.68 Date: Thu, 08 Jan 2026 10:51:22 -0500 From: Steven Rostedt To: linux-kernel@vger.kernel.org Cc: Masami Hiramatsu , Mark Rutland , Mathieu Desnoyers , Andrew Morton , Wupeng Ma Subject: [for-linus][PATCH 2/5] ring-buffer: Avoid softlockup in ring_buffer_resize() during memory free References: <20260108155120.023038025@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Wupeng Ma When user resize all trace ring buffer through file 'buffer_size_kb', then in ring_buffer_resize(), kernel allocates buffer pages for each cpu in a loop. If the kernel preemption model is PREEMPT_NONE and there are many cpus and there are many buffer pages to be freed, it may not give up cpu for a long time and finally cause a softlockup. To avoid it, call cond_resched() after each cpu buffer free as Commit f6bd2c92488c ("ring-buffer: Avoid softlockup in ring_buffer_resize()") does. Detailed call trace as follow: rcu: INFO: rcu_sched self-detected stall on CPU rcu: 24-....: (14837 ticks this GP) idle=3D521c/1/0x4000000000000000 sof= tirq=3D230597/230597 fqs=3D5329 rcu: (t=3D15004 jiffies g=3D26003221 q=3D211022 ncpus=3D96) CPU: 24 UID: 0 PID: 11253 Comm: bash Kdump: loaded Tainted: G = EL 6.18.2+ #278 NONE pc : arch_local_irq_restore+0x8/0x20 arch_local_irq_restore+0x8/0x20 (P) free_frozen_page_commit+0x28c/0x3b0 __free_frozen_pages+0x1c0/0x678 ___free_pages+0xc0/0xe0 free_pages+0x3c/0x50 ring_buffer_resize.part.0+0x6a8/0x880 ring_buffer_resize+0x3c/0x58 __tracing_resize_ring_buffer.part.0+0x34/0xd8 tracing_resize_ring_buffer+0x8c/0xd0 tracing_entries_write+0x74/0xd8 vfs_write+0xcc/0x288 ksys_write+0x74/0x118 __arm64_sys_write+0x24/0x38 Cc: Link: https://patch.msgid.link/20251228065008.2396573-1-mawupeng1@huawei.com Signed-off-by: Wupeng Ma Acked-by: Masami Hiramatsu (Google) Signed-off-by: Steven Rostedt (Google) --- kernel/trace/ring_buffer.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c index 41c9f5d079be..630221b00838 100644 --- a/kernel/trace/ring_buffer.c +++ b/kernel/trace/ring_buffer.c @@ -3137,6 +3137,8 @@ int ring_buffer_resize(struct trace_buffer *buffer, u= nsigned long size, list) { list_del_init(&bpage->list); free_buffer_page(bpage); + + cond_resched(); } } out_err_unlock: --=20 2.51.0