Function report | 
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 activity | Download SCCT | Chinese | 
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:
| Type | Parameter | Name | 
|---|---|---|
| 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) | 
| 979 | atomic_set( & global_nwo, 0) | 
| 980 | Return -1 | 
| 988 | smp_rmb() | 
| 990 | If order == 1 Then | 
| 995 | Else | 
| 1003 | If Check if a timeout waiting for other CPUs happened. Then | 
| 1005 | atomic_set( & global_nwo, 0) | 
| 1006 | Return -1 | 
| 1015 | no_way_out = atomic_read( & global_nwo) | 
| 1017 | Return order | 
| Name | Describe | 
|---|---|
| do_machine_check | The 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 | 
| Source code conversion tool public plug-in interface  | X | 
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion  |