Re: [RFC/PATCH] ext3: remove inode constructor
On Sat, 5 May 2007 11:58:45 +0300 (EEST) Pekka J Enberg [EMAIL PROTECTED] wrote: On Fri, 4 May 2007, Andrew Morton wrote: I got 100% rejects against this because Christoph has already had his paws all over the slab constructor code everywhere. Was going to fix it up but then decided that we ought to make changes like this to ext4 as well. Ideally beforehand, but simultaneously is OK as long as it's simple enough. I'll send you proper patches for them (and will convert other filesystems too). May as well. On Fri, 4 May 2007, Andrew Morton wrote: btw, for a benchmark I'd suggest just a silly create-1-files tight loop rather than something more complex like postmark. Do you want me to redo the benchmarks or are you happy enough with the postmark numbers? I doubt if this is measurable, really. It'll be something like the difference between an L1 hit and an L2 hit in amongst all the other stuff we do on a per-inode basis. - To unsubscribe from this list: send the line unsubscribe linux-ext4 in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [RFC/PATCH] ext3: remove inode constructor
On Fri, 4 May 2007, Christoph Lameter wrote: Also could this be generalized to also apply to the generic inode allocation in fs/inode.c? I think we want to stick inode_init_ince() in alloc_inode() but we can't do that until all filesystems are converted over. Pekka - To unsubscribe from this list: send the line unsubscribe linux-ext4 in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [RFC/PATCH] ext3: remove inode constructor
On Fri, 4 May 2007, Pekka J Enberg wrote: Index: 2.6/fs/ext3/super.c === --- 2.6.orig/fs/ext3/super.c 2007-05-04 12:57:09.0 +0300 +++ 2.6/fs/ext3/super.c 2007-05-04 13:01:27.0 +0300 @@ -444,17 +444,26 @@ static struct kmem_cache *ext3_inode_cac static struct inode *ext3_alloc_inode(struct super_block *sb) { struct ext3_inode_info *ei; + struct inode *inode; ei = kmem_cache_alloc(ext3_inode_cachep, GFP_NOFS); if (!ei) return NULL; +INIT_LIST_HEAD(ei-i_orphan); +#ifdef CONFIG_EXT3_FS_XATTR +init_rwsem(ei-xattr_sem); +#endif +mutex_init(ei-truncate_mutex); ^^^ whitespace issues Also could this be generalized to also apply to the generic inode allocation in fs/inode.c? - To unsubscribe from this list: send the line unsubscribe linux-ext4 in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [RFC/PATCH] ext3: remove inode constructor
On Fri, 4 May 2007 13:14:35 +0300 (EEST) Pekka J Enberg [EMAIL PROTECTED] wrote: As explained by Christoph Lameter, ext3_alloc_inode() touches the same cache line as init_once() so we gain nothing from using slab constructors. The SLUB allocator will be more effective without it (free pointer can be placed inside the free'd object), so move inode initialization to ext3_alloc_inode completely. I got 100% rejects against this because Christoph has already had his paws all over the slab constructor code everywhere. Was going to fix it up but then decided that we ought to make changes like this to ext4 as well. Ideally beforehand, but simultaneously is OK as long as it's simple enough. btw, for a benchmark I'd suggest just a silly create-1-files tight loop rather than something more complex like postmark. - To unsubscribe from this list: send the line unsubscribe linux-ext4 in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html