Re: [PATCH] struct file cleanup : the very large file_ra_state isnow allocated only on demand.

From: David S. Miller
Date: Thu Aug 18 2005 - 02:19:44 EST


From: Eric Dumazet <dada1@xxxxxxxxxxxxx>
Date: Thu, 18 Aug 2005 09:14:47 +0200

> After reading your suggestions, I understand we still need two slabs.
> One (filp_cachep) without the readahead data, the other one
> (filp_ra_cachep) with it.

Correct.

> static inline struct file_ra_state *get_ra_state(struct file *f)
> {
> #ifdef CONFIG_DEBUG_READAHEAD
> BUG_ON(filp_ra_cachep != GET_PAGE_CACHE(virt_to_page(f)));
> #endif
> return (struct file_ra_state *)(f+1);
> }

Or, instead of mucking with SLAB internals, just put something like
a "filp_ra_present" debugging binary state into filp while it gets
debugged.

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