函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:pm_qos_update_target - manages the constraints list and calls the notifiers* if needed*@c: constraints data struct*@node: request to add to the list, to update or to remove*@action: action to take on the constraints list*@value: value of the request to

函数原型:int pm_qos_update_target(struct pm_qos_constraints *c, struct plist_node *node, enum pm_qos_req_action action, int value)

返回类型:int

参数:

类型参数名称
struct pm_qos_constraints *c
struct plist_node *node
enum pm_qos_req_actionaction
intvalue
221  spin_lock_irqsave( & pm_qos_lock, flags)
222  prev_value等于locked internal variant
223  如果value恒等于PM_QOS_DEFAULT_VALUEnew_value等于default_value
225  否则new_value等于value
229  :action恒等于PM_QOS_REMOVE_REQ
230  从plist移除节点
231  退出
232  :action恒等于Update an existing request
238  从plist移除节点
240  :action恒等于Add a new request
241  动态链表初始化
242  添加节点到头上
243  退出
244  默认
249  curr_value等于locked internal variant
250  pm_qos_set_value(c, curr_value)
252  spin_unlock_irqrestore( & pm_qos_lock, flags)
254  trace_pm_qos_update_target(action, prev_value, curr_value)
255  如果prev_value不等于curr_value
256  ret等于1
257  如果notifiersblocking_notifier_call_chain(notifiers, (unsignedlong)curr_value, NULL)
261  否则
262  ret等于0
264  返回:ret
调用者
名称描述
__pm_qos_update_request
pm_qos_add_requestpm_qos_add_request - inserts new qos request into the list*@req: pointer to a preallocated handle*@pm_qos_class: identifies which list of qos request to use*@value: defines the qos request* This function inserts a new entry in the pm_qos_class list of
pm_qos_update_request_timeoutpm_qos_update_request_timeout - modifies an existing qos request temporarily.*@req : handle to list element holding a pm_qos request to use*@new_value: defines the temporal qos request*@timeout_us: the effective duration of this qos request in usecs.
pm_qos_remove_requestpm_qos_remove_request - modifies an existing qos request*@req: handle to request list element* Will remove pm qos request from the list of constraints and* recompute the current target value for the pm_qos_class. Call this* on slow code paths.
freq_qos_applyq_qos_apply - Add/modify/remove frequency QoS request.*@req: Constraint request to apply.*@action: Action to perform (add/update/remove).*@value: Value to assign to the QoS request.* This is only meant to be called from inside pm_qos, not drivers.