Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:block\kyber-iosched.c Create Date:2022-07-28 17:52:25
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:kyber_get_domain_token

Proto:static int kyber_get_domain_token(struct kyber_queue_data *kqd, struct kyber_hctx_data *khd, struct blk_mq_hw_ctx *hctx)

Type:int

Parameter:

TypeParameterName
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  If nr < 0 && list_empty_careful - tests whether a list is empty and not being modified*@head: the list to test* Description:* tests whether a list is empty _and_ checks that no other CPU might be* in the process of modifying either member (next or prev)* NOTE: using Then
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  If nr >= 0 && Not list_empty_careful - tests whether a list is empty and not being modified*@head: the list to test* Description:* tests whether a list is empty _and_ checks that no other CPU might be* in the process of modifying either member (next or prev)* NOTE: using Then
740  ws = domain_ws[sched_domain]
741  spin_lock_irq( & lock)
742  sbitmap_del_wait_queue(wait)
743  spin_unlock_irq( & lock)
746  Return nr
Caller
NameDescribe
kyber_dispatch_cur_domain