Freigeben über


NVME_CDW11_FEATURE_INTERRUPT_COALESCING Union (nvme.h)

Enthält Parameter für das Interrupt-Koalescing-Feature, das die Interrupt-Koalescingeinstellungen konfiguriert.

Die Werte aus dieser Struktur werden im Feld InterruptCoalescing der NVME_CDW11_FEATURES-Struktur verwendet.

Syntax

typedef union {
  struct {
    ULONG THR : 8;
    ULONG TIME : 8;
    ULONG Reserved0 : 16;
  } DUMMYSTRUCTNAME;
  ULONG  AsUlong;
} NVME_CDW11_FEATURE_INTERRUPT_COALESCING, *PNVME_CDW11_FEATURE_INTERRUPT_COALESCING;

Member

DUMMYSTRUCTNAME

DUMMYSTRUCTNAME.THR

Gibt die empfohlene Mindestanzahl von Vervollständigungswarteschlangeneinträgen an, die pro Interruptvektor aggregiert werden sollen, bevor ein Interrupt an den Host signalisiert wird. Dies ist ein auf 0 basierender Wert. Der Zurücksetzungswert dieser Einstellung ist 0h.

DUMMYSTRUCTNAME.TIME

Gibt die empfohlene maximale Zeit in Schritten von 100 Mikrosekunden an, die ein Controller einen Interrupt aufgrund von Unterbrechungsverknen verzögern kann. Ein Wert von 0h entspricht keiner Verzögerung. Der Controller kann dieses Mal pro Interruptvektor oder auf alle Interruptvektoren angewendet werden. Der Zurücksetzungswert dieser Einstellung ist 0h.

DUMMYSTRUCTNAME.Reserved0

AsUlong

Hinweise

Der Controller signalisiert einen Interrupt, wenn entweder die Bedingungen der Aggregationszeit (TIME) oder der Aggregationsschwellenwert (Aggregation Threshold, THR) erfüllt sind. Wenn entweder die TIME - oder die THR-Felder auf 0hdeaktiviert sind, wird die Unterbrechung der Koalescierung implizit deaktiviert.

Das Interrupt-Koalescing-Feature ist gültig, wenn der Controller für Pin Based, MSI, Multiple MSI oder MSI-X Interrupts konfiguriert ist. Es ist nicht erforderlich, dass der Controller diese Einstellungen beibehalten muss, wenn die Unterbrechungsmodi geändert werden. Es wird empfohlen, dass der Host dieses Feature erneut ausgibt, nachdem er die Unterbrechungsmodi geändert hat.

Der Controller kann einen Interrupt verzögern, wenn er erkennt, dass Für diesen Vektor bereits Interrupts verarbeitet werden. Insbesondere wenn das Türklingelregister der Vervollständigungswarteschlange aktualisiert wird, das einem bestimmten Unterbrechungsvektor zugeordnet ist, weist der Controller einen positiven Hinweis darauf auf, dass die Einträge in der Vervollständigungswarteschlange bereits verarbeitet werden. In diesem Fall können die Aggregationszeit und/oder der Aggregationsschwellenwert beim zugehörigen Registerschreibvorgang zurückgesetzt/neu gestartet werden. Dies kann dazu führen, dass Unterbrechungen in bestimmten Workloads, bei denen die Aggregationszeit oder der Aggregationsschwellenwert ungleich 0 ist, unbegrenzt verzögert werden.

Das Feature "Interrupt-Koalescing" gilt nur für die E/A-Übermittlung und E/A-Vervollständigungswarteschlange. Interrupts für Befehle, die im Fehler abgeschlossen werden, sollten nicht zusammengefaktet werden.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10
Kopfzeile nvme.h

Weitere Informationen