Skip to contentSkip to conversation

likely_prof: update to test_and_set_bit_lock / clear_bit_unlock

PATCH New Roel Kluin 1 participant 1 message Apr 4, 2008 Library code

lore
Share & tools
lore

Roel Kluin

author
#0 lore raw

PATCH 1/1 likely_prof: update to test_and_set_bit_lock / clear_bit_unlock

Because the _lock routines are faster and provide a better example to follow.

---
As suggested by Nick Piggin. To be applied after Daniels likeliness patches and my previous likeliness-accounting-change-and-cleanup.patch, The patch was checkpatch.pl, compile, sparse and run tested (uml).

lib/likely_prof.c +2 -3
index c9a8d1d..0da3181 100644
@@ -36,7 +36,7 @@ int do_check_likely(struct likeliness *likeliness, unsigned int ret)
 		 * disable and it was a bit cleaner then using internal __raw
 		 * spinlock calls.
 		 */
-		if (!test_and_set_bit(0, &likely_lock)) {
+		if (!test_and_set_bit_lock(0, &likely_lock)) {
 			if (likeliness->label & LP_UNSEEN) {
 				likeliness->label &= (~LP_UNSEEN);
 				likeliness->next = likeliness_head;
@@ -44,8 +44,7 @@ int do_check_likely(struct likeliness *likeliness, unsigned int ret)
 				likeliness->caller = (unsigned long)
 						__builtin_return_address(0);
 			}
-			smp_mb__before_clear_bit();
-			clear_bit(0, &likely_lock);
+			clear_bit_unlock(0, &likely_lock);
 		}
 	}