[Top][All Lists]

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

Re: [Qemu-ppc] [PATCH] powerpc iommu: enable multiple TCE requests

From: Alexey Kardashevskiy
Subject: Re: [Qemu-ppc] [PATCH] powerpc iommu: enable multiple TCE requests
Date: Tue, 20 Aug 2013 11:36:27 +1000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130625 Thunderbird/17.0.7

On 08/19/2013 07:47 PM, Paolo Bonzini wrote:
> Il 19/08/2013 10:44, Alexey Kardashevskiy ha scritto:
>>>> It means that if you use the same QEMU version with the same command
>>>> line on a different kernel version, your guest looks different because
>>>> we generate the dtb differently.
>> Oh. Sorry for my ignorance again, I am not playing dump or anything like
>> that - I do not understand how the device tree (which we cook in QEMU) on
>> the destination can possibly survive migration and not to be overwritten by
>> the one from the source. What was in the destination RAM before migration
>> does not matter at all (including dt), QEMU device tree is what matters but
>> this does not change. As it is "the same QEMU version", hypercalls are
>> supported anyway, the only difference where they will be handled - in the
>> host kernel or QEMU. What do I miss?
> Nothing, I just asked to test that handling the hypercall in QEMU works.

Well, I was asking rather Alex :)

> On x86 we have a similar problem, though with cpuid bits instead of the
> device tree.  An older kernel might not support some cpuid bits, thus
> "-cpu SandyBridge" might have different cpuid bits depending on the host
> processor and kernel version.  This is handled by having an "enforce"
> mode where "-cpu SandyBridge,enforce" will fail to start if the host
> processor or the kernel is not new enough.

Hm. Here we might have a problem like this is we decide to migrate from
QEMU with this patch running on modern kernel to QEMU without this patch
running on old kernel - for this we might want to be able to disable
"multi-tce" via machine options on newer kernels. Do we care enough to add
such a parameter or we just disable migration and that's it?

This SandyBridge,enforce - what if the destination host running on old
kernel was run without this option - will the migration fail? What is the
mechanism? Do machine options migrate? I looked at target-i386/cpu.c but
did not see the quick answer.

> But in this case, you do not need this because the hypercall works if
> emulated by QEMU.  I like Alex's solution of making it universally
> available in the dtb.

The solution would be good if we did not already have H_PUT_TCE accelerated
for emulated devices in the host kernel but we do have it.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]