Skip to content

Commit

Permalink
lockdep: remove macro usage from mark_held_locks()
Browse files Browse the repository at this point in the history
Now that we have nice numerical relations for the states, remove the macro
magics.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
  • Loading branch information
Peter Zijlstra authored and Ingo Molnar committed Feb 14, 2009
1 parent 9d3651a commit cf2ad4d
Showing 1 changed file with 5 additions and 15 deletions.
20 changes: 5 additions & 15 deletions kernel/lockdep.c
Original file line number Diff line number Diff line change
Expand Up @@ -2099,14 +2099,6 @@ enum mark_type {
#undef LOCKDEP_STATE
};

#define MARK_HELD_CASE(__STATE) \
case __STATE: \
if (hlock->read) \
usage_bit = LOCK_ENABLED_##__STATE##_READ; \
else \
usage_bit = LOCK_ENABLED_##__STATE; \
break;

/*
* Mark all held locks with a usage bit:
*/
Expand All @@ -2120,13 +2112,11 @@ mark_held_locks(struct task_struct *curr, enum mark_type mark)
for (i = 0; i < curr->lockdep_depth; i++) {
hlock = curr->held_locks + i;

switch (mark) {
#define LOCKDEP_STATE(__STATE) MARK_HELD_CASE(__STATE)
#include "lockdep_states.h"
#undef LOCKDEP_STATE
default:
BUG();
}
usage_bit = 2 + (mark << 2); /* ENABLED */
if (hlock->read)
usage_bit += 1; /* READ */

BUG_ON(usage_bit >= LOCK_USAGE_STATES);

if (!mark_lock(curr, hlock, usage_bit))
return 0;
Expand Down

0 comments on commit cf2ad4d

Please sign in to comment.