Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\sched\core.c Create Date:2022-07-28 09:36:03
Last Modify:2022-05-22 13:40:38 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:Print scheduling while atomic bug:

Proto:static noinline void __schedule_bug(struct task_struct *prev)

Type:void

Parameter:

TypeParameterName
struct task_struct *prev
3852  preempt_disable_ip = get_preempt_disable_ip(current process)
3854  If If set, an oops, panic(), BUG() or die() is in progress Then Return
3857  printk(r conditions "BUG: scheduling while atomic: %s/%d/0x%08x\n", * executable name, excluding path. * - normally initialized setup_new_exec() * - access it with [gs]et_task_comm() * - lock it with task_lock(), process id, We mask the PREEMPT_NEED_RESCHED bit so as not to confuse all current users* that think a non-zero value indicates we cannot preempt.)
3860  debug_show_held_locks(prev)
3861  print_modules()
3862  If Some architectures don't define arch_irqs_disabled(), so even if either* definition would be fine we need to use different ones for the time being* to avoid build issues.() Then print_irqtrace_events(prev)
3864  If 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)() Then
3866  pr_err("Preemption disabled at:")
3867  print_ip_sym(preempt_disable_ip)
3868  Like KERN_CONT, pr_cont() should only be used when continuing* a line with no newline ('\n') enclosed. Otherwise it defaults* back to KERN_DEFAULT.("\n")
3870  If panic_on_warn Then panic - 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
Caller
NameDescribe
schedule_debugVarious schedule()-time debugging checks and statistics: