函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:include\linux\jhash.h Create Date:2022-07-27 07:05:04
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:jhash - hash an arbitrary key*@k: sequence of bytes as key*@length: the length of the key*@initval: the previous hash, or an arbitray value* The generic version, hashes an arbitrary sequence of bytes.

函数原型:static inline u32 jhash(const void *key, u32 length, u32 initval)

返回类型:u32

参数:

类型参数名称
const void *key
u32length
u32initval
73  k等于key
76  a等于b等于c等于An arbitrary initial parameter lengthinitval
79 length大于12循环
80  a加等于__get_unaligned_cpu32(k)
81  b加等于__get_unaligned_cpu32(k + 4)
82  c加等于__get_unaligned_cpu32(k + 8)
84  length减等于12
85  k加等于12
89  :length恒等于12
89  c加等于k[11]左移24位
90  :length恒等于11
90  c加等于k[10]左移16位
91  :length恒等于10
91  c加等于k[9]左移8位
92  :length恒等于9
92  c加等于k[8]
93  :length恒等于8
93  b加等于k[7]左移24位
94  :length恒等于7
94  b加等于k[6]左移16位
95  :length恒等于6
95  b加等于k[5]左移8位
96  :length恒等于5
96  b加等于k[4]
97  :length恒等于4
97  a加等于k[3]左移24位
98  :length恒等于3
98  a加等于k[2]左移16位
99  :length恒等于2
99  a加等于k[1]左移8位
100  :length恒等于1
100  a加等于k[0]
102  :length恒等于0
103  退出
106  返回:c
调用者
名称描述
wqattrs_hashhash value of the content of @attr
__tracing_map_insert
htab_map_hash
strhash
rht_key_get_hash
udp_flow_src_port