On 22.07.2019 15:22, Juergen Gross wrote:
> @@ -756,6 +758,7 @@ void load_system_tables(void)
> offsetof(struct tss_struct, __cacheline_filler) - 1,
> SYS_DESC_tss_busy);
>
> +per_cpu(full_gdt_loaded, cpu) = false;
> lgdt(&gdtr);
> lidt(&idtr);
>
Instead of dynamically decide whether the previous vcpu was using full
or default GDT just add a percpu variable for that purpose. This at
once removes the need for testing vcpu_ids to differ twice.
This change improves performance by 0.5% - 1% on my test machine when
doing parallel compilation.