Bug 214661 - THREAD_SIZE on x86_64 is 4*PAGE_SIZE, not 2*PAGE_SIZE
Summary: THREAD_SIZE on x86_64 is 4*PAGE_SIZE, not 2*PAGE_SIZE
Status: RESOLVED WILL_FIX_LATER
Alias: None
Product: Documentation
Classification: Unclassified
Component: man-pages (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: documentation_man-pages@kernel-bugs.osdl.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-10-09 05:19 UTC by silenceshell
Modified: 2021-10-10 00:28 UTC (History)
0 users

See Also:
Kernel Version:
Subsystem:
Regression: No
Bisected commit-id:


Attachments

Description silenceshell 2021-10-09 05:19:06 UTC
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.
Comment 1 Alejandro Colomar 2021-10-09 18:51:30 UTC
CC += LKML

Hello,

On 10/9/21 7:19 AM, bugzilla-daemon@bugzilla.kernel.org 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: documentation_man-pages@kernel-bugs.osdl.org
>            Reporter: me@ieevee.com
>          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.
>
Comment 2 silenceshell 2021-10-10 00:28:10 UTC
Thanks for your reply!

Note You need to log in before you can comment on or make changes to this bug.