函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\sched\core.c Create Date:2022-07-27 10:36:39
Last Modify:2022-05-22 13:40:38 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:Print scheduling while atomic bug:

函数原型:static noinline void __schedule_bug(struct task_struct *prev)

返回类型:void

参数:

类型参数名称
struct task_struct *prev
3852  preempt_disable_ip等于get_preempt_disable_ip(当前进程)
3854  如果If set, an oops, panic(), BUG() or die() is in progress 则返回
3857  printk(r conditions "BUG: scheduling while atomic: %s/%d/0x%08x\n", 是否使用FPU, 进程ID, 抢占计数值)
3860  debug_show_held_locks(prev)
3861  print_modules()
3862  如果已禁止中断()则print_irqtrace_events(prev)
3864  如果IS_ENABLED(CONFIG_FOO) evaluates to 1 if CONFIG_FOO is set to 'y' or 'm',* 0 otherwise.(CONFIG_DEBUG_PREEMPT)且Check whether we were atomic before we did preempt_disable():* (used by the scheduler)()则
3866  打印错误信息("Preemption disabled at:")
3867  print_ip_sym(preempt_disable_ip)
3868  打印标准信息("\n")
3870  如果panic_on_warnpanic - halt the system*@fmt: The text string to print* Display a message, then perform cleanups.* This function never returns.
3873  dump_stack()
3874  add_taint: add a taint flag if not already set.*@flag: one of the TAINT_* constants.*@lockdep_ok: whether lock debugging is still OK.* If something bad has gone wrong, you'll want @lockdebug_ok = false, but for
调用者
名称描述
schedule_debug调试检查和统计