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>