Messages in this thread | | | Date | Mon, 15 Oct 2007 13:15:26 +0200 | From | Avi Kivity <> | Subject | Re: [RESEND 2][PATCH 4/4] Modify KVM to update guest time accounting. |
| |
Laurent Vivier wrote: > Avi Kivity wrote: > >> Ingo Molnar wrote: >> >>> * Avi Kivity <avi@qumranet.com> wrote: >>> >>> >>> >>>> This bit can go; for the external module I can add it back in >>>> external-module-compat.h. No need to pollute mainline with backward >>>> compatibility stuff. >>>> >>>> >>> hm: >>> >>> static inline void kvm_guest_enter(void) >>> { >>> current->flags |= PF_VCPU; >>> } >>> >>> static inline void kvm_guest_exit(void) >>> { >>> } >>> >>> shouldnt PF_VCPU be cleared in kvm_guest_exit()? >>> >>> >> IIRC the accounting code clears it, but yes, it may not have been called >> at all, so clearing it here is needed. >> >> > > No, It must not be cleared here because we can't enter in the accounting code > between kvm_guest_enter(void) and kvm_guest_exit(void). > >
Right.
> This is why the accounting code clears it. >
But if we didn't get an interrupt in that time?
We can clear it a bit later, after local_irq_enable() in __vcpu_run(). However we need a nop instruction first because "sti" keeps interrupts disabled for one more instruction.
-- error compiling committee.c: too many arguments to function
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |