Re: [PATCH v12 04/11] kvm/x86: remove kvm memblock dependency

2018-07-06 Thread Paolo Bonzini
On 06/07/2018 17:03, Pavel Tatashin wrote: > I think using __initdata during init_hypervisor_platform() + > allocating during x86_init.hyper.guest_late_init() is a good approach. > My only concern, it would mean we need to init/uinit/init clock for > boot cpu. Does it mean the clock continuity is

Re: [PATCH v12 04/11] kvm/x86: remove kvm memblock dependency

2018-07-06 Thread Pavel Tatashin
I think using __initdata during init_hypervisor_platform() + allocating during x86_init.hyper.guest_late_init() is a good approach. My only concern, it would mean we need to init/uinit/init clock for boot cpu. Does it mean the clock continuity is preserved during the transition? I believe so, but

Re: [PATCH v12 04/11] kvm/x86: remove kvm memblock dependency

2018-07-06 Thread Thomas Gleixner
On Fri, 6 Jul 2018, Thomas Gleixner wrote: > On Fri, 6 Jul 2018, Paolo Bonzini wrote: > > On 06/07/2018 11:45, Thomas Gleixner wrote: > > >> One possibility is to introduce another layer of indirection: in > > >> addition to the percpu pvclock data, add a percpu pointer to the pvclock > > >> data a

Re: [PATCH v12 04/11] kvm/x86: remove kvm memblock dependency

2018-07-06 Thread Thomas Gleixner
On Fri, 6 Jul 2018, Paolo Bonzini wrote: > On 06/07/2018 11:45, Thomas Gleixner wrote: > >> One possibility is to introduce another layer of indirection: in > >> addition to the percpu pvclock data, add a percpu pointer to the pvclock > >> data and initialize it to point to a page-aligned variable

Re: [PATCH v12 04/11] kvm/x86: remove kvm memblock dependency

2018-07-06 Thread Paolo Bonzini
On 06/07/2018 11:45, Thomas Gleixner wrote: >> One possibility is to introduce another layer of indirection: in >> addition to the percpu pvclock data, add a percpu pointer to the pvclock >> data and initialize it to point to a page-aligned variable in BSS. CPU0 >> (used by vDSO) doesn't touch the

Re: [PATCH v12 04/11] kvm/x86: remove kvm memblock dependency

2018-07-06 Thread Thomas Gleixner
On Fri, 6 Jul 2018, Paolo Bonzini wrote: > On 06/07/2018 11:24, Thomas Gleixner wrote: > >> The reason for this is to avoid wasting a lot of BSS memory when KVM is > >> not in use. Thomas is going to send his take on this! > > Got it working with per cpu variables, but there is a different subtle

Re: [PATCH v12 04/11] kvm/x86: remove kvm memblock dependency

2018-07-06 Thread Paolo Bonzini
On 06/07/2018 11:24, Thomas Gleixner wrote: >> The reason for this is to avoid wasting a lot of BSS memory when KVM is >> not in use. Thomas is going to send his take on this! > Got it working with per cpu variables, but there is a different subtle > issue with that. > > The pvclock data is mappe

Re: [PATCH v12 04/11] kvm/x86: remove kvm memblock dependency

2018-07-06 Thread Thomas Gleixner
On Thu, 5 Jul 2018, Paolo Bonzini wrote: > On 21/06/2018 23:25, Pavel Tatashin wrote: > > KVM clock is initialized later compared to other hypervisor because it has > > dependency on memblock allocator. > > > > Lets bring it inline with other hypervisors by removing this dependency by > > using me

Re: [PATCH v12 04/11] kvm/x86: remove kvm memblock dependency

2018-07-05 Thread Paolo Bonzini
On 21/06/2018 23:25, Pavel Tatashin wrote: > KVM clock is initialized later compared to other hypervisor because it has > dependency on memblock allocator. > > Lets bring it inline with other hypervisors by removing this dependency by > using memory from BSS instead of allocating it. > > The bene

Re: [PATCH v12 04/11] kvm/x86: remove kvm memblock dependency

2018-06-23 Thread Thomas Gleixner
On Thu, 21 Jun 2018, Pavel Tatashin wrote: > diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c > index 5b2300b818af..c65c232d3ddd 100644 > --- a/arch/x86/kernel/kvm.c > +++ b/arch/x86/kernel/kvm.c > @@ -628,6 +628,7 @@ const __initconst struct hypervisor_x86 x86_hyper_kvm = { > .name

[PATCH v12 04/11] kvm/x86: remove kvm memblock dependency

2018-06-21 Thread Pavel Tatashin
KVM clock is initialized later compared to other hypervisor because it has dependency on memblock allocator. Lets bring it inline with other hypervisors by removing this dependency by using memory from BSS instead of allocating it. The benefits: - remove ifdef from common code - earlier availabil