Re: [PATCH 14/33] readahead: state based method - data structure

Wu Fengguang
2006-05-27T08:27:51Z

On Fri, May 26, 2006 at 10:05:52AM -0700, Andrew Morton wrote:
> Wu Fengguang <wfg@mail.ustc.edu.cn> wrote:
> >
> > #define RA_FLAG_MISS 0x01 /* a cache miss occured against this file */
> > #define RA_FLAG_INCACHE 0x02 /* file is already in cache */
> > +#define RA_FLAG_MMAP (1UL<<31) /* mmaped page access */
> > +#define RA_FLAG_NO_LOOKAHEAD (1UL<<30) /* disable look-ahead */
> > +#define RA_FLAG_EOF (1UL<<29) /* readahead hits EOF */
>
> Odd. Why not use 4, 8, 16?

I'm now settled with:

-#define RA_FLAG_MISS 0x01 /* a cache miss occured against this file */
-#define RA_FLAG_INCACHE 0x02 /* file is already in cache */
+#define RA_FLAG_MISS (1UL<<31) /* a cache miss occured against this file */
+#define RA_FLAG_INCACHE (1UL<<30) /* file is already in cache */
+#define RA_FLAG_MMAP (1UL<<29) /* mmaped page access */
+#define RA_FLAG_NO_LOOKAHEAD (1UL<<28) /* disable look-ahead */
+#define RA_FLAG_EOF (1UL<<27) /* readahead hits EOF */

And still let the low bits hold ra_class values.