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

From: Eric Dumazet
Date: Thu Aug 18 2005 - 01:51:43 EST


Coywolf Qi Hunt a écrit :
On 8/18/05, Eric Dumazet <dada1@xxxxxxxxxxxxx> wrote:

Andi Kleen a écrit :


(because of the insane struct file_ra_state f_ra. I wish this structure
were dynamically allocated only for files that really use it)


How about you submit a patch for that instead?

-Andi

OK, could you please comment this patch ?

The problem of dynamically allocating the readahead state data is that the allocation can fail and should not be fatal.
I made some choices that might be not good.

I also chose not to align "file_ra" slab on SLAB_HWCACHE_ALIGN because the object size is 10*sizeof(long), so alignment would loose
6*sizeof(long) bytes for each object.


[PATCH]

* struct file cleanup : the very large file_ra_state is now allocated only on demand, using a dedicated "file_ra" slab.
64bits machines handling lot of sockets can save about 72 bytes per file.
* private_data : The field is moved close to f_count and f_op fields to speedup sockfd_lookups


Why not keep the comment or fix it?


You mean the comment in include/linux/fs.h : /* needed for tty driver, and maybe others */ ?

I think this comment is outdated, since nearly every 'struct file' user store something of his own in this place, not only 'tty drivers'

As no other fields has comment, why should we keep this outdated comment ?

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