Re: [PATCH] system timer: fix crash in <100Hz system timer

2008-01-08 Thread Andrew Morton
On Sat, 5 Jan 2008 16:16:55 -0600 David Fries <[EMAIL PROTECTED]> wrote: > --- a/kernel/time.c > +++ b/kernel/time.c > @@ -565,7 +565,11 @@ EXPORT_SYMBOL(jiffies_to_timeval); > clock_t jiffies_to_clock_t(long x) > { > #if (TICK_NSEC % (NSEC_PER_SEC / USER_HZ)) == 0 > + #if HZ < USER_HZ > +

Re: [PATCH] system timer: fix crash in <100Hz system timer

2008-01-07 Thread Andrew Morton
On Mon, 07 Jan 2008 15:51:09 -0800 "H. Peter Anvin" <[EMAIL PROTECTED]> wrote: > >> + do_div(x, HZ / USER_HZ); > >> + #endif > >> #else > >>/* > >> * There are better ways that don't overflow early, > > > > Alas, I get 100% rejects due to conflicting changes from Peter's > > av

Re: [PATCH] system timer: fix crash in <100Hz system timer

2008-01-07 Thread H. Peter Anvin
Andrew Morton wrote: diff --git a/include/linux/acct.h b/include/linux/acct.h index 302eb72..86b848d 100644 --- a/include/linux/acct.h +++ b/include/linux/acct.h @@ -173,7 +173,11 @@ typedef struct acct acct_t; static inline u32 jiffies_to_AHZ(unsigned long x) { #if (TICK_NSEC % (NSEC_PER_SEC

Re: [PATCH] system timer: fix crash in <100Hz system timer

2008-01-07 Thread Andrew Morton
On Sat, 5 Jan 2008 16:16:55 -0600 David Fries <[EMAIL PROTECTED]> wrote: > The kernel has a divide by zero crash when trying to run the system > timer less than 100Hz. The problem is x/(HZ/USER_HZ) and related. > Now x*(USER_HZ/HZ) will be used if HZ > I'm running the Linux kernel under qemu and