Lines Matching full:outer
2525 #define GENERATE_2_CONTEXT_TESTCASE(outer, outer_lock, inner, inner_lock) \ argument
2527 static void __maybe_unused inner##_in_##outer(void) \
2530 guard(outer)(outer_lock); \
2537 * o: inner is allowed in outer
2538 * x: inner is disallowed in outer
2541 * outer \ | | | |
2579 /* the outer context allows all kinds of preemption */
2580 #define DO_CONTEXT_TESTCASE_OUTER_PREEMPTIBLE(outer) \ argument
2581 dotest(RCU_in_##outer, SUCCESS, LOCKTYPE_RWLOCK); \
2582 dotest(raw_spinlock_in_##outer, SUCCESS, LOCKTYPE_SPIN); \
2583 dotest(spinlock_in_##outer, SUCCESS, LOCKTYPE_SPIN); \
2584 dotest(mutex_in_##outer, SUCCESS, LOCKTYPE_MUTEX); \
2587 * the outer context only allows the preemption introduced by spinlock_t (which
2590 #define DO_CONTEXT_TESTCASE_OUTER_LIMITED_PREEMPTIBLE(outer) \ argument
2591 dotest(RCU_in_##outer, SUCCESS, LOCKTYPE_RWLOCK); \
2592 dotest(raw_spinlock_in_##outer, SUCCESS, LOCKTYPE_SPIN); \
2593 dotest(spinlock_in_##outer, SUCCESS, LOCKTYPE_SPIN); \
2594 dotest(mutex_in_##outer, FAILURE, LOCKTYPE_MUTEX); \
2596 /* the outer doesn't allows any kind of preemption */
2597 #define DO_CONTEXT_TESTCASE_OUTER_NOT_PREEMPTIBLE(outer) \ argument
2598 dotest(RCU_in_##outer, SUCCESS, LOCKTYPE_RWLOCK); \
2599 dotest(raw_spinlock_in_##outer, SUCCESS, LOCKTYPE_SPIN); \
2600 dotest(spinlock_in_##outer, FAILURE, LOCKTYPE_SPIN); \
2601 dotest(mutex_in_##outer, FAILURE, LOCKTYPE_MUTEX); \