History log of /haiku/src/add-ons/kernel/drivers/disk/nvme/libnvme/nvme_internal.h
Revision Date Author Comments
# 1bcecb98 30-Sep-2021 Augustin Cavalier <waddlesplash@gmail.com>

nvme_disk: Add structure padding for 32-bit.

The static asserts are broken on GCC2 and so did not catch this. It appears
nobody has ever tried to use this structure on 32-bit plaforms in the upstream
libraries or SPDK/DPDK?

Fixes #15212.


# a73bad3e 28-Mar-2020 Augustin Cavalier <waddlesplash@gmail.com>

nvme_disk: Add locking around request queue access.

Should help with #15123 further.


# ce363eca 28-Mar-2020 Augustin Cavalier <waddlesplash@gmail.com>

nvme_disk: Remove nvme_qpair_poll from nvme_internal.h.

This is now declared in the public header.


# 625dc38a 22-Mar-2020 Augustin Cavalier <waddlesplash@gmail.com>

libnvme: Rework qpairs to lock themselves.

They were theoretically guarded by the controller lock, but it appears
nvme_ns bypassed that, meaning that if ns_read was executed at the
same time as qpair_poll, unpredictable races could occur. This solves
that by making the qpairs guarded by their own mutex, which also
has the advantage of poll() being executable on more than one qpair
at a time.

Seems to fix the KDLs in #15123 (and maybe other NVMe tickets),
though the I/O corruptions remain.


# af4a03df 14-Apr-2019 Augustin Cavalier <waddlesplash@gmail.com>

libnvme: Import.

Minor modifications for Haiku included, and for the most part marked
as such.