> -----Original Message----- [snip] > > > + { > > > + 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(). Paul _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel