函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:block\blk-mq.c Create Date:2022-07-27 18:45:31
Last Modify:2020-03-17 23:18:05 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:blk_mq_flush_plug_list

函数原型:void blk_mq_flush_plug_list(struct blk_plug *plug, bool from_schedule)

返回类型:void

参数:

类型参数名称
struct blk_plug *plug
boolfrom_schedule
1689  LIST_HEAD(list)
1690  LIST_HEAD(rq_list)
1693  加入二个链表项并重新初始化
1695  如果rq_count大于2且multiple_queueslist_sort - sort a list*@priv: private data, opaque to list_sort(), passed to @cmp*@head: the list to sort*@cmp: the elements comparison function* The comparison funtion @cmp must return > 0 if @a should sort after*@b ("@a > @b" if you want an ascending
1698  rq_count等于0
1700  this_q = NULL
1701  this_hctx = NULL
1702  this_ctx = NULL
1703  depth等于0
1705  当非链表为空循环
1706  rq等于list_entry_rq(next)
1707  删除链表项并重新初始化
1708  BUG_ON(!q)
1709  如果mq_hctx不等于this_hctxmq_ctx不等于this_ctx
1710  如果this_hctx
1717  this_q等于q
1718  this_ctx等于mq_ctx
1719  this_hctx等于mq_hctx
1720  depth等于0
1723  depth自加
1724  添加链表项
1731  如果this_hctx
1732  lock_unplug - release of operations requests in request queue*@q: request queue to unplug*@depth: number of requests just added to the queue*@explicit: whether this was an explicit unplug, or one from schedule()* Unplug request queue @q because device
1733  blk_mq_sched_insert_requests(this_hctx, this_ctx, & rq_list, from_schedule)