
./atomic
--------------------------
@ATOMIC_INIT:
  call ATOMIC_INIT success
@atomic_set:
  before atomic_set
  after atomic_set
@atomic_read:
  atomic_read i=1
@atomic_add:
  atomic_add add 2, after v=3
@atomic_sub:
  atomic_sub sub 1, after v=2
@atomic_inc:
  atomic_inc, after v=3
@atomic_dec:
  atomic_dec, after v=2
@atomic_sub_and_test:
  atomic_sub_and_test, sub 1, after v=1, should not be zero
@atomic_inc_and_test:
  atomic_inc_and_test, after v=2, should not be zero
@atomic_dec_and_test:
  atomic_dec_and_test, after v=1, should not be zero
@atomic_add_negative:
  atomic_add_negative, add 1,after v=2, should not be negative
@atomic_add_return:
  atomic_add_return, add 1, after v=3 return 3
@atomic_sub_return:
  atomic_sub_return, sub 1, after v=2 return 2
atomic_inc_return:
  atomic_inc_return, after v=3 return 3
@atomic_dec_return:
  atomic_dec_return, after v=2 return 2

./bit
--------------------------
@set_bit:
  set_bit 2
  before i=1
  after i=5
@clear_bit:
  clear_bit 1
  before i=5
  after i=5
@change_bit:
  change_bit 3
  before i=5
  after i=d
@test_bit:
  test_bit 0
  i=d
   bit 0 set
@test_and_set_bit:
  i=11
   bit 0 set, now i=11
@test_and_clear_bit:
  i=11
   bit 0 set, now i=10
@test_and_change_bit:
  i=11
   bit 0 set, now i=10

./completion
--------------------------
DECLARE_COMPLETION:
wait_for_completion:
complete:
@complete:
  before complete
  after complete
@wait_for_completion:
  before wait_for_completion
  after wait_for_completion
INIT_COMPLETION:
@init_completion:
  before init_completion
  after init_completion
complete:
@complete_all:
  before complete_all
  after complete_all

./rcu
--------------------------
@rcu_read_lock:
  before rcu_read_lock
  after rcu_read_lock
@rcu_read_unlock:
  before rcu_read_unlock
  after rcu_read_unlock
@call_rcu:
  before call_rcu
  after call_rcu
[rcu_test_func - 22]

./rw_semaphore
--------------------------
@init_rwsem:
  before init_rwsem
  after init_rwsem
  after init_rwsem, count: 0
@down_write:
  before down_write
  down_write acquired
@down_read_trylock:
  before down_read_trylock
  down_read_trylock can not be acquired
@down_read:
  before down_read
@up_write:
  before up_write
  after up_write
  down_read acquired
@up_read:
  before up_read
  after up_read
@down_write_trylock:
  before down_write_trylock
 down_write_trylock be acquired
@downgrade_write:
  before downgrade_write
  after downgrade_write

./rw_spinlock
--------------------------
@rwlock_t lock:
  rwlock_t lock is defined
@rwlock_init:
  before rwlock_init
  after rwlock_init
@read_lock:
  before read_lock
  after read_lock
@read_unlock:
  before read_unlock
  after read_unlock
@read_lock_irqsave:
  before read_lock_irqsave
  after read_lock_irqsave
@read_unlock_irqrestore:
  before read_unlock_irqrestore
  after read_unlock_irqrestore
@read_lock_irq
  before read_lock_irq
  afte read_lock_irq
@read_unlock_irq
  before read_unlock_irq
  after read_unlock_irq
@read_lock_bh
  before read_lock_bh
  after read_lock_bh
@read_unlock_bh
  before read_unlock_bh
  after read_unlock_bh
@write_lock:
  before write_lock
  after write_lock
@write_unlock:
  before write_unlock
  after write_unlock
@write_lock_irqsave:
  before write_lock_irqsave
  after write_lock_irqsave
@write_unlock_irqrestore:
  before write_unlock_irqrestore
  after write_unlock_irqrestore
@write_lock_irq
  before write_lock_irq
  afte write_lock_irq
@write_unlock_irq
  before write_unlock_irq
  after write_unlock_irq
@write_lock_bh
  before write_lock_bh
  after write_lock_bh
@write_unlock_bh
  before write_unlock_bh
  after write_unlock_bh

./semaphore
--------------------------
#down:
  prepare down
  prepare down,acquired
@down_trylock:
  before down_trylock
  down_trylock can not be acquired
@down:
  before down
@up:
  before up
  after up
#down:
  prepare down
  down acquired
  prepare down,acquired
#down_trylock:
  before down_trylock
  down_trylock can not be acquired
@down_interruptible:
  before down_interruptible
#up:
  before up
  after up
  down_interruptible acquired

./seqlock
--------------------------
@seqlock_init:
  before seqlock_init
  after seqlock_init
@read_seqbegin:
@read_seqretry:
  before read_seqbegin
  after read_seqbegin
  before read_seqretry
  after read_seqretry
@write_seqlock:
  before write_seqlock
  after write_seqlock
@write_sequnlock:
  before write_sequnlock
  after write_sequnlock
@write_seqlock_irqsave:
  before write_seqlock_irqsave
  after write_seqlock_irqsave
@write_sequnlock_irqrestore:
  before write_sequnlock_irqrestore
  after write_sequnlock_irqrestore
@write_seqlock_irq:
  before write_seqlock_irq
  after write_seqlock_irq
@write_sequnlock_irq:
  before write_sequnlock_irq
  after write_sequnlock_irq
@write_seqlock_bh:
  before write_seqlock_bh
  after write_seqlock_bh
@write_sequnlock_bh:
  before write_sequnlock_bh
  after write_sequnlock_bh

./spinlock
--------------------------
@spin_lock_init:
  before spin_lock_init
  after spin_lock_init
@spin_lock:
  before spin_lock
  after spin_lock
@spin_unlock:
  before spin_unlock
  after spin_unlock
@spin_lock_irqsave:
  before spin_lock_irqsave
  after spin_lock_irqsave
@spin_unlock_irqrestore:
  before spin_unlock_irqrestore
  after spin_unlock_irqrestore
@spin_lock_irq:
  before spin_lock_irq
  afte spin_lock_irq
@spin_unlock_irq:
  before spin_unlock_irq
  after spin_unlock_irq
@spin_lock_bh:
  before spin_lock_bh
  after spin_lock_bh
@spin_unlock_bh:
  before spin_unlock_bh
  after spin_unlock_bh
@spin_trylock:
  before spin_trylock
  after spin_trylock
@spin_trylock_bh:
  before spin_trylock_bh
  after spin_trylock_bh
