[kvmarm] Fwd: [PATCH v9 13/16] ARM: KVM: Emulation framework and CP15 emulation

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

 



list rename, sigh.


---------- Forwarded message ----------
From: Christoffer Dall <c.dall at virtualopensystems.com>
Date: Mon, Jul 16, 2012 at 4:09 PM
Subject: Re: [PATCH v9 13/16] ARM: KVM: Emulation framework and CP15 emulation
To: ??? <mingyu84.kim at samsung.com>
Cc: android-virt at lists.cs.columbia.edu, kvm at vger.kernel.org,
tech at virtualopensystems.com, ??? <changhwan.m.kim at samsung.com>


On Thu, Jul 12, 2012 at 7:35 AM, ??? <mingyu84.kim at samsung.com> wrote:
> +               /*
> +                * Make sure preemption is disabled while calling handle_exit
> +                * as exit handling touches CPU-specific resources, such as
> +                * caches, and we must stay on the same CPU.
> +                *
> +                * Code that might sleep must disable preemption and access
> +                * CPU-specific resources first.
> +                */
>
>
> What does this comment mean? I cannot understand especially the last sentence
> because it's not possible to sleep while preemption is disabled.

it's a mistake, it should read "Code that might sleep must enable preemption"

>
> And you said the reason of disabling preemption as CPU-specific data such as caches.
> But as far as I know, the l1 caches are coherent.
> (http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0438e/BABFHDFE.html)
>
> Can you please explain why preemption disable is necessary in detail?
>

if a VM tries to do a cache maintenance operation specific to that CPU
that traps we want to make sure that the emulation of such operations
happen on the same physical CPU to ensure correct semantics.

-Christoffer



[Index of Archives]     [Linux KVM]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux