Re: [RFC PATCH v3 4/7] powerpc: regain entire stack space
From: Christophe LEROY <hidden>
Date: 2018-10-03 09:30:34
Also in:
lkml
Le 03/10/2018 à 09:07, Nicholas Piggin a écrit :
On Wed, 3 Oct 2018 08:45:25 +0200 Christophe LEROY [off-list ref] wrote:quoted
Le 03/10/2018 à 08:30, Nicholas Piggin a écrit :quoted
On Wed, 3 Oct 2018 07:52:59 +0200 Christophe LEROY [off-list ref] wrote:quoted
Le 03/10/2018 à 07:34, Nicholas Piggin a écrit :quoted
On Mon, 1 Oct 2018 12:30:25 +0000 (UTC) Christophe Leroy [off-list ref] wrote:quoted
thread_info is not anymore in the stack, so the entire stack can now be used.Nice.quoted
In the meantime, all pointers to the stacks are not anymore pointers to thread_info so this patch changes them to void*Wasn't this previously effectively already the case with patch 3/7? You had thread_info sized space left there, but it was not used or initialized right? Does it make sense to move this part of it to the previous patch?Not really. In 3/7 I changed the prototypes of two functions that really used the pointer as a task pointer only.I meant 2/7 here sorry.quoted
quoted
Here it change things that before 4/7 were really used as both stack pointers and thread_info pointers.And here I meant 3/7quoted
What uses it as a thread_info pointer? It seems more like a stack with some amount of unused space in it but that's all.Before 3/7, we have void do_softirq_own_stack(void) { struct thread_info *curtp, *irqtp; curtp = current_thread_info(); irqtp = softirq_ctx[smp_processor_id()]; irqtp->task = curtp->task; irqtp->flags = 0; call_do_softirq(irqtp); irqtp->task = NULL; /* Set any flag that may have been set on the * alternate stack */ if (irqtp->flags) set_bits(irqtp->flags, &curtp->flags); } After 3/7, we have void do_softirq_own_stack(void) { struct thread_info *irqtp; irqtp = softirq_ctx[smp_processor_id()]; call_do_softirq(irqtp); } So now only we can change irqtp to void* can't we ?In patch 3 we can, right? That's what I mean by moving from thread_info * to void * in patch 3 rather than 4.
Ah ok, that's what you meant. Sorry.
But if you prefer not to, it's fine. Maybe it keeps patch 3 a little smaller.
Yes indeed, that's the idea, keep patch 3 to the strict minimum and do cleanups afterwards. Christophe
Thanks, Nick