打印内核函数处于什么上下文

liaocj 2024-11-20 14:46:23
Categories: Tags:
void check_context(void)
{
    if (in_interrupt()) {
        if (in_irq()) {
            printk(KERN_INFO "Currently in hard interrupt context.\n");
        } else if (in_softirq()) {
            printk(KERN_INFO "Currently in soft interrupt context.\n");
        } else {
            printk(KERN_INFO "Currently in an unknown interrupt context.\n");
        }
    } else if (in_atomic()) {
        printk(KERN_INFO "Currently in atomic context (non-preemptible).\n");
    } else {
        printk(KERN_INFO "Currently in process context.\n");
    }
}