VirtIO spec issue - Available Buffer Notification Suppression

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Major
    • None
    • Affects Version/s: virtio 1.1 cs01
    • None
    • Environment:

      "Savir, Gil" <[email protected]>

    • Hide

      I suggest one of the following:

      · Either, to change the “MAY” (referred above) to “MUST”,

      · Or, to add way for the device to inform the driver that he is not
      using avail_event (flag /certain reserved value in avail_event /other
      mechanism).

      Show
      I suggest one of the following: · Either, to change the “MAY” (referred above) to “MUST”, · Or, to add way for the device to inform the driver that he is not using avail_event (flag /certain reserved value in avail_event /other mechanism).

      If VIRTIO_F_EVENT_IDX feature bit is negotiated, then Available Buffer
      Notification Suppression mechanism used is avail event (not flags).

      The spec (both v1.0 / v1.1-draft) states that the device MAY use this mechanism
      (Paragraph 2.4.9.2 / 2.6.10.2 respectively).

      This statement implies that the device may choose not to use this suppression
      mechanism (even if VIRTIO_F_EVENT_IDX was negotiated).

      However – there’s no way for the device to inform the driver that he is not
      using avail_event.

      As consequence, since there will be a default value in avail_event (probably
      0x0), then the driver will always assume that it has to send notify “once-per
      ring”.

      This will render performance futile, or force the device to actively update
      avail_event.

            Assignee:
            Unassigned
            Reporter:
            Michael Tsirkin
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: