函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:sert_wq_barrier - insert a barrier work*@pwq: pwq to insert barrier into*@barr: wq_barrier to insert*@target: target work to attach @barr to*@worker: worker currently executing @target, NULL if @target is not executing*@barr is linked to @target such that

函数原型:static void insert_wq_barrier(struct pool_workqueue *pwq, struct wq_barrier *barr, struct work_struct *target, struct worker *worker)

返回类型:void

参数:

类型参数名称
struct pool_workqueue *pwq
struct wq_barrier *barr
struct work_struct *target
struct worker *worker
2650  linked等于0
2658  INIT_WORK_ONSTACK( & work, wq_barrier_func)
2659  __set_bit - Set a bit in memory*@nr: the bit to set*@addr: the address to start counting from* Unlike set_bit(), this function is non-atomic. If it is called on the same* region of memory concurrently, the effect may be that only one operation* succeeds.
2661  init_completion_map( & done, & lockdep_map)
2663  purely informational 等于当前进程
2669  如果workerhead等于链表后项
2671  否则
2672  bits等于The first word is the work queue pointer and the flags rolled into* one(target)
2674  head等于链表后项
2676  linked等于bits按位与WORK_STRUCT_LINKED
2677  __set_bit - Set a bit in memory*@nr: the bit to set*@addr: the address to start counting from* Unlike set_bit(), this function is non-atomic. If it is called on the same* region of memory concurrently, the effect may be that only one operation* succeeds.
2680  debug_work_activate( & work)
2681  sert_work - insert a work into a pool*@pwq: pwq @work belongs to*@work: work to insert*@head: insertion point*@extra_flags: extra WORK_STRUCT_* flags to set* Insert @work which belongs to @pwq after @head
调用者
名称描述
start_flush_work