summaryrefslogtreecommitdiff
path: root/block/bsg.c
diff options
context:
space:
mode:
authorJens Axboe <axboe@fb.com>2015-01-22 22:07:58 +0300
committerJens Axboe <axboe@fb.com>2015-01-29 20:25:34 +0300
commitac3dd5bd128b1d1ce2a037775766f39d06a4848a (patch)
tree9e6390eac98ffbbe5d7d82e6c585125ed9bba0cf /block/bsg.c
parent4ca5829ac8b1297715bf609443ade2c332f3fd0c (diff)
downloadlinux-ac3dd5bd128b1d1ce2a037775766f39d06a4848a.tar.xz
NVMe: avoid kmalloc/kfree for smaller IO
Currently we allocate an nvme_iod for each IO, which holds the sg list, prps, and other IO related info. Set a threshold of 2 pages and/or 8KB of data, below which we can just embed this in the per-command pdu in blk-mq. For any IO at or below NVME_INT_PAGES and NVME_INT_BYTES, we save a kmalloc and kfree. For higher IOPS, this saves up to 1% of CPU time. Signed-off-by: Jens Axboe <axboe@fb.com> Reviewed-by: Keith Busch <keith.busch@intel.com>
Diffstat (limited to 'block/bsg.c')
0 files changed, 0 insertions, 0 deletions