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