Re: [PATCH 16/16] x86/entry/64: Move the IST stacks into cpu_entry_area

From: Andy Lutomirski
Date: Tue Nov 21 2017 - 10:34:23 EST


On Mon, Nov 20, 2017 at 11:38 PM, Ingo Molnar <mingo@xxxxxxxxxx> wrote:
>
> * Andy Lutomirski <luto@xxxxxxxxxx> wrote:
>
>> /* May not be marked __init: used by software suspend */
>> void syscall_init(void)
>> {
>> @@ -1627,7 +1637,7 @@ void cpu_init(void)
>> * set up and load the per-CPU TSS
>> */
>> if (!oist->ist[0]) {
>> - char *estacks = per_cpu(exception_stacks, cpu);
>> + char *estacks = get_cpu_entry_area(cpu)->exception_stacks;
>>
>> for (v = 0; v < N_EXCEPTION_STACKS; v++) {
>> estacks += exception_stack_sizes[v];
>
> This generates a new build warning:
>
> /home/mingo/tip/arch/x86/kernel/cpu/common.c: In function âsyscall_initâ:
> /home/mingo/tip/arch/x86/kernel/cpu/common.c:1443:6: warning: unused variable âcpuâ [-Wunused-variable]
> int cpu = smp_processor_id();
>
> because 'cpu' is now unused in the !CONFIG_IA32_EMULATION part.
>
> The naive fix is something like the patch below, untested.

I don't think I get this warning (at least not on my latest tree), but
there's an obvious cleanup to the earlier SYSCALL trampoline patch
that makes cpu be definitely used.