Messages in this thread | ![/](/images/icornerl.gif) | | Date | Sat, 8 Mar 2003 10:20:54 -0800 (PST) | From | Linus Torvalds <> | Subject | Re: [PATCH] 6/6 cacheline align files_lock |
| |
On Sat, 8 Mar 2003, Christoph Hellwig wrote: > > Agreed, that's what I actually though when looking into that stuff in more > detail a while ago - I just couldn't remember everything now that Martin > brought it up again. Killing the freelist seems like a good idea anyway > (or rather keep a small list for the reserved filp that is used only > _after_ kmem_cache_alloc() failed)
Well, the sad part, though, is that the file lists are almost never actually _used_, so even if this is made per-superblock that won't get over the fact that
(a) much of the time you'll still get the lock overhead (not very many superblocks would be impacted: it would usually spread out the current load over two or three super-blocks: pipes, networking and "real" filesystem) and
(b) it would _still_ be for something that almost never happens - relatively speaking (ie it's currently used for hanging up terminals and for unmounts, and nothing else, I think)
I think we might actually be able to make it really go away, if the file list was made per-dentry or something like that (and then use the existing dentry->lock instead of dcache_lock). We already keep track of dentries for "umount", and if we made the tty layer use another list, we'd get rid of this whole lock entirely.
At this point, though, the 2.6.x thing is clearly to just avoid the false sharing. But somebody can work on this if they feel like a 2.7.x challenge.
Linus
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| ![\](/images/icornerr.gif) |