函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:kyber_get_domain_token

函数原型:static int kyber_get_domain_token(struct kyber_queue_data *kqd, struct kyber_hctx_data *khd, struct blk_mq_hw_ctx *hctx)

返回类型:int

参数:

类型参数名称
struct kyber_queue_data *kqd
struct kyber_hctx_data *khd
struct blk_mq_hw_ctx *hctx
706  sched_domain等于cur_domain
707  domain_tokens等于* Each scheduling domain has a limited number of in-flight requests * device-wide, limited by these tokens.[sched_domain]
708  wait等于domain_wait[sched_domain]
712  nr等于__sbitmap_queue_get(domain_tokens)
719  如果nr小于0且链表为空且不修改
720  ws等于sbq_wait_ptr() - Get the next wait queue to use for a &struct* sbitmap_queue.*@sbq: Bitmap queue to wait on.*@wait_index: A counter per "user" of @sbq.
722  domain_ws[sched_domain]等于ws
723  sbitmap_add_wait_queue(domain_tokens, ws, wait)
729  nr等于__sbitmap_queue_get(domain_tokens)
739  如果nr大于等于0且非链表为空且不修改
740  ws等于domain_ws[sched_domain]
741  spin_lock_irq( & lock)
742  sbitmap_del_wait_queue(wait)
743  spin_unlock_irq( & lock)
746  返回:nr
调用者
名称描述
kyber_dispatch_cur_domain