函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:check_multi_store

函数原型:static noinline void check_multi_store(struct xarray *xa)

返回类型:void

参数:

类型参数名称
struct xarray *xa
573  max_order等于如果sizeof(long)恒等于4则30否则60
576  If anyone needs this, please move it to xarray.c. We have no current* users outside the test suite because all current multislot users want* to use the advanced API.
577  XA_BUG_ON(xa, xa_load() - Load an entry from an XArray.*@xa: XArray.*@index: index into array.* Context: Any context. Takes and releases the RCU lock.* Return: The entry at @index in @xa. != xa_mk_value() - Create an XArray entry from an integer.*@v: Value to store in XArray.* Context: Any context.* Return: An entry suitable for storing in the XArray.)
578  XA_BUG_ON(xa, xa_load() - Load an entry from an XArray.*@xa: XArray.*@index: index into array.* Context: Any context. Takes and releases the RCU lock.* Return: The entry at @index in @xa. != xa_mk_value() - Create an XArray entry from an integer.*@v: Value to store in XArray.* Context: Any context.* Return: An entry suitable for storing in the XArray.)
579  XA_BUG_ON(xa, xa_load() - Load an entry from an XArray.*@xa: XArray.*@index: index into array.* Context: Any context. Takes and releases the RCU lock.* Return: The entry at @index in @xa. != NULL)
580  _read_lock() - mark the beginning of an RCU read-side critical section* When synchronize_rcu() is invoked on one CPU while other CPUs* are within RCU read-side critical sections, then the* synchronize_rcu() is guaranteed to block until after all the other
581  XA_BUG_ON(xa, Total entry count != 2)
582  XA_BUG_ON(xa, Value entry count != 2)
583  _read_unlock() - marks the end of an RCU read-side critical section.* In most situations, rcu_read_unlock() is immune from deadlock.* However, in kernels built with CONFIG_RCU_BOOST, rcu_read_unlock()
586  xa_store() - Store this entry in the XArray.*@xa: XArray.*@index: Index into array.*@entry: New entry.*@gfp: Memory allocation flags.* After this function returns, loads from this index will return @entry.
587  XA_BUG_ON(xa, xa_load() - Load an entry from an XArray.*@xa: XArray.*@index: index into array.* Context: Any context. Takes and releases the RCU lock.* Return: The entry at @index in @xa. != xa_mk_value() - Create an XArray entry from an integer.*@v: Value to store in XArray.* Context: Any context.* Return: An entry suitable for storing in the XArray.)
588  XA_BUG_ON(xa, xa_load() - Load an entry from an XArray.*@xa: XArray.*@index: index into array.* Context: Any context. Takes and releases the RCU lock.* Return: The entry at @index in @xa. != xa_mk_value() - Create an XArray entry from an integer.*@v: Value to store in XArray.* Context: Any context.* Return: An entry suitable for storing in the XArray.)
589  XA_BUG_ON(xa, xa_load() - Load an entry from an XArray.*@xa: XArray.*@index: index into array.* Context: Any context. Takes and releases the RCU lock.* Return: The entry at @index in @xa. != NULL)
590  _read_lock() - mark the beginning of an RCU read-side critical section* When synchronize_rcu() is invoked on one CPU while other CPUs* are within RCU read-side critical sections, then the* synchronize_rcu() is guaranteed to block until after all the other
591  XA_BUG_ON(xa, Total entry count != 3)
592  XA_BUG_ON(xa, Value entry count != 2)
593  _read_unlock() - marks the end of an RCU read-side critical section.* In most situations, rcu_read_unlock() is immune from deadlock.* However, in kernels built with CONFIG_RCU_BOOST, rcu_read_unlock()
596  If anyone needs this, please move it to xarray.c. We have no current* users outside the test suite because all current multislot users want* to use the advanced API.
597  XA_BUG_ON(xa, xa_load() - Load an entry from an XArray.*@xa: XArray.*@index: index into array.* Context: Any context. Takes and releases the RCU lock.* Return: The entry at @index in @xa. != xa_mk_value() - Create an XArray entry from an integer.*@v: Value to store in XArray.* Context: Any context.* Return: An entry suitable for storing in the XArray.)
598  XA_BUG_ON(xa, xa_load() - Load an entry from an XArray.*@xa: XArray.*@index: index into array.* Context: Any context. Takes and releases the RCU lock.* Return: The entry at @index in @xa. != xa_mk_value() - Create an XArray entry from an integer.*@v: Value to store in XArray.* Context: Any context.* Return: An entry suitable for storing in the XArray.)
599  XA_BUG_ON(xa, xa_load() - Load an entry from an XArray.*@xa: XArray.*@index: index into array.* Context: Any context. Takes and releases the RCU lock.* Return: The entry at @index in @xa. != xa_mk_value() - Create an XArray entry from an integer.*@v: Value to store in XArray.* Context: Any context.* Return: An entry suitable for storing in the XArray.)
600  XA_BUG_ON(xa, xa_load() - Load an entry from an XArray.*@xa: XArray.*@index: index into array.* Context: Any context. Takes and releases the RCU lock.* Return: The entry at @index in @xa. != xa_mk_value() - Create an XArray entry from an integer.*@v: Value to store in XArray.* Context: Any context.* Return: An entry suitable for storing in the XArray.)
601  XA_BUG_ON(xa, xa_load() - Load an entry from an XArray.*@xa: XArray.*@index: index into array.* Context: Any context. Takes and releases the RCU lock.* Return: The entry at @index in @xa. != NULL)
602  _read_lock() - mark the beginning of an RCU read-side critical section* When synchronize_rcu() is invoked on one CPU while other CPUs* are within RCU read-side critical sections, then the* synchronize_rcu() is guaranteed to block until after all the other
603  XA_BUG_ON(xa, Total entry count != 4)
604  XA_BUG_ON(xa, Value entry count != 4)
605  _read_unlock() - marks the end of an RCU read-side critical section.* In most situations, rcu_read_unlock() is immune from deadlock.* However, in kernels built with CONFIG_RCU_BOOST, rcu_read_unlock()
608  If anyone needs this, please move it to xarray.c. We have no current* users outside the test suite because all current multislot users want* to use the advanced API.
609  XA_BUG_ON(xa, !xa_empty() - Determine if an array has any present entries.*@xa: XArray.* Context: Any context.* Return: %true if the array contains only NULL pointers.)
612  xa_store_index(xa, 1, GFP_KERNEL)
613  xa_store_index(xa, 2, GFP_KERNEL)
614  If anyone needs this, please move it to xarray.c. We have no current* users outside the test suite because all current multislot users want* to use the advanced API.
615  XA_BUG_ON(xa, !xa_empty() - Determine if an array has any present entries.*@xa: XArray.* Context: Any context.* Return: %true if the array contains only NULL pointers.)
617 i小于max_order循环
618 j小于max_order循环
622 k小于max_order循环
635 i小于20循环
636  check_multi_store_1(xa, 200, i)
637  check_multi_store_1(xa, 0, i)
638  check_multi_store_1(xa, (1UL << i) + 1, i)
640  check_multi_store_2(xa, 4095, 9)
642 i小于20循环
643  check_multi_store_3(xa, 0, i)
644  check_multi_store_3(xa, 1UL << i, i)
调用者
名称描述
xarray_checks