[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v8 10/11] viridian: add implementation of synthetic timers
>>> On 18.03.19 at 16:46, <Paul.Durrant@xxxxxxxxxx> wrote: >> > > + { >> > > + expiration = vs->count; >> > > + if ( expiration - now <= 0 ) >> > > + { >> > > + vs->expiration = expiration; >> > > + stimer_expire(vs); >> > >> > Aren't you introducing a risk for races by calling the timer function >> > directly from here? start_timer(), after all, gets called from quite a >> > few places. >> >> In practice I don't think there should be any problematic race, but I'll >> check again. > > I think the 'periodic' name might be confusing things... The Xen timers are > all single-shot, it's just that start_stimer() is re-called after a > successful poll if the viridian timer is configured to be periodic. So I > don't think there is case where the underlying Xen timer could actually be > running when we enter start_stimer(). One of the callers of the function is the WRMSR handler. Why would it be guaranteed that the timer isn't active when such a WRMSR occurs? Of course, this alone is not enough for there to be a problem, as we're fine as long as the guest can only harm itself. But I don't think it goes without saying that there's no issue here; having looked a 2nd time just now, I think I agree though that there's no risk for our own health here. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |