Re: [patch 2.6.16-rc5-mm2] sched_cleanup-V17 - task throttling patch 1 of 2

Mike Galbraith
2006-03-04T05:27:58Z

On Sat, 2006-03-04 at 16:24 +1100, Con Kolivas wrote:
> On Saturday 04 March 2006 16:20, Mike Galbraith wrote:
> > On Sat, 2006-03-04 at 13:33 +1100, Peter Williams wrote:
> > > > include/linux/sched.h | 3 -
> > > > kernel/sched.c | 136
> > > > +++++++++++++++++++++++++++++--------------------- 2 files changed, 82
> > > > insertions(+), 57 deletions(-)
> > > >
> > > > --- linux-2.6.16-rc5-mm2/include/linux/sched.h.org 2006-03-01
> > > > 15:06:22.000000000 +0100 +++
> > > > linux-2.6.16-rc5-mm2/include/linux/sched.h 2006-03-02
> > > > 08:33:12.000000000 +0100 @@ -720,7 +720,8 @@
> > > >
> > > > unsigned long policy;
> > > > cpumask_t cpus_allowed;
> > > > - unsigned int time_slice, first_time_slice;
> > > > + int time_slice;
> > >
> > > Can you guarantee that int is big enough to hold a time slice in
> > > nanoseconds on all systems? I think that you'll need more than 16 bits.
> >
> > Nope, that's a big fat bug.
>
> Most ints are 32bit anyway, but even a 32 bit unsigned int overflows with
> nanoseconds at 4.2 seconds. A signed one at about half that. Our timeslices
> are never that large, but then int isn't always 32bit either.

Yup. I just didn't realize that there were 16 bit integers out there.

-Mike