Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:arch\x86\kernel\cpu\mce\core.c Create Date:2022-07-28 08:00:37
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name: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

Proto:static int mce_start(int *no_way_out)

Type:int

Parameter:

TypeParameterName
int *no_way_out
960  cpus = num_online_cpus()
961  timeout = monarch_timeout * NSEC_PER_USEC
963  If Not timeout Then Return -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  When atomic_read( & Defines order of CPUs on entry. First CPU becomes Monarch.) != cpus cycle
979  atomic_set( & global_nwo, 0)
980  Return -1
982  0x5 is 2**32 / 1000000000 (rounded up) (100ns )
988  smp_rmb()
990  If order == 1 Then
994  atomic_set( & Variable to establish order between CPUs while scanning.* Each CPU spins initially until executing is equal its number., 1)
995  Else
1005  atomic_set( & global_nwo, 0)
1006  Return -1
1015  no_way_out = atomic_read( & global_nwo)
1017  Return order
Caller
NameDescribe
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