On 1/5/2016 7:00 AM, Christoffer Dall wrote:
> On Sat, Dec 26, 2015 at 01:54:55PM -0800, Mario Smarduch wrote:
>> Add helper functions to enable access to fp/smid on guest entry and save host
>> fpexc on vcpu put, check if fp/simd registers are dirty and add new vcpu
>> fie
Add fp/simd context switch function callable from host kernel mode.
Signed-off-by: Mario Smarduch <m.smard...@samsung.com>
---
arch/arm/kvm/Makefile| 2 +-
arch/arm/kvm/fpsimd_switch.S | 47
2 files changed, 48 insertions(+), 1 de
tr branch label
- Fixed handling of FPEXC to restore guest and host versions on vcpu_put
- Tested arm32/arm64
- rebased to 4.3-rc2
- changed a couple register accesses from 64 to 32 bit
Mario Smarduch (6):
Introduce armv7 fp/simd vcpu fields and helpers
Introduce host fp/simd context switch fu
Add helper functions to enable access to fp/smid on guest entry and save host
fpexc on vcpu put, check if fp/simd registers are dirty and add new vcpu
fields.
Signed-off-by: Mario Smarduch <m.smard...@samsung.com>
---
arch/arm/include/asm/kvm_emulate.h
Enable armv7 enhanced fp/simd context switch. Guest and host registers are only
context switched on first access and vcpu put.
Signed-off-by: Mario Smarduch <m.smard...@samsung.com>
---
arch/arm/include/asm/kvm_host.h | 2 ++
arch/arm/kernel/asm-offsets.c | 1 +
arch/arm/kvm
set_hcptr is no longer used so delete it.
Signed-off-by: Mario Smarduch <m.smard...@samsung.com>
---
arch/arm/kvm/interrupts_head.S | 29 -
1 file changed, 29 deletions(-)
diff --git a/arch/arm/kvm/interrupts_head.S b/arch/arm/kvm/interrupts_head.S
index 5
-by: Mario Smarduch <m.smard...@samsung.com>
---
arch/arm/include/asm/kvm_emulate.h | 12
arch/arm64/include/asm/kvm_asm.h | 5 +
arch/arm64/include/asm/kvm_emulate.h | 26 --
arch/arm64/include/asm/kvm_host.h| 12 +++-
arch/arm64/k
Enable armv8 enhanced fp/simd context switch. Guest and host registers are only
context switched on first access and vcpu put.
Signed-off-by: Mario Smarduch <m.smard...@samsung.com>
---
arch/arm/kvm/arm.c | 13 +++--
arch/arm64/kernel/asm-offsets.c | 1 +
arch/arm64/k
On 12/22/2015 12:06 AM, Christoffer Dall wrote:
> On Mon, Dec 21, 2015 at 11:34:25AM -0800, Mario Smarduch wrote:
>>
>>
>> On 12/18/2015 11:45 PM, Christoffer Dall wrote:
>>> On Fri, Dec 18, 2015 at 05:17:00PM -0800, Mario Smarduch wrote:
>>>> On
On 12/18/2015 11:45 PM, Christoffer Dall wrote:
> On Fri, Dec 18, 2015 at 05:17:00PM -0800, Mario Smarduch wrote:
>> On 12/18/2015 5:54 AM, Christoffer Dall wrote:
>>> On Sun, Dec 06, 2015 at 05:07:14PM -0800, Mario Smarduch wrote:
>>>> This patch tracks armv7 an
On 12/18/2015 5:49 AM, Christoffer Dall wrote:
> On Sun, Dec 06, 2015 at 05:07:13PM -0800, Mario Smarduch wrote:
>> This patch tracks armv7 fp/simd hardware state with hcptr register.
>> On vcpu_load saves host fpexc, enables FP access, and sets trapping
>> on fp/simd acc
On 12/18/2015 5:54 AM, Christoffer Dall wrote:
> On Sun, Dec 06, 2015 at 05:07:14PM -0800, Mario Smarduch wrote:
>> This patch tracks armv7 and armv8 fp/simd hardware state with cptr_el2
>> register.
>> On vcpu_load for 32 bit guests enable FP access, and enable fp/simd
>
On 12/18/2015 5:07 AM, Christoffer Dall wrote:
> On Sun, Dec 06, 2015 at 05:07:12PM -0800, Mario Smarduch wrote:
>> This patch adds vcpu fields to configure hcptr trap register which is also
>> used
>> to determine if fp/simd registers are dirty. Adds a field t
On 12/11/2015 10:29 AM, Marc Zyngier wrote:
> Hi Mario,
>
> On 11/12/15 03:24, Mario Smarduch wrote:
>> Hi Marc,
>>
>> On 12/7/2015 2:53 AM, Marc Zyngier wrote:
>>> Implement the system register save/restore as a direct translation of
>>> the assem
Hi Marc,
On 12/7/2015 2:53 AM, Marc Zyngier wrote:
> Implement the system register save/restore as a direct translation of
> the assembly code version.
>
> Signed-off-by: Marc Zyngier
> Reviewed-by: Christoffer Dall
> ---
>
On 12/7/2015 8:52 AM, Marc Zyngier wrote:
> Hi Mario,
>
> On 07/12/15 16:40, Mario Smarduch wrote:
>> Hi Marc,
>>
>> On 12/7/2015 2:53 AM, Marc Zyngier wrote:
>>> Implement the vgic-v3 save restore as a direct translation of
>>> the assembly code
Hi Marc,
On 12/7/2015 2:53 AM, Marc Zyngier wrote:
> Implement the vgic-v3 save restore as a direct translation of
> the assembly code version.
>
> Signed-off-by: Marc Zyngier
> ---
> arch/arm64/kvm/hyp/Makefile | 1 +
> arch/arm64/kvm/hyp/hyp.h| 3 +
>
On 12/7/2015 10:20 AM, Marc Zyngier wrote:
> On 07/12/15 18:05, Mario Smarduch wrote:
>>
>>
>> On 12/7/2015 9:37 AM, Marc Zyngier wrote:
[...]
>>>
>>
>> I was thinking something like 'current_lr[VGIC_V3_LR_INDEX(...)]'.
>
> That doesn't
On 12/7/2015 2:53 AM, Marc Zyngier wrote:
> Implement the timer save restore as a direct translation of
> the assembly code version.
>
> Signed-off-by: Marc Zyngier
> ---
> arch/arm64/kvm/hyp/Makefile | 1 +
> arch/arm64/kvm/hyp/hyp.h | 3 ++
>
On 12/7/2015 9:37 AM, Marc Zyngier wrote:
> On 07/12/15 17:18, Mario Smarduch wrote:
>>
>>
>> On 12/7/2015 8:52 AM, Marc Zyngier wrote:
>>> Hi Mario,
>>>
>>> On 07/12/15 16:40, Mario Smarduch wrote:
>>>> Hi Marc,
>>>>
&g
64 to 32 bit
Mario Smarduch (3):
add hooks for armv7 fp/simd lazy switch support
enable enhanced armv7 fp/simd lazy switch
enable enhanced armv8 fp/simd lazy switch
arch/arm/include/asm/kvm_emulate.h | 55 ++
arch/arm/include/asm/kvm_host.h | 9 +++
arch/ar
if trap bits are cleared save guest and restore host context and
always restore host fpexc.
Signed-off-by: Mario Smarduch <m.smard...@samsung.com>
---
arch/arm/include/asm/kvm_emulate.h | 50
arch/arm/include/asm/kvm_host.h | 1 +
arch/arm/kvm/Ma
This patch adds vcpu fields to configure hcptr trap register which is also used
to determine if fp/simd registers are dirty. Adds a field to save host FPEXC,
and offsets associated offsets.
Signed-off-by: Mario Smarduch <m.smard...@samsung.com>
---
arch/arm/include/asm/kvm_host
vcpu
lazy mode. On vcpu_put if trap bits are clear save guest and restore host
context and also save 32 bit guest fpexc register.
Signed-off-by: Mario Smarduch <m.smard...@samsung.com>
---
arch/arm/include/asm/kvm_emulate.h | 5 ++
arch/arm/include/asm/kvm_host.h | 2 +
arch/a
On 12/3/2015 7:46 AM, Marc Zyngier wrote:
> On 14/11/15 22:12, Mario Smarduch wrote:
>> This patch adds vcpu fields to track lazy state, save host FPEXC, and
>> offsets to fields.
>>
>> Signed-off-by: Mario Smarduch <m.smard...@samsung.com>
>> ---
On 12/3/2015 11:24 AM, Marc Zyngier wrote:
> On 03/12/15 19:21, Mario Smarduch wrote:
>>
>>
>> On 12/3/2015 7:46 AM, Marc Zyngier wrote:
>>> On 14/11/15 22:12, Mario Smarduch wrote:
>>>> This patch adds vcpu fields to track lazy state, s
On 12/3/2015 8:13 AM, Marc Zyngier wrote:
> On 14/11/15 22:12, Mario Smarduch wrote:
>> This patch tracks armv7 and armv8 fp/simd hardware state with a vcpu lazy
>> flag.
>> On vcpu_load for 32 bit guests enable FP access, and later enable fp/simd
>> trapping for 3
On 12/3/2015 7:58 AM, Marc Zyngier wrote:
> On 14/11/15 22:12, Mario Smarduch wrote:
>> This patch tracks armv7 fp/simd hardware state with a vcpu lazy flag.
>> On vcpu_load saves host fpexc and enables FP access, and later enables
>> fp/simd
>> trapping if lazy f
On 11/30/2015 12:33 PM, Christoffer Dall wrote:
> On Fri, Nov 27, 2015 at 06:49:54PM +, Marc Zyngier wrote:
>> Once upon a time, the KVM/arm64 world switch was a nice, clean, lean
>> and mean piece of hand-crafted assembly code. Over time, features have
>> crept in, the code has become
, disable
trapping and set vcpu lazy flag. On vcpu_put if flag is set save guest and
restore host context and also save guest fpexc register.
Signed-off-by: Mario Smarduch <m.smard...@samsung.com>
---
arch/arm/include/asm/kvm_host.h | 3 ++
arch/arm/kvm/arm.c| 18 +++--
of FPEXC to restore guest and host versions on vcpu_put
- Tested arm32/arm64
- rebased to 4.3-rc2
- changed a couple register accesses from 64 to 32 bit
Mario Smarduch (3):
add hooks for armv7 fp/simd lazy switch support
enable enhanced armv7 fp/simd lazy switch
enable enhanced armv8 fp/
flag. On vcpu_put if flag is set save guest and restore host context and
always restore host fpexc.
Signed-off-by: Mario Smarduch <m.smard...@samsung.com>
---
arch/arm/include/asm/kvm_host.h | 33 ++
arch/arm/kvm/arm.c| 12
arch/a
This patch adds vcpu fields to track lazy state, save host FPEXC, and
offsets to fields.
Signed-off-by: Mario Smarduch <m.smard...@samsung.com>
---
arch/arm/include/asm/kvm_host.h | 6 ++
arch/arm/kernel/asm-offsets.c | 2 ++
2 files changed, 8 insertions(+)
diff --git a/arch/arm/i
On 11/10/2015 3:18 AM, Christoffer Dall wrote:
> On Mon, Nov 09, 2015 at 03:13:15PM -0800, Mario Smarduch wrote:
>>
>>
>> On 11/5/2015 7:02 AM, Christoffer Dall wrote:
>>> On Fri, Oct 30, 2015 at 02:56:33PM -0700, Mario Smarduch wrote:
[]
>> kern_hyp_va x0
On 11/5/2015 7:02 AM, Christoffer Dall wrote:
> On Fri, Oct 30, 2015 at 02:56:33PM -0700, Mario Smarduch wrote:
>> This patch enables arm64 lazy fp/simd switch, similar to arm described in
>> second patch. Change from previous version - restore function is moved to
>> ho
On 11/6/2015 3:29 AM, Christoffer Dall wrote:
> On Thu, Nov 05, 2015 at 04:57:12PM -0800, Mario Smarduch wrote:
>>
>>
>> On 11/5/2015 7:02 AM, Christoffer Dall wrote:
>>> On Fri, Oct 30, 2015 at 02:56:33PM -0700, Mario Smarduch wrote:
>>>> This patch
On 11/6/2015 3:37 AM, Christoffer Dall wrote:
> On Thu, Nov 05, 2015 at 04:23:41PM -0800, Mario Smarduch wrote:
>>
>>
>> On 11/5/2015 6:48 AM, Christoffer Dall wrote:
>>> On Fri, Oct 30, 2015 at 02:56:32PM -0700, Mario Smarduch wrote:
>>>> This patch
On 11/5/2015 6:48 AM, Christoffer Dall wrote:
> On Fri, Oct 30, 2015 at 02:56:32PM -0700, Mario Smarduch wrote:
>> This patch tracks vfp/simd hardware state with a vcpu lazy flag. vCPU lazy
>> flag is set on guest access and traps to vfp/simd hardware switch handler.
>> On
On 11/5/2015 7:02 AM, Christoffer Dall wrote:
> On Fri, Oct 30, 2015 at 02:56:33PM -0700, Mario Smarduch wrote:
>> This patch enables arm64 lazy fp/simd switch, similar to arm described in
>> second patch. Change from previous version - restore function is moved to
>> ho
; On Tue, Nov 3, 2015 at 1:17 PM, Mario Smarduch <m.smard...@samsung.com>
>>>> wrote:
>>>>> On 11/3/2015 9:55 AM, Will Deacon wrote:
>>>>>> On Tue, Nov 03, 2015 at 09:44:52AM -0800, Mario Smarduch wrote:
>>>>>>> On 11/3/2015 8:33 AM
On 11/3/2015 8:33 AM, Christopher Covington wrote:
> Hi Mario,
>
> On 11/02/2015 06:51 PM, Mario Smarduch wrote:
>> Hello,
>>this is a re-post from couple weeks ago, please take time to review this
>> simple patch which simplifies DEBUG_LL and prevents kernel cra
On 11/3/2015 9:55 AM, Will Deacon wrote:
> On Tue, Nov 03, 2015 at 09:44:52AM -0800, Mario Smarduch wrote:
>> On 11/3/2015 8:33 AM, Christopher Covington wrote:
>>> On 11/02/2015 06:51 PM, Mario Smarduch wrote:
>>>>this is a re-post from couple weeks a
all <christoffer.d...@linaro.org>
Signed-off-by: Mario Smarduch <m.smard...@samsung.com>
---
arch/arm/Kconfig.debug | 22 ++
1 file changed, 22 insertions(+)
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index a2e16f9..d126bd4 100644
--- a/arch/arm/Kconfig.debug
cesses from 64 to 32 bit
Mario Smarduch (3):
hooks for armv7 fp/simd lazy switch support
enable enhanced armv7 fp/simd lazy switch
enable enhanced armv8 fp/simd lazy switch
arch/arm/include/asm/kvm_host.h | 7 +
arch/arm/kernel/asm-offsets.c | 2 ++
arch/arm/kvm
This patch adds vcpu fields to track lazy state, save host FPEXC, and
offsets to fields.
Signed-off-by: Mario Smarduch <m.smard...@samsung.com>
---
arch/arm/include/asm/kvm_host.h | 6 ++
arch/arm/kernel/asm-offsets.c | 2 ++
2 files changed, 8 insertions(+)
diff --git a/arch/arm/i
with
guest context. In vcpu_put check if vcpu lazy flag is set, and execute a
hardware context switch to restore host.
Also some arm64 field and empty function are added to compile for arm64.
Signed-off-by: Mario Smarduch <m.smard...@samsung.com>
---
arch/arm/include/asm/kvm_host.h
This patch enables arm64 lazy fp/simd switch, similar to arm described in
second patch. Change from previous version - restore function is moved to
host.
Signed-off-by: Mario Smarduch <m.smard...@samsung.com>
---
arch/arm64/include/asm/kvm_host.h | 2 +-
arch/arm64/kernel/asm-offsets.c
On 10/20/2015 12:24 AM, Christoffer Dall wrote:
> On Mon, Oct 19, 2015 at 04:25:04PM -0700, Mario Smarduch wrote:
>>
>>
>> On 10/19/2015 3:14 AM, Christoffer Dall wrote:
>>> On Sat, Sep 26, 2015 at 04:43:29PM -0700, Mario Smarduch wrote:
>>>> This pat
On 10/18/2015 2:07 PM, Christoffer Dall wrote:
> On Mon, Oct 12, 2015 at 09:29:23AM -0700, Mario Smarduch wrote:
>> Hi Christoffer, Marc -
>> I just threw this test your way without any explanation.
>
> I'm confused. Did you send me something somewhere already?
Yes
On 10/19/2015 1:53 AM, Christoffer Dall wrote:
> On Sat, Sep 26, 2015 at 04:43:28PM -0700, Mario Smarduch wrote:
>> This patch adds vcpu fields to track lazy state, save host FPEXC, and
>> offsets to fields.
>>
>> Signed-off-by: Mario Smarduch <m.smard...@sa
On 10/19/2015 3:14 AM, Christoffer Dall wrote:
> On Sat, Sep 26, 2015 at 04:43:29PM -0700, Mario Smarduch wrote:
>> This patch enhances current lazy vfp/simd hardware switch. In addition to
>> current lazy switch, it tracks vfp/simd hardware state with a vcpu
>> lazy flag.
address
(for ARCH_VEXPRESS) based on A9 or A15 part numbers. Looked for a same approach
but couldn't find a way to differentiate between virtual platforms, something
like a platform register.
Signed-off-by: Mario Smarduch <m.smard...@samsung.com>
---
arch/arm/Kconfig.debu
ideas I'd be happy
to enhance the test.
Thanks,
Mario
On 10/5/2015 8:45 AM, Christoffer Dall wrote:
> On Tue, Sep 22, 2015 at 04:34:01PM -0700, Mario Smarduch wrote:
>> This is a 2nd itteration for arm64, v1 patches were posted by mistake from
>> an
>> older branch which
Will do, I'll get them over to you.
-Original Message-
From: Christoffer Dall [mailto:christoffer.d...@linaro.org]
Sent: Monday, October 05, 2015 10:26 AM
To: Mario Smarduch
Cc: kvm...@lists.cs.columbia.edu; marc.zyng...@arm.com; kvm@vger.kernel.org;
linux-arm-ker...@lists.infradead.org
m64
- rebased to 4.3-rc2
- changed a couple register accesses from 64 to 32 bit
Mario Smarduch (2):
add hooks for armv8 fp/simd lazy switch
enable armv8 fp/simd lazy switch
arch/arm/kvm/arm.c| 2 --
arch/arm64/include/asm/kvm_asm.h | 1 +
arch/arm64/include/asm/kvm_host.h |
This patch adds hooks to support fp/simd lazy switch. A vcpu flag to track
fp/simd state, and flag offset in vcpu structure.
Signed-off-by: Mario Smarduch <m.smard...@samsung.com>
---
arch/arm64/include/asm/kvm_host.h | 3 +++
arch/arm64/kernel/asm-offsets.c | 1 +
2 files chan
context switches to two per vCPU execution schedule.
Signed-off-by: Mario Smarduch <m.smard...@samsung.com>
---
arch/arm/kvm/arm.c | 2 --
arch/arm64/include/asm/kvm_asm.h | 1 +
arch/arm64/kvm/hyp.S | 59 +++-
3 files chang
-
- Mario
On 10/5/2015 8:45 AM, Christoffer Dall wrote:
> On Tue, Sep 22, 2015 at 04:34:01PM -0700, Mario Smarduch wrote:
>> This is a 2nd itteration for arm64, v1 patches were posted by mistake from
>> an
>> older branch which included several bugs. Hopefully didn't waste to
ing of FPEXC to restore guest and host versions on vcpu_put
Mario Smarduch (2):
add hooks for armv7 fp/simd lazy switch support
enable armv7 fp/simd lazy switch
arch/arm/include/asm/kvm_asm.h | 1 +
arch/arm/include/asm/kvm_host.h | 6 +
arch/arm/kernel/asm-offsets.c | 2 ++
arch/
This patch adds vcpu fields to track lazy state, save host FPEXC, and
offsets to fields.
Signed-off-by: Mario Smarduch <m.smard...@samsung.com>
---
arch/arm/include/asm/kvm_host.h | 6 ++
arch/arm/kernel/asm-offsets.c | 2 ++
2 files changed, 8 insertions(+)
diff --git a/arch/arm/i
and saving
host fpexc. On vm-exit if flag is set skip hardware context switch
and return to host with guest context.
On vcpu_put check if vcpu lazy flag is set, and execute a hardware context
switch to restore host.
Signed-off-by: Mario Smarduch <m.smard...@samsung.com>
---
arch/arm/inclu
Hi Antonios,
On 9/22/2015 7:01 AM, Antonios Motakis wrote:
> Hello,
>
> On 18-Sep-15 03:05, Mario Smarduch wrote:
>> Adds code to enable fp/simd lazy switch. On each entry check if fp/simd
>> registers have been switched to guest, if no set the trap flag. On trap
>&g
about 30% down to 2% with one guest running.
At this time I don't have arm32/arm64 working and hoping Christoffer and/or
Marc (or anyone) can test 32-bit guest/64-bit host.
Mario Smarduch (2):
add hooks for armv8 fp/simd lazy switch
enable armv8 fp/simd lazy switch
arch/arm/kvm/arm.c
This patch adds hooks to support fp/simd lazy switch. A vcpu flag to track
fp/simd state, and flag offset in vcpu structure.
Signed-off-by: Mario Smarduch <m.smard...@samsung.com>
---
arch/arm64/include/asm/kvm_host.h | 3 +++
arch/arm64/kernel/asm-offsets.c | 1 +
2 files chan
context switches to one per vCPU scheduled execution.
Signed-off-by: Mario Smarduch <m.smard...@samsung.com>
---
arch/arm/kvm/arm.c | 2 --
arch/arm64/include/asm/kvm_asm.h | 1 +
arch/arm64/kvm/hyp.S | 58 +++-
3 files chang
This patch enables arm64 lazy fp/simd switch. Removes the ARM constraint,
and follows the same approach as armv7 version - found here
https://lists.cs.columbia.edu/pipermail/kvmarm/2015-September/016518.html
Signed-off-by: Mario Smarduch <m.smard...@samsung.com>
---
arch/arm/kvm/arm.c
This patch adds hooks to support fp/simd lazy switch. A vcpu flag to track
fp/simd state, offset into the vcpu structure and switch prototype function.
Signed-off-by: Mario Smarduch <m.smard...@samsung.com>
---
arch/arm64/include/asm/kvm_asm.h | 1 +
arch/arm64/include/asm/kvm_host
validation (the RFT tag). The results substantially decrease the numbe of
fp/simd context switches for a FP load.
At this time I don't have arm32/arm64 working and requesting Christoffer and/or
Marc to test 32 bit guest on 64 bit host.
Mario Smarduch (2):
add hooks for armv8 fp/simd lazy
guest and restore host and reset the vfp_lazy state to enable trapping
again.
Signed-off-by: Mario Smarduch <m.smard...@samsung.com>
---
arch/arm/kvm/arm.c| 17 +
arch/arm/kvm/interrupts.S | 40 +---
2 files changed, 46 insertions(
and verify operation. Initial intent was to post
all patches at once, but arm64 version will be posted soon.
Mario Smarduch (2):
add hooks for armv7 vfp/simd lazy switch support
enable armv7 vfp/simd lazy switch
arch/arm/include/asm/kvm_asm.h | 1 +
arch/arm/include/asm/kvm_host.h | 3
Basic hooks are added to support fp/simd lazy switch. A vcpu flag to track
fp/simd state, offset into the vcpu structure and switch prototype function.
Signed-off-by: Mario Smarduch <m.smard...@samsung.com>
---
arch/arm/include/asm/kvm_asm.h | 1 +
arch/arm/include/asm/kvm_host.h | 3 +++
Great that's even better.
On 8/19/2015 3:28 PM, Marc Zyngier wrote:
On Wed, 19 Aug 2015 14:52:08 -0700
Mario Smarduch m.smard...@samsung.com wrote:
Hi Christoffer,
I'll test it and work with it.
FWIW, I've added these patches to both -queue and -next, and from the
tests Christoffer
Hi Christoffer,
I'll test it and work with it.
Thanks,
Mario
On 8/19/2015 10:49 AM, Christoffer Dall wrote:
Hi Mario,
On Wed, Aug 05, 2015 at 05:11:37PM +0100, Marc Zyngier wrote:
On 16/07/15 22:29, Mario Smarduch wrote:
This patch only saves and restores FP/SIMD registers on Guest
On 07/16/2015 12:05 PM, Christoffer Dall wrote:
On Thu, Jul 16, 2015 at 11:23:08AM -0700, Mario Smarduch wrote:
On 07/16/2015 08:52 AM, Christoffer Dall wrote:
On Fri, Jul 10, 2015 at 06:19:05PM -0700, Mario Smarduch wrote:
This is a followp to previous iteration but implemented on top of VHE
On 07/16/2015 08:52 AM, Christoffer Dall wrote:
On Fri, Jul 10, 2015 at 06:19:05PM -0700, Mario Smarduch wrote:
This is a followp to previous iteration but implemented on top of VHE
patches.
Only non-VHE path is addressied by this patch. In second patch 32-bit
handler
is updated to keep
After enhancing arm64 FP/SIMD exit handling, ARMv7 VFP exit branch is moved
to guest trap handling. This allows us to keep exit handling flow between both
architectures consistent.
Signed-off-by: Mario Smarduch m.smard...@samsung.com
---
arch/arm/kvm/interrupts.S | 14 --
1 file
commit message
Mario Smarduch (2):
Optimize arm64 skip 30-50% vfp/simd save/restore on exits
keep arm vfp/simd exit handling consistent with arm64
arch/arm/kvm/interrupts.S| 14 +++--
arch/arm64/include/asm/kvm_arm.h | 5 -
arch/arm64/kvm/hyp.S | 45
This patch only saves and restores FP/SIMD registers on Guest access. To do
this cptr_el2 FP/SIMD trap is set on Guest entry and later checked on exit.
lmbench, hackbench show significant improvements, for 30-50% exits FP/SIMD
context is not saved/restored
Signed-off-by: Mario Smarduch m.smard
This patch only saves and restores FP/SIMD registers on Guest access. To do
this cptr_el2 FP/SIMD trap is set on Guest entry and later checked on exit.
The non-VHE path has been tested, future work would add VHE support.
Signed-off-by: Mario Smarduch m.smard...@samsung.com
---
arch/arm64/include
, the first patch optimizes
arm64 save/restore, we only do so on Guest access. hackbench and
several lmbench tests show anywhere from 30% to 50% of exits don't
save/restore fp/simd register set.
Tested on Foundation Model, unfortuntely not tested yet on VHE enabled model.
Mario Smarduch (2
After enhancing arm64 FP/SIMD exit handling, ARMv7 VFP exit branch is moved
to guest trap handling. This allows us to keep exit handling flow between both
architectures consistent.
Signed-off-by: Mario Smarduch m.smard...@samsung.com
---
arch/arm/kvm/interrupts.S | 14 --
1 file
On 07/09/2015 01:06 AM, Marc Zyngier wrote:
Hi Mario,
On 09/07/15 02:29, Mario Smarduch wrote:
On 07/08/2015 09:19 AM, Marc Zyngier wrote:
In order to switch between host and guest, a VHE-enabled kernel
must use different accessors for certain system registers.
This patch uses runtime
On 07/08/2015 09:19 AM, Marc Zyngier wrote:
In order to switch between host and guest, a VHE-enabled kernel
must use different accessors for certain system registers.
This patch uses runtime patching to use the right instruction
when required...
Signed-off-by: Marc Zyngier
On 07/05/2015 12:34 PM, Christoffer Dall wrote:
On Wed, Jun 24, 2015 at 08:30:27PM -0700, Mario Smarduch wrote:
This patch implements the VFP context switch code called from vcpu_put in
Host KVM. In addition it implements the logic to skip setting a VFP trap if
one
is not needed. Also resets
On 07/05/2015 12:27 PM, Christoffer Dall wrote:
On Wed, Jun 24, 2015 at 08:30:26PM -0700, Mario Smarduch wrote:
Define the required kvm_vcpu_arch fields, and offsets to manage VFP state.
And
declary Hyp interface function to switch VFP registers.
Signed-off-by: Mario Smarduch m.smard
On 07/05/2015 12:37 PM, Christoffer Dall wrote:
On Wed, Jun 24, 2015 at 08:30:28PM -0700, Mario Smarduch wrote:
This patch implements host KVM interface to Hyp mode VFP function to
switch out guest and switch in host.
Signed-off-by: Mario Smarduch m.smard...@samsung.com
---
arch/arm/kvm
On 07/05/2015 12:37 PM, Christoffer Dall wrote:
Hi Mario,
On Wed, Jun 24, 2015 at 08:30:25PM -0700, Mario Smarduch wrote:
Currently we do a lazy VFP switch in Hyp mode, but once we exit and re-enter
hyp
mode we trap again on VFP access. This mode has shown around 30-50%
improvement
On 07/03/2015 04:53 AM, Christoffer Dall wrote:
On Thu, Jul 02, 2015 at 02:51:57PM -0700, Mario Smarduch wrote:
On 07/01/2015 06:46 AM, Christoffer Dall wrote:
On Wed, Jun 24, 2015 at 05:04:11PM -0700, Mario Smarduch wrote:
This patch only saves and restores FP/SIMD registers on Guest access
On 07/01/2015 02:49 AM, Christoffer Dall wrote:
On Wed, Jun 24, 2015 at 05:04:10PM -0700, Mario Smarduch wrote:
Currently we save/restore fp/simd on each exit. Fist patch optimizes arm64
save/restore, we only do so on Guest access. hackbench and
several lmbench tests show anywhere from 30
On 07/01/2015 06:46 AM, Christoffer Dall wrote:
On Wed, Jun 24, 2015 at 05:04:11PM -0700, Mario Smarduch wrote:
This patch only saves and restores FP/SIMD registers on Guest access. To do
this cptr_el2 FP/SIMD trap is set on Guest entry and later checked on exit.
lmbench, hackbench show
if it is).
Thanks,
- Mario
On 06/24/2015 08:30 PM, Mario Smarduch wrote:
Currently we do a lazy VFP switch in Hyp mode, but once we exit and re-enter
hyp
mode we trap again on VFP access. This mode has shown around 30-50%
improvement
running hackbench and lmbench.
This patch series extends lazy
in switch_to_guest_vfp per Marcs comment
- Got another chance to replace an unreferenced label with a comment
Mario Smarduch (2):
Optimize arm64 skip 30-50% vfp/simd save/restore on exits
keep arm vfp/simd exit handling consistent with arm64
arch/arm/kvm/interrupts.S| 14
After enhancing arm64 FP/SIMD exit handling, ARMv7 VFP exit branch is moved
to guest trap handling. This allows us to keep exit handling flow between both
architectures consistent.
Signed-off-by: Mario Smarduch m.smard...@samsung.com
---
arch/arm/kvm/interrupts.S | 14 --
1 file
This patch only saves and restores FP/SIMD registers on Guest access. To do
this cptr_el2 FP/SIMD trap is set on Guest entry and later checked on exit.
lmbench, hackbench show significant improvements, for 30-50% exits FP/SIMD
context is not saved/restored
Signed-off-by: Mario Smarduch m.smard
This patch implements the VFP context switch code called from vcpu_put in
Host KVM. In addition it implements the logic to skip setting a VFP trap if one
is not needed. Also resets the flag if Host KVM switched registers to trap new
guest vfp accesses.
Signed-off-by: Mario Smarduch m.smard
Define the required kvm_vcpu_arch fields, and offsets to manage VFP state. And
declary Hyp interface function to switch VFP registers.
Signed-off-by: Mario Smarduch m.smard...@samsung.com
---
arch/arm/include/asm/kvm_asm.h |1 +
arch/arm/include/asm/kvm_host.h |3 +++
arch/arm/kernel
.
Currently ARM32 is addressed later ARM64.
Mario Smarduch (3):
define headers and offsets to mange VFP state
Implement lazy VFP switching outside of Hyp Mode
Add VFP lazy switch hooks in Host KVM
arch/arm/include/asm/kvm_asm.h |1 +
arch/arm/include/asm/kvm_host.h |3 +++
arch/arm/kernel
This patch implements host KVM interface to Hyp mode VFP function to
switch out guest and switch in host.
Signed-off-by: Mario Smarduch m.smard...@samsung.com
---
arch/arm/kvm/arm.c | 15 +++
1 file changed, 15 insertions(+)
diff --git a/arch/arm/kvm/arm.c b/arch/arm/kvm/arm.c
On 06/18/2015 10:27 AM, Marc Zyngier wrote:
On 16/06/15 22:50, Mario Smarduch wrote:
After enhancing arm64 FP/SIMD exit handling, FP/SIMD exit branch is moved
to guest trap handling. This keeps exiting handling flow between both
architectures consistent.
Signed-off-by: Mario Smarduch m.smard
I have been looking at it for too long, my concepts
got twisted.
On 06/17/2015 07:56 PM, Mario Smarduch wrote:
Maybe I've been looking at this code too long, but it
appears that on __kvm_vcpu_return we save/restore
fp/simd registers and then change to hyp role. In
between if we get
1 - 100 of 424 matches
Mail list logo