- 论坛徽章:
- 22
|
- void __might_sleep(char *file, int line)
- {
- #if defined(in_atomic)
- static unsigned long prev_jiffy; /* ratelimiting */
- if ((in_atomic() || irqs_disabled()) &&
- system_state == SYSTEM_RUNNING) {
- if (time_before(jiffies, prev_jiffy + HZ) && prev_jiffy)
- return;
- prev_jiffy = jiffies;
- printk(KERN_ERR "Debug: sleeping function called from invalid"
- " context at %s:%d\n", file, line);
- printk("in_atomic():%d, irqs_disabled():%d\n",
- in_atomic(), irqs_disabled());
- dump_stack();
- }
- #endif
- }
复制代码 其中这个prev_jiffy不是一直都是为0吗?那这个判断if (time_before(jiffies, prev_jiffy + HZ) && prev_jiffy)有什么意义? |
|