NVMe driver

84 views
Skip to first unread message

Cyril Plisko

unread,
Sep 9, 2015, 2:32:10 PM9/9/15
to OSv Development
Hello,

I've developed this driver as an OSv learning exercise and want to solicit some feedback. It uses only basic capabilities of the NVMe interface and can be improved much further. However, all the basic functionality is in place and it runs IO happily in my QEMU.
I wouldn't consider it production quality yet, so I won't submit it for integration. I would like to people to try it nonetheless. I especially interested in seeing it working with NVMe 1.2 compliant hardware if available.

Instructions to test it under QEMU.
1. build OSv from my nvme branch [1]
2. Run ./scripts/run.py -VE -e "./zpool.so create data /dev/nvme1; ./zpool.so status -v"

scripts/run.py in this branch updated to create NVMe drive when -E flag is used. I also build and run debug image - it spits quite a lot of debug output to the screen.

Have fun !


[1] https://github.com/imp/osv/tree/nvme

Dor Laor

unread,
Sep 10, 2015, 3:38:49 AM9/10/15
to Cyril Plisko, OSv Development
That's awesome! Do you see a performance difference when you run OSv with directly
attached NVMe versus virtio-blk over NVMe used by the host?
(of course we expect an improvement but it may take a bit to get there and ZFS can also
 slow down things)

It would be the best to turn the code to a patch series. Since it's mainly new files
it should be fairly simple.

Nice job!
 

--
You received this message because you are subscribed to the Google Groups "OSv Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to osv-dev+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Cyril Plisko

unread,
Sep 10, 2015, 8:03:15 AM9/10/15
to OSv Development


On Thursday, September 10, 2015 at 10:38:49 AM UTC+3, דור לאור wrote:

That's awesome! Do you see a performance difference when you run OSv with directly
attached NVMe versus virtio-blk over NVMe used by the host?
(of course we expect an improvement but it may take a bit to get there and ZFS can also
 slow down things)


I didn't have a chance to collect any meaningful performance numbers. I did all the work in with QEMU emulated NVMe device.

It would be the best to turn the code to a patch series. Since it's mainly new files
it should be fairly simple.

I still do not consider this code to be ready for integration. When it will be I'd definitely submit it via the patch series.

 
Nice job!

Thanks !

cs14...@smail.iitm.ac.in

unread,
Sep 10, 2015, 8:07:41 AM9/10/15
to OSv Development
Hello Sir,
Yesterday only I was introduced to OSv for the first time. I am still stuck at building from source. We have developed NVMe 1.2 compliant hardware. Once I become familiar with this new platform, definitely I will be able to give you some feedback.
Regards,
Sanjeev

Avi Kivity

unread,
Sep 16, 2015, 7:35:32 AM9/16/15
to Cyril Plisko, OSv Development
Looks good, though of course we want sync commands to be implemented on
top of async, and interrupts and all that fun, otherwise it will consume
quite a bit of cpu time.

Cyril Plisko

unread,
Sep 16, 2015, 8:58:00 AM9/16/15
to Avi Kivity, OSv Development


Looks good, though of course we want sync commands to be implemented on top of async, and interrupts and all that fun, otherwise it will consume quite a bit of cpu time.

Hi Avi,

if you have run it on real hardware I'd appreciate output of run.py -V - I want to collect information on different HW capabilities


--
Regards,
        Cyril

Waldek Kozaczuk

unread,
Nov 6, 2023, 9:41:56 PM11/6/23
to OSv Development
Hi Cyril,

Do you happen to still have a copy of that branch somewhere? I clicked on the github link and I got 404.

I would like to continue your work if you do not mind and have no copyright reservations.

Regards,
Waldek
Reply all
Reply to author
Forward
0 new messages