函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:css_release_work_fn

函数原型:static void css_release_work_fn(struct work_struct *work)

返回类型:void

参数:

类型参数名称
struct work_struct *work
4949  css等于container_of - cast a member of a structure out to the containing structure*@ptr: the pointer to the member.*@type: the type of the container struct this is embedded in.*@member: the name of the member within the struct.(work, structcgroup_subsys_state, destroy_work)
4951  ss等于PI: the cgroup subsystem that this css is attached to
4952  cgrp等于PI: the cgroup that this css is attached to
4954  mutex_lock( & cgroup_mutex is the master lock)
4956  flags或等于CSS_RELEASED
4957  删除不需要重新初始化的列表项
4959  如果ss
4961  如果非链表为空
4966  cgroup_idr_replace( & idr for css->id , NULL, PI: Subsys-unique ID. 0 is unused and root is always 1. The* matching css can be looked up using css_from_id().)
4967  如果css_releasedcss_released(css)
4969  否则
4973  cgroup_path() takes a spin lock(release, cgrp)
4975  如果group_on_dfl - test whether a cgroup is on the default hierarchy*@cgrp: the cgroup of interest* The default hierarchy is the v2 interface of cgroup and this function* can be used to test whether a cgroup is on the default hierarchy for* cases where a cgroup_rstat_flush(cgrp)
4978  spin_lock_irq( & css_set_lock)
4979 tcgrp循环nr_dying_descendants自减
4982  spin_unlock_irq( & css_set_lock)
4991  如果 cgroup kernfs entry RCU_INIT_POINTER() - initialize an RCU protected pointer*@p: The pointer to be initialized.*@v: The value to initialized the pointer to.* Initialize an RCU-protected pointer in special cases where readers( * (void__rcu__force * * ) & priv, NULL)
4996  mutex_unlock - release the mutex*@lock: the mutex to be released* Unlock a mutex that has been locked by this task previously.* This function must not be used in interrupt context. Unlocking* of a not locked mutex is not allowed.
4998  INIT_RCU_WORK( & destroy_rwork, ss destruction is four-stage process)
4999  queue_rcu_work - queue work after a RCU grace period*@wq: workqueue to use*@rwork: work to queue* Return: %false if @rwork was already pending, %true otherwise