.\" intel_lpmd_config.xml(5) manual page
.\"
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\"
.\" The GNU General Public License's references to "object code"
.\" and "executables" are to be interpreted as the output of any
.\" document formatting or typesetting system, including
.\" intermediate and printed output.
.\"
.\" This manual is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public Licence along
.\" with this manual; if not, write to the Free Software Foundation, Inc.,
.\" 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
.\"
.\" Copyright (C) 2012 Intel Corporation. All rights reserved.
.\"
.TH intel_lpmd_config.xml "5" "1 Jun 2023"
.SH "نام (NAME)"
intel_lpmd_config.xml \- پرونده پیکربندی دیمن مدیریت توان مصرفی کم اینتل
.SH "خلاصه (SYNOPSIS)"
$(TDCONFDIR)/etc/intel_lpmd/intel_lpmd_config.xml
.SH "توضیحات (DESCRIPTION)"
.B intel_lpmd_config.xml
یک پرونده پیکربندی برای دیمن مدیریت حالت توان مصرفی کم اینتل (Intel Low Power Mode Daemon) است.
از این پرونده برای تعیین
.B lp_mode_cpus
جهت استفاده در حالت توان مصرفی کم، و همچنین روش محدود کردن کارها به این پردازندهها استفاده میشود.
همچنین مشخص میکند که آیا پایشگر HFI و پایشگر بهرهوری پردازنده فعال باشند و چگونه کار کنند.
مکان این پرونده به گزینههای پیکربندی استفادهشده در زمان ساخت بستگی دارد.
.PP
.B lp_mode_cpus
مجموعهای از پردازندههای فعال در زمان قرارگیری سیستم در حالت توان مصرفی کم است.
این معمولاً برابر با گروهی از بهینهترین پردازندهها از نظر مصرف انرژی در پلتفرم است تا
بیشترین میزان صرفهجویی در مصرف انرژی حاصل شود. در صورت عدم تعیین، ابزار
.B intel_lpmd
میتواند آن را بهطور خودکار شناسایی کند. برای نمونه، در پلتفرم Intel Alderlake از یک ماژول E-core استفاده میکند و
در پلتفرم Intel Meteorlake از هستههای Low Power E-core واقع بر روی SoC Die بهره میگیرد.
.PP
.B Mode
روش مهاجرت وظایف (tasks) به
.B lp_mode_cpus
را مشخص میکند.
.IP \(bu 2
Mode 0: تنظیم cpuset روی lp_mode_cpus برای systemd. تمام وظایف ایجادشده توسط
systemd تنها روی این پردازندهها اجرا خواهند شد. این حالت تنها برای systemd مبتنی بر cgroup v2 پشتیبانی میشود.
.IP \(bu 2
Mode 1: جداسازی (Isolate) پردازندههای غیر lp_mode_cpus بهگونهای که وظایف تنها روی
lp_mode_cpus زمانبندی شوند.
.IP \(bu 2
Mode 2: تزریق اجباری حالت بیکاری (idle injection) به پردازندههای غیر lp_mode_cpus و بهرهگیری از
زمانبند برای زمانبندی سایر وظایف روی lp_mode_cpus.
.PP
.B PerformanceDef
رفتار پیشفرض را هنگام تنظیم حالت مصرف توان روی Performance مشخص میکند.
.IP \(bu 2
\-1 : هرگز وارد حالت توان مصرفی کم نشود.
.IP \(bu 2
0 : ورود/خروج فرصتطلبانه (opportunistic) به حالت توان مصرفی کم بر اساس درخواست HFI/بهرهوری.
.IP \(bu 2
1 : همیشه در حالت توان مصرفی کم بماند.
.PP
.B BalancedDef
رفتار پیشفرض را هنگام تنظیم حالت مصرف توان روی Balanced مشخص میکند.
.PP
.B PowersaverDef
رفتار پیشفرض را هنگام تنظیم حالت مصرف توان روی Power saver مشخص میکند.
.PP
.B HfiLpmEnable
مشخص میکند که آیا پایشگر HFI میتواند نشانههای (hints) مربوط به حالت توان مصرفی کم را دریافت کند یا خیر.
.PP
.B HfiSuvEnable
مشخص میکند که آیا پایشگر HFI میتواند نشانههای مربوط به حالت بقا (survivability mode) را دریافت کند یا خیر.
.PP
.B WLTHintEnable
فعالسازی استفاده از نشانههای سختافزاری نوع بار کاری (Workload type hints).
.PP
.B WLTProxyEnable
فعالسازی استفاده از نشانههای نیابتی نوع بار کاری (Proxy Workload type hints).
.PP
.B util_entry_threshold
آستانه بهرهوری سیستم برای ورود به حالت توان مصرفی کم را مشخص میکند.
بار کاری سیستم زمانی مناسب با ظرفیت
.B lp_mode_cpus
در نظر گرفته میشود که بهرهوری سیستم زیر این آستانه باشد.
تنظیم روی 0 یا خالی گذاشتن آن، پایشگر بهرهوری را غیرفعال میکند.
.PP
.B util_exit_threshold
آستانه بهرهوری پردازنده برای خروج از حالت توان مصرفی کم را مشخص میکند.
بار کاری سیستم زمانی نامناسب با ظرفیت
.B lp_mode_cpus
در نظر گرفته میشود که بهرهوری پرمشغلهترین پردازنده در
.B lp_mode_cpus
بالاتر از این آستانه باشد.
تنظیم روی 0 یا خالی گذاشتن آن، پایشگر بهرهوری را غیرفعال میکند.
.PP
.B EntryDelayMS
فاصله زمانی نمونهبرداری مورداستفاده توسط پایشگر بهرهوری را هنگامی که سیستم بر اساس بهرهوری سیستم
میخواهد وارد حالت توان مصرفی کم شود مشخص میکند.
تنظیم روی 0 یا خالی گذاشتن آن باعث میشود پایشگر بهرهوری از فاصله زمانی پیشفرض، یعنی ۱۰۰۰ میلیثانیه استفاده کند.
.PP
.B ExitDelayMS
فاصله زمانی نمونهبرداری مورداستفاده توسط پایشگر بهرهوری را هنگامی که سیستم بر اساس بهرهوری پردازنده
میخواهد از حالت توان مصرفی کم خارج شود مشخص میکند.
تنظیم روی 0 یا خالی گذاشتن آن باعث میشود پایشگر بهرهوری از مقدار تطبیقی (adaptive) استفاده کند.
فاصله زمانی تطبیقی بر اساس بهرهوری پردازنده است.
هرچه پردازنده پرکارتر باشد، پایشگر بهرهوری از فاصله زمانی کوتاهتری استفاده میکند.
.PP
.B EntryHystMS
یک آستانه هیسترزیس (hysteresis) را هنگامی که سیستم در حالت توان مصرفی کم است مشخص میکند.
در صورت تنظیم، اگر میانگین زمان قبلی سپریشده در حالت توان مصرفی کم کمتر از این مقدار باشد،
درخواست فعلی برای ورود به حالت توان مصرفی کم نادیده گرفته میشود زیرا انتظار میرود
سیستم بهزودی از حالت توان مصرفی کم خارج شود.
تنظیم روی 0 یا خالی گذاشتن آن، این الگوریتم هیسترزیس را غیرفعال میکند.
.PP
.B ExitHystMS
یک آستانه هیسترزیس را هنگامی که سیستم در حالت توان مصرفی کم نیست مشخص میکند.
در صورت تنظیم، اگر میانگین زمان قبلی سپریشده خارج از حالت توان مصرفی کم کمتر از
این مقدار باشد، درخواست فعلی برای خروج از حالت توان مصرفی کم نادیده گرفته میشود
زیرا انتظار میرود سیستم بهزودی وارد حالت توان مصرفی کم شود.
تنظیم روی 0 یا خالی گذاشتن آن، این الگوریتم هیسترزیس را غیرفعال میکند.
.PP
.B IgnoreITMT
جلوگیری از تغییر فلگ ITMT زمانبند. به این معنی که در حین انتقال به حالت
توان مصرفی کم، فلگ ITMT تغییر نمیکند. این کار تأخیر را هنگام تعویض کاهش میدهد.
این فلگ زمانی که پیکربندی از پیکربندی مبتنی بر «State» استفاده میکند استفاده نمیشود،
جایی که این فلگ میتواند به ازای هر وضعیت تعریف شود.
.PP
.B States
امکان تعریف وضعیتهای توان مصرفی کم به ازای هر پلتفرم را فراهم میکند. هر وضعیت
دارای یک شرط ورود و مجموعهای از پارامترها برای استفاده است.
.SH "تعریف وضعیت (STATE DEFINITION)"
میتواند چندین پیکربندی State وجود داشته باشد. هر پیکربندی برای یک پلتفرم معتبر است.
یک هدر State پارامترهایی را تعریف میکند که برای تطبیق با یک پلتفرم استفاده میشوند.
.B CPUFamily
نسل پردازنده برای تطبیق.
.PP
.B CPUModel
مدل پردازنده برای تطبیق.
.PP
.B CPUConfig
پیکربندی پردازندهها و TDP را برای تطبیق با انواع (skews) مختلف همان مدل و نسل پردازنده تعریف میکند.
قالب رشته پیکربندی پردازنده بهصورت xPyEzL-tdpW است. برای نمونه: 12P8E2L-28W،
پلتفرمی را با ۶ هسته P با قابلیت چندریسمانی همزمان (hyper-threading) فعال، ۸ هسته E، ۲ هسته LPE و TDP برابر با ۲۸ وات تعریف میکند.
این پیکربندی اجازه استفاده از نویسه عمومی "*" را برای تطبیق با هر ترکیبی میدهد.
.SH "تعریف به ازای هر وضعیت (PER STATE DEFINITION)"
هر «State» شرایط ورود و پارامترهای مورداستفاده را تعریف میکند.
.B ID
یک شناسه یکتا برای وضعیت.
.PP
.B Name
یک نام برای وضعیت.
.PP
.B EntrySystemLoadThres
آستانه بار ورودی سیستم بر حسب درصد. بهرهوری سیستم بر اساس تعداد پردازندههای فعال در یک پیکربندی متفاوت است.
این مقدار از sysfs در مسیر /proc/stat محاسبه میشود. برای ورود به این وضعیت،
بهرهوری سیستم باید کمتر یا مساوی با این مقدار باشد.
.PP
.B EnterCPULoadThres
آستانه بار ورودی پردازنده بر حسب درصد. بهرهوری هر پردازنده نیز از /proc/stat به دست میآید.
برای ورود به این وضعیت، بهرهوری هر پردازنده فعال باید کمتر یا مساوی با این مقدار باشد.
گزینه EnterCPULoadThres قبل از EntrySystemLoadThres برای تطبیق یک وضعیت بررسی میشود.
.PP
.B WLTType
مقدار نوع بار کاری برای ورود به این وضعیت. در صورت تعریف این مقدار، محرکهای ورود
مبتنی بر بهرهوری استفاده نمیشوند. برای استفاده از این، گزینه WLTHintEnable باید فعال باشد تا اعلانهای سختافزاری فعال شوند.
.PP
.B ActiveCPUs
پردازندههای فعال در این وضعیت. این فهرست میتواند با کاما جدا شود یا از "-" برای یک محدوده استفاده کند.
داشتن پردازندههای فعال در یک وضعیت اختیاری است.
.PP
.B EPP
مقدار EPP اعمالشونده برای این وضعیت. مقدار \-1 برای نادیده گرفتن.
.PP
.B EPB
مقدار EPB اعمالشونده برای این وضعیت. مقدار \-1 برای نادیده گرفتن.
.PP
.B ITMTState
تنظیم وضعیت فلگ ITMT. مقدار \-1 برای نادیده گرفتن.
.PP
.B IRQMigrate
مهاجرت IRQها به پردازندههای فعال در این وضعیت. مقدار \-1 برای نادیده گرفتن.
.PP
.B MinPollInterval
حداقل فاصله نظرسنجی (polling interval) بر حسب میلیثانیه.
.PP
.B MaxPollInterval
حداکثر فاصله نظرسنجی بر حسب میلیثانیه. این گزینه در صورتی که حداکثری مد نظر نباشد اختیاری است.
.PP
.B PollIntervalIncrement
میزان افزایش فاصله نظرسنجی بر حسب میلیثانیه. اگر این مقدار
\-1 باشد، افزایش نظرسنجی بهصورت تطبیقی بر اساس بهرهوری خواهد بود.
.SH "قالب پرونده (FILE FORMAT)"
قالب پرونده پیکربندی با مشخصات XML مطابقت دارد.
.sp 1
.EX
Example CPUs
0|1|2
-1|0|1
-1|0|1
-1|0|1
0|1
0|1
Example threshold
Example threshold
Example delay
Example delay
Example hyst
Example hyst
-1 | EPP value
.EE
.SH "پیکربندیهای نمونه (EXAMPLE CONFIGURATIONS)"
.PP
.B نمونه ۱:
این حداقل پیکربندی است.
.IP \(bu 2
lp_mode_cpus: تنظیم نشده است. lp_mode_cpus را بهطور خودکار شناسایی میکند.
.IP \(bu 2
Mode: 0. استفاده از cgroup-v2 systemd برای مهاجرت وظایف.
.IP \(bu 2
HfiLpmEnable: 0. نادیده گرفتن نشانههای حالت توان مصرفی کم HFI.
.IP \(bu 2
HfiSuvEnable: 0. نادیده گرفتن نشانههای حالت بقای HFI. با پاک بودن هر دو HfiLpmEnable و HfiSuvEnable، پایشگر HFI غیرفعال خواهد شد.
.IP \(bu 2
util_entry_threshold: 0. غیرفعالسازی پایشگر بهرهوری.
.IP \(bu 2
util_exit_threshold: 0. غیرفعالسازی پایشگر بهرهوری.
.IP \(bu 2
EntryDelayMS: 0. در صورت غیرفعال بودن پایشگر بهرهوری تأثیری ندارد.
.IP \(bu 2
ExitDelayMS: 0. در صورت غیرفعال بودن پایشگر بهرهوری تأثیری ندارد.
.IP \(bu 2
EntryHystMS: 0. در صورت غیرفعال بودن پایشگر بهرهوری تأثیری ندارد.
.IP \(bu 2
ExitHystMS: 0. در صورت غیرفعال بودن پایشگر بهرهوری تأثیری ندارد.
.IP \(bu 2
lp_mode_epp: \-1. عدم تغییر EPP هنگام ورود به حالت توان مصرفی کم.
.sp 1
.EX
0
0
0
0
0
0
0
0
0
-1
.EE
.PP
.B نمونه ۲:
این پیکربندی معمول است. آستانههای بهرهوری و تأخیرها میتوانند بر اساس نیاز متفاوت باشند.
.IP \(bu 2
lp_mode_cpus: تنظیم نشده است. lp_mode_cpus را بهطور خودکار شناسایی میکند.
.IP \(bu 2
Mode: 0. استفاده از cgroup-v2 systemd برای مهاجرت وظایف.
.IP \(bu 2
HfiLpmEnable: 1. ورود/خروج به حالت توان مصرفی کم بر اساس نشانههای HFI.
.IP \(bu 2
HfiSuvEnable: 1. ورود/خروج به حالت بقا بر اساس نشانههای HFI.
.IP \(bu 2
util_entry_threshold: 5. ورود به حالت توان مصرفی کم زمانی که بهرهوری سیستم کمتر از ۵٪ باشد.
.IP \(bu 2
util_exit_threshold: 95. خروج از حالت توان مصرفی کم زمانی که بهرهوری هر یک از lp_mode_cpus بالاتر از ۹۵٪ باشد.
.IP \(bu 2
EntryDelayMS: 0. نمونهبرداری مجدد در هر ۱۰۰۰ میلیثانیه زمانی که سیستم خارج از حالت توان مصرفی کم است.
.IP \(bu 2
ExitDelayMS: 0. نمونهبرداری مجدد تطبیقی بر اساس بهرهوری lp_mode_cpus زمانی که سیستم در حالت توان مصرفی کم است.
.IP \(bu 2
EntryHystMS: 2000. نادیده گرفتن درخواست فعلی ورود به حالت توان مصرفی کم در صورتی که میانگین زمان قبلی سپریشده در حالت توان مصرفی کم کمتر از ۲۰۰۰ میلیثانیه باشد.
.IP \(bu 2
ExitHystMS: 3000. نادیده گرفتن درخواست فعلی خروج از حالت توان مصرفی کم در صورتی که میانگین زمان قبلی سپریشده خارج از حالت توان مصرفی کم کمتر از ۳۰۰۰ میلیثانیه باشد.
.IP \(bu 2
lp_mode_epp: \-1. عدم تغییر EPP هنگام ورود به حالت توان مصرفی کم.
.sp 1
.EX
0
1
1
5
95
0
0
2000
3000
-1
.EE