[03:39:39] *** Joins: tomzawadzki (uid327004@gateway/web/irccloud.com/x-jncvfuwzhzchsedd) [11:16:18] *** Joins: KipIngram (~kipingram@185.149.90.58) [11:16:45] Could someone please outline the differences between the bdev and the non-bdev aspects of spdk? [11:23:45] *** Joins: travis-ci (~travis-ci@ec2-3-91-18-123.compute-1.amazonaws.com) [11:23:45] (spdk/master) bdev: add _spdk_bdev_io_do_submit function (lorneli) [11:23:45] Diff URL: https://github.com/spdk/spdk/compare/6ee44c694e01...493fb55e4c55 [11:23:45] *** Parts: travis-ci (~travis-ci@ec2-3-91-18-123.compute-1.amazonaws.com) () [12:49:44] Thank you. My question was motivated by trying to do trims with my setup. I got an error, but if I reset SPDK out and use the OS drivers it works fine (I'm driving from FIO). I saw the bdev docs refer to unmap, so I thought maybe my simple installation doesn't do trim? [12:50:38] spdk should allow for trims through fio [12:50:48] are you using the nvme or the bdev fio plugin in spdk? [12:50:59] Hmmm. Let me try it again. [12:52:25] *** Quits: tomzawadzki (uid327004@gateway/web/irccloud.com/x-jncvfuwzhzchsedd) (Quit: Connection closed for inactivity) [12:55:31] I think these are the key lines of output: [12:55:34] fio: pid=23971, err=1/file:ioengines.c:348, func=td_io_queue, error=Operation not permitted [12:55:36] fio: pid=23972, err=1/file:ioengines.c:348, func=td_io_queue, error=Operation not permitted [12:55:50] what's the command line you are using to run fio [12:56:13] LD_PRELOAD=/home/kingram/tools/spdk/examples/nvme/fio_plugin/fio_plugin BCP=0 fio fcm-test [12:56:33] BCP is passed to buffer_compression_percentage= [12:57:33] I used the same config file for the OS driver pass that worked, just changed spdk->libaio and the file= lines to /dev/nvme?n1 [12:57:33] hmm, it looks like we haven't implemented the unmap path in the NVMe fio plugin [12:57:56] Ok, that's how it's behaving. But it sounds like it would work in bdev? [12:58:06] Is there any downside to using bdev instead? [12:58:31] we have implemented it in the bdev fio plugin [12:58:41] there's just more code in the bdev layer, so it's slightly slower [12:58:50] if you plan to use the bdev layer anyway, there's no downside [12:58:57] Ok. That makes me prefer the nvme, but it really depends on how much slower. [12:59:07] I can try it out and run some comparisons. [12:59:29] to add trim to the nvme fio plugin, you'd go into examples/nvme/fio_plugin/fio_plugin.c [12:59:36] and in the function spdk_fio_queue() [12:59:44] add a case for ddir = DDIR_TRIM [12:59:53] and then call spdk_nvme_ns_cmd_unmap() [13:00:14] Aha. Ok, that sounds pretty straightforward - I'll see if I can manage it. [19:52:11] *** Joins: travis-ci (~travis-ci@ec2-54-86-98-33.compute-1.amazonaws.com) [19:52:11] (spdk/master) nvme: add vfio driver parse event (JinYu) [19:52:11] Diff URL: https://github.com/spdk/spdk/compare/493fb55e4c55...11047d5b2305 [19:52:11] *** Parts: travis-ci (~travis-ci@ec2-54-86-98-33.compute-1.amazonaws.com) () [19:57:31] *** Joins: travis-ci (~travis-ci@ec2-35-173-222-248.compute-1.amazonaws.com) [19:57:32] (spdk/master) bdev: drop extra assert on nomem io completion. (Andrey Kuzmin) [19:57:32] Diff URL: https://github.com/spdk/spdk/compare/11047d5b2305...992ffd80713b [19:57:32] *** Parts: travis-ci (~travis-ci@ec2-35-173-222-248.compute-1.amazonaws.com) () [21:37:00] *** Quits: emce (mikefcarli@gateway/shell/matrix.org/x-posskzshhjalvnlz) (Remote host closed the connection)