From: Steven Rostedt <rostedt@goodmis.org>
To: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>,
David Stevens <stevensd@google.com>,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will@kernel.org>, Thomas Gleixner <tglx@kernel.org>,
Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
Dave Hansen <dave.hansen@linux.intel.com>,
x86@kernel.org, "H . Peter Anvin" <hpa@zytor.com>,
Andrew Morton <akpm@linux-foundation.org>,
Dave Chinner <david@fromorbit.com>, Qi Zheng <qi.zheng@linux.dev>,
Roman Gushchin <roman.gushchin@linux.dev>,
Muchun Song <muchun.song@linux.dev>,
Juri Lelli <juri.lelli@redhat.com>,
Vincent Guittot <vincent.guittot@linaro.org>,
Dietmar Eggemann <dietmar.eggemann@arm.com>,
Ben Segall <bsegall@google.com>, Mel Gorman <mgorman@suse.de>,
Valentin Schneider <vschneid@redhat.com>,
K Prateek Nayak <kprateek.nayak@amd.com>,
Uladzislau Rezki <urezki@gmail.com>,
David Hildenbrand <david@kernel.org>,
Lorenzo Stoakes <ljs@kernel.org>,
"Liam R . Howlett" <liam@infradead.org>,
Vlastimil Babka <vbabka@kernel.org>,
Mike Rapoport <rppt@kernel.org>,
Suren Baghdasaryan <surenb@google.com>,
Michal Hocko <mhocko@suse.com>, Kees Cook <kees@kernel.org>,
Clark Williams <clrkwllms@kernel.org>,
suleiman@google.com, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, linux-mm@kvack.org,
linux-rt-devel@lists.linux.dev
Subject: Re: [RFC 06/10] Reclaim memory from blocked kernel stacks
Date: Fri, 28 Aug 2026 15:08:36 -0400 [thread overview]
Message-ID: <20260828150836.2d5b378c@gandalf.local.home> (raw)
In-Reply-To: <20260828151018.HnR9xV1N@linutronix.de>
On Fri, 28 Aug 2026 17:10:18 +0200
Sebastian Andrzej Siewior <bigeasy@linutronix.de> wrote:
> > THREAD_SIZE_ORDER 2
> > THREAD_SIZE (PAGE_SIZE << THREAD_SIZE_ORDER)
> >
> > that makes for 4 pages.
>
> Oh. I wasn't aware that we have 16kib stacks these days. But looking
> at it we have it now for over 10 years… Judging from 6538b8ea886e4
> ("x86_64: expand kernel stack to 16K") it might be temporary and things
> are better now? Arm64 has a different story according to 845ad05ec31e0
> ("arm64: Change kernel stack size to 16K"). Risc-V also mentions "for
> now" in 0cac21b02ba5f ("riscv: use 16KB kernel stack on 64-bit").
>
> I just booted my XFS kvm box and did things and 8KiB works so far.
If you want to see how big your stack is and where its used, you can run
the stack tracer:
# trace-cmd stack --start
[wait]
# trace-cmd stack
(stack tracer running)
Depth Size Location (41 entries)
----- ---- --------
0) 5032 48 choose_idle_cpu+0x5/0x100
1) 4984 296 select_task_rq_fair+0xa84/0x2b40
2) 4688 104 try_to_wake_up+0x168/0x7e0
3) 4584 16 task_work_add+0xd7/0xf0
4) 4568 16 io_req_normal_work_add+0x75/0xb0
5) 4552 40 io_poll_wake+0x10f/0x160
6) 4512 64 __wake_up_common+0x72/0xa0
7) 4448 40 __wake_up_sync_key+0x43/0x60
8) 4408 24 sock_def_readable+0x46/0xe0
9) 4384 80 tun_net_xmit+0x240/0x550 [tun]
10) 4304 80 dev_hard_start_xmit+0x63/0x1e0
11) 4224 256 __dev_queue_xmit+0x880/0x10b0
12) 3968 24 br_dev_queue_push_xmit+0x62/0xf0 [bridge]
13) 3944 80 br_dev_xmit+0x15e/0x4a0 [bridge]
14) 3864 80 dev_hard_start_xmit+0x63/0x1e0
15) 3784 256 __dev_queue_xmit+0x880/0x10b0
16) 3528 72 ip_finish_output2+0x2ce/0x650
17) 3456 104 ip_output+0x63/0x110
18) 3352 72 __ip_queue_xmit+0x16f/0x470
19) 3280 232 __tcp_transmit_skb+0xcb5/0x1140
20) 3048 120 tcp_write_xmit+0x5aa/0x1760
21) 2928 24 __tcp_push_pending_frames+0x39/0x110
22) 2904 104 tcp_rcv_established+0x37f/0xeb0
23) 2800 32 tcp_v4_do_rcv+0x13f/0x300
24) 2768 168 tcp_v4_rcv+0xc01/0x1300
25) 2600 48 ip_protocol_deliver_rcu+0x35/0x1b0
26) 2552 24 ip_local_deliver_finish+0x85/0x100
27) 2528 40 __netif_receive_skb_one_core+0x85/0xa0
28) 2488 56 netif_receive_skb+0x127/0x180
29) 2432 104 br_handle_frame_finish+0x428/0x680 [bridge]
30) 2328 40 br_handle_frame+0x132/0x2a0 [bridge]
31) 2288 280 __netif_receive_skb_core.constprop.0+0x16e/0xdf0
32) 2008 40 __netif_receive_skb_one_core+0x39/0xa0
33) 1968 56 netif_receive_skb+0x127/0x180
34) 1912 256 tun_get_user+0xbd0/0x1260 [tun]
35) 1656 56 tun_chr_write_iter+0x77/0xba [tun]
36) 1600 88 do_iter_readv_writev+0x161/0x260
37) 1512 256 vfs_writev+0x168/0x3c0
38) 1256 80 do_writev+0x7f/0x110
39) 1176 984 do_syscall_64+0xaa/0x670
40) 192 192 entry_SYSCALL_64_after_hwframe+0x76/0x7e
Note, it only monitors task context (not interrupt).
-- Steve
next prev parent reply other threads:[~2026-08-28 19:08 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-27 23:29 [RFC 00/10] Reclaimable kernel stacks David Stevens
2026-08-27 23:29 ` [RFC 01/10] Add !MEMCG memcg_list_lru_alloc implementation David Stevens
2026-08-27 23:29 ` [RFC 02/10] mm/vmalloc: Skip vmallocinfo NUMA stats for VM_SPARSE David Stevens
2026-08-27 23:29 ` [RFC 03/10] fork: refactor vmap stack alloc/free into helpers David Stevens
2026-08-27 23:29 ` [RFC 04/10] mm: vmalloc: support creating aligned vm areas David Stevens
2026-08-27 23:29 ` [RFC 05/10] fork: allocate reclaimable stacks with VM_SPARSE David Stevens
2026-08-27 23:29 ` [RFC 06/10] Reclaim memory from blocked kernel stacks David Stevens
2026-08-27 23:53 ` sashiko-bot
2026-08-28 11:54 ` Peter Zijlstra
2026-08-28 12:01 ` Peter Zijlstra
2026-08-28 12:04 ` Peter Zijlstra
2026-08-29 0:18 ` David Stevens
2026-08-29 8:39 ` Peter Zijlstra
2026-08-29 8:43 ` Peter Zijlstra
2026-08-28 12:41 ` Peter Zijlstra
2026-08-28 12:57 ` Peter Zijlstra
2026-08-28 23:33 ` David Stevens
2026-08-28 13:36 ` Sebastian Andrzej Siewior
2026-08-28 13:59 ` Peter Zijlstra
2026-08-28 14:25 ` Peter Zijlstra
2026-08-28 15:58 ` Sebastian Andrzej Siewior
2026-08-28 15:10 ` Sebastian Andrzej Siewior
2026-08-28 19:08 ` Steven Rostedt [this message]
2026-08-28 19:13 ` Steven Rostedt
2026-08-28 19:17 ` Steven Rostedt
2026-08-28 20:50 ` David Stevens
2026-08-29 8:49 ` Peter Zijlstra
2026-08-29 14:49 ` Matthew Wilcox
2026-08-28 21:17 ` David Stevens
2026-08-27 23:29 ` [RFC 07/10] Reclaim stacks via a shrinker David Stevens
2026-08-27 23:29 ` [RFC 08/10] Set PF_RECLAIMABLE_STACK in various places David Stevens
2026-08-27 23:43 ` sashiko-bot
2026-08-28 6:33 ` K Prateek Nayak
2026-08-27 23:29 ` [RFC 09/10] x86: Enable reclaimable stacks David Stevens
2026-08-27 23:29 ` [RFC 10/10] arm64: " David Stevens
2026-08-28 12:47 ` [RFC 00/10] Reclaimable kernel stacks Peter Zijlstra
2026-08-28 14:33 ` Steven Rostedt
2026-08-28 14:35 ` Peter Zijlstra
2026-08-28 14:45 ` Peter Zijlstra
2026-08-28 16:10 ` Steven Rostedt
2026-08-28 17:58 ` David Stevens
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260828150836.2d5b378c@gandalf.local.home \
--to=rostedt@goodmis.org \
--cc=akpm@linux-foundation.org \
--cc=bigeasy@linutronix.de \
--cc=bp@alien8.de \
--cc=bsegall@google.com \
--cc=catalin.marinas@arm.com \
--cc=clrkwllms@kernel.org \
--cc=dave.hansen@linux.intel.com \
--cc=david@fromorbit.com \
--cc=david@kernel.org \
--cc=dietmar.eggemann@arm.com \
--cc=hpa@zytor.com \
--cc=juri.lelli@redhat.com \
--cc=kees@kernel.org \
--cc=kprateek.nayak@amd.com \
--cc=liam@infradead.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-rt-devel@lists.linux.dev \
--cc=ljs@kernel.org \
--cc=mgorman@suse.de \
--cc=mhocko@suse.com \
--cc=mingo@redhat.com \
--cc=muchun.song@linux.dev \
--cc=peterz@infradead.org \
--cc=qi.zheng@linux.dev \
--cc=roman.gushchin@linux.dev \
--cc=rppt@kernel.org \
--cc=stevensd@google.com \
--cc=suleiman@google.com \
--cc=surenb@google.com \
--cc=tglx@kernel.org \
--cc=urezki@gmail.com \
--cc=vbabka@kernel.org \
--cc=vincent.guittot@linaro.org \
--cc=vschneid@redhat.com \
--cc=will@kernel.org \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.