[XFS] Use atomic counters for ktrace buffer indexes
authorDavid Chinner <dgc@sgi.com>
Thu, 6 Mar 2008 02:45:35 +0000 (13:45 +1100)
committerLachlan McIlroy <lachlan@redback.melbourne.sgi.com>
Fri, 18 Apr 2008 01:39:55 +0000 (11:39 +1000)
commit6ee4752ffe782be6e86bea1403a2fe0f682aa71a
treeaea65e2a9f1f6ca5c3f8dd44b78c5a9dd5adaee3
parent44d814ced4cffbfe6a775c5bb8b941a6e734e7d9
[XFS] Use atomic counters for ktrace buffer indexes

ktrace_enter() is consuming vast amounts of CPU time due to the use of a
single global lock for protecting buffer index increments. Change it to
use per-buffer atomic counters - this reduces ktrace_enter() overhead
during a trace intensive test on a 4p machine from 58% of all CPU time to
12% and halves test runtime.

SGI-PV: 977546
SGI-Modid: xfs-linux-melb:xfs-kern:30537a

Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
fs/xfs/support/ktrace.c
fs/xfs/support/ktrace.h