linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Laight <David.Laight@ACULAB.COM>
To: 'Yang Mingzhe' <cainiao666999@gmail.com>,
	"tglx@linutronix.de" <tglx@linutronix.de>,
	"mingo@redhat.com" <mingo@redhat.com>,
	"bp@alien8.de" <bp@alien8.de>, "hpa@zytor.com" <hpa@zytor.com>,
	"corbet@lwn.net" <corbet@lwn.net>
Cc: "x86@kernel.org" <x86@kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>
Subject: RE: [PATCH] Documentation: x86: fix thread_info's position
Date: Tue, 10 Nov 2020 15:03:15 +0000	[thread overview]
Message-ID: <7766d351074242a8bc929b12857eed46@AcuMS.aculab.com> (raw)
In-Reply-To: <1605018060-11571-1-git-send-email-cainiao666999@gmail.com>

From: Yang Mingzhe
> Sent: 10 November 2020 14:21
> 
> The bottom of the stack is where the first item was added to the stack,
> usually at the zero offset. Actually, the thread_info structure at the
> end of the stack.

Nope, most stacks 'grow down'.
So the first item pushed is at address 8k (for 8k stacks).

> Please see attached picture:
> https://github.com/Mutated1994/kernel-beginner/blob/master/kernel-stack.md
> 
> See commits c65eacb ("sched/core: Allow putting thread_info into
> task_struct"), 15f4eae ("x86: Move thread_info into task_struct")
> and 883d50f ("scripts/gdb: fix get_thread_info").
> 
> Signed-off-by: Yang Mingzhe <cainiao666999@gmail.com>
> ---
>  Documentation/x86/kernel-stacks.rst | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/x86/kernel-stacks.rst b/Documentation/x86/kernel-stacks.rst
> index 6b0bcf0..b88b9e12 100644
> --- a/Documentation/x86/kernel-stacks.rst
> +++ b/Documentation/x86/kernel-stacks.rst
> @@ -15,7 +15,9 @@ Like all other architectures, x86_64 has a kernel stack for every
>  active thread.  These thread stacks are THREAD_SIZE (2*PAGE_SIZE) big.
>  These stacks contain useful data as long as a thread is alive or a
>  zombie. While the thread is in user space the kernel stack is empty
> -except for the thread_info structure at the bottom.
> +except for the thread_info structure at the end (since kernel 4.9, the
> +thread_info has been moved into task_struct, no longer locates at the
> +end of kernel stack).

So 'bottom' - meaning address 0 is probably right.
Not sure what happens on the few architectures where pushing values
onto the stack does increase the stack pointer.

The bit about the kernel 4.9 changes doesn't read well at all.
I think the commas are just wrong.
You could say something like:

Prior to kernel 4.9 the thread_info structure was at the bottom
of the kernel stack. kernel 4.9 moved it into the task_struct.

	David

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)


  reply	other threads:[~2020-11-10 15:03 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-10 14:21 [PATCH] Documentation: x86: fix thread_info's position Yang Mingzhe
2020-11-10 15:03 ` David Laight [this message]
2020-11-11  0:13   ` Yang Mingzhe

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=7766d351074242a8bc929b12857eed46@AcuMS.aculab.com \
    --to=david.laight@aculab.com \
    --cc=bp@alien8.de \
    --cc=cainiao666999@gmail.com \
    --cc=corbet@lwn.net \
    --cc=hpa@zytor.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=tglx@linutronix.de \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).