函数源码

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source File:arch\x86\kernel\cpu\microcode\core.c Create Date:2022-07-27 09:07:51
首页 Copyright©Brick

523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
static int __wait_for_cpus(atomic_t *t, long long timeout)
{
    int all_cpus = num_online_cpus();
 
    atomic_inc(t);
 
    while (atomic_read(t) < all_cpus) {
        if (timeout < SPINUNIT) {
            pr_err("Timeout while waiting for CPUs rendezvous, remaining: %d\n",
                all_cpus - atomic_read(t));
            return 1;
        }
 
        ndelay(SPINUNIT);
        timeout -= SPINUNIT;
 
        touch_nmi_watchdog();
    }
    return 0;
}