Re: [PATCH 2/8] readahead: state based method routines: explicitlyembed class_new/class_old inside flags

From: Randy Dunlap
Date: Sun Jan 28 2007 - 14:16:14 EST


On Sat, 27 Jan 2007 13:01:08 +0100 Bodo Eggert wrote:

> Fengguang Wu <wfg@xxxxxxxxxxxxxxxx> wrote:
>
> > The new/old ra class were implicitly stored in low bits of
> > file_ra_state.flags. Now make the data structure obvious, and remove the
> > coding tricks.
>
> > +++ linux-2.6.20-rc4-mm1/include/linux/fs.h
>
> > - unsigned long flags; /* RA_FLAG_xxx | ra_class_old | ra_class_new */
> > + union {
> > + unsigned long flags; /* RA_FLAG_xxx | class_old | class_new */
> > + struct {
> > + u8 class_new;
> > + u8 class_old;
>
> This doesn't work on big endiam machines, does it?
>
> IMO you should use a bitfield instead.

Or "use bit masks instead" since

"The order of allocation of bit-fields within a unit (high-order to
low-order or low-order to high-order) is implementation-defined."

---
~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/