#ifdef CONFIG_SMP { int i; p->has_cpu = 0; p->processor = current->processor; /* ?? should we just memset this ?? */ for(i = 0; i < smp_num_cpus; i++) p->per_cpu_utime[i] = p->per_cpu_stime[i] = 0; spin_lock_init(&p->sigmask_lock); }
时间: 2024-03-11 12:46:32 浏览: 113
条件编译有以下几种形式-C++程序设计(谭浩强完整版)
继续上面的代码,如果内核配置中启用了 SMP(对称多处理),则为新进程初始化 has_cpu 和 processor 成员变量。然后使用循环将新进程的 per_cpu_utime 和 per_cpu_stime 数组都初始化为 0。这两个数组用于跟踪进程在每个 CPU 上的用户和系统时间。最后初始化新进程的 sigmask_lock 成员变量,用于保护新进程的信号屏蔽字。
阅读全文