Перейти к содержимому

Windows 11 25H2 میں DPC اور Kernel Executive workers

На этой странице

DpcQueueDepth گروپ، worker limits اور watchdog پیرامیٹرز کو اکثر عالمگیر latency tweaks کا مجموعہ سمجھا جاتا ہے۔ درحقیقت یہ kernel کی داخلی حدود اور حفاظتی میکانزم ہیں۔ ان کا اثر صرف مخصوص DPC قطار، پروسیسرز کی تعداد، ڈرائیور کی قسم یا worker کی خرابی کی صورت میں ظاہر ہوتا ہے۔

جانچا گیا کہ kernel کون سی DPC، worker threads اور watchdog حدود پڑھتا ہے، اقدار کی normalization کیسے ہوتی ہے اور یہ میکانزم واقعی کہاں لاگو ہوتے ہیں۔

Windows 11 25H2 build 26200.9168, برانچیں Session Manager\Kernel اور Session Manager\Executive۔ ہارڈویئر پر منحصر خصوصیات اور مخصوص ڈرائیور پیمائش میں شامل نہیں تھے۔

ntoskrnl.exe کا جامد تجزیہ: readers اور consumers کی تلاش، اقدار کی حدود اور normalization کی جانچ؛ 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 کی adaptation حد
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 ترتیب کے مختلف برانچ ہیں۔ ہر قدر کے لیے وہ پاتھ اہم ہے جو اس build میں kernel کا reader کھولتا ہے۔

Kernel قطار کے کنٹرول اور DPC processing کی adaptation کے لیے DpcQueueDepth، MinimumDpcRate، IdealDpcRate اور AdjustDpcThreshold استعمال کرتا ہے۔ جانچے گئے defaults 4/3/20/20 پہلے ہی Windows 11 25H2 کی معیاری حالت سے مطابقت رکھتے ہیں؛ ان اعداد کو دوبارہ لکھنے سے کچھ نہیں بدلتا۔

افادیت: یہ پیرامیٹرز کسی مخصوص DPC backlog کے تجزیے میں مفید ہو سکتے ہیں، لیکن ETW/WPR ٹریس کے بغیر آنکھیں بند کر کے تبدیلی وجہ کی تشخیص نہیں کرتی۔ بڑی قطار پروسیسنگ کو مؤخر کر سکتی ہے اور latency کی دم بڑھا سکتی ہے۔

ThreadDpcEnable=1 threaded-DPC infrastructure کو فعال کرتا ہے، 0 کام کو معمول کے DIRQL path پر واپس لاتا ہے اور interrupt-off کے وقفے طویل کر سکتا ہے۔ MaximumKernelWorkerThreads kernel workers کے مشترکہ pool کو محدود کرتا ہے۔ AdditionalCriticalWorkerThreads اور AdditionalDelayedWorkerThreads بنیادی pools میں شامل ہوتے ہیں: کلائنٹ Windows پر یہ بالترتیب 5 critical اور 7 delayed workers ہیں، override لاگو ہونے تک۔

زیادہ threads کا مطلب کم latency نہیں: اضافی workers stack، scheduler time اور cache resources استعمال کرتے ہیں، اور قطار کسی دوسرے جزو کی وجہ سے محدود ہو سکتی ہے۔ 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 سیکنڈ کی رینج میں normalize کیا جاتا ہے؛ 0 لکھنا timeout کو بند نہیں کرتا بلکہ کم سے کم قدر کا باعث بنتا ہے۔

حفاظتی timeout بند کرنا تشخیص ختم کر دیتا ہے، لیکن بلاک ہونے کی وجہ درست نہیں کرتا۔ production سسٹم کے لیے watchdog خراب ڈرائیوروں کی نشاندہی کے میکانزم کا حصہ ہے۔

ForceEnableMutantAutoboost برانچ Executive میں ہے، جبکہ ForceIdleGracePeriod، PerfIsoEnabled، CacheIsoBitmap، SchedulerAssistThreadFlagOverride، VpThreadSystemWorkPriority اور AlwaysTrackIoBoosting برانچ Kernel سے پڑھے جاتے ہیں۔ یہ فرق ناقابلِ نظرانداز ہے: ملحقہ subkey میں اسی نام کی entry لاگو نہیں ہوتی۔

CacheIsoBitmap صرف Intel Resource Director/CAT کی معاونت کے ساتھ استعمال ہوتا ہے؛ CAT کے بغیر قدر isolation پیدا نہیں کرتی۔ SchedulerAssistThreadFlagOverride=0 اور 1 خودکار activation رکھتے ہیں، 2 برانچ کو زبردستی بند کرتا ہے۔ VpThreadSystemWorkPriority 1..31 کی اجازت دیتا ہے، ورنہ 1 پر reset ہو جاتا ہے؛ default 30، اور 31 محض بالائی حد ہے۔ AlwaysTrackIoBoosting=1 boost paths پر تشخیصی allocation اور stack-capture فعال کرتا ہے، نہ کہ I/O priority کو بلند رکھتا ہے۔

افادیت: تصدیق شدہ consumer کے بغیر اثر عام طور پر موجود نہیں ہوتا یا عملی فیصلے کے لیے بہت کم ہوتا ہے۔ ایسی اقدار الگ kernel تشخیص کے موضوع کے طور پر مفید ہیں، نہ کہ optimization کے عمومی مجموعے کے طور پر۔

جانچے گئے defaults 4/3/20/20 Windows 11 25H2 کی معیاری حالت سے مطابقت رکھتے ہیں۔ اضافی workers بطور default صفر ہیں، kernel workers کی بالائی حد 4096 ہے جس کی رینج 32..16384 ہے۔ Watchdog پیرامیٹرز normalize ہوتے ہیں: 2000 ms سے کم قدر 2000 بن جاتی ہے، اور DpcCumulativeSoftTimeout watchdog period سے تجاوز نہیں کرتا۔ برانچیں Kernel اور Executive ایک دوسرے کے متبادل نہیں ہیں۔

  • جانچے گئے build کے ntoskrnl.exe میں پیرامیٹرز کے readers اور consumers۔
  • Default اقدار اور normalization کی حدود، بشمول watchdog پیرامیٹرز کے درمیان انحصار۔
  • برانچوں Kernel اور Executive کی علیحدگی: ملحقہ subkey میں اسی نام کی entry لاگو نہیں ہوتی۔
  • پیرامیٹرز کی تبدیلی کا FPS، latency یا responsiveness پر اثر۔
  • DPC قطار یا worker کے تصدیق شدہ مسئلے کے بغیر حدود تبدیل کرنے کا فائدہ۔

ان پیرامیٹرز کو آنکھیں بند کر کے نہ بدلیں: ETW/WPR ٹریس کے بغیر backlog کی وجہ معلوم نہیں کی جا سکتی۔ کام کرنے والے سسٹم کے لیے watchdog فعال رکھیں، اور پیرامیٹرز کو optimization کے مجموعے کے بجائے تشخیص کے لیے استعمال کریں۔

معیاری اقدار واپس لائیں یا اختیاری entries حذف کریں۔ Kernel پیرامیٹرز Windows کی اگلی boot پر لاگو ہوتے ہیں۔

Readers اور consumers Windows 11 25H2 build 26200.9168 کے ntoskrnl.exe میں جانچے گئے۔ Offsets یا pseudocode شائع نہیں کیے جاتے۔ حتمی صارف میٹرکس اس سیریز میں شامل نہیں تھے۔

مشاہدات کے متحرک حصے کو کیسے دہرایا جائے — دیکھیں خود کیسے جانچیں۔

تحقیق اور استعمال شدہ ٹولز BoosterX کے ڈویلپر کی ملکیت ہیں، اس لیے ڈویلپر کا نتائج میں براہ راست مفاد ہے۔ طریقہ کار اور اطلاق کی حدود اوپر بیان کی گئی ہیں، اور نتائج کو کھلے ڈیٹا اور درج عوامی ذرائع سے جانچا جا سکتا ہے۔

عوامی ذرائع جانچے گئے: 2026-09-02۔

  • 2026-09-20: «نتائج» کا سیکشن «حالت کی بحالی» سے پہلے لازمی مقام پر منتقل کیا گیا؛ مفادات کے تصادم کا disclaimer اور طریقہ کار میں متحرک مشاہدات کی خود جانچ کے لنک شامل کیے گئے۔
  • 2026-09-02: پہلی اشاعت؛ readers، defaults اور clamps کی تصدیق، عملی افادیت کی حدود شامل کی گئیں۔