Re: [PATCH v2 1/1] x86: Rename __{start,end}_init_task to __{start,end}_init_stack

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 3/21/2024 12:54 PM, Ingo Molnar wrote:

* Xin Li (Intel) <xin@xxxxxxxxx> wrote:

The stack of a task has been separated from the memory of a task_struct
struture for a long time on x86, as a result __{start,end}_init_task no
longer mark the start and end of the init_task structure, but its stack
only.

Rename __{start,end}_init_task to __{start,end}_init_stack.

Note other architectures are not affected because __{start,end}_init_task
are used on x86 only.

Signed-off-by: Xin Li (Intel) <xin@xxxxxxxxx>
---

Change since v1:
* Revert an accident insane change, init_task to init_stack (Jürgen Groß).
---
  arch/x86/include/asm/processor.h  | 4 ++--
  arch/x86/kernel/head_64.S         | 2 +-
  arch/x86/xen/xen-head.S           | 2 +-
  include/asm-generic/vmlinux.lds.h | 6 +++---
  4 files changed, 7 insertions(+), 7 deletions(-)

Note that this is now in conflict with this cleanup by Brian Gerst:

    2cb16181a1d1 x86/boot: Simplify boot stack setup

I like this patch, which does something that I'm also doing, further x86_64 doesn't have the concept of TOP_OF_KERNEL_STACK_PADDING, and I guess it was extended from x86_32 but defined to 0 just for code consistency.

Yes, FRED code uses TOP_OF_KERNEL_STACK_PADDING, but a FRED event frame could contain different amount of information for different event types, e.g., #MCE could push extra bytes of information, or perhaps even for different instances of the same event type. Thus the size of an event frame pushed by a FRED CPU is not fixed and the address of the pt_regs structure that is used to save the user level context of current task is not at a fixed offset from the top of current task kernel stack.


.. which removed __end_init_task[] entirely.


Not really, but __end_init_task[] is only used to initialize __top_init_kernel_stack.

I will rebase and send v3.

Thanks!
    Xin










[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux