Re: [RFC PATCH 2/2] arm64: Implement vmalloc based thread_info allocator

From: Catalin Marinas
Date: Mon May 25 2015 - 18:36:38 EST


On 25 May 2015, at 23:29, Arnd Bergmann <arnd@xxxxxxxx> wrote:
> On Monday 25 May 2015 19:47:15 Catalin Marinas wrote:
>> On 25 May 2015, at 13:01, Jungseok Lee <jungseoklee85@xxxxxxxxx> wrote:
>>>> Could the stack size be reduced to 8KB perhaps?
>>>
>>> I guess probably not.
>>>
>>> A commit, 845ad05e, says that 8KB is not enough to cover SpecWeb benchmark.
>>
>> We could go back to 8KB stacks if we implement support for separate IRQ
>> stack on arm64. It's not too complicated, we would have to use SP0 for (kernel) threads
>> and SP1 for IRQ handlers.
>
> I think most architectures that see a lot of benchmarks have moved to
> irqstacks at some point, that definitely sounds like a useful idea,
> even if the implementation turns out to be a bit more tricky than
> what you describe.

Of course, it's more complicated than just setting up two stacks (but I'm away for a
week and writing from a phone). We would need to deal with the initial per-CPU setup,
rescheduling following an IRQ, CPU on following power management and maybe
other issues. However, the architecture helps us a bit by allowing both SP0 and SP1 to be
used at EL1.

> There are a lot of workloads that would benefit from having lower
> per-thread memory cost.

If we keep the 16KB stack, is there any advantage in a separate IRQ one (assuming
that we won't overflow 16KB)?

Catalin--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/