SPDK_IOAT
March 13, 2024
468
SPDK IOAT Engine
SPDK ioat是一个加速框架,可以实现多个CPU任务异步的Memcpy操作,并在操作结束后通知CPU(调用回调函数)。
这种方式可以减少让CPU省下来做更多其他的事情。
相关函数
SPDK_IOAT_FLUSH
函数原型 void spdk_ioat_flush(struct spdk_ioat_chan *ioat)
,
将之前设置的ioat文件描述符通过DMA方式触发工作。
SPDK_IOAT_SUBMIT_COPY
函数原型 int spdk_ioat_submit_copy(struct spdk_ioat_chan *ioat, void *cb_arg, spdk_ioat_req_cb cb_fn, void *dst, const void *src, uint64_t nbytes)
,
把任务从 src
搬运长度为 nbytes
到 dst
组成DMA任务,并通过flush函数发送下去。
任务完成后会调用 cb_fn(cb_arg)
。
SPDK_IOAT_BUILD_COPY
- 本文作者:Jeremy Chen
- 本文链接:http://jeremy2001-chen.github.io/2024/03/13/SPDK-IOAT/index.html
- 版权声明:本博客所有文章均采用 BY-NC-SA 许可协议,转载请注明出处!