Messages in this thread | | | Date | Tue, 26 Jul 2011 07:49:06 -0400 | From | Christoph Hellwig <> | Subject | Re: [PATCH] vfs: dont chain pipe/anon/socket on superblock s_inodes list |
| |
On Tue, Jul 26, 2011 at 12:43:33PM +0200, Eric Dumazet wrote: > BTW, we have one atomic op that could be avoided in new_inode() > > spin_lock(&inode->i_lock); > inode->i_state = 0; > spin_unlock(&inode->i_lock); > > can probably be changed to something less expensive... > > inode->i_state = 0; > smp_wmb(); > > Not clear if we really need a memory barrier either....
I think we already had this in some of the earlier vfs/inode scale series, but it got lost when Al asked to just put the fundamental changes in.
For plain new_inode() the barrier shouldn't be needed as we take the sb list lock just a little later. I'm not sure about your new variant, so I'll rather lave that to you.
There's a few other things missing from earlier iterations, most notable the non-atomic i_count, and the bucket locks for the inode hash, if you're eager enough to look into that area.
| |