Re: [RFC] fs/super.c: Why alloc_super use a static variable default_op?

2007-07-24 Thread Al Viro
On Wed, Jul 25, 2007 at 07:39:53AM +0100, Al Viro wrote: > For superblocks and inodes that is different - if we go looking for a method, > we *are* going to hit the method table anyway; it's not going to be NULL in > anything resembling a normal case. So having the pointer to table initialized "

Re: [RFC] fs/super.c: Why alloc_super use a static variable default_op?

2007-07-24 Thread Al Viro
On Wed, Jul 25, 2007 at 01:21:19PM +0800, rae l wrote: > But there are also many other subsystems will do > fs/dcache.c: > void dput(struct dentry *dentry) > if (dentry->d_op && dentry->d_op->d_delete) { > Do you think it's worth optimizing it with a static d_op filled? > > we can add a st

Re: [RFC] fs/super.c: Why alloc_super use a static variable default_op?

2007-07-24 Thread rae l
On 7/25/07, Al Viro <[EMAIL PROTECTED]> wrote: On Wed, Jul 25, 2007 at 12:29:17PM +0800, rae l wrote: > But is it valuable? Compared to a waste of sizeof(struct super_block) > bytes memory. It's less that struct super_block, actually. > When some code want to refer fs_type->s_op, it almost alwa

Re: [RFC] fs/super.c: Why alloc_super use a static variable default_op?

2007-07-24 Thread Al Viro
On Wed, Jul 25, 2007 at 12:29:17PM +0800, rae l wrote: > But is it valuable? Compared to a waste of sizeof(struct super_block) > bytes memory. It's less that struct super_block, actually. > When some code want to refer fs_type->s_op, it almost always want to > refer some function pointer in s_op

Re: [RFC] fs/super.c: Why alloc_super use a static variable default_op?

2007-07-24 Thread rae l
On 7/25/07, Al Viro <[EMAIL PROTECTED]> wrote: On Wed, Jul 25, 2007 at 11:48:35AM +0800, rae l wrote: > Why alloc_super use a static variable default_op? > the static struct super_operations default_op is just all zeros, and > just referenced as the initial value of a new allocated super_block, >

Re: [RFC] fs/super.c: Why alloc_super use a static variable default_op?

2007-07-24 Thread Al Viro
On Wed, Jul 25, 2007 at 11:48:35AM +0800, rae l wrote: > Why alloc_super use a static variable default_op? > the static struct super_operations default_op is just all zeros, and > just referenced as the initial value of a new allocated super_block, > what does it for? So that we would not have to

[RFC] fs/super.c: Why alloc_super use a static variable default_op?

2007-07-24 Thread rae l
Why alloc_super use a static variable default_op? the static struct super_operations default_op is just all zeros, and just referenced as the initial value of a new allocated super_block, what does it for? the filesystem dependent code such as ext2_fill_super would fill this field eventually, and