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:34
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:Check if a timeout waiting for other CPUs happened.

Proto:static int mce_timed_out(u64 *t, const char *msg)

Type:int

Parameter:

TypeParameterName
u64 *t
const char *msg
854  rmb()
855  If atomic_read( & mce_panicked) Then Panic in progress. Enable interrupts and wait for final IPI
857  If Not monarch_timeout Then Go to out
859  If ((s64) * t < 100ns ) Then
860  If tolerant <= 1 Then mce_panic(msg, NULL, NULL)
862  cpu_missing = 1
863  Return 1
865  t -= 100ns
866  out :
867  h_nmi_watchdog - restart NMI watchdog timeout.* If the architecture supports the NMI watchdog, touch_nmi_watchdog()* may be used to reset the timeout - for code which intentionally* disables interrupts for a long time. This call is stateless.
868  Return 0
Caller
NameDescribe
mce_startStart 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
mce_endSynchronize between CPUs after main scanning loop.* This invokes the bulk of the Monarch processing.