Re: [PATCH] reduce sizeof(struct file)

From: J.A. Magallon
Date: Fri Sep 23 2005 - 18:30:35 EST


On Fri, 23 Sep 2005 11:05:41 +0100, Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote:

> On Fri, Sep 23, 2005 at 12:02:18PM +0200, Eric Dumazet wrote:
> > Hi all
> >
> > Now that RCU applied on 'struct file' seems stable, we can place f_rcuhead
> > in a memory location that is not anymore used at call_rcu(&f->f_rcuhead,
> > file_free_rcu) time, to reduce the size of this critical kernel object.
> >
> > The trick I used is to move f_rcuhead and f_list in an union and defining
> > macros to access f_list and f_rcuhead
> >
> > Unfortunatly f_list was also used in IPVS so I had to change
> > include/net/ip_vs.h and net/ipv4/ipvs/ip_vs_ctl.c, changing their f_list to
> > ipvs_f_list to avoid name clash.
> >
> > (This is why I send this mail to IPVS maintainers)
>
> Please just change all callers to use the union, there's not very many
> of them.
>

How about anonymous unions ? gcc-3.3.3 and above support them.
Is 2.6 supposed to be built with 2.95 ?

--
J.A. Magallon <jamagallon()able!es> \ Software is like sex:
werewolf!able!es \ It's better when it's free
Mandriva Linux release 2006.0 (2006 rc2) for i586
Linux 2.6.13-jam6 (gcc 4.0.1 (4.0.1-5mdk for Mandriva Linux release 2006.0))

Attachment: pgp00000.pgp
Description: PGP signature