Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:block\blk-mq.c Create Date:2022-07-28 17:09:49
Last Modify:2020-03-17 23:18:05 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:It'd be great if the workqueue API had a way to pass* in a mask and had some smarts for more clever placement.* For now we just round-robin here, switching for every* BLK_MQ_CPU_WORK_BATCH queued items.

Proto:static int blk_mq_hctx_next_cpu(struct blk_mq_hw_ctx *hctx)

Type:int

Parameter:

TypeParameterName
struct blk_mq_hw_ctx *hctx
1389  bool tried = false
1390  next_cpu = @next_cpu: Used by blk_mq_hctx_next_cpu() for round-robin CPU* selection from @cpumask.
1392  If nr_hw_queues == 1 Then Return WORK_CPU_UNBOUND
1395  If --@next_cpu_batch: Counter of how many works left in the batch before* changing to the next CPU. <= 0 Then
1396  select_cpu :
1397  next_cpu = cpumask_next_and(next_cpu, @cpumask: Map of available CPUs where this hctx can run. , cpu_online_mask)
1399  If next_cpu >= Setup number of possible processor ids Then next_cpu = blk_mq_first_mapped_cpu(hctx)
1401  @next_cpu_batch: Counter of how many works left in the batch before* changing to the next CPU. = BLK_MQ_CPU_WORK_BATCH
1408  If Not cpu_online(next_cpu) Then
1409  If Not tried Then
1410  tried = true
1411  Go to select_cpu
1418  @next_cpu: Used by blk_mq_hctx_next_cpu() for round-robin CPU* selection from @cpumask. = next_cpu
1419  @next_cpu_batch: Counter of how many works left in the batch before* changing to the next CPU. = 1
1420  Return WORK_CPU_UNBOUND
1423  @next_cpu: Used by blk_mq_hctx_next_cpu() for round-robin CPU* selection from @cpumask. = next_cpu
1424  Return next_cpu
Caller
NameDescribe
__blk_mq_delay_run_hw_queue