Glauber de Oliveira Costa wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Dong, Eddie escreveu:
+static void kvm_write_guest_time(struct kvm_vcpu *vcpu) +{
+       struct timespec ts;
+       int r;
+
+       if (!vcpu->clock_gpa)
+               return;
+
+       /* Updates version to the next odd number, indicating
we're writing */
+       vcpu->hv_clock.version++;
+       kvm_write_guest(vcpu->kvm, vcpu->clock_gpa,
&vcpu->hv_clock, PAGE_SIZE);
+
+       kvm_get_msr(vcpu, MSR_IA32_TIME_STAMP_COUNTER,
+                         &vcpu->hv_clock.last_tsc);
+
+       ktime_get_ts(&ts);
Do we need to disable preemption here?
After thinking for a little while, you are theoretically right.
In the current state, we could even be preempted between all operations
;-) Maybe after avi's suggestion of moving the call to it it will end up
in a preempt safe region, but anyway, it's safer to add the preempt
markers here.
I'll put it in next version, thanks


Well, you can't kvm_write_guest() with preemption enabled.

preempt notifiers to the rescue! We have a callout during preemption, so you can just zero out a flag there, and when we're scheduled again retry the whole thing.

--
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 [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to