![]() | |||||||||||||
Messages in this thread |
Hi Nick, Your patches improve the performance if lots of processes are accessing the same file at the same time, right? If so, I think we can introduce multiple radix-trees instead, which enhance each inode to be able to have two or more radix-trees in it to avoid the race condition traversing the trees. Some decision mechanism is needed which radix-tree each page should be in, how many radix-tree should be prepared. It seems to be simple and effective. What do you think? > Now the tree_lock was recently(ish) converted to an rwlock, precisely > for such a workload and that was apparently very successful. However > an rwlock is significantly heavier, and as machines get faster and > bigger, rwlocks (and any locks) will tend to use more and more of Paul > McKenney's toilet paper due to cacheline bouncing. > > So in the interest of saving some trees, let's try it without any locks. > > First I'll put up some numbers to get you interested - of a 64-way Altix > with 64 processes each read-faulting in their own 512MB part of a 32GB > file that is preloaded in pagecache (with the proper NUMA memory > allocation). Thanks, Hirokazu Takahashi. - 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-06-29 12:55 [W:1.131 / U:1.100 seconds] ©2003-2008 Jasper Spaans | |||||||||||||