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

From: Randy.Dunlap
Date: Sat Mar 04 2006 - 01:15:37 EST


On Sat, 4 Mar 2006 16:54:58 +1100 Con Kolivas wrote:

> On Saturday 04 March 2006 16:40, Randy.Dunlap wrote:
> > On Sat, 04 Mar 2006 06:29:47 +0100 Mike Galbraith wrote:
> > > 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.
> >
> > LDD 3rd ed. doesn't know about them either. Same for me.
>
> Alright I made that up, but it might not be one day :P

It *was* one day, long ago. Hopefully not in the future,
but who knows.

---
~Randy
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/