smplock.h

来自「Linux内核源代码 为压缩文件 是<<Linux内核>&gt」· C头文件 代码 · 共 61 行

H
61
字号
/* *  include/asm-s390/smplock.h * *  S390 version * *  Derived from "include/asm-i386/smplock.h" */#include <linux/interrupt.h>#include <asm/spinlock.h>extern spinlock_t kernel_flag;/* * Release global kernel lock and global interrupt lock */#define release_kernel_lock(task, cpu)     \do {                                       \	if (task->lock_depth >= 0)         \		spin_unlock(&kernel_flag); \	release_irqlock(cpu);              \	__sti();                           \} while (0)/* * Re-acquire the kernel lock */#define reacquire_kernel_lock(task)        \do {                                       \	if (task->lock_depth >= 0)         \		spin_lock(&kernel_flag);   \} while (0)/* * Getting the big kernel lock. * * This cannot happen asynchronously, * so we only need to worry about other * CPU's. *//* * Getting the big kernel lock. * * This cannot happen asynchronously, * so we only need to worry about other * CPU's. */extern __inline__ void lock_kernel(void){        if (!++current->lock_depth)                spin_lock(&kernel_flag);}extern __inline__ void unlock_kernel(void){        if (--current->lock_depth < 0)                spin_unlock(&kernel_flag);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?