OpenChannelSSD / qemu-nvme

The LightNVM qemu implementation, based on NVMe
http://openchannelssd.readthedocs.org/en/latest/
Other
131 stars 67 forks source link

double free or corruption (!prev) error? #41

Closed theverytak closed 6 years ago

theverytak commented 6 years ago

Hello nvme developers,

I am trying to make a custom kernel to do some experiments over ocssd. But before that, I wanted to get some benchmark result on the current kernel that I was using in qemu-nvme(kernel version 4.16)

However, whenever I tried to run fio or ezfio on my qemu-nvme, on host Ubuntu(17.10), this message comes out and halts, double free or corruption ( !prev) Aborted (core dumped)

This is my option for qemu : -drive file=blknvme,if=none,id=mydevice -device nvme,drive=mydevice,serial=deadbeef,namespaces=1,lver=1,lmetasize=16,ll2pmode=0,nlbaf=5,lba_index=3,mdts=10,lnum_lun=4,lnum_pln=2,lsec_size=4096,lsecs_per_pg=4,lpgs_per_blk=512,lbbtable=bbtable.qemu,lmetadata=meta.qemu,ldebug=1

Thank you, HyeongTak Ji

MatiasBjorling commented 6 years ago

Hi HyeongTak,

Have you initialized pblk on top, before running the fio workload?

You may also want to switch to the latest qemu (https://github.com/OpenChannelSSD/qemu-nvme) and use something like the following for the device parameters.

-device nvme,drive=mynvme,serial=deadbeef,lnum_pu=4,lstrict=1,meta=0,mc=0,lsecs_per_chk=4096,lws_min=4,lws_opt=8

If you do want to run raw fio on top of the drive, you should make sure to use the for-4.19/zoned kernel branch, and couple it with Bart's fio.

https://github.com/bvanassche/fio

Make sure to install the latest libzbc (https://github.com/hgst/libzbc) as well. You can take a look at t/zbc/ scripts to see how to make the fio scripts.

theverytak commented 6 years ago

I was to use qemu-nvme version1.2 for some reasons, but now it seems like I need to use 2.0. Thank you for your kind reply!