struct _KSHARED_READY_QUEUE { unsigned __int64 Lock;/* 0x0 8 */ volatile unsigned long ReadySummary;/* 0x8 4 */ unsigned long ReadyThreadCount;/* 0xc 4 */ unsigned __int64 ReadyQueueExpectedRunTime;/* 0x10 8 */ unsigned __int64 Spare1[5];/* 0x18 40 */ /* ── cacheline 1 boundary (64 bytes) ── */ struct _LIST_ENTRY ReadyListHead[32];/* 0x40 512 */ /* ── cacheline 9 boundary (576 bytes) ── */ union _KPRIORITY_STATE RunningSummary[64];/* 0x240 64 */ /* ── cacheline 10 boundary (640 bytes) ── */ union _KHETERO_STATE HeteroRunningSummary[64];/* 0x280 64 */ /* ── cacheline 11 boundary (704 bytes) ── */ unsigned char Span;/* 0x2c0 1 */ unsigned char LowProcIndex;/* 0x2c1 1 */ unsigned char QueueIndex;/* 0x2c2 1 */ unsigned char NormalPriorityQueueIndex;/* 0x2c3 1 */ unsigned char ProcCount;/* 0x2c4 1 */ unsigned char ScanOwner;/* 0x2c5 1 */ unsigned short Group;/* 0x2c6 2 */ unsigned __int64 Affinity;/* 0x2c8 8 */ struct _KSCHEDULER_SUBNODE* SubNode;/* 0x2d0 8 */ unsigned __int64 Spare2[3];/* 0x2d8 24 */ /* 16 bytes padding */ /* ── cacheline 12 boundary (768 bytes) ── */ unsigned __int64 SoftParkElectionLock;/* 0x300 8 */ volatile unsigned __int64 SoftParkElectionGeneration;/* 0x308 8 */ unsigned long SoftParkElectionThreadCount;/* 0x310 4 */ unsigned char SoftParkElectionScheduled;/* 0x314 1 */ unsigned char Spare4[3];/* 0x315 3 */ unsigned __int64 SoftParkElectionRunTime;/* 0x318 8 */ struct _KDPC SoftParkElectionDpc;/* 0x320 64 */ /* ── cacheline 13 boundary (832 bytes) ── */ struct _KSHARED_READY_QUEUE_HETERO_STATISTICS SoftParkElectionHeteroStats;/* 0x360 896 */ /* ── cacheline 27 boundary (1728 bytes) ── */ struct _KSHARED_READY_QUEUE_AFFINITY_STATISTICS SoftParkElectionAffinityStats;/* 0x6e0 8 */ volatile unsigned __int64 ForceParkDutyCyclingArmedMask;/* 0x6e8 8 */};size 1792 (0x700)28 members1 hole (16 bytes)padding 1628 cachelines
Used in (2)