Re: [patch 0/4] Series to allow a "const" file_operations struct

Andrew Morton
2006-01-07T00:28:14Z

Eric Dumazet <dada1@cosmosbay.com> wrote:
>
> Arjan van de Ven a écrit :
> > On Fri, 2006-01-06 at 22:45 +0100, Arjan van de Ven wrote:
> >> Hi,
> >>
> >> this series allows drivers to have "const" file_operations, by making
> >> the f_ops field in the inode const. This has another benefit, there have
> >
> > ok there was a sentence missing here. The first benefit is that this
> > moves these hot datastructures to the rodata section, which means they
> > won't accidentally be doing false cacheline sharing.
> >
>
> Definitly a good thing I agree.
>
> But your patches miss to really declare all 'struct file_operations' as const,
> dont they ?
>
>
> On my x86_64 machine, I managed to reduce by 10% .data section by moving all
> file_operations, but also 'address_space_operations', 'inode_operations,
> super_operations, dentry_operations, seq_operations, ... to rodata section.
>
> size vmlinux*
> text data bss dec hex filename
> 2476156 522236 244868 3243260 317cfc vmlinux
> 2588685 571348 246692 3406725 33fb85 vmlinux.old
>

Confused. Why should this result in an aggregate reduction in vmlinux size?