From: Eric Dumazet Date: Sat, 23 Oct 2010 15:18:01 +0000 (-0400) Subject: fs: introduce a per-cpu last_ino allocator X-Git-Tag: v2.6.37-rc1~94^2~18 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f991bd2e14210fb93d722cb23e54991de20e8a3d;p=pandora-kernel.git fs: introduce a per-cpu last_ino allocator new_inode() dirties a contended cache line to get increasing inode numbers. This limits performance on workloads that cause significant parallel inode allocation. Solve this problem by using a per_cpu variable fed by the shared last_ino in batches of 1024 allocations. This reduces contention on the shared last_ino, and give same spreading ino numbers than before (i.e. same wraparound after 2^32 allocations). Signed-off-by: Eric Dumazet Signed-off-by: Nick Piggin Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Al Viro --- Reading git-diff-tree failed