Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:lk_throtl_dispatch_work_fn - work function for throtl_data->dispatch_work*@work: work item being executed* This function is queued for execution when bio's reach the bio_lists[]* of throtl_data->service_queue. Those bio's are ready and issued by this

Proto:static void blk_throtl_dispatch_work_fn(struct work_struct *work)

Type:void

Parameter:

TypeParameterName
struct work_struct *work
1323  td = 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, structthrotl_data, dispatch_work)
1325  td_sq = service tree for active throtl groups
1326  q = queue
1332  bio_list_init( & bio_list_on_stack)
1334  spin_lock_irq( & queue_lock)
1335  When rw <= WRITE cycle When bio = hrotl_pop_queued - pop the first bio form a qnode list*@queued: the qnode list to pop a bio from*@tg_to_put: optional out argument for throtl_grp to put* Pop the first bio from the qnode list @queued cycle
1337  bio_list_add( & bio_list_on_stack, bio)
1338  spin_unlock_irq( & queue_lock)
1340  If Not bio_list_empty( & bio_list_on_stack) Then
1341  lk_start_plug - initialize blk_plug and track it inside the task_struct*@plug: The &struct blk_plug that needs to be initialized* Description:* blk_start_plug() indicates to the block layer an intent by the caller
1342  When bio = bio_list_pop( & bio_list_on_stack) cycle
1343  generic_make_request - hand a buffer to its device driver for I/O*@bio: The bio describing the location in memory and on the device.* generic_make_request() is used to make I/O requests of block* devices
1344  lk_finish_plug - mark the end of a batch of submitted I/O*@plug: The &struct blk_plug passed to blk_start_plug()* Description:* Indicate that a batch of I/O submissions is complete. This function* must be paired with an initial call to blk_start_plug()