Function report |
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 activity | Download SCCT | Chinese |
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:
| Type | Parameter | Name |
|---|---|---|
| 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 |
| 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) |
| 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 |
| Name | Describe |
|---|---|
| __blk_mq_delay_run_hw_queue |
| Source code conversion tool public plug-in interface | X |
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |