Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 14 Dec 2002 20:25:28 +0000
From:      Ian Dowse <iedowse@maths.tcd.ie>
To:        Kirk McKusick <mckusick@beastie.mckusick.com>
Cc:        Jake Burkholder <jake@locore.ca>, cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/ufs/ufs inode.h src/sys/sys conf.h src/sys/ufs/ffs ffs_snapshot.c 
Message-ID:   <200212142025.aa99706@salmon.maths.tcd.ie>
In-Reply-To: Your message of "Sat, 14 Dec 2002 11:42:21 PST." <200212141942.gBEJgL59011922@beastie.mckusick.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
In message <200212141942.gBEJgL59011922@beastie.mckusick.com>, Kirk McKusick wr
ites:
>I understand the size issue. How about we form a union with
>the *i_dirhash pointer since directories and snapshots are 
>never going to overlap. There are thousands of inodes allocated
>and it seems really wasteful to carry an extra pointer around
>as a temporary variable that is rarely used.

Yes, making a union with i_dirhash sounds reasonable. The code in
ufs_reclaim() will need to check the inode type before calling
ufsdirhash_free(), assuming that the inode type is still available
then, and we need to also guarantee that the pointer is NULL after
an inode gets recycled.

Note that a UFS1 inode currently consumes something like 550 bytes
on the i386 when you count the vnode and the dinode, which is why
I said that the difference is marginal. There would be a more
significant saving possible by moving all of the directory-specific
fields to a separate structure linked by a pointer. However fixing
the brokenness on 64-bit platforms is obviously far more important
now.

Ian

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi? <200212142025.aa99706>