函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\printk\printk_safe.c Create Date:2022-07-27 11:07:52
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:vprintk_func

函数原型:__printf(1, 0) int vprintk_func(const char *fmt, va_list args)

返回类型:int

参数:

类型参数名称
const char *fmt
va_listargs
367  如果Operations with implied preemption/interrupt protection. These* operations can be used without worrying about preemption or interrupt.(printk_context)按位与PRINTK_NMI_DIRECT_CONTEXT_MASKDefine the various spin_lock methods. Note we define these* regardless of whether CONFIG_SMP or CONFIG_PREEMPTION are set. The* various methods are defined as nops in the case they are not* required.( & The logbuf_lock protects kmsg buffer, indices, counters. This can be taken* within the scheduler's rq lock. It must be released before calling* console_unlock() or anything else that might wake up a process.)则
371  len等于Must be called under logbuf_lock.
372  raw_spin_unlock( & The logbuf_lock protects kmsg buffer, indices, counters. This can be taken* within the scheduler's rq lock. It must be released before calling* console_unlock() or anything else that might wake up a process.)
373  defer_console_output()
374  返回:len
378  如果Operations with implied preemption/interrupt protection. These* operations can be used without worrying about preemption or interrupt.(printk_context)按位与PRINTK_NMI_CONTEXT_MASK则返回:vprintk_nmi(fmt, args)
382  如果Operations with implied preemption/interrupt protection. These* operations can be used without worrying about preemption or interrupt.(printk_context)按位与SPDX-License-Identifier: GPL-2.0-or-later 则返回:Lock-less printk(), to avoid deadlocks should the printk() recurse* into itself. It uses a per-CPU buffer to store the message, just like* NMI.
386  返回:vprintk_default(fmt, args)
调用者
名称描述
printkprintk - print a kernel message*@fmt: format string* This is printk(). It can be called from any context. We want it to work.* We try to grab the console_lock. If we succeed, it's easy - we log the* output and call the console drivers
vprintk