Message ID | alpine.DEB.2.10.1409052239330.5472@nanos (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Il 05/09/2014 22:41, Thomas Gleixner ha scritto: > No, it needs to be above update_vsyscall(). Here is the patch again > which I sent before. [https://lkml.org/lkml/2014/9/5/395] Ah, I missed it after your signature. Thanks, I'll test yours then next week. Paolo -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 09/05/2014 04:00 PM, Paolo Bonzini wrote: > Il 05/09/2014 22:41, Thomas Gleixner ha scritto: >> No, it needs to be above update_vsyscall(). Here is the patch again >> which I sent before. [https://lkml.org/lkml/2014/9/5/395] > > Ah, I missed it after your signature. Thanks, I'll test yours then next > week. > > Paolo > Paolo, Thomas, Thanks again. I can confirm that Thomas' "timekeeping: Update timekeeper before updating vsyscall and pvclock" indeed allows the kvmclock test to pass on my machine. --chris j arges -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c index fb4a9c2cf8d9..ec1791fae965 100644 --- a/kernel/time/timekeeping.c +++ b/kernel/time/timekeeping.c @@ -442,11 +442,12 @@ static void timekeeping_update(struct timekeeper *tk, unsigned int action) tk->ntp_error = 0; ntp_clear(); } - update_vsyscall(tk); - update_pvclock_gtod(tk, action & TK_CLOCK_WAS_SET); tk_update_ktime_data(tk); + update_vsyscall(tk); + update_pvclock_gtod(tk, action & TK_CLOCK_WAS_SET); + if (action & TK_MIRROR) memcpy(&shadow_timekeeper, &tk_core.timekeeper, sizeof(tk_core.timekeeper));