Re: [PATCH -mm 2/2] Introduce freezer flags

From: Pavel Machek
Date: Sat Apr 28 2007 - 03:07:55 EST


Hi!

> > > > > > +#ifdef CONFIG_FREEZER
> > > > > > + /* Used by the process freezer, defined in freezer.h */
> > > > > > + unsigned int freezer_flags;
> > > > >
> > > > > unsigned long freezer_flags; ??
> > > >
> > > > I guess so.
> > >
> > > Still, on x86_64, for example, we'll waste 4 bytes by using 'unsigned long'
> > > here, which I wouldn't like to do.
> > >
> > > Is it acceptable to use explicit type casting in set_bit() and friends?
> >
> > I'm afraid set_bit & friends are only defined on unsigned long.
>
> On x86_64 they are defined on anything, even on huge bitmaps.
>
> > You can cast, but you may run into some nasty surprise... like damaging
> > surrounding bytes on 64-bit architectures != x86_64.
>
> Let's use unsigned long, then, but I'm not really happy with that.

Ask the architecture people, but comments like

/data/l/linux/include/linux/agpgart.h: long access_flags; /* long req'd for set_bit --RR */

Make me think long is needed.

* bitmaps provide bit arrays that consume one or more unsigned
* longs. The bitmap interface and available operations are listed
* here, in bitmap.h

...I'm afraid we need ulongs.
Pavel

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
-
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/