• Home
  • Raw
  • Download

Lines Matching refs:next

1613 __calc_dep_bit(struct held_lock *prev, struct held_lock *next)  in __calc_dep_bit()  argument
1615 return (prev->read == 0) + ((next->read != 2) << 1); in __calc_dep_bit()
1618 static inline u8 calc_dep(struct held_lock *prev, struct held_lock *next) in calc_dep() argument
1620 return 1U << __calc_dep_bit(prev, next); in calc_dep()
1628 __calc_dep_bitb(struct held_lock *prev, struct held_lock *next) in __calc_dep_bitb() argument
1630 return (next->read != 2) + ((prev->read == 0) << 1); in __calc_dep_bitb()
1633 static inline u8 calc_depb(struct held_lock *prev, struct held_lock *next) in calc_depb() argument
1635 return 1U << __calc_dep_bitb(prev, next); in calc_depb()
2543 struct held_lock *next, in print_bad_irq_dependency() argument
2563 print_lock(next); in print_bad_irq_dependency()
2570 print_lock_name(hlock_class(next)); in print_bad_irq_dependency()
2589 hlock_class(prev), hlock_class(next)); in print_bad_irq_dependency()
2767 struct held_lock *next) in check_irq_usage() argument
2798 bfs_init_root(&that, next); in check_irq_usage()
2845 prev, next, in check_irq_usage()
2855 struct held_lock *prev, struct held_lock *next) in check_irq_usage() argument
2944 struct lock_class *next = hlock_class(nxt); in print_deadlock_scenario() local
2954 __print_lock_name(next); in print_deadlock_scenario()
2962 struct held_lock *next) in print_deadlock_bug() argument
2974 print_lock(next); in print_deadlock_bug()
2979 print_deadlock_scenario(next, prev); in print_deadlock_bug()
2997 check_deadlock(struct task_struct *curr, struct held_lock *next) in check_deadlock() argument
3006 if (prev->instance == next->nest_lock) in check_deadlock()
3009 if (hlock_class(prev) != hlock_class(next)) in check_deadlock()
3016 if ((next->read == 2) && prev->read) in check_deadlock()
3026 print_deadlock_bug(curr, prev, next); in check_deadlock()
3056 struct held_lock *next, u16 distance, in check_prev_add() argument
3062 if (!hlock_class(prev)->key || !hlock_class(next)->key) { in check_prev_add()
3073 WARN_ONCE(!debug_locks_silent && !hlock_class(next)->key, in check_prev_add()
3075 hlock_class(next), in check_prev_add()
3076 hlock_class(next)->name); in check_prev_add()
3090 ret = check_noncircular(next, prev, trace); in check_prev_add()
3094 if (!check_irq_usage(curr, prev, next)) in check_prev_add()
3106 if (entry->class == hlock_class(next)) { in check_prev_add()
3109 entry->dep |= calc_dep(prev, next); in check_prev_add()
3127 list_for_each_entry(entry, &hlock_class(next)->locks_before, entry) { in check_prev_add()
3131 entry->dep |= calc_depb(prev, next); in check_prev_add()
3144 ret = check_redundant(prev, next); in check_prev_add()
3160 ret = add_lock_to_list(hlock_class(next), hlock_class(prev), in check_prev_add()
3162 calc_dep(prev, next), *trace); in check_prev_add()
3167 ret = add_lock_to_list(hlock_class(prev), hlock_class(next), in check_prev_add()
3168 &hlock_class(next)->locks_before, distance, in check_prev_add()
3169 calc_depb(prev, next), *trace); in check_prev_add()
3183 check_prevs_add(struct task_struct *curr, struct held_lock *next) in check_prevs_add() argument
3209 int ret = check_prev_add(curr, hlock, next, distance, &trace); in check_prevs_add()
3303 int next = chain_hlocks[offset]; in chain_block_next() local
3305 WARN_ON_ONCE(!(next & CHAIN_BLK_FLAG)); in chain_block_next()
3307 if (next == CHAIN_BLK_LIST_END) in chain_block_next()
3310 next &= ~CHAIN_BLK_FLAG; in chain_block_next()
3311 next <<= 16; in chain_block_next()
3312 next |= chain_hlocks[offset + 1]; in chain_block_next()
3314 return next; in chain_block_next()
3325 static inline void init_chain_block(int offset, int next, int bucket, int size) in init_chain_block() argument
3327 chain_hlocks[offset] = (next >> 16) | CHAIN_BLK_FLAG; in init_chain_block()
3328 chain_hlocks[offset + 1] = (u16)next; in init_chain_block()
3339 int next = chain_block_buckets[bucket]; in add_chain_block() local
3376 init_chain_block(offset, next, bucket, size); in add_chain_block()
3391 static inline void del_chain_block(int bucket, int size, int next) in del_chain_block() argument
3394 chain_block_buckets[bucket] = next; in del_chain_block()
4721 static int check_wait_context(struct task_struct *curr, struct held_lock *next) in check_wait_context() argument
4723 u8 next_inner = hlock_class(next)->wait_type_inner; in check_wait_context()
4724 u8 next_outer = hlock_class(next)->wait_type_outer; in check_wait_context()
4728 if (!next_inner || next->trylock) in check_wait_context()
4739 if (prev->irq_context != next->irq_context) in check_wait_context()
4762 return print_lock_invalid_wait_context(curr, next); in check_wait_context()
4787 struct held_lock *next) in check_wait_context() argument
6039 WARN_ON_ONCE(!class->lock_entry.next); in reinit_class()
6043 WARN_ON_ONCE(!class->lock_entry.next); in reinit_class()