Re: [kvm-unit-tests PATCH v4 0/2] powerpc: Test SPR persistency during migration

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 23.03.2017 23:41, Paul Mackerras wrote:
> On Wed, Mar 22, 2017 at 06:27:20PM +0100, Thomas Huth wrote:
>> On 22.03.2017 16:20, Laurent Vivier wrote:
>>> On 22/03/2017 09:28, Thomas Huth wrote:
>>>> Here's a KVM-unit-test to check the persistency of SPRs during migration.
>>>> First patch adds a helper script for doing migration tests in the
>>>> kvm-unit-test framework, and the second patch contains the SPR tester.
>>>>
>>>> v4:
>>>> - Fix the error paths in run_migration() - use "exit 2" instead of "exit 1"
>>>>   to avoid trouble with the return code magic in the powerpc/run script
>>>>   and make sure to terminate the two QEMU instances in case of migration
>>>>   failure.
>>>>
>>>> v3:
>>>> - Migration shell script code has been moved to a helper function in
>>>>   arch-run.bash, so that this now also works with the standalone tests.
>>>> - Introduced the helper function migration_cmd there, too, so that other
>>>>   architectures can use this, too.
>>>> - Use "$@" instead of $* when calling QEMU.
>>>>
>>>> v2:
>>>> - Addressed review feedback from v1
>>>> - Now using cpu_relax() instead of asm volatile ("nop")
>>>>
>>>> Thomas Huth (2):
>>>>   Add the possibility to do simple migration tests
>>>>   powerpc: Add Special Purpose Register persistency test
>>>>
>>>>  powerpc/Makefile.common |   3 +-
>>>>  powerpc/cstart64.S      |   2 +
>>>>  powerpc/run             |   2 +-
>>>>  powerpc/sprs.c          | 304 ++++++++++++++++++++++++++++++++++++++++++++++++
>>>>  powerpc/unittests.cfg   |   5 +
>>>>  scripts/arch-run.bash   |  63 ++++++++++
>>>>  scripts/runtime.bash    |   3 +
>>>>  7 files changed, 380 insertions(+), 2 deletions(-)
>>>>  create mode 100644 powerpc/sprs.c
>>>>
>>>
>>> Really nice work.
>>>
>>> I've tested with TCG and KVM HV and it works fine.
>>>
>>> It hangs with KVM PR, but I have an "emulation at f60 failed (00000000)"
>>> in kernel logs, did you see that?
>>
>> Yes, it's because KVM-PR does not support some of the SPRs yet and
>> apparently always injects a program exception in that case. So there is
>> something left to do for KVM-PR here...
>>
>> I think KVM-PR should not inject a program interrupt here, since
>> according to the PowerISA (v2.07), the mtspr/mfspr should be treated as
>> no-op for unknown SPRs when the CPU is not running in PRoblem state...
> 
> I agree, let's fix it.
> 
> I did try to fix it some time ago, but at that stage Alex Graf didn't
> want to change the behaviour (I think because he thought the existing
> behaviour was better for debugging).  However, we could have the
> architecturally correct behaviour but still have a way to log the
> unimplemented SPR accesses for debugging.

Right, it should be enough for debugging to have a way to log this.
Could you dig out your patch, or shall I try to come up with a new one?

 Thomas




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux