![]() | |||||||||||||
Messages in this thread |
On Sat, 8 Mar 2003, Christoph Hellwig wrote: > > The free list should go away - we have slab for that. The tty stuff should > get a per-tty lock. I doubt either of these would actually fix the lock contention, though. The tty stuff is not likely to be a real issue for any real load (just how often do you kill off sessions etc?) And the free list isn't the reason for the file lock - ues, the file lock protects it, but every time we touch the free list we touch _real_ lists too (ie either we move a file from the free list to another list, _or_ we move a unused entry from a real list to the free list), so we'd need the lock anyway. So to actually fix file_lock, you need to do something else. I _think_ that "something else" may be to make it be a per-super-block lock, since I think that's the only thing the f_list thing is actually used for. Then you should probably pass in the superblock pointer to "get_empty_filp()", and _then_ you can get rid of the free list and the current global lock. Oh, and you need to make the "tty" stuff be a superblock too. Of course, it might actually be a perfectly fine thing to make that tty stuff use a totally separate pointer chain anyway, the current thing makes me worry that "umount()" actually might do the wrong thing if the only file open on a filesystem are tty files. 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/ | ||||||||||||
| Last update: 2005-03-22 13:33 [from the cache] ©2003-2008 | |||||||||||||