Notes about NVMe Identify command

  • Opcode is 0x06.
  • The base address of the output (a single page) should be put in the DWORDs 6 and 7 of the command.
  • The low byte of command DWORD 10 indicates what is to be identified: 0 - a namespace, 1 - the controller, 2 - the namespace list.
  • If identifying a namespace, set DWORD 1 to the namespace ID.

virtio-net offloads reconfiguration

Virtio-net driver currently negotiates network offloads on startup via features mechanism and have no ability to disable and re-enable offloads later.
This patch introduced a new control command that allows to configure device network offloads state dynamically. The patch also introduces a new feature flag VIRTIO_NET_F_CTRL_GUEST_OFFLOADS.

VIRTIO_NET_F_CTRL_GUEST_OFFLOADS (2) Control channel offloads reconfiguration support.

control virtqueue “Offloads State Configuration”.

Interrupt Coalescing under NVMe

Interrupt Coalescing

Interrupt coalescing, also known as interrupt moderation, is a technique in which events which would normally trigger a hardware interrupt are held back, either until a certain amount of work is pending, or a timeout timer triggers. Used correctly, this technique can reduce interrupt load by up to an order of magnitude, while only incurring relatively small latency penalties.

Notes about Vdmabuf

The Virtio based Dmabuf (Vdmabuf) driver can be used to “transfer” a page-backed dmabuf created in the Guest to the Host without making any copies. This is mostly accomplished by recreating the dmabuf on the Host using the PFNs and other meta-data shared by the guest.