On Sun, 2017-05-07 at 15:17 +0800, nixun_992(a)sina.com wrote: > >      For one nvme device, if i config SPDK with two partitions, is there any > way to limit the transfer speed to a fix speed? I know the kernel has cgroup > limit and buffered io limit, if i want to implement this in SPDK, is there a > way to archive this? > As Changpeng said, we don't have any quality of service code in SPDK today (patches welcome). However, we do have a vision for where that type of code would go. We expect this type of thing to be implemented as a bdev module (lib/bdev). Specifically, a virtual bdev that is layered on top of the other physical bdevs. That way, the same code can be used for all of the different types of backing storage. We have one example of how to write a virtual bdev (lib/bdev/split) which is a simple splitter that you can use to get started. Note that the community is currently doing some major refactoring on the bdev layer in preparation for stabilizing and "finalizing" the API of this component. The big changes coming do the following things: 1) Use the env wrapper instead of calling DPDK directly 2) Remove the dependency on the event framework (lib/event) 3) Full support for zero copy read and write, where possible* 4) Documentation! *This is only possible with appropriate hardware support Thanks, Ben