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

From: Eric Dumazet <[email-masked]>
Date: Thu, 18 Aug 2005 08:51:03 +0200

Coywolf Qi Hunt a écrit :
> On 8/18/05, Eric Dumazet <[email-masked]> 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