Speaking of spinlock contention, the files->file_lock is a good example.
Multi threaded programs hit this spinlock three times per fd : alloc_fd() / fd_install() / close() I think fd_install() could be done without this spinlock. we want to protect fd_install() from a concurrent resize of the fd table. We could either : - Add a spinlock used for resize, and fd_install(). A bit suboptimal but easy to code and review. - Add a seqcount, and cmpxchg() to synchronize fd_install() with the potential resizer. (Might need additional RCU locking) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/