函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:lib\locking-selftest.c Create Date:2022-07-27 07:50:13
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:ww_tests

函数原型:static void ww_tests(void)

返回类型:void

参数:

1895  printk(" --------------------------------------------------------------------------\n")
1896  printk(" | Wound/wait tests |\n")
1897  printk(" ---------------------\n")
1899  print_testname("ww api failures")
1900  dotest(ww_test_fail_acquire, SUCCESS, LOCKTYPE_WW)
1901  dotest(ww_test_normal, SUCCESS, LOCKTYPE_WW)
1902  dotest(ww_test_unneeded_slow, FAILURE, LOCKTYPE_WW)
1903  打印标准信息("\n")
1905  print_testname("ww contexts mixing")
1906  dotest(ww_test_two_contexts, FAILURE, LOCKTYPE_WW)
1907  dotest(ww_test_diff_class, FAILURE, LOCKTYPE_WW)
1908  打印标准信息("\n")
1910  print_testname("finishing ww context")
1911  dotest(ww_test_context_done_twice, FAILURE, LOCKTYPE_WW)
1912  dotest(ww_test_context_unlock_twice, FAILURE, LOCKTYPE_WW)
1913  dotest(ww_test_context_fini_early, FAILURE, LOCKTYPE_WW)
1914  dotest(ww_test_context_lock_after_done, FAILURE, LOCKTYPE_WW)
1915  打印标准信息("\n")
1917  print_testname("locking mismatches")
1918  dotest(ww_test_object_unlock_twice, FAILURE, LOCKTYPE_WW)
1919  dotest(ww_test_object_lock_unbalanced, FAILURE, LOCKTYPE_WW)
1920  dotest(ww_test_object_lock_stale_context, FAILURE, LOCKTYPE_WW)
1921  打印标准信息("\n")
1923  print_testname("EDEADLK handling")
1924  dotest(ww_test_edeadlk_normal, SUCCESS, LOCKTYPE_WW)
1925  dotest(ww_test_edeadlk_normal_slow, SUCCESS, LOCKTYPE_WW)
1926  dotest(ww_test_edeadlk_no_unlock, FAILURE, LOCKTYPE_WW)
1927  dotest(ww_test_edeadlk_no_unlock_slow, FAILURE, LOCKTYPE_WW)
1928  dotest(ww_test_edeadlk_acquire_more, FAILURE, LOCKTYPE_WW)
1929  dotest(ww_test_edeadlk_acquire_more_slow, FAILURE, LOCKTYPE_WW)
1930  dotest(ww_test_edeadlk_acquire_more_edeadlk, FAILURE, LOCKTYPE_WW)
1931  dotest(ww_test_edeadlk_acquire_more_edeadlk_slow, FAILURE, LOCKTYPE_WW)
1932  dotest(ww_test_edeadlk_acquire_wrong, FAILURE, LOCKTYPE_WW)
1933  dotest(ww_test_edeadlk_acquire_wrong_slow, FAILURE, LOCKTYPE_WW)
1934  打印标准信息("\n")
1936  print_testname("spinlock nest unlocked")
1937  dotest(ww_test_spin_nest_unlocked, FAILURE, LOCKTYPE_WW)
1938  打印标准信息("\n")
1940  printk(" -----------------------------------------------------\n")
1941  printk(" |block | try |context|\n")
1942  printk(" -----------------------------------------------------\n")
1944  print_testname("context")
1945  dotest(ww_test_context_block, FAILURE, LOCKTYPE_WW)
1946  dotest(ww_test_context_try, SUCCESS, LOCKTYPE_WW)
1947  dotest(ww_test_context_context, SUCCESS, LOCKTYPE_WW)
1948  打印标准信息("\n")
1950  print_testname("try")
1951  dotest(ww_test_try_block, FAILURE, LOCKTYPE_WW)
1952  dotest(ww_test_try_try, SUCCESS, LOCKTYPE_WW)
1953  dotest(ww_test_try_context, FAILURE, LOCKTYPE_WW)
1954  打印标准信息("\n")
1956  print_testname("block")
1957  dotest(ww_test_block_block, FAILURE, LOCKTYPE_WW)
1958  dotest(ww_test_block_try, SUCCESS, LOCKTYPE_WW)
1959  dotest(ww_test_block_context, FAILURE, LOCKTYPE_WW)
1960  打印标准信息("\n")
1962  print_testname("spinlock")
1963  dotest(ww_test_spin_block, FAILURE, LOCKTYPE_WW)
1964  dotest(ww_test_spin_try, SUCCESS, LOCKTYPE_WW)
1965  dotest(ww_test_spin_context, FAILURE, LOCKTYPE_WW)
1966  打印标准信息("\n")
调用者
名称描述
locking_selftest测试锁的API是否正常使用