函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:arch\x86\kernel\cpu\mce\core.c Create Date:2022-07-27 09:01:14
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:Start of Monarch synchronization. This waits until all CPUs have* entered the exception handler and then determines if any of them* saw a fatal event that requires panic. Then it executes them* in the entry order.* TBD double check parallel CPU hotunplug

函数原型:static int mce_start(int *no_way_out)

返回类型:int

参数:

类型参数名称
int *no_way_out
960  cpus等于num_online_cpus()
961  timeout等于monarch_timeoutNSEC_PER_USEC
963  如果非timeout则返回:负1
966  atomic_add( * no_way_out, & global_nwo)
971  order等于atomic_inc_return( & Defines order of CPUs on entry. First CPU becomes Monarch.)
976 atomic_read( & Defines order of CPUs on entry. First CPU becomes Monarch.)不等于cpus循环
979  atomic_set( & global_nwo, 0)
980  返回:负1
982  0x5 is 2**32 / 1000000000 (rounded up) (100ns )
988  smp_rmb()
990  如果order恒等于1则
994  atomic_set( & Variable to establish order between CPUs while scanning.* Each CPU spins initially until executing is equal its number., 1)
995  否则
1005  atomic_set( & global_nwo, 0)
1006  返回:负1
1015  no_way_out等于atomic_read( & global_nwo)
1017  返回:order
调用者
名称描述
do_machine_checkThe actual machine check handler. This only handles real* exceptions when something got corrupted coming in through int 18.* This is executed in NMI context not subject to normal locking rules. This* implies that most kernel services cannot be safely used