Messages in this thread | | | Date | Mon, 8 Oct 2018 10:36:24 +0200 | From | Ingo Molnar <> | Subject | Re: [PATCH v6 8/8] x86/vdso: Move out the CPU initialization |
| |
* Chang S. Bae <chang.seok.bae@intel.com> wrote:
> The CPU and node number will be written, as early enough, > to the segment limit of per CPU data and TSC_AUX MSR entry. > The information has been retrieved by vgetcpu in user space > and will be also loaded from the paranoid entry, when > FSGSBASE enabled. > > The new setup function is named after the getcpu(2) system > call, and will be called during each CPU initialization > (before setting up IST). It makes a facility useful to both > the kernel and userspace unconditionally available much > sooner. > > The change brings a substantial code removal. The redundant > setting of the segment in entry/vdso/vma.c and hotplug > notifier are removed.
The title and the changelog is totally unreadable, full of grammar errors which makes it actively misleading...
A good changelog should explain not what it does, but _why_ it is done:
x86/vdso: Initialize the CPU/node NR segment descriptor earlier
Currently the CPU/node NR segment descriptor (GDT_ENTRY_CPU_NUMBER) is initialized relatively late during CPU init, from the vCPU code, which has a number of disadvantages, such as hotplug CPU notifiers and SMP cross-calls.
Instead just initialize it much earlier, directly in cpu_init().
This reduces complexity and increases robustness.
I've edited the changelog, but please keep this in mind for future submissions.
I also made a number of other cleanups to the code, will push them out after some testing.
Thanks,
Ingo
| |