| // SPDX-License-Identifier: GPL-2.0-only |
| /* |
| * Copyright (c) 2026, Microsoft Corporation. |
| * |
| * Data for printing stats page counters via debugfs. |
| * |
| * Authors: Microsoft Linux virtualization team |
| */ |
| |
| /* |
| * For simplicity, this file is included directly in mshv_debugfs.c. |
| * If these are ever needed elsewhere they should be compiled separately. |
| * Ensure this file is not used twice by accident. |
| */ |
| #ifndef MSHV_DEBUGFS_C |
| #error "This file should only be included in mshv_debugfs.c" |
| #endif |
| |
| /* HV_HYPERVISOR_COUNTER */ |
| static char *hv_hypervisor_counters[] = { |
| [1] = "HvLogicalProcessors", |
| [2] = "HvPartitions", |
| [3] = "HvTotalPages", |
| [4] = "HvVirtualProcessors", |
| [5] = "HvMonitoredNotifications", |
| [6] = "HvModernStandbyEntries", |
| [7] = "HvPlatformIdleTransitions", |
| [8] = "HvHypervisorStartupCost", |
| |
| [10] = "HvIOSpacePages", |
| [11] = "HvNonEssentialPagesForDump", |
| [12] = "HvSubsumedPages", |
| }; |
| |
| /* HV_CPU_COUNTER */ |
| static char *hv_lp_counters[] = { |
| [1] = "LpGlobalTime", |
| [2] = "LpTotalRunTime", |
| [3] = "LpHypervisorRunTime", |
| [4] = "LpHardwareInterrupts", |
| [5] = "LpContextSwitches", |
| [6] = "LpInterProcessorInterrupts", |
| [7] = "LpSchedulerInterrupts", |
| [8] = "LpTimerInterrupts", |
| [9] = "LpInterProcessorInterruptsSent", |
| [10] = "LpProcessorHalts", |
| [11] = "LpMonitorTransitionCost", |
| [12] = "LpContextSwitchTime", |
| [13] = "LpC1TransitionsCount", |
| [14] = "LpC1RunTime", |
| [15] = "LpC2TransitionsCount", |
| [16] = "LpC2RunTime", |
| [17] = "LpC3TransitionsCount", |
| [18] = "LpC3RunTime", |
| [19] = "LpRootVpIndex", |
| [20] = "LpIdleSequenceNumber", |
| [21] = "LpGlobalTscCount", |
| [22] = "LpActiveTscCount", |
| [23] = "LpIdleAccumulation", |
| [24] = "LpReferenceCycleCount0", |
| [25] = "LpActualCycleCount0", |
| [26] = "LpReferenceCycleCount1", |
| [27] = "LpActualCycleCount1", |
| [28] = "LpProximityDomainId", |
| [29] = "LpPostedInterruptNotifications", |
| [30] = "LpBranchPredictorFlushes", |
| #if IS_ENABLED(CONFIG_X86_64) |
| [31] = "LpL1DataCacheFlushes", |
| [32] = "LpImmediateL1DataCacheFlushes", |
| [33] = "LpMbFlushes", |
| [34] = "LpCounterRefreshSequenceNumber", |
| [35] = "LpCounterRefreshReferenceTime", |
| [36] = "LpIdleAccumulationSnapshot", |
| [37] = "LpActiveTscCountSnapshot", |
| [38] = "LpHwpRequestContextSwitches", |
| [39] = "LpPlaceholder1", |
| [40] = "LpPlaceholder2", |
| [41] = "LpPlaceholder3", |
| [42] = "LpPlaceholder4", |
| [43] = "LpPlaceholder5", |
| [44] = "LpPlaceholder6", |
| [45] = "LpPlaceholder7", |
| [46] = "LpPlaceholder8", |
| [47] = "LpPlaceholder9", |
| [48] = "LpSchLocalRunListSize", |
| [49] = "LpReserveGroupId", |
| [50] = "LpRunningPriority", |
| [51] = "LpPerfmonInterruptCount", |
| #elif IS_ENABLED(CONFIG_ARM64) |
| [31] = "LpCounterRefreshSequenceNumber", |
| [32] = "LpCounterRefreshReferenceTime", |
| [33] = "LpIdleAccumulationSnapshot", |
| [34] = "LpActiveTscCountSnapshot", |
| [35] = "LpHwpRequestContextSwitches", |
| [36] = "LpPlaceholder2", |
| [37] = "LpPlaceholder3", |
| [38] = "LpPlaceholder4", |
| [39] = "LpPlaceholder5", |
| [40] = "LpPlaceholder6", |
| [41] = "LpPlaceholder7", |
| [42] = "LpPlaceholder8", |
| [43] = "LpPlaceholder9", |
| [44] = "LpSchLocalRunListSize", |
| [45] = "LpReserveGroupId", |
| [46] = "LpRunningPriority", |
| #endif |
| }; |
| |
| /* HV_PROCESS_COUNTER */ |
| static char *hv_partition_counters[] = { |
| [1] = "PtVirtualProcessors", |
| |
| [3] = "PtTlbSize", |
| [4] = "PtAddressSpaces", |
| [5] = "PtDepositedPages", |
| [6] = "PtGpaPages", |
| [7] = "PtGpaSpaceModifications", |
| [8] = "PtVirtualTlbFlushEntires", |
| [9] = "PtRecommendedTlbSize", |
| [10] = "PtGpaPages4K", |
| [11] = "PtGpaPages2M", |
| [12] = "PtGpaPages1G", |
| [13] = "PtGpaPages512G", |
| [14] = "PtDevicePages4K", |
| [15] = "PtDevicePages2M", |
| [16] = "PtDevicePages1G", |
| [17] = "PtDevicePages512G", |
| [18] = "PtAttachedDevices", |
| [19] = "PtDeviceInterruptMappings", |
| [20] = "PtIoTlbFlushes", |
| [21] = "PtIoTlbFlushCost", |
| [22] = "PtDeviceInterruptErrors", |
| [23] = "PtDeviceDmaErrors", |
| [24] = "PtDeviceInterruptThrottleEvents", |
| [25] = "PtSkippedTimerTicks", |
| [26] = "PtPartitionId", |
| #if IS_ENABLED(CONFIG_X86_64) |
| [27] = "PtNestedTlbSize", |
| [28] = "PtRecommendedNestedTlbSize", |
| [29] = "PtNestedTlbFreeListSize", |
| [30] = "PtNestedTlbTrimmedPages", |
| [31] = "PtPagesShattered", |
| [32] = "PtPagesRecombined", |
| [33] = "PtHwpRequestValue", |
| [34] = "PtAutoSuspendEnableTime", |
| [35] = "PtAutoSuspendTriggerTime", |
| [36] = "PtAutoSuspendDisableTime", |
| [37] = "PtPlaceholder1", |
| [38] = "PtPlaceholder2", |
| [39] = "PtPlaceholder3", |
| [40] = "PtPlaceholder4", |
| [41] = "PtPlaceholder5", |
| [42] = "PtPlaceholder6", |
| [43] = "PtPlaceholder7", |
| [44] = "PtPlaceholder8", |
| [45] = "PtHypervisorStateTransferGeneration", |
| [46] = "PtNumberofActiveChildPartitions", |
| #elif IS_ENABLED(CONFIG_ARM64) |
| [27] = "PtHwpRequestValue", |
| [28] = "PtAutoSuspendEnableTime", |
| [29] = "PtAutoSuspendTriggerTime", |
| [30] = "PtAutoSuspendDisableTime", |
| [31] = "PtPlaceholder1", |
| [32] = "PtPlaceholder2", |
| [33] = "PtPlaceholder3", |
| [34] = "PtPlaceholder4", |
| [35] = "PtPlaceholder5", |
| [36] = "PtPlaceholder6", |
| [37] = "PtPlaceholder7", |
| [38] = "PtPlaceholder8", |
| [39] = "PtHypervisorStateTransferGeneration", |
| [40] = "PtNumberofActiveChildPartitions", |
| #endif |
| }; |
| |
| /* HV_THREAD_COUNTER */ |
| static char *hv_vp_counters[] = { |
| [1] = "VpTotalRunTime", |
| [2] = "VpHypervisorRunTime", |
| [3] = "VpRemoteNodeRunTime", |
| [4] = "VpNormalizedRunTime", |
| [5] = "VpIdealCpu", |
| |
| [7] = "VpHypercallsCount", |
| [8] = "VpHypercallsTime", |
| #if IS_ENABLED(CONFIG_X86_64) |
| [9] = "VpPageInvalidationsCount", |
| [10] = "VpPageInvalidationsTime", |
| [11] = "VpControlRegisterAccessesCount", |
| [12] = "VpControlRegisterAccessesTime", |
| [13] = "VpIoInstructionsCount", |
| [14] = "VpIoInstructionsTime", |
| [15] = "VpHltInstructionsCount", |
| [16] = "VpHltInstructionsTime", |
| [17] = "VpMwaitInstructionsCount", |
| [18] = "VpMwaitInstructionsTime", |
| [19] = "VpCpuidInstructionsCount", |
| [20] = "VpCpuidInstructionsTime", |
| [21] = "VpMsrAccessesCount", |
| [22] = "VpMsrAccessesTime", |
| [23] = "VpOtherInterceptsCount", |
| [24] = "VpOtherInterceptsTime", |
| [25] = "VpExternalInterruptsCount", |
| [26] = "VpExternalInterruptsTime", |
| [27] = "VpPendingInterruptsCount", |
| [28] = "VpPendingInterruptsTime", |
| [29] = "VpEmulatedInstructionsCount", |
| [30] = "VpEmulatedInstructionsTime", |
| [31] = "VpDebugRegisterAccessesCount", |
| [32] = "VpDebugRegisterAccessesTime", |
| [33] = "VpPageFaultInterceptsCount", |
| [34] = "VpPageFaultInterceptsTime", |
| [35] = "VpGuestPageTableMaps", |
| [36] = "VpLargePageTlbFills", |
| [37] = "VpSmallPageTlbFills", |
| [38] = "VpReflectedGuestPageFaults", |
| [39] = "VpApicMmioAccesses", |
| [40] = "VpIoInterceptMessages", |
| [41] = "VpMemoryInterceptMessages", |
| [42] = "VpApicEoiAccesses", |
| [43] = "VpOtherMessages", |
| [44] = "VpPageTableAllocations", |
| [45] = "VpLogicalProcessorMigrations", |
| [46] = "VpAddressSpaceEvictions", |
| [47] = "VpAddressSpaceSwitches", |
| [48] = "VpAddressDomainFlushes", |
| [49] = "VpAddressSpaceFlushes", |
| [50] = "VpGlobalGvaRangeFlushes", |
| [51] = "VpLocalGvaRangeFlushes", |
| [52] = "VpPageTableEvictions", |
| [53] = "VpPageTableReclamations", |
| [54] = "VpPageTableResets", |
| [55] = "VpPageTableValidations", |
| [56] = "VpApicTprAccesses", |
| [57] = "VpPageTableWriteIntercepts", |
| [58] = "VpSyntheticInterrupts", |
| [59] = "VpVirtualInterrupts", |
| [60] = "VpApicIpisSent", |
| [61] = "VpApicSelfIpisSent", |
| [62] = "VpGpaSpaceHypercalls", |
| [63] = "VpLogicalProcessorHypercalls", |
| [64] = "VpLongSpinWaitHypercalls", |
| [65] = "VpOtherHypercalls", |
| [66] = "VpSyntheticInterruptHypercalls", |
| [67] = "VpVirtualInterruptHypercalls", |
| [68] = "VpVirtualMmuHypercalls", |
| [69] = "VpVirtualProcessorHypercalls", |
| [70] = "VpHardwareInterrupts", |
| [71] = "VpNestedPageFaultInterceptsCount", |
| [72] = "VpNestedPageFaultInterceptsTime", |
| [73] = "VpPageScans", |
| [74] = "VpLogicalProcessorDispatches", |
| [75] = "VpWaitingForCpuTime", |
| [76] = "VpExtendedHypercalls", |
| [77] = "VpExtendedHypercallInterceptMessages", |
| [78] = "VpMbecNestedPageTableSwitches", |
| [79] = "VpOtherReflectedGuestExceptions", |
| [80] = "VpGlobalIoTlbFlushes", |
| [81] = "VpGlobalIoTlbFlushCost", |
| [82] = "VpLocalIoTlbFlushes", |
| [83] = "VpLocalIoTlbFlushCost", |
| [84] = "VpHypercallsForwardedCount", |
| [85] = "VpHypercallsForwardingTime", |
| [86] = "VpPageInvalidationsForwardedCount", |
| [87] = "VpPageInvalidationsForwardingTime", |
| [88] = "VpControlRegisterAccessesForwardedCount", |
| [89] = "VpControlRegisterAccessesForwardingTime", |
| [90] = "VpIoInstructionsForwardedCount", |
| [91] = "VpIoInstructionsForwardingTime", |
| [92] = "VpHltInstructionsForwardedCount", |
| [93] = "VpHltInstructionsForwardingTime", |
| [94] = "VpMwaitInstructionsForwardedCount", |
| [95] = "VpMwaitInstructionsForwardingTime", |
| [96] = "VpCpuidInstructionsForwardedCount", |
| [97] = "VpCpuidInstructionsForwardingTime", |
| [98] = "VpMsrAccessesForwardedCount", |
| [99] = "VpMsrAccessesForwardingTime", |
| [100] = "VpOtherInterceptsForwardedCount", |
| [101] = "VpOtherInterceptsForwardingTime", |
| [102] = "VpExternalInterruptsForwardedCount", |
| [103] = "VpExternalInterruptsForwardingTime", |
| [104] = "VpPendingInterruptsForwardedCount", |
| [105] = "VpPendingInterruptsForwardingTime", |
| [106] = "VpEmulatedInstructionsForwardedCount", |
| [107] = "VpEmulatedInstructionsForwardingTime", |
| [108] = "VpDebugRegisterAccessesForwardedCount", |
| [109] = "VpDebugRegisterAccessesForwardingTime", |
| [110] = "VpPageFaultInterceptsForwardedCount", |
| [111] = "VpPageFaultInterceptsForwardingTime", |
| [112] = "VpVmclearEmulationCount", |
| [113] = "VpVmclearEmulationTime", |
| [114] = "VpVmptrldEmulationCount", |
| [115] = "VpVmptrldEmulationTime", |
| [116] = "VpVmptrstEmulationCount", |
| [117] = "VpVmptrstEmulationTime", |
| [118] = "VpVmreadEmulationCount", |
| [119] = "VpVmreadEmulationTime", |
| [120] = "VpVmwriteEmulationCount", |
| [121] = "VpVmwriteEmulationTime", |
| [122] = "VpVmxoffEmulationCount", |
| [123] = "VpVmxoffEmulationTime", |
| [124] = "VpVmxonEmulationCount", |
| [125] = "VpVmxonEmulationTime", |
| [126] = "VpNestedVMEntriesCount", |
| [127] = "VpNestedVMEntriesTime", |
| [128] = "VpNestedSLATSoftPageFaultsCount", |
| [129] = "VpNestedSLATSoftPageFaultsTime", |
| [130] = "VpNestedSLATHardPageFaultsCount", |
| [131] = "VpNestedSLATHardPageFaultsTime", |
| [132] = "VpInvEptAllContextEmulationCount", |
| [133] = "VpInvEptAllContextEmulationTime", |
| [134] = "VpInvEptSingleContextEmulationCount", |
| [135] = "VpInvEptSingleContextEmulationTime", |
| [136] = "VpInvVpidAllContextEmulationCount", |
| [137] = "VpInvVpidAllContextEmulationTime", |
| [138] = "VpInvVpidSingleContextEmulationCount", |
| [139] = "VpInvVpidSingleContextEmulationTime", |
| [140] = "VpInvVpidSingleAddressEmulationCount", |
| [141] = "VpInvVpidSingleAddressEmulationTime", |
| [142] = "VpNestedTlbPageTableReclamations", |
| [143] = "VpNestedTlbPageTableEvictions", |
| [144] = "VpFlushGuestPhysicalAddressSpaceHypercalls", |
| [145] = "VpFlushGuestPhysicalAddressListHypercalls", |
| [146] = "VpPostedInterruptNotifications", |
| [147] = "VpPostedInterruptScans", |
| [148] = "VpTotalCoreRunTime", |
| [149] = "VpMaximumRunTime", |
| [150] = "VpHwpRequestContextSwitches", |
| [151] = "VpWaitingForCpuTimeBucket0", |
| [152] = "VpWaitingForCpuTimeBucket1", |
| [153] = "VpWaitingForCpuTimeBucket2", |
| [154] = "VpWaitingForCpuTimeBucket3", |
| [155] = "VpWaitingForCpuTimeBucket4", |
| [156] = "VpWaitingForCpuTimeBucket5", |
| [157] = "VpWaitingForCpuTimeBucket6", |
| [158] = "VpVmloadEmulationCount", |
| [159] = "VpVmloadEmulationTime", |
| [160] = "VpVmsaveEmulationCount", |
| [161] = "VpVmsaveEmulationTime", |
| [162] = "VpGifInstructionEmulationCount", |
| [163] = "VpGifInstructionEmulationTime", |
| [164] = "VpEmulatedErrataSvmInstructions", |
| [165] = "VpPlaceholder1", |
| [166] = "VpPlaceholder2", |
| [167] = "VpPlaceholder3", |
| [168] = "VpPlaceholder4", |
| [169] = "VpPlaceholder5", |
| [170] = "VpPlaceholder6", |
| [171] = "VpPlaceholder7", |
| [172] = "VpPlaceholder8", |
| [173] = "VpContentionTime", |
| [174] = "VpWakeUpTime", |
| [175] = "VpSchedulingPriority", |
| [176] = "VpRdpmcInstructionsCount", |
| [177] = "VpRdpmcInstructionsTime", |
| [178] = "VpPerfmonPmuMsrAccessesCount", |
| [179] = "VpPerfmonLbrMsrAccessesCount", |
| [180] = "VpPerfmonIptMsrAccessesCount", |
| [181] = "VpPerfmonInterruptCount", |
| [182] = "VpVtl1DispatchCount", |
| [183] = "VpVtl2DispatchCount", |
| [184] = "VpVtl2DispatchBucket0", |
| [185] = "VpVtl2DispatchBucket1", |
| [186] = "VpVtl2DispatchBucket2", |
| [187] = "VpVtl2DispatchBucket3", |
| [188] = "VpVtl2DispatchBucket4", |
| [189] = "VpVtl2DispatchBucket5", |
| [190] = "VpVtl2DispatchBucket6", |
| [191] = "VpVtl1RunTime", |
| [192] = "VpVtl2RunTime", |
| [193] = "VpIommuHypercalls", |
| [194] = "VpCpuGroupHypercalls", |
| [195] = "VpVsmHypercalls", |
| [196] = "VpEventLogHypercalls", |
| [197] = "VpDeviceDomainHypercalls", |
| [198] = "VpDepositHypercalls", |
| [199] = "VpSvmHypercalls", |
| [200] = "VpBusLockAcquisitionCount", |
| [201] = "VpLoadAvg", |
| [202] = "VpRootDispatchThreadBlocked", |
| [203] = "VpIdleCpuTime", |
| [204] = "VpWaitingForCpuTimeBucket7", |
| [205] = "VpWaitingForCpuTimeBucket8", |
| [206] = "VpWaitingForCpuTimeBucket9", |
| [207] = "VpWaitingForCpuTimeBucket10", |
| [208] = "VpWaitingForCpuTimeBucket11", |
| [209] = "VpWaitingForCpuTimeBucket12", |
| [210] = "VpHierarchicalSuspendTime", |
| [211] = "VpExpressSchedulingAttempts", |
| [212] = "VpExpressSchedulingCount", |
| #elif IS_ENABLED(CONFIG_ARM64) |
| [9] = "VpSysRegAccessesCount", |
| [10] = "VpSysRegAccessesTime", |
| [11] = "VpSmcInstructionsCount", |
| [12] = "VpSmcInstructionsTime", |
| [13] = "VpOtherInterceptsCount", |
| [14] = "VpOtherInterceptsTime", |
| [15] = "VpExternalInterruptsCount", |
| [16] = "VpExternalInterruptsTime", |
| [17] = "VpPendingInterruptsCount", |
| [18] = "VpPendingInterruptsTime", |
| [19] = "VpGuestPageTableMaps", |
| [20] = "VpLargePageTlbFills", |
| [21] = "VpSmallPageTlbFills", |
| [22] = "VpReflectedGuestPageFaults", |
| [23] = "VpMemoryInterceptMessages", |
| [24] = "VpOtherMessages", |
| [25] = "VpLogicalProcessorMigrations", |
| [26] = "VpAddressDomainFlushes", |
| [27] = "VpAddressSpaceFlushes", |
| [28] = "VpSyntheticInterrupts", |
| [29] = "VpVirtualInterrupts", |
| [30] = "VpApicSelfIpisSent", |
| [31] = "VpGpaSpaceHypercalls", |
| [32] = "VpLogicalProcessorHypercalls", |
| [33] = "VpLongSpinWaitHypercalls", |
| [34] = "VpOtherHypercalls", |
| [35] = "VpSyntheticInterruptHypercalls", |
| [36] = "VpVirtualInterruptHypercalls", |
| [37] = "VpVirtualMmuHypercalls", |
| [38] = "VpVirtualProcessorHypercalls", |
| [39] = "VpHardwareInterrupts", |
| [40] = "VpNestedPageFaultInterceptsCount", |
| [41] = "VpNestedPageFaultInterceptsTime", |
| [42] = "VpLogicalProcessorDispatches", |
| [43] = "VpWaitingForCpuTime", |
| [44] = "VpExtendedHypercalls", |
| [45] = "VpExtendedHypercallInterceptMessages", |
| [46] = "VpMbecNestedPageTableSwitches", |
| [47] = "VpOtherReflectedGuestExceptions", |
| [48] = "VpGlobalIoTlbFlushes", |
| [49] = "VpGlobalIoTlbFlushCost", |
| [50] = "VpLocalIoTlbFlushes", |
| [51] = "VpLocalIoTlbFlushCost", |
| [52] = "VpFlushGuestPhysicalAddressSpaceHypercalls", |
| [53] = "VpFlushGuestPhysicalAddressListHypercalls", |
| [54] = "VpPostedInterruptNotifications", |
| [55] = "VpPostedInterruptScans", |
| [56] = "VpTotalCoreRunTime", |
| [57] = "VpMaximumRunTime", |
| [58] = "VpWaitingForCpuTimeBucket0", |
| [59] = "VpWaitingForCpuTimeBucket1", |
| [60] = "VpWaitingForCpuTimeBucket2", |
| [61] = "VpWaitingForCpuTimeBucket3", |
| [62] = "VpWaitingForCpuTimeBucket4", |
| [63] = "VpWaitingForCpuTimeBucket5", |
| [64] = "VpWaitingForCpuTimeBucket6", |
| [65] = "VpHwpRequestContextSwitches", |
| [66] = "VpPlaceholder2", |
| [67] = "VpPlaceholder3", |
| [68] = "VpPlaceholder4", |
| [69] = "VpPlaceholder5", |
| [70] = "VpPlaceholder6", |
| [71] = "VpPlaceholder7", |
| [72] = "VpPlaceholder8", |
| [73] = "VpContentionTime", |
| [74] = "VpWakeUpTime", |
| [75] = "VpSchedulingPriority", |
| [76] = "VpVtl1DispatchCount", |
| [77] = "VpVtl2DispatchCount", |
| [78] = "VpVtl2DispatchBucket0", |
| [79] = "VpVtl2DispatchBucket1", |
| [80] = "VpVtl2DispatchBucket2", |
| [81] = "VpVtl2DispatchBucket3", |
| [82] = "VpVtl2DispatchBucket4", |
| [83] = "VpVtl2DispatchBucket5", |
| [84] = "VpVtl2DispatchBucket6", |
| [85] = "VpVtl1RunTime", |
| [86] = "VpVtl2RunTime", |
| [87] = "VpIommuHypercalls", |
| [88] = "VpCpuGroupHypercalls", |
| [89] = "VpVsmHypercalls", |
| [90] = "VpEventLogHypercalls", |
| [91] = "VpDeviceDomainHypercalls", |
| [92] = "VpDepositHypercalls", |
| [93] = "VpSvmHypercalls", |
| [94] = "VpLoadAvg", |
| [95] = "VpRootDispatchThreadBlocked", |
| [96] = "VpIdleCpuTime", |
| [97] = "VpWaitingForCpuTimeBucket7", |
| [98] = "VpWaitingForCpuTimeBucket8", |
| [99] = "VpWaitingForCpuTimeBucket9", |
| [100] = "VpWaitingForCpuTimeBucket10", |
| [101] = "VpWaitingForCpuTimeBucket11", |
| [102] = "VpWaitingForCpuTimeBucket12", |
| [103] = "VpHierarchicalSuspendTime", |
| [104] = "VpExpressSchedulingAttempts", |
| [105] = "VpExpressSchedulingCount", |
| #endif |
| }; |