Re: [Xen-devel] [PATCH v3] x86: do not enable global pages when virtualized on AMD hardware

2019-12-09 Thread Jan Beulich
On 09.12.2019 16:52, Roger Pau Monné wrote: > On Mon, Dec 09, 2019 at 04:39:58PM +0100, Jan Beulich wrote: >> On 09.12.2019 16:36, Roger Pau Monné wrote: >>> On Mon, Dec 09, 2019 at 04:04:51PM +0100, Jan Beulich wrote: On 09.12.2019 15:46, Roger Pau Monné wrote: > On Mon, Dec 09, 2019 at 0

Re: [Xen-devel] [PATCH v3] x86: do not enable global pages when virtualized on AMD hardware

2019-12-09 Thread Roger Pau Monné
On Mon, Dec 09, 2019 at 04:39:58PM +0100, Jan Beulich wrote: > On 09.12.2019 16:36, Roger Pau Monné wrote: > > On Mon, Dec 09, 2019 at 04:04:51PM +0100, Jan Beulich wrote: > >> On 09.12.2019 15:46, Roger Pau Monné wrote: > >>> On Mon, Dec 09, 2019 at 03:21:28PM +0100, Jan Beulich wrote: > On 0

Re: [Xen-devel] [PATCH v3] x86: do not enable global pages when virtualized on AMD hardware

2019-12-09 Thread Jan Beulich
On 09.12.2019 16:36, Roger Pau Monné wrote: > On Mon, Dec 09, 2019 at 04:04:51PM +0100, Jan Beulich wrote: >> On 09.12.2019 15:46, Roger Pau Monné wrote: >>> On Mon, Dec 09, 2019 at 03:21:28PM +0100, Jan Beulich wrote: On 09.12.2019 11:20, Roger Pau Monné wrote: > On Wed, Dec 04, 2019 at 0

Re: [Xen-devel] [PATCH v3] x86: do not enable global pages when virtualized on AMD hardware

2019-12-09 Thread Roger Pau Monné
On Mon, Dec 09, 2019 at 04:04:51PM +0100, Jan Beulich wrote: > On 09.12.2019 15:46, Roger Pau Monné wrote: > > On Mon, Dec 09, 2019 at 03:21:28PM +0100, Jan Beulich wrote: > >> On 09.12.2019 11:20, Roger Pau Monné wrote: > >>> On Wed, Dec 04, 2019 at 06:05:11PM +0100, Jan Beulich wrote: > On 0

Re: [Xen-devel] [PATCH v3] x86: do not enable global pages when virtualized on AMD hardware

2019-12-09 Thread Jan Beulich
On 09.12.2019 15:46, Roger Pau Monné wrote: > On Mon, Dec 09, 2019 at 03:21:28PM +0100, Jan Beulich wrote: >> On 09.12.2019 11:20, Roger Pau Monné wrote: >>> On Wed, Dec 04, 2019 at 06:05:11PM +0100, Jan Beulich wrote: On 04.12.2019 17:18, Roger Pau Monné wrote: > On Wed, Dec 04, 2019 at 0

Re: [Xen-devel] [PATCH v3] x86: do not enable global pages when virtualized on AMD hardware

2019-12-09 Thread Roger Pau Monné
On Mon, Dec 09, 2019 at 03:21:28PM +0100, Jan Beulich wrote: > On 09.12.2019 11:20, Roger Pau Monné wrote: > > On Wed, Dec 04, 2019 at 06:05:11PM +0100, Jan Beulich wrote: > >> On 04.12.2019 17:18, Roger Pau Monné wrote: > >>> On Wed, Dec 04, 2019 at 05:11:42PM +0100, Jan Beulich wrote: > On 0

Re: [Xen-devel] [PATCH v3] x86: do not enable global pages when virtualized on AMD hardware

2019-12-09 Thread Jan Beulich
On 09.12.2019 11:20, Roger Pau Monné wrote: > On Wed, Dec 04, 2019 at 06:05:11PM +0100, Jan Beulich wrote: >> On 04.12.2019 17:18, Roger Pau Monné wrote: >>> On Wed, Dec 04, 2019 at 05:11:42PM +0100, Jan Beulich wrote: On 04.12.2019 16:12, Roger Pau Monne wrote: > @@ -130,7 +143,7 @@ unsig

Re: [Xen-devel] [PATCH v3] x86: do not enable global pages when virtualized on AMD hardware

2019-12-09 Thread Roger Pau Monné
On Wed, Dec 04, 2019 at 06:05:11PM +0100, Jan Beulich wrote: > On 04.12.2019 17:18, Roger Pau Monné wrote: > > On Wed, Dec 04, 2019 at 05:11:42PM +0100, Jan Beulich wrote: > >> On 04.12.2019 16:12, Roger Pau Monne wrote: > >>> @@ -130,7 +143,7 @@ unsigned long pv_make_cr4(const struct vcpu *v) > >>

Re: [Xen-devel] [PATCH v3] x86: do not enable global pages when virtualized on AMD hardware

2019-12-04 Thread Jan Beulich
On 04.12.2019 17:18, Roger Pau Monné wrote: > On Wed, Dec 04, 2019 at 05:11:42PM +0100, Jan Beulich wrote: >> On 04.12.2019 16:12, Roger Pau Monne wrote: >>> @@ -130,7 +143,7 @@ unsigned long pv_make_cr4(const struct vcpu *v) >>> */ >>> if ( d->arch.pv.pcid ) >>> cr4 |= X86_CR4_

Re: [Xen-devel] [PATCH v3] x86: do not enable global pages when virtualized on AMD hardware

2019-12-04 Thread Roger Pau Monné
On Wed, Dec 04, 2019 at 05:11:42PM +0100, Jan Beulich wrote: > On 04.12.2019 16:12, Roger Pau Monne wrote: > > --- a/xen/arch/x86/pv/domain.c > > +++ b/xen/arch/x86/pv/domain.c > > @@ -118,6 +118,19 @@ unsigned long pv_fixup_guest_cr4(const struct vcpu *v, > > unsigned long cr4) > > (

Re: [Xen-devel] [PATCH v3] x86: do not enable global pages when virtualized on AMD hardware

2019-12-04 Thread Jan Beulich
On 04.12.2019 16:12, Roger Pau Monne wrote: > --- a/xen/arch/x86/pv/domain.c > +++ b/xen/arch/x86/pv/domain.c > @@ -118,6 +118,19 @@ unsigned long pv_fixup_guest_cr4(const struct vcpu *v, > unsigned long cr4) > (mmu_cr4_features & PV_CR4_GUEST_VISIBLE_MASK)); > } > > +static int8_t

[Xen-devel] [PATCH v3] x86: do not enable global pages when virtualized on AMD hardware

2019-12-04 Thread Roger Pau Monne
When using global pages a full tlb flush can only be performed by toggling the PGE bit in CR4, which is usually quite expensive in terms of performance when running virtualized. This is specially relevant on AMD hardware, which doesn't have the ability to do selective CR4 trapping, but can also be