From: Jeff Layton Date: Fri, 21 Jun 2013 12:58:22 +0000 (-0400) Subject: locks: move file_lock_list to a set of percpu hlist_heads and convert file_lock_lock... X-Git-Tag: v3.11-rc1~74^2~1 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7012b02a2b2c42bb1e1d95040a6e3bb59c7284f7;p=pandora-kernel.git locks: move file_lock_list to a set of percpu hlist_heads and convert file_lock_lock to an lglock The file_lock_list is only used for /proc/locks. The vastly common case is for locks to be put onto the list and come off again, without ever being traversed. Help optimize for this use-case by moving to percpu hlist_head-s. At the same time, we can make the locking less contentious by moving to an lglock. When iterating over the lists for /proc/locks, we must take the global lock and then iterate over each CPU's list in turn. This change necessitates a new fl_link_cpu field to keep track of which CPU the entry is on. On x86_64 at least, this field is placed within an existing hole in the struct to avoid growing the size. Signed-off-by: Jeff Layton Acked-by: J. Bruce Fields Signed-off-by: Al Viro --- Reading git-diff-tree failed