[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] x86/xen/time: Reduce Xen timer tick
On Mon, Jun 17, 2024 at 3:37 PM Roger Pau Monné <roger.pau@xxxxxxxxxx> wrote: > > On Mon, Jun 17, 2024 at 04:22:21PM +0200, Jan Beulich wrote: > > On 17.06.2024 16:13, Frediano Ziglio wrote: > > > Current timer tick is causing some deadline to fail. > > > The current high value constant was probably due to an old > > > bug in the Xen timer implementation causing errors if the > > > deadline was in the future. > > > This was fixed in Xen commit: > > > 19c6cbd90965 xen/vcpu: ignore VCPU_SSHOTTMR_future > > > > And then newer kernels are no longer reliably usable on Xen older than > > this? > > I think this should reference the Linux commit that removed the usage > of VCPU_SSHOTTMR_future on Linux itself, not the change that makes Xen > ignore the flag. > Yes, Linux kernel stopped using this flag since 2016 with commit c06b6d70feb32d28f04ba37aa3df17973fd37b6b, "xen/x86: don't lose event interrupts", I'll add it in the commit message. > > > --- a/arch/x86/xen/time.c > > > +++ b/arch/x86/xen/time.c > > > @@ -30,7 +30,7 @@ > > > #include "xen-ops.h" > > > > > > /* Minimum amount of time until next clock event fires */ > > > -#define TIMER_SLOP 100000 > > > +#define TIMER_SLOP 1000 > > > > It may be just the lack of knowledge of mine towards noadays's Linux'es > > time handling, but the change of a value with this name and thus > > commented doesn't directly relate to "timer tick" rate. Could you maybe > > help me see the connection? > > The TIMER_SLOP define is used in min_delta_{ns,ticks} field, and I > think this is wrong. > > The min_delta_ns for the Xen timer is 1ns. If Linux needs some > greater min delta than what the timer interface supports it should be > handled in the generic timer code, not open coded at the definition of > possibly each timer implementation. > I think this is done to reduce potential event handling frequency, in some other part of timer code (in kernel/time/clockevents.c) there's a comment "Deltas less than 1usec are pointless noise". I think it's hard for a software to get a frequency so high so I didn't propose 1ns. What are you suggesting? To put 1ns and see what happens? Is there any proper test code for this? > Thanks, Roger. Frediano
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |