इसे छोड़कर कंटेंट पर जाएं

Windows 11 25H2 में DPC और Kernel Executive workers

इस पृष्ठ पर

संक्षिप्त उत्तर

Section titled “संक्षिप्त उत्तर”

DpcQueueDepth समूह, worker limits और watchdog-पैरामीटर को अक्सर सार्वभौमिक latency tweaks का एक सेट माना जाता है। वास्तव में ये kernel की आंतरिक सीमाएँ और सुरक्षात्मक तंत्र हैं। इनका प्रभाव केवल किसी विशिष्ट DPC queue, processors की संख्या, driver के प्रकार या worker त्रुटि की स्थिति में ही प्रकट होता है।

जाँचा गया कि kernel कौन-सी DPC, worker threads और watchdog सीमाएँ पढ़ता है, मान कैसे सामान्यीकृत होते हैं और ये तंत्र वास्तव में कहाँ लागू होते हैं।

अनुसंधान का क्षेत्र

Section titled “अनुसंधान का क्षेत्र”

Windows 11 25H2 build 26200.9168, शाखाएँ Session Manager\Kernel और Session Manager\Executive। हार्डवेयर-निर्भर फ़ंक्शन और विशिष्ट drivers मापन में शामिल नहीं थे।

ntoskrnl.exe का स्थिर विश्लेषण: readers और consumers की खोज, मानों की श्रेणियों और सामान्यीकरण की जाँच; Microsoft के सार्वजनिक दस्तावेज़ों से मिलान।

DPC और watchdog का पथ:

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Kernel

Value Type Default/normalization क्या नियंत्रित करता है
DpcQueueDepth REG_DWORD 4 DPC queue की गहराई
MinimumDpcRate REG_DWORD 3 DPC प्रोसेसिंग की न्यूनतम दर
IdealDpcRate REG_DWORD 20 लक्षित DPC rate
AdjustDpcThreshold REG_DWORD 20 DPC policy अनुकूलन की सीमा
ThreadDpcEnable REG_DWORD 1 thread-DPC processing
DpcWatchdogPeriod REG_DWORD 120000 DPC watchdog period
DpcCumulativeSoftTimeout REG_DWORD 120000 अध्ययन किए गए build में संचित soft budget
PassiveWatchdogTimeout REG_DWORD 300 सेकंड KD के दौरान passive-level watchdog
ForceIdleGracePeriod REG_DWORD 5 सेकंड force-idle grace period
PerfIsoEnabled REG_DWORD 0 performance isolation
CacheIsoBitmap REG_DWORD 0 Intel CAT L3 mask
SchedulerAssistThreadFlagOverride REG_DWORD 0 scheduler assist override
VpThreadSystemWorkPriority REG_DWORD 30, श्रेणी 1..31 virtual processor work priority
AlwaysTrackIoBoosting REG_DWORD 0 नैदानिक I/O boost tracking

Kernel Executive workers का पथ:

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Executive

Value Type Default/normalization क्या नियंत्रित करता है
AdditionalCriticalWorkerThreads REG_DWORD 0, clamp 0..100 अतिरिक्त critical workers
AdditionalDelayedWorkerThreads REG_DWORD 0, clamp 0..100 delayed workers
MaximumKernelWorkerThreads REG_DWORD 4096, 32..16384 kernel workers की ऊपरी सीमा
ForceEnableMutantAutoboost REG_DWORD 0 mutant autoboost
WorkerThreadTimeoutInSeconds REG_DWORD 600, 60..3600 worker timeout

Session Manager\Kernel और Session Manager\Executive भिन्न configuration शाखाएँ हैं। प्रत्येक मान के लिए वह पथ महत्वपूर्ण है जिसे इस build में kernel का reader खोलता है।

kernel queue नियंत्रण और DPC processing के अनुकूलन के लिए DpcQueueDepth, MinimumDpcRate, IdealDpcRate और AdjustDpcThreshold का उपयोग करता है। जाँचे गए defaults 4/3/20/20 पहले से ही Windows 11 25H2 की मानक स्थिति से मेल खाते हैं; इन संख्याओं को दोबारा लिखने से कुछ नहीं बदलता।

उपयोगिता: ये पैरामीटर किसी विशिष्ट DPC backlog के विश्लेषण में उपयोगी हो सकते हैं, लेकिन ETW/WPR-ट्रेस के बिना आँख मूँदकर बदलाव करना कारण का निदान नहीं करता। बड़ी queue प्रोसेसिंग को टाल सकती है और विलंबता की पूँछ बढ़ा सकती है।

ThreadDpcEnable=1 threaded-DPC infrastructure को सक्षम करता है, 0 कार्य को सामान्य DIRQL path में लौटाता है और interrupt-off विंडो को लंबा कर सकता है। MaximumKernelWorkerThreads कुल kernel workers पूल को सीमित करता है। AdditionalCriticalWorkerThreads और AdditionalDelayedWorkerThreads आधार पूल में जोड़े जाते हैं: client Windows पर ये override लागू होने से पहले क्रमशः 5 critical और 7 delayed workers होते हैं।

अधिक threads का अर्थ कम latency नहीं है: अतिरिक्त workers stack, scheduler time और cache resources खपत करते हैं, और queue किसी अन्य घटक द्वारा सीमित हो सकती है। AdditionalDelayedWorkerThreads=32 वास्तव में delayed workers जोड़ता है, लेकिन कोई मापा गया सार्वभौमिक लाभ नहीं है।

DpcCumulativeSoftTimeout DPC के संचित समय को सीमित करता है। DpcWatchdogPeriod=0 मान्य है और इस watchdog को बंद कर देता है; 2000 से नीचे कोई भी अशून्य मान 2000 ms बन जाता है। PassiveWatchdogTimeout का उपयोग केवल सक्षम kernel debugger के साथ होता है, इसलिए सामान्य सिस्टम पर यह timer मानक 300 सेकंड के साथ भी सक्रिय नहीं होता। WorkerThreadTimeoutInSeconds worker operation के हैंग होने को सीमित करता है।

DpcCumulativeSoftTimeout की निचली सीमा 2000 ms है और यह DpcWatchdogPeriod से अधिक नहीं हो सकता। 240000 मान प्राप्त करने के लिए watchdog period भी 240000 होना चाहिए। WorkerThreadTimeoutInSeconds 60..3600 सेकंड की श्रेणी में सामान्यीकृत होता है; 0 लिखने से timeout बंद नहीं होता, बल्कि न्यूनतम मान पर आ जाता है।

सुरक्षात्मक timeout बंद करने से निदान हट जाता है, लेकिन अवरोध का कारण ठीक नहीं होता। production-सिस्टम के लिए watchdog दोषपूर्ण drivers का पता लगाने वाले तंत्र का हिस्सा है।

ForceEnableMutantAutoboost शाखा Executive में है, जबकि ForceIdleGracePeriod, PerfIsoEnabled, CacheIsoBitmap, SchedulerAssistThreadFlagOverride, VpThreadSystemWorkPriority और AlwaysTrackIoBoosting शाखा Kernel से पढ़े जाते हैं। यह अंतर महत्वपूर्ण है: पड़ोसी subkey में समान नाम वाली प्रविष्टि लागू नहीं होती।

CacheIsoBitmap का उपयोग केवल Intel Resource Director/CAT समर्थन के साथ होता है; CAT के बिना यह मान isolation नहीं बनाता। SchedulerAssistThreadFlagOverride=0 और 1 स्वचालित सक्रियण छोड़ते हैं, 2 शाखा को जबरन बंद करता है। VpThreadSystemWorkPriority 1..31 की अनुमति देता है, अन्यथा 1 पर रीसेट हो जाता है; default 30, और 31 केवल ऊपरी सीमा है। AlwaysTrackIoBoosting=1 boost paths पर नैदानिक allocation और stack-capture सक्षम करता है, न कि I/O priority को ऊँचा बनाए रखता है।

उपयोगिता: पुष्ट consumer के बिना प्रभाव आमतौर पर अनुपस्थित होता है या व्यावहारिक निर्णय के लिए बहुत छोटा होता है। ऐसे मान सामान्य optimization सेट के रूप में नहीं, बल्कि अलग kernel-निदान की वस्तु के रूप में उपयोगी हैं।

जाँचे गए defaults 4/3/20/20 Windows 11 25H2 की मानक स्थिति से मेल खाते हैं। अतिरिक्त workers डिफ़ॉल्ट रूप से शून्य हैं, kernel workers की ऊपरी सीमा 4096 है जिसकी श्रेणी 32..16384 है। Watchdog-पैरामीटर सामान्यीकृत होते हैं: 2000 ms से नीचे का मान 2000 बन जाता है, और DpcCumulativeSoftTimeout watchdog period से अधिक नहीं होता। शाखाएँ Kernel और Executive परस्पर विनिमेय नहीं हैं।

  • अध्ययन किए गए build के ntoskrnl.exe में पैरामीटरों के readers और consumers।
  • डिफ़ॉल्ट मान और सामान्यीकरण की सीमाएँ, जिनमें watchdog-पैरामीटरों के बीच निर्भरताएँ शामिल हैं।
  • शाखाओं Kernel और Executive का पृथक्करण: पड़ोसी subkey में समान नाम वाली प्रविष्टि लागू नहीं होती।

क्या पुष्ट नहीं हुआ

Section titled “क्या पुष्ट नहीं हुआ”
  • पैरामीटर बदलने का FPS, विलंबता या प्रतिक्रियाशीलता पर प्रभाव।
  • पुष्ट DPC queue या worker समस्या के बिना सीमाएँ बदलने का लाभ।

व्यावहारिक निष्कर्ष

Section titled “व्यावहारिक निष्कर्ष”

इन पैरामीटरों को आँख मूँदकर न बदलें: ETW/WPR-ट्रेस के बिना backlog का कारण निर्धारित नहीं किया जा सकता। कार्यशील सिस्टम के लिए watchdog सक्षम रखें, और पैरामीटरों का उपयोग optimization सेट के रूप में नहीं, बल्कि निदान के लिए करें।

स्थिति की पुनर्स्थापना

Section titled “स्थिति की पुनर्स्थापना”

मानक मान लौटाएँ या वैकल्पिक प्रविष्टियाँ हटाएँ। kernel पैरामीटर Windows के अगले बूट पर लागू होते हैं।

Readers और consumers Windows 11 25H2 build 26200.9168 के ntoskrnl.exe में जाँचे गए। offsets या pseudocode प्रकाशित नहीं किए जाते। अंतिम उपयोगकर्ता मेट्रिक्स इस श्रृंखला में शामिल नहीं थे।

अवलोकनों के गतिशील भाग को कैसे दोहराया जाए — देखें स्वयं कैसे जाँचें।

अनुसंधान और प्रयुक्त उपकरण BoosterX के डेवलपर के हैं, इसलिए डेवलपर का परिणामों में सीधा हित है। कार्यप्रणाली और लागू होने की सीमाएँ ऊपर वर्णित हैं, और निष्कर्षों को खुले डेटा तथा सूचीबद्ध सार्वजनिक स्रोतों से जाँचा जा सकता है।

सार्वजनिक स्रोत जाँचे गए: 2026-09-02।

परिवर्तन इतिहास

Section titled “परिवर्तन इतिहास”
  • 2026-09-20: «परिणाम» अनुभाग को «स्थिति की पुनर्स्थापना» से पहले अनिवार्य स्थान पर ले जाया गया; हितों के टकराव का डिस्क्लेमर और कार्यप्रणाली में गतिशील अवलोकनों की स्वतंत्र जाँच का लिंक जोड़ा गया।
  • 2026-09-02: पहला प्रकाशन; readers, defaults और clamps की पुष्टि की गई, व्यावहारिक उपयोगिता की सीमाएँ जोड़ी गईं।