/linux/rust/kernel/block/mq/ |
H A D | tag_set.rs | 44 let tag_set: bindings::blk_mq_tag_set = unsafe { core::mem::zeroed() }; in new() localVariable 45 let tag_set = core::mem::size_of::<RequestDataWrapper>() in new() localVariable 58 ..tag_set in new() 63 inner <- PinInit::<_, error::Error>::pin_chain(Opaque::new(tag_set?), |tag_set| { in new() 64 // SAFETY: we do not move out of `tag_set`. in new() 65 let tag_set = unsafe { Pin::get_unchecked_mut(tag_set) }; in new() localVariable 66 // SAFETY: `tag_set` is a reference to an initialized `blk_mq_tag_set`. in new() 67 error::to_result( unsafe { bindings::blk_mq_alloc_tag_set(tag_set in new() [all...] |
/linux/drivers/s390/block/ |
H A D | dasd_genhd.c | 55 block->tag_set.ops = &dasd_mq_ops; in dasd_gendisk_alloc() 56 block->tag_set.cmd_size = sizeof(struct dasd_ccw_req); in dasd_gendisk_alloc() 57 block->tag_set.nr_hw_queues = nr_hw_queues; in dasd_gendisk_alloc() 58 block->tag_set.queue_depth = queue_depth; in dasd_gendisk_alloc() 59 block->tag_set.flags = BLK_MQ_F_SHOULD_MERGE; in dasd_gendisk_alloc() 60 block->tag_set.numa_node = NUMA_NO_NODE; in dasd_gendisk_alloc() 61 rc = blk_mq_alloc_tag_set(&block->tag_set); in dasd_gendisk_alloc() 65 gdp = blk_mq_alloc_disk(&block->tag_set, &lim, block); in dasd_gendisk_alloc() 67 blk_mq_free_tag_set(&block->tag_set); in dasd_gendisk_alloc() 125 blk_mq_free_tag_set(&block->tag_set); in dasd_gendisk_free()
|
H A D | scm_blk.c | 460 bdev->tag_set.ops = &scm_mq_ops; in scm_blk_dev_setup() 461 bdev->tag_set.cmd_size = sizeof(blk_status_t); in scm_blk_dev_setup() 462 bdev->tag_set.nr_hw_queues = nr_requests; in scm_blk_dev_setup() 463 bdev->tag_set.queue_depth = nr_requests_per_io * nr_requests; in scm_blk_dev_setup() 464 bdev->tag_set.flags = BLK_MQ_F_SHOULD_MERGE; in scm_blk_dev_setup() 465 bdev->tag_set.numa_node = NUMA_NO_NODE; in scm_blk_dev_setup() 467 ret = blk_mq_alloc_tag_set(&bdev->tag_set); in scm_blk_dev_setup() 471 bdev->gendisk = blk_mq_alloc_disk(&bdev->tag_set, &lim, scmdev); in scm_blk_dev_setup() 503 blk_mq_free_tag_set(&bdev->tag_set); in scm_blk_dev_setup() 513 blk_mq_free_tag_set(&bdev->tag_set); in scm_blk_dev_cleanup()
|
/linux/drivers/md/ |
H A D | dm-rq.c | 543 md->tag_set = kzalloc_node(sizeof(struct blk_mq_tag_set), GFP_KERNEL, md->numa_node_id); in dm_mq_init_request_queue() 544 if (!md->tag_set) in dm_mq_init_request_queue() 547 md->tag_set->ops = &dm_mq_ops; in dm_mq_init_request_queue() 548 md->tag_set->queue_depth = dm_get_blk_mq_queue_depth(); in dm_mq_init_request_queue() 549 md->tag_set->numa_node = md->numa_node_id; in dm_mq_init_request_queue() 550 md->tag_set->flags = BLK_MQ_F_SHOULD_MERGE | BLK_MQ_F_STACKING; in dm_mq_init_request_queue() 551 md->tag_set->nr_hw_queues = dm_get_blk_mq_nr_hw_queues(); in dm_mq_init_request_queue() 552 md->tag_set->driver_data = md; in dm_mq_init_request_queue() 554 md->tag_set->cmd_size = sizeof(struct dm_rq_target_io); in dm_mq_init_request_queue() 558 md->tag_set->cmd_size += immutable_tgt->per_io_data_size; in dm_mq_init_request_queue() [all …]
|
/linux/drivers/block/ |
H A D | z2ram.c | 310 static struct blk_mq_tag_set tag_set; variable 321 disk = blk_mq_alloc_disk(&tag_set, NULL, NULL); in z2ram_register_disk() 352 tag_set.ops = &z2_mq_ops; in z2_init() 353 tag_set.nr_hw_queues = 1; in z2_init() 354 tag_set.nr_maps = 1; in z2_init() 355 tag_set.queue_depth = 16; in z2_init() 356 tag_set.numa_node = NUMA_NO_NODE; in z2_init() 357 tag_set.flags = BLK_MQ_F_SHOULD_MERGE; in z2_init() 358 ret = blk_mq_alloc_tag_set(&tag_set); in z2_init() 371 blk_mq_free_tag_set(&tag_set); in z2_init() [all …]
|
H A D | nbd.c | 116 struct blk_mq_tag_set tag_set; member 265 blk_mq_free_tag_set(&nbd->tag_set); in nbd_dev_remove() 483 (config->num_connections == 1 && nbd->tag_set.timeout)) { in nbd_xmit_timeout() 516 if (!nbd->tag_set.timeout) { in nbd_xmit_timeout() 822 if (hwq < nbd->tag_set.nr_hw_queues) in nbd_handle_reply() 823 req = blk_mq_tag_to_rq(nbd->tag_set.tags[hwq], in nbd_handle_reply() 989 blk_mq_tagset_busy_iter(&nbd->tag_set, nbd_clear_req, NULL); in nbd_clear_que() 1269 if (nbd->tag_set.timeout) in nbd_reconnect_socket() 1270 sock->sk->sk_sndtimeo = nbd->tag_set.timeout; in nbd_reconnect_socket() 1389 nbd->tag_set.timeout = 0; in nbd_config_put() [all …]
|
H A D | virtio_blk.c | 72 struct blk_mq_tag_set tag_set; member 1480 memset(&vblk->tag_set, 0, sizeof(vblk->tag_set)); in virtblk_probe() 1481 vblk->tag_set.ops = &virtio_mq_ops; in virtblk_probe() 1482 vblk->tag_set.queue_depth = queue_depth; in virtblk_probe() 1483 vblk->tag_set.numa_node = NUMA_NO_NODE; in virtblk_probe() 1484 vblk->tag_set.flags = BLK_MQ_F_SHOULD_MERGE; in virtblk_probe() 1485 vblk->tag_set.cmd_size = in virtblk_probe() 1488 vblk->tag_set.driver_data = vblk; in virtblk_probe() 1489 vblk->tag_set.nr_hw_queues = vblk->num_vqs; in virtblk_probe() 1490 vblk->tag_set.nr_maps = 1; in virtblk_probe() [all …]
|
H A D | ataflop.c | 305 struct blk_mq_tag_set tag_set; member 2000 disk = blk_mq_alloc_disk(&unit[drive].tag_set, &lim, NULL); in ataflop_alloc_disk() 2054 blk_mq_free_tag_set(&unit[i].tag_set); in atari_floppy_cleanup() 2072 blk_mq_free_tag_set(&fs->tag_set); in atari_cleanup_floppy_disk() 2085 memset(&unit[i].tag_set, 0, sizeof(unit[i].tag_set)); in atari_floppy_init() 2086 unit[i].tag_set.ops = &ataflop_mq_ops; in atari_floppy_init() 2087 unit[i].tag_set.nr_hw_queues = 1; in atari_floppy_init() 2088 unit[i].tag_set.nr_maps = 1; in atari_floppy_init() 2089 unit[i].tag_set.queue_depth = 2; in atari_floppy_init() 2090 unit[i].tag_set.numa_node = NUMA_NO_NODE; in atari_floppy_init() [all …]
|
H A D | ps3disk.c | 32 struct blk_mq_tag_set tag_set; member 437 error = blk_mq_alloc_sq_tag_set(&priv->tag_set, &ps3disk_mq_ops, 1, in ps3disk_probe() 442 gendisk = blk_mq_alloc_disk(&priv->tag_set, &lim, dev); in ps3disk_probe() 475 blk_mq_free_tag_set(&priv->tag_set); in ps3disk_probe() 501 blk_mq_free_tag_set(&priv->tag_set); in ps3disk_remove()
|
H A D | amiflop.c | 205 struct blk_mq_tag_set tag_set; member 1786 disk = blk_mq_alloc_disk(&unit[drive].tag_set, &lim, NULL); in fd_alloc_disk() 1816 memset(&unit[drive].tag_set, 0, sizeof(unit[drive].tag_set)); in fd_alloc_drive() 1817 unit[drive].tag_set.ops = &amiflop_mq_ops; in fd_alloc_drive() 1818 unit[drive].tag_set.nr_hw_queues = 1; in fd_alloc_drive() 1819 unit[drive].tag_set.nr_maps = 1; in fd_alloc_drive() 1820 unit[drive].tag_set.queue_depth = 2; in fd_alloc_drive() 1821 unit[drive].tag_set.numa_node = NUMA_NO_NODE; in fd_alloc_drive() 1822 unit[drive].tag_set.flags = BLK_MQ_F_SHOULD_MERGE; in fd_alloc_drive() 1823 if (blk_mq_alloc_tag_set(&unit[drive].tag_set)) in fd_alloc_drive() [all …]
|
H A D | xen-blkfront.c | 226 struct blk_mq_tag_set tag_set; member 1120 memset(&info->tag_set, 0, sizeof(info->tag_set)); in xlvbd_alloc_gendisk() 1121 info->tag_set.ops = &blkfront_mq_ops; in xlvbd_alloc_gendisk() 1122 info->tag_set.nr_hw_queues = info->nr_rings; in xlvbd_alloc_gendisk() 1130 info->tag_set.queue_depth = BLK_RING_SIZE(info) / 2; in xlvbd_alloc_gendisk() 1132 info->tag_set.queue_depth = BLK_RING_SIZE(info); in xlvbd_alloc_gendisk() 1133 info->tag_set.numa_node = NUMA_NO_NODE; in xlvbd_alloc_gendisk() 1134 info->tag_set.flags = BLK_MQ_F_SHOULD_MERGE; in xlvbd_alloc_gendisk() 1135 info->tag_set.cmd_size = sizeof(struct blkif_req); in xlvbd_alloc_gendisk() 1136 info->tag_set.driver_data = info; in xlvbd_alloc_gendisk() [all …]
|
H A D | ublk_drv.c | 166 struct blk_mq_tag_set tag_set; member 1416 req = blk_mq_tag_to_rq(ub->tag_set.tags[qid], tag); in ublk_commit_completion() 1446 rq = blk_mq_tag_to_rq(ub->tag_set.tags[ubq->q_id], i); in ublk_abort_queue() 1581 blk_mq_tagset_busy_iter(&ub->tag_set, in ublk_wait_tagset_rqs_idle() 1709 struct request *req = blk_mq_tag_to_rq(ub->tag_set.tags[q_id], tag); in ublk_handle_need_get_data() 1831 req = blk_mq_tag_to_rq(ub->tag_set.tags[ub_cmd->q_id], tag); in __ublk_ch_uring_cmd() 1883 req = blk_mq_tag_to_rq(ub->tag_set.tags[ubq->q_id], tag); in __ublk_check_and_get_req() 2165 blk_mq_free_tag_set(&ub->tag_set); in ublk_cdev_rel() 2211 ub->tag_set.ops = &ublk_mq_ops; in ublk_add_tag_set() 2212 ub->tag_set.nr_hw_queues = ub->dev_info.nr_hw_queues; in ublk_add_tag_set() [all …]
|
/linux/drivers/mmc/core/ |
H A D | queue.c | 384 disk = blk_mq_alloc_disk(&mq->tag_set, &lim, mq); in mmc_alloc_disk() 432 memset(&mq->tag_set, 0, sizeof(mq->tag_set)); in mmc_init_queue() 433 mq->tag_set.ops = &mmc_mq_ops; in mmc_init_queue() 439 mq->tag_set.queue_depth = in mmc_init_queue() 442 mq->tag_set.queue_depth = MMC_QUEUE_DEPTH; in mmc_init_queue() 443 mq->tag_set.numa_node = NUMA_NO_NODE; in mmc_init_queue() 444 mq->tag_set.flags = BLK_MQ_F_SHOULD_MERGE | BLK_MQ_F_BLOCKING; in mmc_init_queue() 445 mq->tag_set.nr_hw_queues = 1; in mmc_init_queue() 446 mq->tag_set.cmd_size = sizeof(struct mmc_queue_req); in mmc_init_queue() 447 mq->tag_set.driver_data = mq; in mmc_init_queue() [all …]
|
/linux/drivers/mtd/ubi/ |
H A D | block.c | 85 struct blk_mq_tag_set tag_set; member 383 dev->tag_set.ops = &ubiblock_mq_ops; in ubiblock_create() 384 dev->tag_set.queue_depth = 64; in ubiblock_create() 385 dev->tag_set.numa_node = NUMA_NO_NODE; in ubiblock_create() 386 dev->tag_set.flags = BLK_MQ_F_SHOULD_MERGE | BLK_MQ_F_BLOCKING; in ubiblock_create() 387 dev->tag_set.cmd_size = sizeof(struct ubiblock_pdu); in ubiblock_create() 388 dev->tag_set.driver_data = dev; in ubiblock_create() 389 dev->tag_set.nr_hw_queues = 1; in ubiblock_create() 391 ret = blk_mq_alloc_tag_set(&dev->tag_set); in ubiblock_create() 400 gd = blk_mq_alloc_disk(&dev->tag_set, &lim, dev); in ubiblock_create() [all …]
|
/linux/block/ |
H A D | bsg-lib.c | 22 struct blk_mq_tag_set tag_set; member 279 container_of(q->tag_set, struct bsg_set, tag_set); in bsg_queue_rq() 324 container_of(q->tag_set, struct bsg_set, tag_set); in bsg_remove_queue() 329 blk_mq_free_tag_set(&bset->tag_set); in bsg_remove_queue() 338 container_of(rq->q->tag_set, struct bsg_set, tag_set); in bsg_timeout() 378 set = &bset->tag_set; in bsg_setup_queue()
|
H A D | blk-mq-sched.c | 384 if (blk_mq_is_shared_tags(q->tag_set->flags)) { in blk_mq_sched_alloc_map_and_rqs() 389 hctx->sched_tags = blk_mq_alloc_map_and_rqs(q->tag_set, hctx_idx, in blk_mq_sched_alloc_map_and_rqs() 423 struct blk_mq_tag_set *set = queue->tag_set; in blk_mq_init_sched_shared_tags() 443 unsigned int flags = q->tag_set->flags; in blk_mq_init_sched() 454 q->nr_requests = 2 * min_t(unsigned int, q->tag_set->queue_depth, in blk_mq_init_sched() 512 if (blk_mq_is_shared_tags(q->tag_set->flags)) { in blk_mq_sched_free_rqs() 513 blk_mq_free_rqs(q->tag_set, q->sched_shared_tags, in blk_mq_sched_free_rqs() 518 blk_mq_free_rqs(q->tag_set, in blk_mq_sched_free_rqs()
|
H A D | blk-mq-tag.c | 272 struct blk_mq_tag_set *set = q->tag_set; in bt_iter() 508 if (blk_mq_is_shared_tags(q->tag_set->flags)) { in blk_mq_queue_tag_busy_iter() 509 struct blk_mq_tags *tags = q->tag_set->shared_tags; in blk_mq_queue_tag_busy_iter() 616 struct blk_mq_tag_set *set = hctx->queue->tag_set; in blk_mq_tag_update_depth() 664 q->nr_requests - q->tag_set->reserved_tags); in blk_mq_tag_update_sched_shared_tags()
|
/linux/drivers/mtd/ |
H A D | mtd_blkdevs.c | 33 blk_mq_free_tag_set(dev->tag_set); in blktrans_dev_release() 34 kfree(dev->tag_set); in blktrans_dev_release() 327 new->tag_set = kzalloc(sizeof(*new->tag_set), GFP_KERNEL); in add_mtd_blktrans_dev() 328 if (!new->tag_set) in add_mtd_blktrans_dev() 331 ret = blk_mq_alloc_sq_tag_set(new->tag_set, &mtd_mq_ops, 2, in add_mtd_blktrans_dev() 343 gd = blk_mq_alloc_disk(new->tag_set, &lim, new); in add_mtd_blktrans_dev() 396 blk_mq_free_tag_set(new->tag_set); in add_mtd_blktrans_dev() 398 kfree(new->tag_set); in add_mtd_blktrans_dev()
|
/linux/rust/kernel/block/ |
H A D | mq.rs | 94 mod tag_set; module 98 pub use tag_set::TagSet;
|
/linux/include/scsi/ |
H A D | scsi_tcq.h | 32 if (hwq < shost->tag_set.nr_hw_queues) { in scsi_host_find_tag() 33 req = blk_mq_tag_to_rq(shost->tag_set.tags[hwq], in scsi_host_find_tag()
|
/linux/drivers/block/rnbd/ |
H A D | rnbd-clt.c | 737 if (sess->tag_set.tags) in destroy_mq_tags() 738 blk_mq_free_tag_set(&sess->tag_set); in destroy_mq_tags() 1206 struct blk_mq_tag_set *tag_set = &sess->tag_set; in setup_mq_tags() local 1208 memset(tag_set, 0, sizeof(*tag_set)); in setup_mq_tags() 1209 tag_set->ops = &rnbd_mq_ops; in setup_mq_tags() 1210 tag_set->queue_depth = sess->queue_depth; in setup_mq_tags() 1211 tag_set->numa_node = NUMA_NO_NODE; in setup_mq_tags() 1212 tag_set->flags = BLK_MQ_F_SHOULD_MERGE | in setup_mq_tags() 1214 tag_set->cmd_size = sizeof(struct rnbd_iu) + RNBD_RDMA_SGL_SIZE; in setup_mq_tags() 1217 tag_set->nr_maps = sess->nr_poll_queues ? HCTX_MAX_TYPES : 2; in setup_mq_tags() [all …]
|
/linux/drivers/scsi/ |
H A D | scsi_lib.c | 1952 struct Scsi_Host *shost = container_of(set, struct Scsi_Host, tag_set); in scsi_map_queues() 2049 struct blk_mq_tag_set *tag_set = &shost->tag_set; in scsi_mq_setup_tags() local 2058 memset(tag_set, 0, sizeof(*tag_set)); in scsi_mq_setup_tags() 2060 tag_set->ops = &scsi_mq_ops; in scsi_mq_setup_tags() 2062 tag_set->ops = &scsi_mq_ops_no_commit; in scsi_mq_setup_tags() 2063 tag_set->nr_hw_queues = shost->nr_hw_queues ? : 1; in scsi_mq_setup_tags() 2064 tag_set->nr_maps = shost->nr_maps ? : 1; in scsi_mq_setup_tags() 2065 tag_set->queue_depth = shost->can_queue; in scsi_mq_setup_tags() 2066 tag_set->cmd_size = cmd_size; in scsi_mq_setup_tags() 2067 tag_set->numa_node = dev_to_node(shost->dma_dev); in scsi_mq_setup_tags() [all …]
|
/linux/arch/um/drivers/ |
H A D | ubd_kern.c | 159 struct blk_mq_tag_set tag_set; member 784 blk_mq_free_tag_set(&ubd_dev->tag_set); in ubd_device_release() 865 ubd_dev->tag_set.ops = &ubd_mq_ops; in ubd_add() 866 ubd_dev->tag_set.queue_depth = 64; in ubd_add() 867 ubd_dev->tag_set.numa_node = NUMA_NO_NODE; in ubd_add() 868 ubd_dev->tag_set.flags = BLK_MQ_F_SHOULD_MERGE; in ubd_add() 869 ubd_dev->tag_set.driver_data = ubd_dev; in ubd_add() 870 ubd_dev->tag_set.nr_hw_queues = 1; in ubd_add() 872 err = blk_mq_alloc_tag_set(&ubd_dev->tag_set); in ubd_add() 876 disk = blk_mq_alloc_disk(&ubd_dev->tag_set, &lim, ubd_dev); in ubd_add() [all …]
|
/linux/drivers/cdrom/ |
H A D | gdrom.c | 104 struct blk_mq_tag_set tag_set; member 779 err = blk_mq_alloc_sq_tag_set(&gd.tag_set, &gdrom_mq_ops, 1, in probe_gdrom() 784 gd.disk = blk_mq_alloc_disk(&gd.tag_set, &lim, NULL); in probe_gdrom() 825 blk_mq_free_tag_set(&gd.tag_set); in probe_gdrom() 837 blk_mq_free_tag_set(&gd.tag_set); in remove_gdrom()
|
/linux/drivers/nvme/target/ |
H A D | loop.c | 35 struct blk_mq_tag_set tag_set; member 88 return queue->ctrl->tag_set.tags[queue_idx - 1]; in nvme_loop_tagset() 213 (set == &ctrl->tag_set) ? hctx_idx + 1 : 0); in nvme_loop_init_request() 471 blk_mq_update_nr_hw_queues(&ctrl->tag_set, in nvme_loop_reset_ctrl_work() 513 ret = nvme_alloc_io_tag_set(&ctrl->ctrl, &ctrl->tag_set, in nvme_loop_create_io_queues()
|