2021-10-09 18:52:33

by Alejandro Colomar

[permalink] [raw]
Subject: Re: [Bug 214661] New: THREAD_SIZE on x86_64 is 4*PAGE_SIZE, not 2*PAGE_SIZE

CC += LKML

Hello,

On 10/9/21 7:19 AM, [email protected] wrote:
> https://bugzilla.kernel.org/show_bug.cgi?id=214661
>
> Bug ID: 214661
> Summary: THREAD_SIZE on x86_64 is 4*PAGE_SIZE, not 2*PAGE_SIZE
> Product: Documentation
> Version: unspecified
> Hardware: All
> OS: Linux
> Status: NEW
> Severity: normal
> Priority: P1
> Component: man-pages

This is incorrect.

The internal kernel documentation is not part of the man-pages.
I checked to see if the manual pages need an update, but I couldn't find
anything about THREAD_SIZE:

alx@sqli:~/src/linux/man-pages$ grep -rn THREAD_SIZE
alx@sqli:~/src/linux/man-pages$

I can't edit the component, so maybe you need to close the bug and open
a new one in a different component.

Anyway, thanks for the report!

Alex


> Assignee: [email protected]
> Reporter: [email protected]
> Regression: No
>
> According to '/root/linux/arch/x86/include/asm/page_64_types.h', THREAD_SIZE on
> x86_64 now is 4*PAGE_SIZE:
>
> #ifdef CONFIG_KASAN
> #define KASAN_STACK_ORDER 1
> #else
> #define KASAN_STACK_ORDER 0
> #endif
>
> #define THREAD_SIZE_ORDER (2 + KASAN_STACK_ORDER)
> #define THREAD_SIZE (PAGE_SIZE << THREAD_SIZE_ORDER)
>
> However, the Documentation/x86/kernel-stacks.rst shows that THREAD_SIZE on
> x86_64 is 2*PAGE_SIZE:
>
> Like all other architectures, x86_64 has a kernel stack for every
> active thread. These thread stacks are THREAD_SIZE (2*PAGE_SIZE) big.
>
> I am not quite sure which is correct, Maybe the document needs an upgrade?
> Thanks a lot for any reply.
>


--
Alejandro Colomar
Linux man-pages comaintainer; https://www.kernel.org/doc/man-pages/
http://www.alejandro-colomar.es/