Bagikan melalui


struktur PERF_CONFIGURATION_DATA (storport.h)

Struktur PERF_CONFIGURATION_DATA menjelaskan pengoptimalan performa yang didukung oleh rutinitas StorPortInitializePerfOpts .

Sintaks

typedef struct _PERF_CONFIGURATION_DATA {
  ULONG           Version;
  ULONG           Size;
  ULONG           Flags;
  ULONG           ConcurrentChannels;
  ULONG           FirstRedirectionMessageNumber;
  ULONG           LastRedirectionMessageNumber;
  ULONG           DeviceNode;
  ULONG           Reserved;
  PGROUP_AFFINITY MessageTargets;
} PERF_CONFIGURATION_DATA, *PPERF_CONFIGURATION_DATA;

Anggota

Version

Nomor versi struktur. Atur anggota ini saat mengkueri dan menginisialisasi pengoptimalan.

Size

Ukuran struktur, diatur ke sizeof(PERF_CONFIGURATION_DATA).

Flags

Bitwise-OR dari bendera yang didukung. Saat ini, bendera berikut didukung:

Bendera Makna
STOR_PERF_DPC_REDIRECTION Bendera ini digunakan untuk menunjukkan bahwa pemrosesan DPC harus tersebar di beberapa CPU.

Bendera ini valid ketika Versi diatur ke 2 atau 3.

STOR_PERF_CONCURRENT_CHANNELS Bendera ini digunakan untuk menunjukkan bahwa panggilan bersamaan ke rutinitas HwStorStartIo didukung. Sebelum Windows 8, miniport tidak boleh mengatur bendera ini.

Bendera ini valid ketika Versi diatur ke 2 atau 3.

STOR_PERF_INTERRUPT_MESSAGE_RANGES Bendera ini digunakan untuk menunjukkan bahwa pengalihan interupsi didukung. Saat Anda menggunakan bendera ini, Anda juga harus mengatur bendera STOR_PERF_DPC_REDIRECTION.

Bendera ini valid ketika Versi diatur ke 2 atau 3.

STOR_PERF_ADV_CONFIG_LOCALITY Bendera ini digunakan untuk menunjukkan bahwa Anda harus menggunakan grup dan masker yang berkaitan dengan grup pesan dengan afinitas yang benar. Saat Anda menggunakan bendera ini, Anda juga harus mengatur STOR_PERF_INTERRUPT_MESSAGE_RANGES dan bendera STOR_PERF_DPC_REDIRECTION.

Bendera ini valid ketika Versi diatur ke 3.

STOR_PERF_OPTIMIZE_FOR_COMPLETION_DURING_STARTIO Bendera ini digunakan untuk menunjukkan bahwa driver miniport akan menyelesaikan I/Os secara bersamaan dengan pengiriman I/Os baru. Saat Anda menggunakan bendera ini, Anda juga harus mengatur bendera STOR_PERF_DPC_REDIRECTION.

Bendera ini valid ketika Versi diatur ke 3. Lihat keterangan di bawah ini.

STOR_PERF_DPC_REDIRECTION_CURRENT_CPU Bendera ini digunakan untuk menunjukkan bahwa Anda memilih pengalihan DPC (diperlukan) tetapi pilihan pengalihan IO diatur ke CPU yang meminta DPC dan bukan CPU yang berasal dari permintaan IO ke Storport.

Saat Anda menggunakan bendera ini, Anda juga harus mengatur bendera STOR_PERF_DPC_REDIRECTION.

Bendera ini valid ketika Versi diatur ke 4.

STOR_PERF_NO_SGL Bendera ini digunakan untuk menunjukkan bahwa miniport tidak memerlukan SGL untuk dibuat oleh driver storport untuk buffer permintaan IO.

Bendera ini valid ketika Versi diatur ke 5.

ConcurrentChannels

Jumlah panggilan bersamaan ke rutinitas HwStorStartIo yang didukung driver miniport dan perangkat. Anggota ini hanya diakses ketika bendera STOR_PERF_CONCURRENT_CHANNELS telah ditetapkan. Sebelum Windows 8, miniport tidak boleh menetapkan nilai ini.

FirstRedirectionMessageNumber

Ketika anggota Bendera memiliki bendera STOR_PERF_INTERRUPT_MESSAGE_RANGES yang ditetapkan, driver miniport menginisialisasi pengalihan interupsi untuk memulai dengan nomor pesan ini. Anggota ini hanya diakses saat bendera STOR_PERF_INTERRUPT_MESSAGE_RANGES diatur.

LastRedirectionMessageNumber

Ketika anggota Bendera memiliki bendera STOR_PERF_INTERRUPT_MESSAGE_RANGES yang ditetapkan, driver miniport menginisialisasi pengalihan interupsi untuk mengakhiri dengan nomor pesan ini. Anggota ini hanya diakses saat bendera STOR_PERF_INTERRUPT_MESSAGE_RANGES diatur.

DeviceNode

Ketika anggota Bendera memiliki bendera STOR_PERF_ADV_CONFIG_LOCALITY yang ditetapkan, Storport menginisialisasi bidang ini untuk berisi nomor simpul NUMA tempat perangkat driver miniport berada.

Reserved

Dicadangkan untuk penggunaan sistem.

MessageTargets

Saat anggota Bendera memiliki set bendera STOR_PERF_ADV_CONFIG_LOCALITY, Storport menginisialisasi bidang dalam struktur array GROUP_AFFINITY . Struktur ini sesuai dengan pesan pengalihan yang saat ini sedang digunakan. Array itu sendiri berbasis nol, tetapi FirstRedirectionMessageNumber tidak diperlukan untuk menjadi nol. Miniport mengalokasikan array ini dan mengatur MessageTargets untuk mengarahkannya. Driver miniport harus mengalokasikan array GROUP_AFFINITY cukup besar untuk menahan semua masker afinitas yang dikembalikan.

Keterangan

Versi struktur ini saat ini ditentukan oleh STOR_PERF_VERSION. Mengatur Versi ke nilai ini akan memungkinkan Bendera untuk menentukan semua pengoptimalan yang didukung.

Tujuan bendera STOR_PERF_DPC_REDIRECTION adalah untuk memastikan bahwa CPU individu tidak kewalahan dengan pemrosesan DPC. Ketika bendera ini diatur, pemrosesan DPC tersebar di beberapa CPU. Jika STOR_PERF_DPC_REDIRECTION_CURRENT_CPU tidak diatur, StorPort akan mencoba menjadwalkan DPC penyelesaian I/O pada CPU yang sama yang berasal dari I/O.

Biasanya, miniport menyelesaikan permintaan I/O dalam rutinitas HwStorStartIo dan memanggil StorPortNotification dengan jenis pemberitahuan RequestComplete . Untuk memproses I/O dengan cara ini, miniport akan meninggalkan bendera STOR_PERF_OPTIMIZE_FOR_COMPLETION_DURING_STARTIO yang diatur dalam anggota Bendera yang memungkinkan Storport untuk menyesuaikan pengalihan DPC.

Untuk informasi tentang mengaktifkan interupsi yang diberi sinyal pesan untuk perangkat, lihat Mengaktifkan Interupsi Message-Signaled di Registri.

Persyaratan

Persyaratan Nilai
Header storport.h (termasuk Storport.h)

Lihat juga

StorPortInitializePerfOpts