• J
    NVMe: avoid kmalloc/kfree for smaller IO · ac3dd5bd
    Jens Axboe 提交于
    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: NJens Axboe <axboe@fb.com>
    Reviewed-by: NKeith Busch <keith.busch@intel.com>
    ac3dd5bd
nvme-core.c 72.3 KB