I have a series of patches at
http://sandeen.net/xfs-patches/patches-spinlock-unobfuscate.tar.bz2
to get rid of the macros upon macros hiding xfs' use of spinlocks, via
for example AIL_LOCK->mutex_spinlock->spin_lock. This also gets rid of
the unused "cookie" variables declared via SPLDECL(s) and other
open-coded unsigned long s; declarations.
patches in the tarball, broken out by lock as requested a while
ago by dgc:
unwrap_AIL_LOCK
unwrap_LOG_LOCK
unwrap_GRANT_LOCK
unwrap_XFS_DQ_PINUNLOCK
unwrap_pagb_lock
unwrap_xfs_dabuf_global_lock
unwrap_mru_lock
unwrap_XFS_SB_LOCK
no_kt_lock
cleanup_lock_goop
Patches have comments/descriptions/signed-off lines in them.
By the end of the series, spin.h is almost empty, only spin_lock_init /
spinlock_destroy are left, and could maybe even be pulled out.... wasn't
sure how far to go. Since the kernel has a mutex_destroy, I wonder if
spinlocks will ever get similar treatment... anyway....
I can post them to the list individually if preferred... though it's
fairly mechanical and not terribly interesting...
Thanks,
-Eric
|