函数逻辑报告

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:11
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:Check if a timeout waiting for other CPUs happened.

函数原型:static int mce_timed_out(u64 *t, const char *msg)

返回类型:int

参数:

类型参数名称
u64 *t
const char *msg
854  rmb()
855  如果atomic_read( & mce_panicked)则Panic in progress. Enable interrupts and wait for final IPI
857  如果非monarch_timeout则转到:out
859  如果((s64) * t < 100ns )则
860  如果tolerant小于等于1则mce_panic(msg, NULL, NULL)
862  cpu_missing等于1
863  返回: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  返回:0
调用者
名称描述
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.