Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

xfs: remove b_last_holder & associated macros

The old lock tracking infrastructure in xfs using the b_last_holder
field seems to only be useful if you can get into the system with a
debugger; it seems that the existing tracepoints would be the way to
go these days, and this old infrastructure can be removed.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>

authored by

Eric Sandeen and committed by
Darrick J. Wong
fa6c668d 10259de1

+2 -23
-1
fs/xfs/xfs.h
··· 8 8 9 9 #ifdef CONFIG_XFS_DEBUG 10 10 #define DEBUG 1 11 - #define XFS_BUF_LOCK_TRACKING 1 12 11 #endif 13 12 14 13 #ifdef CONFIG_XFS_ASSERT_FATAL
+2 -18
fs/xfs/xfs_buf.c
··· 34 34 35 35 static kmem_zone_t *xfs_buf_zone; 36 36 37 - #ifdef XFS_BUF_LOCK_TRACKING 38 - # define XB_SET_OWNER(bp) ((bp)->b_last_holder = current->pid) 39 - # define XB_CLEAR_OWNER(bp) ((bp)->b_last_holder = -1) 40 - # define XB_GET_OWNER(bp) ((bp)->b_last_holder) 41 - #else 42 - # define XB_SET_OWNER(bp) do { } while (0) 43 - # define XB_CLEAR_OWNER(bp) do { } while (0) 44 - # define XB_GET_OWNER(bp) do { } while (0) 45 - #endif 46 - 47 37 #define xb_to_gfp(flags) \ 48 38 ((((flags) & XBF_READ_AHEAD) ? __GFP_NORETRY : GFP_NOFS) | __GFP_NOWARN) 49 39 ··· 216 226 INIT_LIST_HEAD(&bp->b_li_list); 217 227 sema_init(&bp->b_sema, 0); /* held, no waiters */ 218 228 spin_lock_init(&bp->b_lock); 219 - XB_SET_OWNER(bp); 220 229 bp->b_target = target; 221 230 bp->b_flags = flags; 222 231 ··· 1080 1091 int locked; 1081 1092 1082 1093 locked = down_trylock(&bp->b_sema) == 0; 1083 - if (locked) { 1084 - XB_SET_OWNER(bp); 1094 + if (locked) 1085 1095 trace_xfs_buf_trylock(bp, _RET_IP_); 1086 - } else { 1096 + else 1087 1097 trace_xfs_buf_trylock_fail(bp, _RET_IP_); 1088 - } 1089 1098 return locked; 1090 1099 } 1091 1100 ··· 1105 1118 if (atomic_read(&bp->b_pin_count) && (bp->b_flags & XBF_STALE)) 1106 1119 xfs_log_force(bp->b_target->bt_mount, 0); 1107 1120 down(&bp->b_sema); 1108 - XB_SET_OWNER(bp); 1109 1121 1110 1122 trace_xfs_buf_lock_done(bp, _RET_IP_); 1111 1123 } ··· 1115 1129 { 1116 1130 ASSERT(xfs_buf_islocked(bp)); 1117 1131 1118 - XB_CLEAR_OWNER(bp); 1119 1132 up(&bp->b_sema); 1120 - 1121 1133 trace_xfs_buf_unlock(bp, _RET_IP_); 1122 1134 } 1123 1135
-4
fs/xfs/xfs_buf.h
··· 198 198 int b_last_error; 199 199 200 200 const struct xfs_buf_ops *b_ops; 201 - 202 - #ifdef XFS_BUF_LOCK_TRACKING 203 - int b_last_holder; 204 - #endif 205 201 } xfs_buf_t; 206 202 207 203 /* Finding and Reading Buffers */