Security

Token

There is no security token.

Firewall

main Name
Security enabled
Stateless

Configuration

Key Value
provider security.user.provider.concrete.app_user_provider
context main
entry_point App\Security\KbinAuthenticator
user_checker App\Security\UserChecker
access_denied_handler (none)
access_denied_url (none)
authenticators
[
  "two_factor"
  "remember_me"
  "App\Security\KbinAuthenticator"
  "App\Security\FacebookAuthenticator"
  "App\Security\GoogleAuthenticator"
  "App\Security\GithubAuthenticator"
  "App\Security\KeycloakAuthenticator"
]

Listeners

Listener Duration Response
Symfony\Component\Security\Http\Firewall\ChannelListener {#723
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
  -logger: Monolog\Logger {#783 …}
  -httpPort: 80
  -httpsPort: 443
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\ContextListener {#706
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage {#1017 …}
  -sessionKey: "_security_main"
  -logger: Monolog\Logger {#783 …}
  -userProviders: Symfony\Component\DependencyInjection\Argument\RewindableGenerator {#705 …}
  -dispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
  -registered: false
  -trustResolver: Scheb\TwoFactorBundle\Security\Authentication\AuthenticationTrustResolver {#780 …}
  -sessionTrackerEnabler: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage::enableUsageTracking(): void {#703 …}
}
0.28 ms (none)
Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener {#584
  -authenticatorManager: Symfony\Component\Security\Http\Authentication\AuthenticatorManager {#595 …}
}
0.00 ms (none)
Scheb\TwoFactorBundle\Security\Http\Firewall\TwoFactorAccessListener {#582
  -twoFactorFirewallConfig: Scheb\TwoFactorBundle\Security\TwoFactor\TwoFactorFirewallConfig {#842 …}
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -twoFactorAccessDecider: Scheb\TwoFactorBundle\Security\Authorization\TwoFactorAccessDecider {#581 …}
}
0.05 ms (none)
Symfony\Component\Security\Http\Firewall\AccessListener {#579
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -accessDecisionManager: Symfony\Component\Security\Core\Authorization\TraceableAccessDecisionManager {#937 …}
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\LogoutListener {#786
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -options: [
    "csrf_parameter" => "_csrf_token"
    "csrf_token_id" => "logout"
    "logout_path" => "app_logout"
  ]
  -httpUtils: Symfony\Component\Security\Http\HttpUtils {#841 …}
  -csrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#1015 …}
  -eventDispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
}
0.00 ms (none)

Authenticators

No authenticators have been recorded. Check previous profiles on your authentication endpoint.

Access Decision

affirmative Strategy
# Voter class
1
"Symfony\Component\Security\Core\Authorization\Voter\AuthenticatedVoter"
2
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
3
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
4
"Symfony\Component\Security\Core\Authorization\Voter\ExpressionVoter"
5
"App\Security\Voter\EntryCommentVoter"
6
"App\Security\Voter\EntryVoter"
7
"App\Security\Voter\MagazineVoter"
8
"App\Security\Voter\MessageThreadVoter"
9
"App\Security\Voter\MessageVoter"
10
"App\Security\Voter\NotificationVoter"
11
"App\Security\Voter\OAuth2UserConsentVoter"
12
"App\Security\Voter\PostCommentVoter"
13
"App\Security\Voter\PostVoter"
14
"App\Security\Voter\UserVoter"

Access decision log

# Result Attributes Object
1 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
2 DENIED moderate
App\Entity\Entry {#2388
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +magazine: App\Entity\Magazine {#266
    +icon: Proxies\__CG__\App\Entity\Image {#247 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#276
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#238 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
    +entries: Doctrine\ORM\PersistentCollection {#181 …}
    +posts: Doctrine\ORM\PersistentCollection {#139 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
    +bans: Doctrine\ORM\PersistentCollection {#118 …}
    +reports: Doctrine\ORM\PersistentCollection {#104 …}
    +badges: Doctrine\ORM\PersistentCollection {#82 …}
    +logs: Doctrine\ORM\PersistentCollection {#72 …}
    +awards: Doctrine\ORM\PersistentCollection {#61 …}
    +categories: Doctrine\ORM\PersistentCollection {#1820 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#270
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#272
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
  +slug: "AMD-P-State-and-AMD-P-State-EPP-Scaling-Driver-Configuration-Guide"
  +title: "AMD P-State and AMD P-State EPP Scaling Driver Configuration Guide"
  +url: null
  +body: """
    Hi everyone, I’m quite new to Lemmy (this is actually my fist post!) During the past weeks I’ve sunk into the magical world of AMD P-States, and, I ended up putting together a quick post that I thought might be useful for someone else.\n
    \n
    I’m a Linux amateur, so this could be very much wrong, but I’m very much open to any corrections or improvements :)\n
    \n
    1. Requirements\n
    ---------------\n
    \n
    Currently, some of the Zen2 and Zen3 processors support `amd-pstate` and the new `amd_pstate_epp` scaling driver. You also have to have CPPC support enabled in your UEFI. In the future, it will be supported on more and more AMD processors.\n
    \n
    2. amd-pstate vs acpi-cpufreq\n
    -----------------------------\n
    \n
    There are two methods for adjusting CPU performance on AMD CPU/APUs:\n
    \n
    - `amd-pstate`\n
    - `acpi-cpufreq`\n
    \n
    `acpi-cpufreq` is currently default for most distros, regardless of the CPU in use. on most AMD CPUs this is a limiting factor, as it offers limited performance options with only a few fixed levels for CPU speed.\n
    \n
    On newer AMD CPUs and APUs (aka Zen2 and above), there is a more advanced method called *Collaborative Processor Performance Control* (CPPC mentioned in the requirements), which allows for fine-tuned and continuous adjustments of the CPU frequency, with the potential to provide better performance and energy efficiency compared to the older fixed levels.\n
    \n
    And that’s where `amd-pstate` comes in, as it is a new kernel module that supports the newer and more efficient AMD P-States mechanism.\n
    \n
    There are 3 options available, listed below, in order of release:\n
    \n
    - `amd_pstate=passive` (Kernel 6.1+)\n
    - `amd_pstate=active` (Kernel 6.3+)\n
    - `amd_pstate=guided` (kernel 6.4+)\n
    \n
    ### Passive Mode\n
    \n
    `amd_pstate=passive`\n
    \n
    When you set `amd_pstate=passive`, the processor aims for a certain performance level relative to its maximum capacity. Below a specific point, the performance is average, while above it, the performance remains at its best.\n
    \n
    ### Active Mode\n
    \n
    `amd_pstate=active`\n
    \n
    Setting `amd_pstate=active` gives low-level control to the processor’s firmware. It can prioritize either performance or energy efficiency based on software **hints** AND the `amd_pstate_epp` driver. The `amd_pstate_epp` (Energy Performance Preference) driver provides the firmware with a **hint**. On most AMD CPUs, these **hints** are:\n
    \n
    - `default `\n
    - `performance`\n
    - `balance_performance`\n
    - `balance_power`\n
    - `power`\n
    \n
    ### Guided Mode\n
    \n
    `amd_pstate=guided`\n
    \n
    Choosing `amd_pstate=guided` lets the platform automatically select a suitable performance level within a given range based on the workload.\n
    \n
    3a. Configure amd_pstate to either Passive or Guided\n
    -----------------------------------------------------\n
    \n
    To enable the `amd_pstate_epp` scaling driver, which also includes instructions for the original `amd_pstate` scaling driver, you will need to add a kernel parameter. If you are using PopOS (like me) or any other distribution utilising kernelstub, this process can be easily accomplished with the following steps:\n
    \n
    > **IMPORTANT: The option ‘amd_pstate=guided’ is only available on Kernel 6.4 or later versions.**\n
    \n
    1. Add the desired kernel parameter by running the following command:\n
    \n
    ```\n
    \n
    <span style="color:#323232;"># Add the desired Kernel Parameter\n
    </span><span style="color:#323232;">sudo kernelstub -a "amd_pstate=guided" # Change this to passive if preferred\n
    </span>\n
    ```\n
    \n
    2. To confirm that the kernel parameter has been successfully added, use the following command:\n
    \n
    ```\n
    \n
    <span style="color:#323232;"># Verify that the kernel parameter has been added\n
    </span><span style="color:#323232;">sudo kernelstub -p \n
    </span>\n
    ```\n
    \n
    ### Verify amd_pstate\n
    \n
    To verify that this is functioning correctly, reboot your machine, and run\n
    \n
    ```\n
    \n
    <span style="color:#323232;">cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver\n
    </span>\n
    ```\n
    \n
    If `amd_pstate` was set to either `passive` or `guided`, this should now show:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">amd-pstate\n
    </span>\n
    ```\n
    \n
    3b. Configure amd_pstate_epp to Active\n
    ----------------------------------------\n
    \n
    To enable the `amd_pstate_epp` scaling driver, which also includes instructions for the original `amd_pstate` scaling driver, you will need to add a kernel parameter. If you are using PopOS (like me) or any other distribution utilising kernelstub, this process can be easily accomplished with the following steps:\n
    \n
    > **IMPORTANT: The option ‘amd_pstate=guided’ is only available on Kernel 6.3 or later versions.**\n
    \n
    1. Add the desired kernel parameter by running the following command:\n
    \n
    ```\n
    \n
    <span style="color:#323232;"># Add the desired Kernel Parameter\n
    </span><span style="color:#323232;">sudo kernelstub -a "amd_pstate=active"\n
    </span>\n
    ```\n
    \n
    2. To confirm that the kernel parameter has been successfully added, use the following command:\n
    \n
    ```\n
    \n
    <span style="color:#323232;"># Verify that the kernel parameter has been added\n
    </span><span style="color:#323232;">sudo kernelstub -p \n
    </span>\n
    ```\n
    \n
    ### Verify amd_pstate\n
    \n
    To verify that this is functioning correctly, reboot your machine, and run\n
    \n
    ```\n
    \n
    <span style="color:#323232;">cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver\n
    </span>\n
    ```\n
    \n
    If `amd_pstate` was set to `active`, this should now show:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">amd-pstate-epp\n
    </span>\n
    ```\n
    \n
    ### Configure amd_pstate_epp Energy Performance Preference\n
    \n
    The amd_pstate_epp scaling driver introduces a new parameter known as “Energy Performance Preference” (EPP) hint. This setting can be adjusted through sysfs, with two main files controlling it:\n
    \n
    - `/sys/devices/system/cpu/cpu*/cpufreq/energy_performance_preference`: This file displays the current EPP hint for the respective CPU core.\n
    - `/sys/devices/system/cpu/cpu*/cpufreq/energy_performance_available_preferences`: This file provides the available EPP hints for the respective CPU core.\n
    \n
    To see your current EPP hints (note `*` = all CPU cores), use the following command:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">cat /sys/devices/system/cpu/cpu*/cpufreq/energy_performance_preference\n
    </span><span style="color:#323232;">\n
    </span>\n
    ```\n
    \n
    To view the available EPP hints (which should be the same for all cores), use this command:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">cat /sys/devices/system/cpu/cpu0/cpufreq/energy_performance_available_preferences\n
    </span><span style="color:#323232;">\n
    </span><span style="color:#323232;"># What you see below, is my results on my Ryzen 7 7735HS\n
    </span><span style="color:#323232;">default performance balance_performance balance_power power \n
    </span>\n
    ```\n
    \n
    If you’d like to set the same EPP hint across all cores, for instance, setting EPP to “power” (like in my case), you can use this command:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">echo "power" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/energy_performance_preference\n
    </span><span style="color:#323232;">power\n
    </span>\n
    ```\n
    \n
    > **NOTE: This is not permament, and will be reverted upon reboot. To make this permanent, you can use multiple tools, or, create a cron job**\n
    \n
    4. Scaling Driver vs CPU Governor\n
    ---------------------------------\n
    \n
    The Scaling Driver is *different* than the CPU governor (e.g. `powersave`, `performance`, `ondemand`, `schedulutil`, etc.), and the two can be mixed and matched to create your perfect combo.\n
    \n
    To check what’s the current `cpu governor`, use the command below:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor\n
    </span>\n
    ```\n
    \n
    In my case, that’s what I’m seeing:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">user@machine ~> cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span>\n
    ```\n
    \n
    If you’ve configured `amd_pstate=active`, you can mix and match governors with EPP hints. For me the default after I enabled `amd_pstate_epp` was governor = `powersave` and EPP hint = `performance`. Phoronix has an excellent breakdown of all the combinations of governors + EPP hints (referenced in the resources section at the end of this post).\n
    \n
    ### Resources:\n
    \n
    - an amazing Redditor (whose post I cannot find anymore) that served as a basis for this very post (if anyone finds it, please do let me know, and I’ll reference them right away)\n
    - ChatGPT who helped me phrase some sentences a bit better\n
    - Benchmarks for server using AMD P-State EPP: [www.phoronix.com/review/linux-63-amd-epyc-epp](https://www.phoronix.com/review/linux-63-amd-epyc-epp)\n
    - Benchmarks for Ryzen mobile system using AMD P-State EPP: [www.phoronix.com/…/amd-pstate-epp-ryzen-mobile](https://www.phoronix.com/review/amd-pstate-epp-ryzen-mobile)\n
    - Arch Wiki page on CPU Scaling: [https://wiki.archlinux.org/title/CPU_frequency_scaling](https://wiki.archlinux.org/title/CPU_frequency_scaling)\n
    - Kernel.org documentation on new AMD P-State driver: [www.kernel.org/doc/html/latest/…/amd-pstate.html](https://www.kernel.org/doc/html/latest/admin-guide/pm/amd-pstate.html)
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 1
  +favouriteCount: 1
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1729022496 {#2410
    date: 2024-10-15 22:01:36.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1866 …}
  +votes: Doctrine\ORM\PersistentCollection {#1978 …}
  +reports: Doctrine\ORM\PersistentCollection {#1946 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
  +badges: Doctrine\ORM\PersistentCollection {#2426 …}
  +children: []
  -id: 10880
  -titleTs: "'amd':1,6 'configur':13 'driver':12 'epp':10 'guid':14 'p':3,8 'p-state':2,7 'scale':11 'state':4,9"
  -bodyTs: "'/amd-pstate-epp-ryzen-mobile':1122 '/amd-pstate.html':1147 '/cpufreq/energy_performance_available_preferences':789 '/cpufreq/energy_performance_preference':775,818,890 '/cpufreq/scaling_governor':965,979 '/doc/html/latest/':1146 '/doc/html/latest/admin-guide/pm/amd-pstate.html)':1150 '/review/amd-pstate-epp-ryzen-mobile)':1125 '/review/linux-63-amd-epyc-epp](https://www.phoronix.com/review/linux-63-amd-epyc-epp)':1109 '/sys/devices/system/cpu/cpu':774,788,817,889,964,978 '/sys/devices/system/cpu/cpu0/cpufreq/energy_performance_available_preferences':837 '/sys/devices/system/cpu/cpu0/cpufreq/scaling_driver':567,721 '/title/cpu_frequency_scaling](https://wiki.archlinux.org/title/cpu_frequency_scaling)':1134 '1':72,497,657 '2':118,525,679 '3':267 '3a':423 '3b':585 '4':917 '6.1':280 '6.3':285,653 '6.4':290,493 '7':848 '7735hs':849 'accomplish':477,637 'acpi':124,141,144 'acpi-cpufreq':123,140,143 'across':867 'activ':283,332,336,340,591,678,728,1002 'actual':11 'ad':535,547,689,701 'add':455,498,508,615,658,668 'adjust':131,216,765 'advanc':196 'aim':304 'aka':188 'allow':209 'also':95,441,601 'amateur':53 'amaz':1055 'amd':27,84,89,116,120,135,138,160,184,242,260,276,281,286,293,299,334,338,365,370,385,399,403,425,435,447,485,516,552,569,583,587,595,607,645,676,706,723,734,738,745,1000,1019,1102,1116,1139 'amd-pstat':83,119,137,241,582 'amd-pstate-epp':733 'anymor':1062 'anyon':1073 'apus':187 'arch':1126 'automat':409 'avail':269,490,650,794,822 'averag':322 'away':1087 'balanc':392,394,852,854 'base':359,419 'basi':1067 'benchmark':1098,1110 'best':331 'better':226,1097 'bit':1096 'breakdown':1033 'call':198 'cannot':1060 'capac':314 'case':879,968 'cat':566,720,816,836,963,977 'certain':307 'chang':519 'chatgpt':1088 'check':952 'choos':402 'collabor':199 'combin':1037 'combo':950 'come':244 'command':507,539,667,693,815,835,884,961 'compar':231 'configur':424,586,737,999 'confirm':527,681 'continu':215 'control':202,345,772 'core':787,801,811,832,869 'correct':69,560,714 'could':56 'cppc':99,203 'cpu':132,155,180,219,786,800,810,921,930,957,1130 'cpu/apus':136 'cpufreq':125,142,145 'cpus':161,185,386 'creat':913,947 'cron':915 'current':74,147,780,805,956 'd':859 'default':148,390,850,1015 'desir':500,510,660,670 'differ':927 'display':778 'distribut':469,629 'distro':151 'document':1136 'driver':93,368,376,439,450,599,610,749,919,925,1143 'e.g':932 'easili':476,636 'echo':885 'effici':230,259,358 'either':354,428,574 'els':48 'enabl':101,433,593,1018 'end':33,1049 'energi':229,357,373,741,756 'epp':91,367,372,437,589,597,736,740,747,759,781,795,806,823,865,873,1010,1021,1026,1040,1106,1120 'etc':937 'everyon':2 'excel':1032 'factor':166 'file':771,777,791 'find':1061,1074 'fine':212 'fine-tun':211 'firmwar':350,379 'fist':13 'fix':177,235 'follow':480,506,538,640,666,692,814 'frequenc':220 'function':559,713 'futur':107 'give':341 'given':417 'governor':922,931,958,1008,1023,1039 'guid':288,397,401,405,431,487,518,577,647 'help':1090 'hi':1 'hint':362,382,388,760,782,796,807,824,866,1011,1027,1041 'import':482,642 'improv':71 'includ':442,602 'instanc':871 'instruct':443,603 'introduc':750 'job':916 'kernel':251,279,284,289,457,492,501,511,530,543,617,652,661,671,684,697 'kernel.org':1135 'kernelstub':471,514,549,631,674,703 'know':1080 'known':754 'later':495,655 'lemmi':8 'let':406,1078 'level':178,236,309,344,414 'like':464,624,860,876 'limit':165,170 'linux':52 'list':270 'll':1083 'low':343 'low-level':342 'm':4,50,63,973 'machin':563,717,976 'magic':24 'main':770 'make':904 'match':945,1007 'maximum':313 'mechan':264 'mention':204 'method':129,197 'might':43 'mix':943,1005 'mobil':1113 'mode':292,333,398 'modul':252 'much':59,65 'multipl':910 'need':453,613 'new':6,88,250,752,1138 'newer':183,256 'note':808,892 'offer':169 'older':234 'ondemand':935 'open':66 'option':172,268,484,644 'order':273 'origin':446,606 'p':29,262,550,704,1104,1118,1141 'p-state':28,261,1103,1117,1140 'page':1128 'paramet':458,502,512,531,544,618,662,672,685,698,753 'passiv':278,291,295,301,429,522,575 'past':17 'perfect':949 'perform':133,171,201,227,308,320,327,355,374,391,393,413,742,757,851,853,934,1028 'permament':896 'perman':906 'phoronix':1029 'phrase':1092 'platform':408 'pleas':1076 'point':318 'popo':463,623 'post':14,39,1052,1058,1071 'potenti':223 'power':395,396,855,856,875,886,891 'powersav':933,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,1024 'prefer':375,524,743,758 'priorit':353 'process':473,633 'processor':81,117,200,303,348 'provid':225,377,792 'pstate':85,90,121,139,243,277,282,287,294,300,335,339,366,371,400,404,426,436,448,486,517,553,570,584,588,596,608,646,677,707,724,735,739,746,1001,1020 'put':35 'quick':38 'quit':5 'rang':418 'reboot':561,715,902 'redditor':1056 'refer':1084 'referenc':1042 'regardless':152 'relat':310 'releas':275 'remain':328 'requir':73,207 'resourc':1045,1053 'respect':785,799 'result':844 'revert':900 'right':1086 'run':504,565,664,719 'ryzen':847,1112 'scale':92,438,449,598,609,748,918,924,1131 'schedulutil':936 'section':1046 'see':803,840,974 'select':410 'sentenc':1094 'serv':1064 'server':1100 'set':298,337,572,726,762,862,872 'show':581,732 'softwar':361 'someon':47 'specif':317 'speed':181 'state':30,263,1105,1119,1142 'step':481,641 'success':534,688 'sudo':513,548,673,702,887 'suitabl':412 'sunk':21 'support':82,100,111,254 'sysf':767 'system':1114 'tee':888 'thought':42 'togeth':36 'tool':911 'tune':213 'two':128,769,940 'uefi':104 'upon':901 'use':45,157,462,536,622,690,812,833,882,909,959,1101,1115 'user':975 'utilis':470,630 've':20,998 'verifi':540,551,555,694,705,709 'version':496,656 'view':820 'vs':122,920 'week':18 'whose':1057 'wiki':1127 'wiki.archlinux.org':1133 'wiki.archlinux.org/title/cpu_frequency_scaling](https://wiki.archlinux.org/title/cpu_frequency_scaling)':1132 'within':415 'workload':422 'world':25 'wrong':60 'www.kernel.org':1145,1149 'www.kernel.org/doc/html/latest/':1144 'www.kernel.org/doc/html/latest/admin-guide/pm/amd-pstate.html)':1148 'www.phoronix.com':1108,1121,1124 'www.phoronix.com/review/amd-pstate-epp-ryzen-mobile)':1123 'www.phoronix.com/review/linux-63-amd-epyc-epp](https://www.phoronix.com/review/linux-63-amd-epyc-epp)':1107 'zen2':78,189 'zen3':80"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1691852891
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/3081149"
  +editedAt: null
  +createdAt: DateTimeImmutable @1691846391 {#1850
    date: 2023-08-12 15:19:51.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
3 DENIED edit
App\Entity\Entry {#2388
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +magazine: App\Entity\Magazine {#266
    +icon: Proxies\__CG__\App\Entity\Image {#247 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#276
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#238 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
    +entries: Doctrine\ORM\PersistentCollection {#181 …}
    +posts: Doctrine\ORM\PersistentCollection {#139 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
    +bans: Doctrine\ORM\PersistentCollection {#118 …}
    +reports: Doctrine\ORM\PersistentCollection {#104 …}
    +badges: Doctrine\ORM\PersistentCollection {#82 …}
    +logs: Doctrine\ORM\PersistentCollection {#72 …}
    +awards: Doctrine\ORM\PersistentCollection {#61 …}
    +categories: Doctrine\ORM\PersistentCollection {#1820 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#270
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#272
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
  +slug: "AMD-P-State-and-AMD-P-State-EPP-Scaling-Driver-Configuration-Guide"
  +title: "AMD P-State and AMD P-State EPP Scaling Driver Configuration Guide"
  +url: null
  +body: """
    Hi everyone, I’m quite new to Lemmy (this is actually my fist post!) During the past weeks I’ve sunk into the magical world of AMD P-States, and, I ended up putting together a quick post that I thought might be useful for someone else.\n
    \n
    I’m a Linux amateur, so this could be very much wrong, but I’m very much open to any corrections or improvements :)\n
    \n
    1. Requirements\n
    ---------------\n
    \n
    Currently, some of the Zen2 and Zen3 processors support `amd-pstate` and the new `amd_pstate_epp` scaling driver. You also have to have CPPC support enabled in your UEFI. In the future, it will be supported on more and more AMD processors.\n
    \n
    2. amd-pstate vs acpi-cpufreq\n
    -----------------------------\n
    \n
    There are two methods for adjusting CPU performance on AMD CPU/APUs:\n
    \n
    - `amd-pstate`\n
    - `acpi-cpufreq`\n
    \n
    `acpi-cpufreq` is currently default for most distros, regardless of the CPU in use. on most AMD CPUs this is a limiting factor, as it offers limited performance options with only a few fixed levels for CPU speed.\n
    \n
    On newer AMD CPUs and APUs (aka Zen2 and above), there is a more advanced method called *Collaborative Processor Performance Control* (CPPC mentioned in the requirements), which allows for fine-tuned and continuous adjustments of the CPU frequency, with the potential to provide better performance and energy efficiency compared to the older fixed levels.\n
    \n
    And that’s where `amd-pstate` comes in, as it is a new kernel module that supports the newer and more efficient AMD P-States mechanism.\n
    \n
    There are 3 options available, listed below, in order of release:\n
    \n
    - `amd_pstate=passive` (Kernel 6.1+)\n
    - `amd_pstate=active` (Kernel 6.3+)\n
    - `amd_pstate=guided` (kernel 6.4+)\n
    \n
    ### Passive Mode\n
    \n
    `amd_pstate=passive`\n
    \n
    When you set `amd_pstate=passive`, the processor aims for a certain performance level relative to its maximum capacity. Below a specific point, the performance is average, while above it, the performance remains at its best.\n
    \n
    ### Active Mode\n
    \n
    `amd_pstate=active`\n
    \n
    Setting `amd_pstate=active` gives low-level control to the processor’s firmware. It can prioritize either performance or energy efficiency based on software **hints** AND the `amd_pstate_epp` driver. The `amd_pstate_epp` (Energy Performance Preference) driver provides the firmware with a **hint**. On most AMD CPUs, these **hints** are:\n
    \n
    - `default `\n
    - `performance`\n
    - `balance_performance`\n
    - `balance_power`\n
    - `power`\n
    \n
    ### Guided Mode\n
    \n
    `amd_pstate=guided`\n
    \n
    Choosing `amd_pstate=guided` lets the platform automatically select a suitable performance level within a given range based on the workload.\n
    \n
    3a. Configure amd_pstate to either Passive or Guided\n
    -----------------------------------------------------\n
    \n
    To enable the `amd_pstate_epp` scaling driver, which also includes instructions for the original `amd_pstate` scaling driver, you will need to add a kernel parameter. If you are using PopOS (like me) or any other distribution utilising kernelstub, this process can be easily accomplished with the following steps:\n
    \n
    > **IMPORTANT: The option ‘amd_pstate=guided’ is only available on Kernel 6.4 or later versions.**\n
    \n
    1. Add the desired kernel parameter by running the following command:\n
    \n
    ```\n
    \n
    <span style="color:#323232;"># Add the desired Kernel Parameter\n
    </span><span style="color:#323232;">sudo kernelstub -a "amd_pstate=guided" # Change this to passive if preferred\n
    </span>\n
    ```\n
    \n
    2. To confirm that the kernel parameter has been successfully added, use the following command:\n
    \n
    ```\n
    \n
    <span style="color:#323232;"># Verify that the kernel parameter has been added\n
    </span><span style="color:#323232;">sudo kernelstub -p \n
    </span>\n
    ```\n
    \n
    ### Verify amd_pstate\n
    \n
    To verify that this is functioning correctly, reboot your machine, and run\n
    \n
    ```\n
    \n
    <span style="color:#323232;">cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver\n
    </span>\n
    ```\n
    \n
    If `amd_pstate` was set to either `passive` or `guided`, this should now show:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">amd-pstate\n
    </span>\n
    ```\n
    \n
    3b. Configure amd_pstate_epp to Active\n
    ----------------------------------------\n
    \n
    To enable the `amd_pstate_epp` scaling driver, which also includes instructions for the original `amd_pstate` scaling driver, you will need to add a kernel parameter. If you are using PopOS (like me) or any other distribution utilising kernelstub, this process can be easily accomplished with the following steps:\n
    \n
    > **IMPORTANT: The option ‘amd_pstate=guided’ is only available on Kernel 6.3 or later versions.**\n
    \n
    1. Add the desired kernel parameter by running the following command:\n
    \n
    ```\n
    \n
    <span style="color:#323232;"># Add the desired Kernel Parameter\n
    </span><span style="color:#323232;">sudo kernelstub -a "amd_pstate=active"\n
    </span>\n
    ```\n
    \n
    2. To confirm that the kernel parameter has been successfully added, use the following command:\n
    \n
    ```\n
    \n
    <span style="color:#323232;"># Verify that the kernel parameter has been added\n
    </span><span style="color:#323232;">sudo kernelstub -p \n
    </span>\n
    ```\n
    \n
    ### Verify amd_pstate\n
    \n
    To verify that this is functioning correctly, reboot your machine, and run\n
    \n
    ```\n
    \n
    <span style="color:#323232;">cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver\n
    </span>\n
    ```\n
    \n
    If `amd_pstate` was set to `active`, this should now show:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">amd-pstate-epp\n
    </span>\n
    ```\n
    \n
    ### Configure amd_pstate_epp Energy Performance Preference\n
    \n
    The amd_pstate_epp scaling driver introduces a new parameter known as “Energy Performance Preference” (EPP) hint. This setting can be adjusted through sysfs, with two main files controlling it:\n
    \n
    - `/sys/devices/system/cpu/cpu*/cpufreq/energy_performance_preference`: This file displays the current EPP hint for the respective CPU core.\n
    - `/sys/devices/system/cpu/cpu*/cpufreq/energy_performance_available_preferences`: This file provides the available EPP hints for the respective CPU core.\n
    \n
    To see your current EPP hints (note `*` = all CPU cores), use the following command:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">cat /sys/devices/system/cpu/cpu*/cpufreq/energy_performance_preference\n
    </span><span style="color:#323232;">\n
    </span>\n
    ```\n
    \n
    To view the available EPP hints (which should be the same for all cores), use this command:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">cat /sys/devices/system/cpu/cpu0/cpufreq/energy_performance_available_preferences\n
    </span><span style="color:#323232;">\n
    </span><span style="color:#323232;"># What you see below, is my results on my Ryzen 7 7735HS\n
    </span><span style="color:#323232;">default performance balance_performance balance_power power \n
    </span>\n
    ```\n
    \n
    If you’d like to set the same EPP hint across all cores, for instance, setting EPP to “power” (like in my case), you can use this command:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">echo "power" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/energy_performance_preference\n
    </span><span style="color:#323232;">power\n
    </span>\n
    ```\n
    \n
    > **NOTE: This is not permament, and will be reverted upon reboot. To make this permanent, you can use multiple tools, or, create a cron job**\n
    \n
    4. Scaling Driver vs CPU Governor\n
    ---------------------------------\n
    \n
    The Scaling Driver is *different* than the CPU governor (e.g. `powersave`, `performance`, `ondemand`, `schedulutil`, etc.), and the two can be mixed and matched to create your perfect combo.\n
    \n
    To check what’s the current `cpu governor`, use the command below:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor\n
    </span>\n
    ```\n
    \n
    In my case, that’s what I’m seeing:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">user@machine ~> cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span>\n
    ```\n
    \n
    If you’ve configured `amd_pstate=active`, you can mix and match governors with EPP hints. For me the default after I enabled `amd_pstate_epp` was governor = `powersave` and EPP hint = `performance`. Phoronix has an excellent breakdown of all the combinations of governors + EPP hints (referenced in the resources section at the end of this post).\n
    \n
    ### Resources:\n
    \n
    - an amazing Redditor (whose post I cannot find anymore) that served as a basis for this very post (if anyone finds it, please do let me know, and I’ll reference them right away)\n
    - ChatGPT who helped me phrase some sentences a bit better\n
    - Benchmarks for server using AMD P-State EPP: [www.phoronix.com/review/linux-63-amd-epyc-epp](https://www.phoronix.com/review/linux-63-amd-epyc-epp)\n
    - Benchmarks for Ryzen mobile system using AMD P-State EPP: [www.phoronix.com/…/amd-pstate-epp-ryzen-mobile](https://www.phoronix.com/review/amd-pstate-epp-ryzen-mobile)\n
    - Arch Wiki page on CPU Scaling: [https://wiki.archlinux.org/title/CPU_frequency_scaling](https://wiki.archlinux.org/title/CPU_frequency_scaling)\n
    - Kernel.org documentation on new AMD P-State driver: [www.kernel.org/doc/html/latest/…/amd-pstate.html](https://www.kernel.org/doc/html/latest/admin-guide/pm/amd-pstate.html)
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 1
  +favouriteCount: 1
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1729022496 {#2410
    date: 2024-10-15 22:01:36.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1866 …}
  +votes: Doctrine\ORM\PersistentCollection {#1978 …}
  +reports: Doctrine\ORM\PersistentCollection {#1946 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
  +badges: Doctrine\ORM\PersistentCollection {#2426 …}
  +children: []
  -id: 10880
  -titleTs: "'amd':1,6 'configur':13 'driver':12 'epp':10 'guid':14 'p':3,8 'p-state':2,7 'scale':11 'state':4,9"
  -bodyTs: "'/amd-pstate-epp-ryzen-mobile':1122 '/amd-pstate.html':1147 '/cpufreq/energy_performance_available_preferences':789 '/cpufreq/energy_performance_preference':775,818,890 '/cpufreq/scaling_governor':965,979 '/doc/html/latest/':1146 '/doc/html/latest/admin-guide/pm/amd-pstate.html)':1150 '/review/amd-pstate-epp-ryzen-mobile)':1125 '/review/linux-63-amd-epyc-epp](https://www.phoronix.com/review/linux-63-amd-epyc-epp)':1109 '/sys/devices/system/cpu/cpu':774,788,817,889,964,978 '/sys/devices/system/cpu/cpu0/cpufreq/energy_performance_available_preferences':837 '/sys/devices/system/cpu/cpu0/cpufreq/scaling_driver':567,721 '/title/cpu_frequency_scaling](https://wiki.archlinux.org/title/cpu_frequency_scaling)':1134 '1':72,497,657 '2':118,525,679 '3':267 '3a':423 '3b':585 '4':917 '6.1':280 '6.3':285,653 '6.4':290,493 '7':848 '7735hs':849 'accomplish':477,637 'acpi':124,141,144 'acpi-cpufreq':123,140,143 'across':867 'activ':283,332,336,340,591,678,728,1002 'actual':11 'ad':535,547,689,701 'add':455,498,508,615,658,668 'adjust':131,216,765 'advanc':196 'aim':304 'aka':188 'allow':209 'also':95,441,601 'amateur':53 'amaz':1055 'amd':27,84,89,116,120,135,138,160,184,242,260,276,281,286,293,299,334,338,365,370,385,399,403,425,435,447,485,516,552,569,583,587,595,607,645,676,706,723,734,738,745,1000,1019,1102,1116,1139 'amd-pstat':83,119,137,241,582 'amd-pstate-epp':733 'anymor':1062 'anyon':1073 'apus':187 'arch':1126 'automat':409 'avail':269,490,650,794,822 'averag':322 'away':1087 'balanc':392,394,852,854 'base':359,419 'basi':1067 'benchmark':1098,1110 'best':331 'better':226,1097 'bit':1096 'breakdown':1033 'call':198 'cannot':1060 'capac':314 'case':879,968 'cat':566,720,816,836,963,977 'certain':307 'chang':519 'chatgpt':1088 'check':952 'choos':402 'collabor':199 'combin':1037 'combo':950 'come':244 'command':507,539,667,693,815,835,884,961 'compar':231 'configur':424,586,737,999 'confirm':527,681 'continu':215 'control':202,345,772 'core':787,801,811,832,869 'correct':69,560,714 'could':56 'cppc':99,203 'cpu':132,155,180,219,786,800,810,921,930,957,1130 'cpu/apus':136 'cpufreq':125,142,145 'cpus':161,185,386 'creat':913,947 'cron':915 'current':74,147,780,805,956 'd':859 'default':148,390,850,1015 'desir':500,510,660,670 'differ':927 'display':778 'distribut':469,629 'distro':151 'document':1136 'driver':93,368,376,439,450,599,610,749,919,925,1143 'e.g':932 'easili':476,636 'echo':885 'effici':230,259,358 'either':354,428,574 'els':48 'enabl':101,433,593,1018 'end':33,1049 'energi':229,357,373,741,756 'epp':91,367,372,437,589,597,736,740,747,759,781,795,806,823,865,873,1010,1021,1026,1040,1106,1120 'etc':937 'everyon':2 'excel':1032 'factor':166 'file':771,777,791 'find':1061,1074 'fine':212 'fine-tun':211 'firmwar':350,379 'fist':13 'fix':177,235 'follow':480,506,538,640,666,692,814 'frequenc':220 'function':559,713 'futur':107 'give':341 'given':417 'governor':922,931,958,1008,1023,1039 'guid':288,397,401,405,431,487,518,577,647 'help':1090 'hi':1 'hint':362,382,388,760,782,796,807,824,866,1011,1027,1041 'import':482,642 'improv':71 'includ':442,602 'instanc':871 'instruct':443,603 'introduc':750 'job':916 'kernel':251,279,284,289,457,492,501,511,530,543,617,652,661,671,684,697 'kernel.org':1135 'kernelstub':471,514,549,631,674,703 'know':1080 'known':754 'later':495,655 'lemmi':8 'let':406,1078 'level':178,236,309,344,414 'like':464,624,860,876 'limit':165,170 'linux':52 'list':270 'll':1083 'low':343 'low-level':342 'm':4,50,63,973 'machin':563,717,976 'magic':24 'main':770 'make':904 'match':945,1007 'maximum':313 'mechan':264 'mention':204 'method':129,197 'might':43 'mix':943,1005 'mobil':1113 'mode':292,333,398 'modul':252 'much':59,65 'multipl':910 'need':453,613 'new':6,88,250,752,1138 'newer':183,256 'note':808,892 'offer':169 'older':234 'ondemand':935 'open':66 'option':172,268,484,644 'order':273 'origin':446,606 'p':29,262,550,704,1104,1118,1141 'p-state':28,261,1103,1117,1140 'page':1128 'paramet':458,502,512,531,544,618,662,672,685,698,753 'passiv':278,291,295,301,429,522,575 'past':17 'perfect':949 'perform':133,171,201,227,308,320,327,355,374,391,393,413,742,757,851,853,934,1028 'permament':896 'perman':906 'phoronix':1029 'phrase':1092 'platform':408 'pleas':1076 'point':318 'popo':463,623 'post':14,39,1052,1058,1071 'potenti':223 'power':395,396,855,856,875,886,891 'powersav':933,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,1024 'prefer':375,524,743,758 'priorit':353 'process':473,633 'processor':81,117,200,303,348 'provid':225,377,792 'pstate':85,90,121,139,243,277,282,287,294,300,335,339,366,371,400,404,426,436,448,486,517,553,570,584,588,596,608,646,677,707,724,735,739,746,1001,1020 'put':35 'quick':38 'quit':5 'rang':418 'reboot':561,715,902 'redditor':1056 'refer':1084 'referenc':1042 'regardless':152 'relat':310 'releas':275 'remain':328 'requir':73,207 'resourc':1045,1053 'respect':785,799 'result':844 'revert':900 'right':1086 'run':504,565,664,719 'ryzen':847,1112 'scale':92,438,449,598,609,748,918,924,1131 'schedulutil':936 'section':1046 'see':803,840,974 'select':410 'sentenc':1094 'serv':1064 'server':1100 'set':298,337,572,726,762,862,872 'show':581,732 'softwar':361 'someon':47 'specif':317 'speed':181 'state':30,263,1105,1119,1142 'step':481,641 'success':534,688 'sudo':513,548,673,702,887 'suitabl':412 'sunk':21 'support':82,100,111,254 'sysf':767 'system':1114 'tee':888 'thought':42 'togeth':36 'tool':911 'tune':213 'two':128,769,940 'uefi':104 'upon':901 'use':45,157,462,536,622,690,812,833,882,909,959,1101,1115 'user':975 'utilis':470,630 've':20,998 'verifi':540,551,555,694,705,709 'version':496,656 'view':820 'vs':122,920 'week':18 'whose':1057 'wiki':1127 'wiki.archlinux.org':1133 'wiki.archlinux.org/title/cpu_frequency_scaling](https://wiki.archlinux.org/title/cpu_frequency_scaling)':1132 'within':415 'workload':422 'world':25 'wrong':60 'www.kernel.org':1145,1149 'www.kernel.org/doc/html/latest/':1144 'www.kernel.org/doc/html/latest/admin-guide/pm/amd-pstate.html)':1148 'www.phoronix.com':1108,1121,1124 'www.phoronix.com/review/amd-pstate-epp-ryzen-mobile)':1123 'www.phoronix.com/review/linux-63-amd-epyc-epp](https://www.phoronix.com/review/linux-63-amd-epyc-epp)':1107 'zen2':78,189 'zen3':80"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1691852891
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/3081149"
  +editedAt: null
  +createdAt: DateTimeImmutable @1691846391 {#1850
    date: 2023-08-12 15:19:51.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
4 DENIED moderate
App\Entity\Entry {#2388
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +magazine: App\Entity\Magazine {#266
    +icon: Proxies\__CG__\App\Entity\Image {#247 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#276
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#238 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
    +entries: Doctrine\ORM\PersistentCollection {#181 …}
    +posts: Doctrine\ORM\PersistentCollection {#139 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
    +bans: Doctrine\ORM\PersistentCollection {#118 …}
    +reports: Doctrine\ORM\PersistentCollection {#104 …}
    +badges: Doctrine\ORM\PersistentCollection {#82 …}
    +logs: Doctrine\ORM\PersistentCollection {#72 …}
    +awards: Doctrine\ORM\PersistentCollection {#61 …}
    +categories: Doctrine\ORM\PersistentCollection {#1820 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#270
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#272
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
  +slug: "AMD-P-State-and-AMD-P-State-EPP-Scaling-Driver-Configuration-Guide"
  +title: "AMD P-State and AMD P-State EPP Scaling Driver Configuration Guide"
  +url: null
  +body: """
    Hi everyone, I’m quite new to Lemmy (this is actually my fist post!) During the past weeks I’ve sunk into the magical world of AMD P-States, and, I ended up putting together a quick post that I thought might be useful for someone else.\n
    \n
    I’m a Linux amateur, so this could be very much wrong, but I’m very much open to any corrections or improvements :)\n
    \n
    1. Requirements\n
    ---------------\n
    \n
    Currently, some of the Zen2 and Zen3 processors support `amd-pstate` and the new `amd_pstate_epp` scaling driver. You also have to have CPPC support enabled in your UEFI. In the future, it will be supported on more and more AMD processors.\n
    \n
    2. amd-pstate vs acpi-cpufreq\n
    -----------------------------\n
    \n
    There are two methods for adjusting CPU performance on AMD CPU/APUs:\n
    \n
    - `amd-pstate`\n
    - `acpi-cpufreq`\n
    \n
    `acpi-cpufreq` is currently default for most distros, regardless of the CPU in use. on most AMD CPUs this is a limiting factor, as it offers limited performance options with only a few fixed levels for CPU speed.\n
    \n
    On newer AMD CPUs and APUs (aka Zen2 and above), there is a more advanced method called *Collaborative Processor Performance Control* (CPPC mentioned in the requirements), which allows for fine-tuned and continuous adjustments of the CPU frequency, with the potential to provide better performance and energy efficiency compared to the older fixed levels.\n
    \n
    And that’s where `amd-pstate` comes in, as it is a new kernel module that supports the newer and more efficient AMD P-States mechanism.\n
    \n
    There are 3 options available, listed below, in order of release:\n
    \n
    - `amd_pstate=passive` (Kernel 6.1+)\n
    - `amd_pstate=active` (Kernel 6.3+)\n
    - `amd_pstate=guided` (kernel 6.4+)\n
    \n
    ### Passive Mode\n
    \n
    `amd_pstate=passive`\n
    \n
    When you set `amd_pstate=passive`, the processor aims for a certain performance level relative to its maximum capacity. Below a specific point, the performance is average, while above it, the performance remains at its best.\n
    \n
    ### Active Mode\n
    \n
    `amd_pstate=active`\n
    \n
    Setting `amd_pstate=active` gives low-level control to the processor’s firmware. It can prioritize either performance or energy efficiency based on software **hints** AND the `amd_pstate_epp` driver. The `amd_pstate_epp` (Energy Performance Preference) driver provides the firmware with a **hint**. On most AMD CPUs, these **hints** are:\n
    \n
    - `default `\n
    - `performance`\n
    - `balance_performance`\n
    - `balance_power`\n
    - `power`\n
    \n
    ### Guided Mode\n
    \n
    `amd_pstate=guided`\n
    \n
    Choosing `amd_pstate=guided` lets the platform automatically select a suitable performance level within a given range based on the workload.\n
    \n
    3a. Configure amd_pstate to either Passive or Guided\n
    -----------------------------------------------------\n
    \n
    To enable the `amd_pstate_epp` scaling driver, which also includes instructions for the original `amd_pstate` scaling driver, you will need to add a kernel parameter. If you are using PopOS (like me) or any other distribution utilising kernelstub, this process can be easily accomplished with the following steps:\n
    \n
    > **IMPORTANT: The option ‘amd_pstate=guided’ is only available on Kernel 6.4 or later versions.**\n
    \n
    1. Add the desired kernel parameter by running the following command:\n
    \n
    ```\n
    \n
    <span style="color:#323232;"># Add the desired Kernel Parameter\n
    </span><span style="color:#323232;">sudo kernelstub -a "amd_pstate=guided" # Change this to passive if preferred\n
    </span>\n
    ```\n
    \n
    2. To confirm that the kernel parameter has been successfully added, use the following command:\n
    \n
    ```\n
    \n
    <span style="color:#323232;"># Verify that the kernel parameter has been added\n
    </span><span style="color:#323232;">sudo kernelstub -p \n
    </span>\n
    ```\n
    \n
    ### Verify amd_pstate\n
    \n
    To verify that this is functioning correctly, reboot your machine, and run\n
    \n
    ```\n
    \n
    <span style="color:#323232;">cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver\n
    </span>\n
    ```\n
    \n
    If `amd_pstate` was set to either `passive` or `guided`, this should now show:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">amd-pstate\n
    </span>\n
    ```\n
    \n
    3b. Configure amd_pstate_epp to Active\n
    ----------------------------------------\n
    \n
    To enable the `amd_pstate_epp` scaling driver, which also includes instructions for the original `amd_pstate` scaling driver, you will need to add a kernel parameter. If you are using PopOS (like me) or any other distribution utilising kernelstub, this process can be easily accomplished with the following steps:\n
    \n
    > **IMPORTANT: The option ‘amd_pstate=guided’ is only available on Kernel 6.3 or later versions.**\n
    \n
    1. Add the desired kernel parameter by running the following command:\n
    \n
    ```\n
    \n
    <span style="color:#323232;"># Add the desired Kernel Parameter\n
    </span><span style="color:#323232;">sudo kernelstub -a "amd_pstate=active"\n
    </span>\n
    ```\n
    \n
    2. To confirm that the kernel parameter has been successfully added, use the following command:\n
    \n
    ```\n
    \n
    <span style="color:#323232;"># Verify that the kernel parameter has been added\n
    </span><span style="color:#323232;">sudo kernelstub -p \n
    </span>\n
    ```\n
    \n
    ### Verify amd_pstate\n
    \n
    To verify that this is functioning correctly, reboot your machine, and run\n
    \n
    ```\n
    \n
    <span style="color:#323232;">cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver\n
    </span>\n
    ```\n
    \n
    If `amd_pstate` was set to `active`, this should now show:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">amd-pstate-epp\n
    </span>\n
    ```\n
    \n
    ### Configure amd_pstate_epp Energy Performance Preference\n
    \n
    The amd_pstate_epp scaling driver introduces a new parameter known as “Energy Performance Preference” (EPP) hint. This setting can be adjusted through sysfs, with two main files controlling it:\n
    \n
    - `/sys/devices/system/cpu/cpu*/cpufreq/energy_performance_preference`: This file displays the current EPP hint for the respective CPU core.\n
    - `/sys/devices/system/cpu/cpu*/cpufreq/energy_performance_available_preferences`: This file provides the available EPP hints for the respective CPU core.\n
    \n
    To see your current EPP hints (note `*` = all CPU cores), use the following command:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">cat /sys/devices/system/cpu/cpu*/cpufreq/energy_performance_preference\n
    </span><span style="color:#323232;">\n
    </span>\n
    ```\n
    \n
    To view the available EPP hints (which should be the same for all cores), use this command:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">cat /sys/devices/system/cpu/cpu0/cpufreq/energy_performance_available_preferences\n
    </span><span style="color:#323232;">\n
    </span><span style="color:#323232;"># What you see below, is my results on my Ryzen 7 7735HS\n
    </span><span style="color:#323232;">default performance balance_performance balance_power power \n
    </span>\n
    ```\n
    \n
    If you’d like to set the same EPP hint across all cores, for instance, setting EPP to “power” (like in my case), you can use this command:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">echo "power" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/energy_performance_preference\n
    </span><span style="color:#323232;">power\n
    </span>\n
    ```\n
    \n
    > **NOTE: This is not permament, and will be reverted upon reboot. To make this permanent, you can use multiple tools, or, create a cron job**\n
    \n
    4. Scaling Driver vs CPU Governor\n
    ---------------------------------\n
    \n
    The Scaling Driver is *different* than the CPU governor (e.g. `powersave`, `performance`, `ondemand`, `schedulutil`, etc.), and the two can be mixed and matched to create your perfect combo.\n
    \n
    To check what’s the current `cpu governor`, use the command below:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor\n
    </span>\n
    ```\n
    \n
    In my case, that’s what I’m seeing:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">user@machine ~> cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span><span style="color:#323232;">powersave\n
    </span>\n
    ```\n
    \n
    If you’ve configured `amd_pstate=active`, you can mix and match governors with EPP hints. For me the default after I enabled `amd_pstate_epp` was governor = `powersave` and EPP hint = `performance`. Phoronix has an excellent breakdown of all the combinations of governors + EPP hints (referenced in the resources section at the end of this post).\n
    \n
    ### Resources:\n
    \n
    - an amazing Redditor (whose post I cannot find anymore) that served as a basis for this very post (if anyone finds it, please do let me know, and I’ll reference them right away)\n
    - ChatGPT who helped me phrase some sentences a bit better\n
    - Benchmarks for server using AMD P-State EPP: [www.phoronix.com/review/linux-63-amd-epyc-epp](https://www.phoronix.com/review/linux-63-amd-epyc-epp)\n
    - Benchmarks for Ryzen mobile system using AMD P-State EPP: [www.phoronix.com/…/amd-pstate-epp-ryzen-mobile](https://www.phoronix.com/review/amd-pstate-epp-ryzen-mobile)\n
    - Arch Wiki page on CPU Scaling: [https://wiki.archlinux.org/title/CPU_frequency_scaling](https://wiki.archlinux.org/title/CPU_frequency_scaling)\n
    - Kernel.org documentation on new AMD P-State driver: [www.kernel.org/doc/html/latest/…/amd-pstate.html](https://www.kernel.org/doc/html/latest/admin-guide/pm/amd-pstate.html)
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 1
  +favouriteCount: 1
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1729022496 {#2410
    date: 2024-10-15 22:01:36.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1866 …}
  +votes: Doctrine\ORM\PersistentCollection {#1978 …}
  +reports: Doctrine\ORM\PersistentCollection {#1946 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
  +badges: Doctrine\ORM\PersistentCollection {#2426 …}
  +children: []
  -id: 10880
  -titleTs: "'amd':1,6 'configur':13 'driver':12 'epp':10 'guid':14 'p':3,8 'p-state':2,7 'scale':11 'state':4,9"
  -bodyTs: "'/amd-pstate-epp-ryzen-mobile':1122 '/amd-pstate.html':1147 '/cpufreq/energy_performance_available_preferences':789 '/cpufreq/energy_performance_preference':775,818,890 '/cpufreq/scaling_governor':965,979 '/doc/html/latest/':1146 '/doc/html/latest/admin-guide/pm/amd-pstate.html)':1150 '/review/amd-pstate-epp-ryzen-mobile)':1125 '/review/linux-63-amd-epyc-epp](https://www.phoronix.com/review/linux-63-amd-epyc-epp)':1109 '/sys/devices/system/cpu/cpu':774,788,817,889,964,978 '/sys/devices/system/cpu/cpu0/cpufreq/energy_performance_available_preferences':837 '/sys/devices/system/cpu/cpu0/cpufreq/scaling_driver':567,721 '/title/cpu_frequency_scaling](https://wiki.archlinux.org/title/cpu_frequency_scaling)':1134 '1':72,497,657 '2':118,525,679 '3':267 '3a':423 '3b':585 '4':917 '6.1':280 '6.3':285,653 '6.4':290,493 '7':848 '7735hs':849 'accomplish':477,637 'acpi':124,141,144 'acpi-cpufreq':123,140,143 'across':867 'activ':283,332,336,340,591,678,728,1002 'actual':11 'ad':535,547,689,701 'add':455,498,508,615,658,668 'adjust':131,216,765 'advanc':196 'aim':304 'aka':188 'allow':209 'also':95,441,601 'amateur':53 'amaz':1055 'amd':27,84,89,116,120,135,138,160,184,242,260,276,281,286,293,299,334,338,365,370,385,399,403,425,435,447,485,516,552,569,583,587,595,607,645,676,706,723,734,738,745,1000,1019,1102,1116,1139 'amd-pstat':83,119,137,241,582 'amd-pstate-epp':733 'anymor':1062 'anyon':1073 'apus':187 'arch':1126 'automat':409 'avail':269,490,650,794,822 'averag':322 'away':1087 'balanc':392,394,852,854 'base':359,419 'basi':1067 'benchmark':1098,1110 'best':331 'better':226,1097 'bit':1096 'breakdown':1033 'call':198 'cannot':1060 'capac':314 'case':879,968 'cat':566,720,816,836,963,977 'certain':307 'chang':519 'chatgpt':1088 'check':952 'choos':402 'collabor':199 'combin':1037 'combo':950 'come':244 'command':507,539,667,693,815,835,884,961 'compar':231 'configur':424,586,737,999 'confirm':527,681 'continu':215 'control':202,345,772 'core':787,801,811,832,869 'correct':69,560,714 'could':56 'cppc':99,203 'cpu':132,155,180,219,786,800,810,921,930,957,1130 'cpu/apus':136 'cpufreq':125,142,145 'cpus':161,185,386 'creat':913,947 'cron':915 'current':74,147,780,805,956 'd':859 'default':148,390,850,1015 'desir':500,510,660,670 'differ':927 'display':778 'distribut':469,629 'distro':151 'document':1136 'driver':93,368,376,439,450,599,610,749,919,925,1143 'e.g':932 'easili':476,636 'echo':885 'effici':230,259,358 'either':354,428,574 'els':48 'enabl':101,433,593,1018 'end':33,1049 'energi':229,357,373,741,756 'epp':91,367,372,437,589,597,736,740,747,759,781,795,806,823,865,873,1010,1021,1026,1040,1106,1120 'etc':937 'everyon':2 'excel':1032 'factor':166 'file':771,777,791 'find':1061,1074 'fine':212 'fine-tun':211 'firmwar':350,379 'fist':13 'fix':177,235 'follow':480,506,538,640,666,692,814 'frequenc':220 'function':559,713 'futur':107 'give':341 'given':417 'governor':922,931,958,1008,1023,1039 'guid':288,397,401,405,431,487,518,577,647 'help':1090 'hi':1 'hint':362,382,388,760,782,796,807,824,866,1011,1027,1041 'import':482,642 'improv':71 'includ':442,602 'instanc':871 'instruct':443,603 'introduc':750 'job':916 'kernel':251,279,284,289,457,492,501,511,530,543,617,652,661,671,684,697 'kernel.org':1135 'kernelstub':471,514,549,631,674,703 'know':1080 'known':754 'later':495,655 'lemmi':8 'let':406,1078 'level':178,236,309,344,414 'like':464,624,860,876 'limit':165,170 'linux':52 'list':270 'll':1083 'low':343 'low-level':342 'm':4,50,63,973 'machin':563,717,976 'magic':24 'main':770 'make':904 'match':945,1007 'maximum':313 'mechan':264 'mention':204 'method':129,197 'might':43 'mix':943,1005 'mobil':1113 'mode':292,333,398 'modul':252 'much':59,65 'multipl':910 'need':453,613 'new':6,88,250,752,1138 'newer':183,256 'note':808,892 'offer':169 'older':234 'ondemand':935 'open':66 'option':172,268,484,644 'order':273 'origin':446,606 'p':29,262,550,704,1104,1118,1141 'p-state':28,261,1103,1117,1140 'page':1128 'paramet':458,502,512,531,544,618,662,672,685,698,753 'passiv':278,291,295,301,429,522,575 'past':17 'perfect':949 'perform':133,171,201,227,308,320,327,355,374,391,393,413,742,757,851,853,934,1028 'permament':896 'perman':906 'phoronix':1029 'phrase':1092 'platform':408 'pleas':1076 'point':318 'popo':463,623 'post':14,39,1052,1058,1071 'potenti':223 'power':395,396,855,856,875,886,891 'powersav':933,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,1024 'prefer':375,524,743,758 'priorit':353 'process':473,633 'processor':81,117,200,303,348 'provid':225,377,792 'pstate':85,90,121,139,243,277,282,287,294,300,335,339,366,371,400,404,426,436,448,486,517,553,570,584,588,596,608,646,677,707,724,735,739,746,1001,1020 'put':35 'quick':38 'quit':5 'rang':418 'reboot':561,715,902 'redditor':1056 'refer':1084 'referenc':1042 'regardless':152 'relat':310 'releas':275 'remain':328 'requir':73,207 'resourc':1045,1053 'respect':785,799 'result':844 'revert':900 'right':1086 'run':504,565,664,719 'ryzen':847,1112 'scale':92,438,449,598,609,748,918,924,1131 'schedulutil':936 'section':1046 'see':803,840,974 'select':410 'sentenc':1094 'serv':1064 'server':1100 'set':298,337,572,726,762,862,872 'show':581,732 'softwar':361 'someon':47 'specif':317 'speed':181 'state':30,263,1105,1119,1142 'step':481,641 'success':534,688 'sudo':513,548,673,702,887 'suitabl':412 'sunk':21 'support':82,100,111,254 'sysf':767 'system':1114 'tee':888 'thought':42 'togeth':36 'tool':911 'tune':213 'two':128,769,940 'uefi':104 'upon':901 'use':45,157,462,536,622,690,812,833,882,909,959,1101,1115 'user':975 'utilis':470,630 've':20,998 'verifi':540,551,555,694,705,709 'version':496,656 'view':820 'vs':122,920 'week':18 'whose':1057 'wiki':1127 'wiki.archlinux.org':1133 'wiki.archlinux.org/title/cpu_frequency_scaling](https://wiki.archlinux.org/title/cpu_frequency_scaling)':1132 'within':415 'workload':422 'world':25 'wrong':60 'www.kernel.org':1145,1149 'www.kernel.org/doc/html/latest/':1144 'www.kernel.org/doc/html/latest/admin-guide/pm/amd-pstate.html)':1148 'www.phoronix.com':1108,1121,1124 'www.phoronix.com/review/amd-pstate-epp-ryzen-mobile)':1123 'www.phoronix.com/review/linux-63-amd-epyc-epp](https://www.phoronix.com/review/linux-63-amd-epyc-epp)':1107 'zen2':78,189 'zen3':80"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1691852891
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/3081149"
  +editedAt: null
  +createdAt: DateTimeImmutable @1691846391 {#1850
    date: 2023-08-12 15:19:51.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
5 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
6 DENIED moderate
App\Entity\EntryComment {#4585
  +user: App\Entity\User {#4534 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#276
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#270
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#272
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "AMD-P-State-and-AMD-P-State-EPP-Scaling-Driver-Configuration-Guide"
    +title: "AMD P-State and AMD P-State EPP Scaling Driver Configuration Guide"
    +url: null
    +body: """
      Hi everyone, I’m quite new to Lemmy (this is actually my fist post!) During the past weeks I’ve sunk into the magical world of AMD P-States, and, I ended up putting together a quick post that I thought might be useful for someone else.\n
      \n
      I’m a Linux amateur, so this could be very much wrong, but I’m very much open to any corrections or improvements :)\n
      \n
      1. Requirements\n
      ---------------\n
      \n
      Currently, some of the Zen2 and Zen3 processors support `amd-pstate` and the new `amd_pstate_epp` scaling driver. You also have to have CPPC support enabled in your UEFI. In the future, it will be supported on more and more AMD processors.\n
      \n
      2. amd-pstate vs acpi-cpufreq\n
      -----------------------------\n
      \n
      There are two methods for adjusting CPU performance on AMD CPU/APUs:\n
      \n
      - `amd-pstate`\n
      - `acpi-cpufreq`\n
      \n
      `acpi-cpufreq` is currently default for most distros, regardless of the CPU in use. on most AMD CPUs this is a limiting factor, as it offers limited performance options with only a few fixed levels for CPU speed.\n
      \n
      On newer AMD CPUs and APUs (aka Zen2 and above), there is a more advanced method called *Collaborative Processor Performance Control* (CPPC mentioned in the requirements), which allows for fine-tuned and continuous adjustments of the CPU frequency, with the potential to provide better performance and energy efficiency compared to the older fixed levels.\n
      \n
      And that’s where `amd-pstate` comes in, as it is a new kernel module that supports the newer and more efficient AMD P-States mechanism.\n
      \n
      There are 3 options available, listed below, in order of release:\n
      \n
      - `amd_pstate=passive` (Kernel 6.1+)\n
      - `amd_pstate=active` (Kernel 6.3+)\n
      - `amd_pstate=guided` (kernel 6.4+)\n
      \n
      ### Passive Mode\n
      \n
      `amd_pstate=passive`\n
      \n
      When you set `amd_pstate=passive`, the processor aims for a certain performance level relative to its maximum capacity. Below a specific point, the performance is average, while above it, the performance remains at its best.\n
      \n
      ### Active Mode\n
      \n
      `amd_pstate=active`\n
      \n
      Setting `amd_pstate=active` gives low-level control to the processor’s firmware. It can prioritize either performance or energy efficiency based on software **hints** AND the `amd_pstate_epp` driver. The `amd_pstate_epp` (Energy Performance Preference) driver provides the firmware with a **hint**. On most AMD CPUs, these **hints** are:\n
      \n
      - `default `\n
      - `performance`\n
      - `balance_performance`\n
      - `balance_power`\n
      - `power`\n
      \n
      ### Guided Mode\n
      \n
      `amd_pstate=guided`\n
      \n
      Choosing `amd_pstate=guided` lets the platform automatically select a suitable performance level within a given range based on the workload.\n
      \n
      3a. Configure amd_pstate to either Passive or Guided\n
      -----------------------------------------------------\n
      \n
      To enable the `amd_pstate_epp` scaling driver, which also includes instructions for the original `amd_pstate` scaling driver, you will need to add a kernel parameter. If you are using PopOS (like me) or any other distribution utilising kernelstub, this process can be easily accomplished with the following steps:\n
      \n
      > **IMPORTANT: The option ‘amd_pstate=guided’ is only available on Kernel 6.4 or later versions.**\n
      \n
      1. Add the desired kernel parameter by running the following command:\n
      \n
      ```\n
      \n
      <span style="color:#323232;"># Add the desired Kernel Parameter\n
      </span><span style="color:#323232;">sudo kernelstub -a "amd_pstate=guided" # Change this to passive if preferred\n
      </span>\n
      ```\n
      \n
      2. To confirm that the kernel parameter has been successfully added, use the following command:\n
      \n
      ```\n
      \n
      <span style="color:#323232;"># Verify that the kernel parameter has been added\n
      </span><span style="color:#323232;">sudo kernelstub -p \n
      </span>\n
      ```\n
      \n
      ### Verify amd_pstate\n
      \n
      To verify that this is functioning correctly, reboot your machine, and run\n
      \n
      ```\n
      \n
      <span style="color:#323232;">cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver\n
      </span>\n
      ```\n
      \n
      If `amd_pstate` was set to either `passive` or `guided`, this should now show:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">amd-pstate\n
      </span>\n
      ```\n
      \n
      3b. Configure amd_pstate_epp to Active\n
      ----------------------------------------\n
      \n
      To enable the `amd_pstate_epp` scaling driver, which also includes instructions for the original `amd_pstate` scaling driver, you will need to add a kernel parameter. If you are using PopOS (like me) or any other distribution utilising kernelstub, this process can be easily accomplished with the following steps:\n
      \n
      > **IMPORTANT: The option ‘amd_pstate=guided’ is only available on Kernel 6.3 or later versions.**\n
      \n
      1. Add the desired kernel parameter by running the following command:\n
      \n
      ```\n
      \n
      <span style="color:#323232;"># Add the desired Kernel Parameter\n
      </span><span style="color:#323232;">sudo kernelstub -a "amd_pstate=active"\n
      </span>\n
      ```\n
      \n
      2. To confirm that the kernel parameter has been successfully added, use the following command:\n
      \n
      ```\n
      \n
      <span style="color:#323232;"># Verify that the kernel parameter has been added\n
      </span><span style="color:#323232;">sudo kernelstub -p \n
      </span>\n
      ```\n
      \n
      ### Verify amd_pstate\n
      \n
      To verify that this is functioning correctly, reboot your machine, and run\n
      \n
      ```\n
      \n
      <span style="color:#323232;">cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver\n
      </span>\n
      ```\n
      \n
      If `amd_pstate` was set to `active`, this should now show:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">amd-pstate-epp\n
      </span>\n
      ```\n
      \n
      ### Configure amd_pstate_epp Energy Performance Preference\n
      \n
      The amd_pstate_epp scaling driver introduces a new parameter known as “Energy Performance Preference” (EPP) hint. This setting can be adjusted through sysfs, with two main files controlling it:\n
      \n
      - `/sys/devices/system/cpu/cpu*/cpufreq/energy_performance_preference`: This file displays the current EPP hint for the respective CPU core.\n
      - `/sys/devices/system/cpu/cpu*/cpufreq/energy_performance_available_preferences`: This file provides the available EPP hints for the respective CPU core.\n
      \n
      To see your current EPP hints (note `*` = all CPU cores), use the following command:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">cat /sys/devices/system/cpu/cpu*/cpufreq/energy_performance_preference\n
      </span><span style="color:#323232;">\n
      </span>\n
      ```\n
      \n
      To view the available EPP hints (which should be the same for all cores), use this command:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">cat /sys/devices/system/cpu/cpu0/cpufreq/energy_performance_available_preferences\n
      </span><span style="color:#323232;">\n
      </span><span style="color:#323232;"># What you see below, is my results on my Ryzen 7 7735HS\n
      </span><span style="color:#323232;">default performance balance_performance balance_power power \n
      </span>\n
      ```\n
      \n
      If you’d like to set the same EPP hint across all cores, for instance, setting EPP to “power” (like in my case), you can use this command:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">echo "power" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/energy_performance_preference\n
      </span><span style="color:#323232;">power\n
      </span>\n
      ```\n
      \n
      > **NOTE: This is not permament, and will be reverted upon reboot. To make this permanent, you can use multiple tools, or, create a cron job**\n
      \n
      4. Scaling Driver vs CPU Governor\n
      ---------------------------------\n
      \n
      The Scaling Driver is *different* than the CPU governor (e.g. `powersave`, `performance`, `ondemand`, `schedulutil`, etc.), and the two can be mixed and matched to create your perfect combo.\n
      \n
      To check what’s the current `cpu governor`, use the command below:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor\n
      </span>\n
      ```\n
      \n
      In my case, that’s what I’m seeing:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">user@machine ~> cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span>\n
      ```\n
      \n
      If you’ve configured `amd_pstate=active`, you can mix and match governors with EPP hints. For me the default after I enabled `amd_pstate_epp` was governor = `powersave` and EPP hint = `performance`. Phoronix has an excellent breakdown of all the combinations of governors + EPP hints (referenced in the resources section at the end of this post).\n
      \n
      ### Resources:\n
      \n
      - an amazing Redditor (whose post I cannot find anymore) that served as a basis for this very post (if anyone finds it, please do let me know, and I’ll reference them right away)\n
      - ChatGPT who helped me phrase some sentences a bit better\n
      - Benchmarks for server using AMD P-State EPP: [www.phoronix.com/review/linux-63-amd-epyc-epp](https://www.phoronix.com/review/linux-63-amd-epyc-epp)\n
      - Benchmarks for Ryzen mobile system using AMD P-State EPP: [www.phoronix.com/…/amd-pstate-epp-ryzen-mobile](https://www.phoronix.com/review/amd-pstate-epp-ryzen-mobile)\n
      - Arch Wiki page on CPU Scaling: [https://wiki.archlinux.org/title/CPU_frequency_scaling](https://wiki.archlinux.org/title/CPU_frequency_scaling)\n
      - Kernel.org documentation on new AMD P-State driver: [www.kernel.org/doc/html/latest/…/amd-pstate.html](https://www.kernel.org/doc/html/latest/admin-guide/pm/amd-pstate.html)
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 1
    +favouriteCount: 1
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1729022496 {#2410
      date: 2024-10-15 22:01:36.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 10880
    -titleTs: "'amd':1,6 'configur':13 'driver':12 'epp':10 'guid':14 'p':3,8 'p-state':2,7 'scale':11 'state':4,9"
    -bodyTs: "'/amd-pstate-epp-ryzen-mobile':1122 '/amd-pstate.html':1147 '/cpufreq/energy_performance_available_preferences':789 '/cpufreq/energy_performance_preference':775,818,890 '/cpufreq/scaling_governor':965,979 '/doc/html/latest/':1146 '/doc/html/latest/admin-guide/pm/amd-pstate.html)':1150 '/review/amd-pstate-epp-ryzen-mobile)':1125 '/review/linux-63-amd-epyc-epp](https://www.phoronix.com/review/linux-63-amd-epyc-epp)':1109 '/sys/devices/system/cpu/cpu':774,788,817,889,964,978 '/sys/devices/system/cpu/cpu0/cpufreq/energy_performance_available_preferences':837 '/sys/devices/system/cpu/cpu0/cpufreq/scaling_driver':567,721 '/title/cpu_frequency_scaling](https://wiki.archlinux.org/title/cpu_frequency_scaling)':1134 '1':72,497,657 '2':118,525,679 '3':267 '3a':423 '3b':585 '4':917 '6.1':280 '6.3':285,653 '6.4':290,493 '7':848 '7735hs':849 'accomplish':477,637 'acpi':124,141,144 'acpi-cpufreq':123,140,143 'across':867 'activ':283,332,336,340,591,678,728,1002 'actual':11 'ad':535,547,689,701 'add':455,498,508,615,658,668 'adjust':131,216,765 'advanc':196 'aim':304 'aka':188 'allow':209 'also':95,441,601 'amateur':53 'amaz':1055 'amd':27,84,89,116,120,135,138,160,184,242,260,276,281,286,293,299,334,338,365,370,385,399,403,425,435,447,485,516,552,569,583,587,595,607,645,676,706,723,734,738,745,1000,1019,1102,1116,1139 'amd-pstat':83,119,137,241,582 'amd-pstate-epp':733 'anymor':1062 'anyon':1073 'apus':187 'arch':1126 'automat':409 'avail':269,490,650,794,822 'averag':322 'away':1087 'balanc':392,394,852,854 'base':359,419 'basi':1067 'benchmark':1098,1110 'best':331 'better':226,1097 'bit':1096 'breakdown':1033 'call':198 'cannot':1060 'capac':314 'case':879,968 'cat':566,720,816,836,963,977 'certain':307 'chang':519 'chatgpt':1088 'check':952 'choos':402 'collabor':199 'combin':1037 'combo':950 'come':244 'command':507,539,667,693,815,835,884,961 'compar':231 'configur':424,586,737,999 'confirm':527,681 'continu':215 'control':202,345,772 'core':787,801,811,832,869 'correct':69,560,714 'could':56 'cppc':99,203 'cpu':132,155,180,219,786,800,810,921,930,957,1130 'cpu/apus':136 'cpufreq':125,142,145 'cpus':161,185,386 'creat':913,947 'cron':915 'current':74,147,780,805,956 'd':859 'default':148,390,850,1015 'desir':500,510,660,670 'differ':927 'display':778 'distribut':469,629 'distro':151 'document':1136 'driver':93,368,376,439,450,599,610,749,919,925,1143 'e.g':932 'easili':476,636 'echo':885 'effici':230,259,358 'either':354,428,574 'els':48 'enabl':101,433,593,1018 'end':33,1049 'energi':229,357,373,741,756 'epp':91,367,372,437,589,597,736,740,747,759,781,795,806,823,865,873,1010,1021,1026,1040,1106,1120 'etc':937 'everyon':2 'excel':1032 'factor':166 'file':771,777,791 'find':1061,1074 'fine':212 'fine-tun':211 'firmwar':350,379 'fist':13 'fix':177,235 'follow':480,506,538,640,666,692,814 'frequenc':220 'function':559,713 'futur':107 'give':341 'given':417 'governor':922,931,958,1008,1023,1039 'guid':288,397,401,405,431,487,518,577,647 'help':1090 'hi':1 'hint':362,382,388,760,782,796,807,824,866,1011,1027,1041 'import':482,642 'improv':71 'includ':442,602 'instanc':871 'instruct':443,603 'introduc':750 'job':916 'kernel':251,279,284,289,457,492,501,511,530,543,617,652,661,671,684,697 'kernel.org':1135 'kernelstub':471,514,549,631,674,703 'know':1080 'known':754 'later':495,655 'lemmi':8 'let':406,1078 'level':178,236,309,344,414 'like':464,624,860,876 'limit':165,170 'linux':52 'list':270 'll':1083 'low':343 'low-level':342 'm':4,50,63,973 'machin':563,717,976 'magic':24 'main':770 'make':904 'match':945,1007 'maximum':313 'mechan':264 'mention':204 'method':129,197 'might':43 'mix':943,1005 'mobil':1113 'mode':292,333,398 'modul':252 'much':59,65 'multipl':910 'need':453,613 'new':6,88,250,752,1138 'newer':183,256 'note':808,892 'offer':169 'older':234 'ondemand':935 'open':66 'option':172,268,484,644 'order':273 'origin':446,606 'p':29,262,550,704,1104,1118,1141 'p-state':28,261,1103,1117,1140 'page':1128 'paramet':458,502,512,531,544,618,662,672,685,698,753 'passiv':278,291,295,301,429,522,575 'past':17 'perfect':949 'perform':133,171,201,227,308,320,327,355,374,391,393,413,742,757,851,853,934,1028 'permament':896 'perman':906 'phoronix':1029 'phrase':1092 'platform':408 'pleas':1076 'point':318 'popo':463,623 'post':14,39,1052,1058,1071 'potenti':223 'power':395,396,855,856,875,886,891 'powersav':933,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,1024 'prefer':375,524,743,758 'priorit':353 'process':473,633 'processor':81,117,200,303,348 'provid':225,377,792 'pstate':85,90,121,139,243,277,282,287,294,300,335,339,366,371,400,404,426,436,448,486,517,553,570,584,588,596,608,646,677,707,724,735,739,746,1001,1020 'put':35 'quick':38 'quit':5 'rang':418 'reboot':561,715,902 'redditor':1056 'refer':1084 'referenc':1042 'regardless':152 'relat':310 'releas':275 'remain':328 'requir':73,207 'resourc':1045,1053 'respect':785,799 'result':844 'revert':900 'right':1086 'run':504,565,664,719 'ryzen':847,1112 'scale':92,438,449,598,609,748,918,924,1131 'schedulutil':936 'section':1046 'see':803,840,974 'select':410 'sentenc':1094 'serv':1064 'server':1100 'set':298,337,572,726,762,862,872 'show':581,732 'softwar':361 'someon':47 'specif':317 'speed':181 'state':30,263,1105,1119,1142 'step':481,641 'success':534,688 'sudo':513,548,673,702,887 'suitabl':412 'sunk':21 'support':82,100,111,254 'sysf':767 'system':1114 'tee':888 'thought':42 'togeth':36 'tool':911 'tune':213 'two':128,769,940 'uefi':104 'upon':901 'use':45,157,462,536,622,690,812,833,882,909,959,1101,1115 'user':975 'utilis':470,630 've':20,998 'verifi':540,551,555,694,705,709 'version':496,656 'view':820 'vs':122,920 'week':18 'whose':1057 'wiki':1127 'wiki.archlinux.org':1133 'wiki.archlinux.org/title/cpu_frequency_scaling](https://wiki.archlinux.org/title/cpu_frequency_scaling)':1132 'within':415 'workload':422 'world':25 'wrong':60 'www.kernel.org':1145,1149 'www.kernel.org/doc/html/latest/':1144 'www.kernel.org/doc/html/latest/admin-guide/pm/amd-pstate.html)':1148 'www.phoronix.com':1108,1121,1124 'www.phoronix.com/review/amd-pstate-epp-ryzen-mobile)':1123 'www.phoronix.com/review/linux-63-amd-epyc-epp](https://www.phoronix.com/review/linux-63-amd-epyc-epp)':1107 'zen2':78,189 'zen3':80"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1691852891
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/3081149"
    +editedAt: null
    +createdAt: DateTimeImmutable @1691846391 {#1850
      date: 2023-08-12 15:19:51.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: null
  +root: null
  +body: "Tyvm for this very well structured guide, I didn’t even realize I was on lemmy until I hit the bottom of it"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706389017 {#4594
    date: 2024-01-27 21:56:57.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Hekel@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4583 …}
  +nested: Doctrine\ORM\PersistentCollection {#4581 …}
  +votes: Doctrine\ORM\PersistentCollection {#4579 …}
  +reports: Doctrine\ORM\PersistentCollection {#4577 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4545 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4549 …}
  -id: 345608
  -bodyTs: "'bottom':21 'didn':9 'even':11 'guid':7 'hit':19 'lemmi':16 'realiz':12 'structur':6 'tyvm':1 'well':5"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/7072068"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706389017 {#4526
    date: 2024-01-27 21:56:57.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
7 DENIED edit
App\Entity\EntryComment {#4585
  +user: App\Entity\User {#4534 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#276
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#270
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#272
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "AMD-P-State-and-AMD-P-State-EPP-Scaling-Driver-Configuration-Guide"
    +title: "AMD P-State and AMD P-State EPP Scaling Driver Configuration Guide"
    +url: null
    +body: """
      Hi everyone, I’m quite new to Lemmy (this is actually my fist post!) During the past weeks I’ve sunk into the magical world of AMD P-States, and, I ended up putting together a quick post that I thought might be useful for someone else.\n
      \n
      I’m a Linux amateur, so this could be very much wrong, but I’m very much open to any corrections or improvements :)\n
      \n
      1. Requirements\n
      ---------------\n
      \n
      Currently, some of the Zen2 and Zen3 processors support `amd-pstate` and the new `amd_pstate_epp` scaling driver. You also have to have CPPC support enabled in your UEFI. In the future, it will be supported on more and more AMD processors.\n
      \n
      2. amd-pstate vs acpi-cpufreq\n
      -----------------------------\n
      \n
      There are two methods for adjusting CPU performance on AMD CPU/APUs:\n
      \n
      - `amd-pstate`\n
      - `acpi-cpufreq`\n
      \n
      `acpi-cpufreq` is currently default for most distros, regardless of the CPU in use. on most AMD CPUs this is a limiting factor, as it offers limited performance options with only a few fixed levels for CPU speed.\n
      \n
      On newer AMD CPUs and APUs (aka Zen2 and above), there is a more advanced method called *Collaborative Processor Performance Control* (CPPC mentioned in the requirements), which allows for fine-tuned and continuous adjustments of the CPU frequency, with the potential to provide better performance and energy efficiency compared to the older fixed levels.\n
      \n
      And that’s where `amd-pstate` comes in, as it is a new kernel module that supports the newer and more efficient AMD P-States mechanism.\n
      \n
      There are 3 options available, listed below, in order of release:\n
      \n
      - `amd_pstate=passive` (Kernel 6.1+)\n
      - `amd_pstate=active` (Kernel 6.3+)\n
      - `amd_pstate=guided` (kernel 6.4+)\n
      \n
      ### Passive Mode\n
      \n
      `amd_pstate=passive`\n
      \n
      When you set `amd_pstate=passive`, the processor aims for a certain performance level relative to its maximum capacity. Below a specific point, the performance is average, while above it, the performance remains at its best.\n
      \n
      ### Active Mode\n
      \n
      `amd_pstate=active`\n
      \n
      Setting `amd_pstate=active` gives low-level control to the processor’s firmware. It can prioritize either performance or energy efficiency based on software **hints** AND the `amd_pstate_epp` driver. The `amd_pstate_epp` (Energy Performance Preference) driver provides the firmware with a **hint**. On most AMD CPUs, these **hints** are:\n
      \n
      - `default `\n
      - `performance`\n
      - `balance_performance`\n
      - `balance_power`\n
      - `power`\n
      \n
      ### Guided Mode\n
      \n
      `amd_pstate=guided`\n
      \n
      Choosing `amd_pstate=guided` lets the platform automatically select a suitable performance level within a given range based on the workload.\n
      \n
      3a. Configure amd_pstate to either Passive or Guided\n
      -----------------------------------------------------\n
      \n
      To enable the `amd_pstate_epp` scaling driver, which also includes instructions for the original `amd_pstate` scaling driver, you will need to add a kernel parameter. If you are using PopOS (like me) or any other distribution utilising kernelstub, this process can be easily accomplished with the following steps:\n
      \n
      > **IMPORTANT: The option ‘amd_pstate=guided’ is only available on Kernel 6.4 or later versions.**\n
      \n
      1. Add the desired kernel parameter by running the following command:\n
      \n
      ```\n
      \n
      <span style="color:#323232;"># Add the desired Kernel Parameter\n
      </span><span style="color:#323232;">sudo kernelstub -a "amd_pstate=guided" # Change this to passive if preferred\n
      </span>\n
      ```\n
      \n
      2. To confirm that the kernel parameter has been successfully added, use the following command:\n
      \n
      ```\n
      \n
      <span style="color:#323232;"># Verify that the kernel parameter has been added\n
      </span><span style="color:#323232;">sudo kernelstub -p \n
      </span>\n
      ```\n
      \n
      ### Verify amd_pstate\n
      \n
      To verify that this is functioning correctly, reboot your machine, and run\n
      \n
      ```\n
      \n
      <span style="color:#323232;">cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver\n
      </span>\n
      ```\n
      \n
      If `amd_pstate` was set to either `passive` or `guided`, this should now show:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">amd-pstate\n
      </span>\n
      ```\n
      \n
      3b. Configure amd_pstate_epp to Active\n
      ----------------------------------------\n
      \n
      To enable the `amd_pstate_epp` scaling driver, which also includes instructions for the original `amd_pstate` scaling driver, you will need to add a kernel parameter. If you are using PopOS (like me) or any other distribution utilising kernelstub, this process can be easily accomplished with the following steps:\n
      \n
      > **IMPORTANT: The option ‘amd_pstate=guided’ is only available on Kernel 6.3 or later versions.**\n
      \n
      1. Add the desired kernel parameter by running the following command:\n
      \n
      ```\n
      \n
      <span style="color:#323232;"># Add the desired Kernel Parameter\n
      </span><span style="color:#323232;">sudo kernelstub -a "amd_pstate=active"\n
      </span>\n
      ```\n
      \n
      2. To confirm that the kernel parameter has been successfully added, use the following command:\n
      \n
      ```\n
      \n
      <span style="color:#323232;"># Verify that the kernel parameter has been added\n
      </span><span style="color:#323232;">sudo kernelstub -p \n
      </span>\n
      ```\n
      \n
      ### Verify amd_pstate\n
      \n
      To verify that this is functioning correctly, reboot your machine, and run\n
      \n
      ```\n
      \n
      <span style="color:#323232;">cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver\n
      </span>\n
      ```\n
      \n
      If `amd_pstate` was set to `active`, this should now show:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">amd-pstate-epp\n
      </span>\n
      ```\n
      \n
      ### Configure amd_pstate_epp Energy Performance Preference\n
      \n
      The amd_pstate_epp scaling driver introduces a new parameter known as “Energy Performance Preference” (EPP) hint. This setting can be adjusted through sysfs, with two main files controlling it:\n
      \n
      - `/sys/devices/system/cpu/cpu*/cpufreq/energy_performance_preference`: This file displays the current EPP hint for the respective CPU core.\n
      - `/sys/devices/system/cpu/cpu*/cpufreq/energy_performance_available_preferences`: This file provides the available EPP hints for the respective CPU core.\n
      \n
      To see your current EPP hints (note `*` = all CPU cores), use the following command:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">cat /sys/devices/system/cpu/cpu*/cpufreq/energy_performance_preference\n
      </span><span style="color:#323232;">\n
      </span>\n
      ```\n
      \n
      To view the available EPP hints (which should be the same for all cores), use this command:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">cat /sys/devices/system/cpu/cpu0/cpufreq/energy_performance_available_preferences\n
      </span><span style="color:#323232;">\n
      </span><span style="color:#323232;"># What you see below, is my results on my Ryzen 7 7735HS\n
      </span><span style="color:#323232;">default performance balance_performance balance_power power \n
      </span>\n
      ```\n
      \n
      If you’d like to set the same EPP hint across all cores, for instance, setting EPP to “power” (like in my case), you can use this command:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">echo "power" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/energy_performance_preference\n
      </span><span style="color:#323232;">power\n
      </span>\n
      ```\n
      \n
      > **NOTE: This is not permament, and will be reverted upon reboot. To make this permanent, you can use multiple tools, or, create a cron job**\n
      \n
      4. Scaling Driver vs CPU Governor\n
      ---------------------------------\n
      \n
      The Scaling Driver is *different* than the CPU governor (e.g. `powersave`, `performance`, `ondemand`, `schedulutil`, etc.), and the two can be mixed and matched to create your perfect combo.\n
      \n
      To check what’s the current `cpu governor`, use the command below:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor\n
      </span>\n
      ```\n
      \n
      In my case, that’s what I’m seeing:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">user@machine ~> cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span>\n
      ```\n
      \n
      If you’ve configured `amd_pstate=active`, you can mix and match governors with EPP hints. For me the default after I enabled `amd_pstate_epp` was governor = `powersave` and EPP hint = `performance`. Phoronix has an excellent breakdown of all the combinations of governors + EPP hints (referenced in the resources section at the end of this post).\n
      \n
      ### Resources:\n
      \n
      - an amazing Redditor (whose post I cannot find anymore) that served as a basis for this very post (if anyone finds it, please do let me know, and I’ll reference them right away)\n
      - ChatGPT who helped me phrase some sentences a bit better\n
      - Benchmarks for server using AMD P-State EPP: [www.phoronix.com/review/linux-63-amd-epyc-epp](https://www.phoronix.com/review/linux-63-amd-epyc-epp)\n
      - Benchmarks for Ryzen mobile system using AMD P-State EPP: [www.phoronix.com/…/amd-pstate-epp-ryzen-mobile](https://www.phoronix.com/review/amd-pstate-epp-ryzen-mobile)\n
      - Arch Wiki page on CPU Scaling: [https://wiki.archlinux.org/title/CPU_frequency_scaling](https://wiki.archlinux.org/title/CPU_frequency_scaling)\n
      - Kernel.org documentation on new AMD P-State driver: [www.kernel.org/doc/html/latest/…/amd-pstate.html](https://www.kernel.org/doc/html/latest/admin-guide/pm/amd-pstate.html)
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 1
    +favouriteCount: 1
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1729022496 {#2410
      date: 2024-10-15 22:01:36.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 10880
    -titleTs: "'amd':1,6 'configur':13 'driver':12 'epp':10 'guid':14 'p':3,8 'p-state':2,7 'scale':11 'state':4,9"
    -bodyTs: "'/amd-pstate-epp-ryzen-mobile':1122 '/amd-pstate.html':1147 '/cpufreq/energy_performance_available_preferences':789 '/cpufreq/energy_performance_preference':775,818,890 '/cpufreq/scaling_governor':965,979 '/doc/html/latest/':1146 '/doc/html/latest/admin-guide/pm/amd-pstate.html)':1150 '/review/amd-pstate-epp-ryzen-mobile)':1125 '/review/linux-63-amd-epyc-epp](https://www.phoronix.com/review/linux-63-amd-epyc-epp)':1109 '/sys/devices/system/cpu/cpu':774,788,817,889,964,978 '/sys/devices/system/cpu/cpu0/cpufreq/energy_performance_available_preferences':837 '/sys/devices/system/cpu/cpu0/cpufreq/scaling_driver':567,721 '/title/cpu_frequency_scaling](https://wiki.archlinux.org/title/cpu_frequency_scaling)':1134 '1':72,497,657 '2':118,525,679 '3':267 '3a':423 '3b':585 '4':917 '6.1':280 '6.3':285,653 '6.4':290,493 '7':848 '7735hs':849 'accomplish':477,637 'acpi':124,141,144 'acpi-cpufreq':123,140,143 'across':867 'activ':283,332,336,340,591,678,728,1002 'actual':11 'ad':535,547,689,701 'add':455,498,508,615,658,668 'adjust':131,216,765 'advanc':196 'aim':304 'aka':188 'allow':209 'also':95,441,601 'amateur':53 'amaz':1055 'amd':27,84,89,116,120,135,138,160,184,242,260,276,281,286,293,299,334,338,365,370,385,399,403,425,435,447,485,516,552,569,583,587,595,607,645,676,706,723,734,738,745,1000,1019,1102,1116,1139 'amd-pstat':83,119,137,241,582 'amd-pstate-epp':733 'anymor':1062 'anyon':1073 'apus':187 'arch':1126 'automat':409 'avail':269,490,650,794,822 'averag':322 'away':1087 'balanc':392,394,852,854 'base':359,419 'basi':1067 'benchmark':1098,1110 'best':331 'better':226,1097 'bit':1096 'breakdown':1033 'call':198 'cannot':1060 'capac':314 'case':879,968 'cat':566,720,816,836,963,977 'certain':307 'chang':519 'chatgpt':1088 'check':952 'choos':402 'collabor':199 'combin':1037 'combo':950 'come':244 'command':507,539,667,693,815,835,884,961 'compar':231 'configur':424,586,737,999 'confirm':527,681 'continu':215 'control':202,345,772 'core':787,801,811,832,869 'correct':69,560,714 'could':56 'cppc':99,203 'cpu':132,155,180,219,786,800,810,921,930,957,1130 'cpu/apus':136 'cpufreq':125,142,145 'cpus':161,185,386 'creat':913,947 'cron':915 'current':74,147,780,805,956 'd':859 'default':148,390,850,1015 'desir':500,510,660,670 'differ':927 'display':778 'distribut':469,629 'distro':151 'document':1136 'driver':93,368,376,439,450,599,610,749,919,925,1143 'e.g':932 'easili':476,636 'echo':885 'effici':230,259,358 'either':354,428,574 'els':48 'enabl':101,433,593,1018 'end':33,1049 'energi':229,357,373,741,756 'epp':91,367,372,437,589,597,736,740,747,759,781,795,806,823,865,873,1010,1021,1026,1040,1106,1120 'etc':937 'everyon':2 'excel':1032 'factor':166 'file':771,777,791 'find':1061,1074 'fine':212 'fine-tun':211 'firmwar':350,379 'fist':13 'fix':177,235 'follow':480,506,538,640,666,692,814 'frequenc':220 'function':559,713 'futur':107 'give':341 'given':417 'governor':922,931,958,1008,1023,1039 'guid':288,397,401,405,431,487,518,577,647 'help':1090 'hi':1 'hint':362,382,388,760,782,796,807,824,866,1011,1027,1041 'import':482,642 'improv':71 'includ':442,602 'instanc':871 'instruct':443,603 'introduc':750 'job':916 'kernel':251,279,284,289,457,492,501,511,530,543,617,652,661,671,684,697 'kernel.org':1135 'kernelstub':471,514,549,631,674,703 'know':1080 'known':754 'later':495,655 'lemmi':8 'let':406,1078 'level':178,236,309,344,414 'like':464,624,860,876 'limit':165,170 'linux':52 'list':270 'll':1083 'low':343 'low-level':342 'm':4,50,63,973 'machin':563,717,976 'magic':24 'main':770 'make':904 'match':945,1007 'maximum':313 'mechan':264 'mention':204 'method':129,197 'might':43 'mix':943,1005 'mobil':1113 'mode':292,333,398 'modul':252 'much':59,65 'multipl':910 'need':453,613 'new':6,88,250,752,1138 'newer':183,256 'note':808,892 'offer':169 'older':234 'ondemand':935 'open':66 'option':172,268,484,644 'order':273 'origin':446,606 'p':29,262,550,704,1104,1118,1141 'p-state':28,261,1103,1117,1140 'page':1128 'paramet':458,502,512,531,544,618,662,672,685,698,753 'passiv':278,291,295,301,429,522,575 'past':17 'perfect':949 'perform':133,171,201,227,308,320,327,355,374,391,393,413,742,757,851,853,934,1028 'permament':896 'perman':906 'phoronix':1029 'phrase':1092 'platform':408 'pleas':1076 'point':318 'popo':463,623 'post':14,39,1052,1058,1071 'potenti':223 'power':395,396,855,856,875,886,891 'powersav':933,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,1024 'prefer':375,524,743,758 'priorit':353 'process':473,633 'processor':81,117,200,303,348 'provid':225,377,792 'pstate':85,90,121,139,243,277,282,287,294,300,335,339,366,371,400,404,426,436,448,486,517,553,570,584,588,596,608,646,677,707,724,735,739,746,1001,1020 'put':35 'quick':38 'quit':5 'rang':418 'reboot':561,715,902 'redditor':1056 'refer':1084 'referenc':1042 'regardless':152 'relat':310 'releas':275 'remain':328 'requir':73,207 'resourc':1045,1053 'respect':785,799 'result':844 'revert':900 'right':1086 'run':504,565,664,719 'ryzen':847,1112 'scale':92,438,449,598,609,748,918,924,1131 'schedulutil':936 'section':1046 'see':803,840,974 'select':410 'sentenc':1094 'serv':1064 'server':1100 'set':298,337,572,726,762,862,872 'show':581,732 'softwar':361 'someon':47 'specif':317 'speed':181 'state':30,263,1105,1119,1142 'step':481,641 'success':534,688 'sudo':513,548,673,702,887 'suitabl':412 'sunk':21 'support':82,100,111,254 'sysf':767 'system':1114 'tee':888 'thought':42 'togeth':36 'tool':911 'tune':213 'two':128,769,940 'uefi':104 'upon':901 'use':45,157,462,536,622,690,812,833,882,909,959,1101,1115 'user':975 'utilis':470,630 've':20,998 'verifi':540,551,555,694,705,709 'version':496,656 'view':820 'vs':122,920 'week':18 'whose':1057 'wiki':1127 'wiki.archlinux.org':1133 'wiki.archlinux.org/title/cpu_frequency_scaling](https://wiki.archlinux.org/title/cpu_frequency_scaling)':1132 'within':415 'workload':422 'world':25 'wrong':60 'www.kernel.org':1145,1149 'www.kernel.org/doc/html/latest/':1144 'www.kernel.org/doc/html/latest/admin-guide/pm/amd-pstate.html)':1148 'www.phoronix.com':1108,1121,1124 'www.phoronix.com/review/amd-pstate-epp-ryzen-mobile)':1123 'www.phoronix.com/review/linux-63-amd-epyc-epp](https://www.phoronix.com/review/linux-63-amd-epyc-epp)':1107 'zen2':78,189 'zen3':80"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1691852891
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/3081149"
    +editedAt: null
    +createdAt: DateTimeImmutable @1691846391 {#1850
      date: 2023-08-12 15:19:51.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: null
  +root: null
  +body: "Tyvm for this very well structured guide, I didn’t even realize I was on lemmy until I hit the bottom of it"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706389017 {#4594
    date: 2024-01-27 21:56:57.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Hekel@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4583 …}
  +nested: Doctrine\ORM\PersistentCollection {#4581 …}
  +votes: Doctrine\ORM\PersistentCollection {#4579 …}
  +reports: Doctrine\ORM\PersistentCollection {#4577 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4545 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4549 …}
  -id: 345608
  -bodyTs: "'bottom':21 'didn':9 'even':11 'guid':7 'hit':19 'lemmi':16 'realiz':12 'structur':6 'tyvm':1 'well':5"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/7072068"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706389017 {#4526
    date: 2024-01-27 21:56:57.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
8 DENIED moderate
App\Entity\EntryComment {#4585
  +user: App\Entity\User {#4534 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#276
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#270
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#272
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "AMD-P-State-and-AMD-P-State-EPP-Scaling-Driver-Configuration-Guide"
    +title: "AMD P-State and AMD P-State EPP Scaling Driver Configuration Guide"
    +url: null
    +body: """
      Hi everyone, I’m quite new to Lemmy (this is actually my fist post!) During the past weeks I’ve sunk into the magical world of AMD P-States, and, I ended up putting together a quick post that I thought might be useful for someone else.\n
      \n
      I’m a Linux amateur, so this could be very much wrong, but I’m very much open to any corrections or improvements :)\n
      \n
      1. Requirements\n
      ---------------\n
      \n
      Currently, some of the Zen2 and Zen3 processors support `amd-pstate` and the new `amd_pstate_epp` scaling driver. You also have to have CPPC support enabled in your UEFI. In the future, it will be supported on more and more AMD processors.\n
      \n
      2. amd-pstate vs acpi-cpufreq\n
      -----------------------------\n
      \n
      There are two methods for adjusting CPU performance on AMD CPU/APUs:\n
      \n
      - `amd-pstate`\n
      - `acpi-cpufreq`\n
      \n
      `acpi-cpufreq` is currently default for most distros, regardless of the CPU in use. on most AMD CPUs this is a limiting factor, as it offers limited performance options with only a few fixed levels for CPU speed.\n
      \n
      On newer AMD CPUs and APUs (aka Zen2 and above), there is a more advanced method called *Collaborative Processor Performance Control* (CPPC mentioned in the requirements), which allows for fine-tuned and continuous adjustments of the CPU frequency, with the potential to provide better performance and energy efficiency compared to the older fixed levels.\n
      \n
      And that’s where `amd-pstate` comes in, as it is a new kernel module that supports the newer and more efficient AMD P-States mechanism.\n
      \n
      There are 3 options available, listed below, in order of release:\n
      \n
      - `amd_pstate=passive` (Kernel 6.1+)\n
      - `amd_pstate=active` (Kernel 6.3+)\n
      - `amd_pstate=guided` (kernel 6.4+)\n
      \n
      ### Passive Mode\n
      \n
      `amd_pstate=passive`\n
      \n
      When you set `amd_pstate=passive`, the processor aims for a certain performance level relative to its maximum capacity. Below a specific point, the performance is average, while above it, the performance remains at its best.\n
      \n
      ### Active Mode\n
      \n
      `amd_pstate=active`\n
      \n
      Setting `amd_pstate=active` gives low-level control to the processor’s firmware. It can prioritize either performance or energy efficiency based on software **hints** AND the `amd_pstate_epp` driver. The `amd_pstate_epp` (Energy Performance Preference) driver provides the firmware with a **hint**. On most AMD CPUs, these **hints** are:\n
      \n
      - `default `\n
      - `performance`\n
      - `balance_performance`\n
      - `balance_power`\n
      - `power`\n
      \n
      ### Guided Mode\n
      \n
      `amd_pstate=guided`\n
      \n
      Choosing `amd_pstate=guided` lets the platform automatically select a suitable performance level within a given range based on the workload.\n
      \n
      3a. Configure amd_pstate to either Passive or Guided\n
      -----------------------------------------------------\n
      \n
      To enable the `amd_pstate_epp` scaling driver, which also includes instructions for the original `amd_pstate` scaling driver, you will need to add a kernel parameter. If you are using PopOS (like me) or any other distribution utilising kernelstub, this process can be easily accomplished with the following steps:\n
      \n
      > **IMPORTANT: The option ‘amd_pstate=guided’ is only available on Kernel 6.4 or later versions.**\n
      \n
      1. Add the desired kernel parameter by running the following command:\n
      \n
      ```\n
      \n
      <span style="color:#323232;"># Add the desired Kernel Parameter\n
      </span><span style="color:#323232;">sudo kernelstub -a "amd_pstate=guided" # Change this to passive if preferred\n
      </span>\n
      ```\n
      \n
      2. To confirm that the kernel parameter has been successfully added, use the following command:\n
      \n
      ```\n
      \n
      <span style="color:#323232;"># Verify that the kernel parameter has been added\n
      </span><span style="color:#323232;">sudo kernelstub -p \n
      </span>\n
      ```\n
      \n
      ### Verify amd_pstate\n
      \n
      To verify that this is functioning correctly, reboot your machine, and run\n
      \n
      ```\n
      \n
      <span style="color:#323232;">cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver\n
      </span>\n
      ```\n
      \n
      If `amd_pstate` was set to either `passive` or `guided`, this should now show:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">amd-pstate\n
      </span>\n
      ```\n
      \n
      3b. Configure amd_pstate_epp to Active\n
      ----------------------------------------\n
      \n
      To enable the `amd_pstate_epp` scaling driver, which also includes instructions for the original `amd_pstate` scaling driver, you will need to add a kernel parameter. If you are using PopOS (like me) or any other distribution utilising kernelstub, this process can be easily accomplished with the following steps:\n
      \n
      > **IMPORTANT: The option ‘amd_pstate=guided’ is only available on Kernel 6.3 or later versions.**\n
      \n
      1. Add the desired kernel parameter by running the following command:\n
      \n
      ```\n
      \n
      <span style="color:#323232;"># Add the desired Kernel Parameter\n
      </span><span style="color:#323232;">sudo kernelstub -a "amd_pstate=active"\n
      </span>\n
      ```\n
      \n
      2. To confirm that the kernel parameter has been successfully added, use the following command:\n
      \n
      ```\n
      \n
      <span style="color:#323232;"># Verify that the kernel parameter has been added\n
      </span><span style="color:#323232;">sudo kernelstub -p \n
      </span>\n
      ```\n
      \n
      ### Verify amd_pstate\n
      \n
      To verify that this is functioning correctly, reboot your machine, and run\n
      \n
      ```\n
      \n
      <span style="color:#323232;">cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver\n
      </span>\n
      ```\n
      \n
      If `amd_pstate` was set to `active`, this should now show:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">amd-pstate-epp\n
      </span>\n
      ```\n
      \n
      ### Configure amd_pstate_epp Energy Performance Preference\n
      \n
      The amd_pstate_epp scaling driver introduces a new parameter known as “Energy Performance Preference” (EPP) hint. This setting can be adjusted through sysfs, with two main files controlling it:\n
      \n
      - `/sys/devices/system/cpu/cpu*/cpufreq/energy_performance_preference`: This file displays the current EPP hint for the respective CPU core.\n
      - `/sys/devices/system/cpu/cpu*/cpufreq/energy_performance_available_preferences`: This file provides the available EPP hints for the respective CPU core.\n
      \n
      To see your current EPP hints (note `*` = all CPU cores), use the following command:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">cat /sys/devices/system/cpu/cpu*/cpufreq/energy_performance_preference\n
      </span><span style="color:#323232;">\n
      </span>\n
      ```\n
      \n
      To view the available EPP hints (which should be the same for all cores), use this command:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">cat /sys/devices/system/cpu/cpu0/cpufreq/energy_performance_available_preferences\n
      </span><span style="color:#323232;">\n
      </span><span style="color:#323232;"># What you see below, is my results on my Ryzen 7 7735HS\n
      </span><span style="color:#323232;">default performance balance_performance balance_power power \n
      </span>\n
      ```\n
      \n
      If you’d like to set the same EPP hint across all cores, for instance, setting EPP to “power” (like in my case), you can use this command:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">echo "power" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/energy_performance_preference\n
      </span><span style="color:#323232;">power\n
      </span>\n
      ```\n
      \n
      > **NOTE: This is not permament, and will be reverted upon reboot. To make this permanent, you can use multiple tools, or, create a cron job**\n
      \n
      4. Scaling Driver vs CPU Governor\n
      ---------------------------------\n
      \n
      The Scaling Driver is *different* than the CPU governor (e.g. `powersave`, `performance`, `ondemand`, `schedulutil`, etc.), and the two can be mixed and matched to create your perfect combo.\n
      \n
      To check what’s the current `cpu governor`, use the command below:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor\n
      </span>\n
      ```\n
      \n
      In my case, that’s what I’m seeing:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">user@machine ~> cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span><span style="color:#323232;">powersave\n
      </span>\n
      ```\n
      \n
      If you’ve configured `amd_pstate=active`, you can mix and match governors with EPP hints. For me the default after I enabled `amd_pstate_epp` was governor = `powersave` and EPP hint = `performance`. Phoronix has an excellent breakdown of all the combinations of governors + EPP hints (referenced in the resources section at the end of this post).\n
      \n
      ### Resources:\n
      \n
      - an amazing Redditor (whose post I cannot find anymore) that served as a basis for this very post (if anyone finds it, please do let me know, and I’ll reference them right away)\n
      - ChatGPT who helped me phrase some sentences a bit better\n
      - Benchmarks for server using AMD P-State EPP: [www.phoronix.com/review/linux-63-amd-epyc-epp](https://www.phoronix.com/review/linux-63-amd-epyc-epp)\n
      - Benchmarks for Ryzen mobile system using AMD P-State EPP: [www.phoronix.com/…/amd-pstate-epp-ryzen-mobile](https://www.phoronix.com/review/amd-pstate-epp-ryzen-mobile)\n
      - Arch Wiki page on CPU Scaling: [https://wiki.archlinux.org/title/CPU_frequency_scaling](https://wiki.archlinux.org/title/CPU_frequency_scaling)\n
      - Kernel.org documentation on new AMD P-State driver: [www.kernel.org/doc/html/latest/…/amd-pstate.html](https://www.kernel.org/doc/html/latest/admin-guide/pm/amd-pstate.html)
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 1
    +favouriteCount: 1
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1729022496 {#2410
      date: 2024-10-15 22:01:36.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 10880
    -titleTs: "'amd':1,6 'configur':13 'driver':12 'epp':10 'guid':14 'p':3,8 'p-state':2,7 'scale':11 'state':4,9"
    -bodyTs: "'/amd-pstate-epp-ryzen-mobile':1122 '/amd-pstate.html':1147 '/cpufreq/energy_performance_available_preferences':789 '/cpufreq/energy_performance_preference':775,818,890 '/cpufreq/scaling_governor':965,979 '/doc/html/latest/':1146 '/doc/html/latest/admin-guide/pm/amd-pstate.html)':1150 '/review/amd-pstate-epp-ryzen-mobile)':1125 '/review/linux-63-amd-epyc-epp](https://www.phoronix.com/review/linux-63-amd-epyc-epp)':1109 '/sys/devices/system/cpu/cpu':774,788,817,889,964,978 '/sys/devices/system/cpu/cpu0/cpufreq/energy_performance_available_preferences':837 '/sys/devices/system/cpu/cpu0/cpufreq/scaling_driver':567,721 '/title/cpu_frequency_scaling](https://wiki.archlinux.org/title/cpu_frequency_scaling)':1134 '1':72,497,657 '2':118,525,679 '3':267 '3a':423 '3b':585 '4':917 '6.1':280 '6.3':285,653 '6.4':290,493 '7':848 '7735hs':849 'accomplish':477,637 'acpi':124,141,144 'acpi-cpufreq':123,140,143 'across':867 'activ':283,332,336,340,591,678,728,1002 'actual':11 'ad':535,547,689,701 'add':455,498,508,615,658,668 'adjust':131,216,765 'advanc':196 'aim':304 'aka':188 'allow':209 'also':95,441,601 'amateur':53 'amaz':1055 'amd':27,84,89,116,120,135,138,160,184,242,260,276,281,286,293,299,334,338,365,370,385,399,403,425,435,447,485,516,552,569,583,587,595,607,645,676,706,723,734,738,745,1000,1019,1102,1116,1139 'amd-pstat':83,119,137,241,582 'amd-pstate-epp':733 'anymor':1062 'anyon':1073 'apus':187 'arch':1126 'automat':409 'avail':269,490,650,794,822 'averag':322 'away':1087 'balanc':392,394,852,854 'base':359,419 'basi':1067 'benchmark':1098,1110 'best':331 'better':226,1097 'bit':1096 'breakdown':1033 'call':198 'cannot':1060 'capac':314 'case':879,968 'cat':566,720,816,836,963,977 'certain':307 'chang':519 'chatgpt':1088 'check':952 'choos':402 'collabor':199 'combin':1037 'combo':950 'come':244 'command':507,539,667,693,815,835,884,961 'compar':231 'configur':424,586,737,999 'confirm':527,681 'continu':215 'control':202,345,772 'core':787,801,811,832,869 'correct':69,560,714 'could':56 'cppc':99,203 'cpu':132,155,180,219,786,800,810,921,930,957,1130 'cpu/apus':136 'cpufreq':125,142,145 'cpus':161,185,386 'creat':913,947 'cron':915 'current':74,147,780,805,956 'd':859 'default':148,390,850,1015 'desir':500,510,660,670 'differ':927 'display':778 'distribut':469,629 'distro':151 'document':1136 'driver':93,368,376,439,450,599,610,749,919,925,1143 'e.g':932 'easili':476,636 'echo':885 'effici':230,259,358 'either':354,428,574 'els':48 'enabl':101,433,593,1018 'end':33,1049 'energi':229,357,373,741,756 'epp':91,367,372,437,589,597,736,740,747,759,781,795,806,823,865,873,1010,1021,1026,1040,1106,1120 'etc':937 'everyon':2 'excel':1032 'factor':166 'file':771,777,791 'find':1061,1074 'fine':212 'fine-tun':211 'firmwar':350,379 'fist':13 'fix':177,235 'follow':480,506,538,640,666,692,814 'frequenc':220 'function':559,713 'futur':107 'give':341 'given':417 'governor':922,931,958,1008,1023,1039 'guid':288,397,401,405,431,487,518,577,647 'help':1090 'hi':1 'hint':362,382,388,760,782,796,807,824,866,1011,1027,1041 'import':482,642 'improv':71 'includ':442,602 'instanc':871 'instruct':443,603 'introduc':750 'job':916 'kernel':251,279,284,289,457,492,501,511,530,543,617,652,661,671,684,697 'kernel.org':1135 'kernelstub':471,514,549,631,674,703 'know':1080 'known':754 'later':495,655 'lemmi':8 'let':406,1078 'level':178,236,309,344,414 'like':464,624,860,876 'limit':165,170 'linux':52 'list':270 'll':1083 'low':343 'low-level':342 'm':4,50,63,973 'machin':563,717,976 'magic':24 'main':770 'make':904 'match':945,1007 'maximum':313 'mechan':264 'mention':204 'method':129,197 'might':43 'mix':943,1005 'mobil':1113 'mode':292,333,398 'modul':252 'much':59,65 'multipl':910 'need':453,613 'new':6,88,250,752,1138 'newer':183,256 'note':808,892 'offer':169 'older':234 'ondemand':935 'open':66 'option':172,268,484,644 'order':273 'origin':446,606 'p':29,262,550,704,1104,1118,1141 'p-state':28,261,1103,1117,1140 'page':1128 'paramet':458,502,512,531,544,618,662,672,685,698,753 'passiv':278,291,295,301,429,522,575 'past':17 'perfect':949 'perform':133,171,201,227,308,320,327,355,374,391,393,413,742,757,851,853,934,1028 'permament':896 'perman':906 'phoronix':1029 'phrase':1092 'platform':408 'pleas':1076 'point':318 'popo':463,623 'post':14,39,1052,1058,1071 'potenti':223 'power':395,396,855,856,875,886,891 'powersav':933,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,1024 'prefer':375,524,743,758 'priorit':353 'process':473,633 'processor':81,117,200,303,348 'provid':225,377,792 'pstate':85,90,121,139,243,277,282,287,294,300,335,339,366,371,400,404,426,436,448,486,517,553,570,584,588,596,608,646,677,707,724,735,739,746,1001,1020 'put':35 'quick':38 'quit':5 'rang':418 'reboot':561,715,902 'redditor':1056 'refer':1084 'referenc':1042 'regardless':152 'relat':310 'releas':275 'remain':328 'requir':73,207 'resourc':1045,1053 'respect':785,799 'result':844 'revert':900 'right':1086 'run':504,565,664,719 'ryzen':847,1112 'scale':92,438,449,598,609,748,918,924,1131 'schedulutil':936 'section':1046 'see':803,840,974 'select':410 'sentenc':1094 'serv':1064 'server':1100 'set':298,337,572,726,762,862,872 'show':581,732 'softwar':361 'someon':47 'specif':317 'speed':181 'state':30,263,1105,1119,1142 'step':481,641 'success':534,688 'sudo':513,548,673,702,887 'suitabl':412 'sunk':21 'support':82,100,111,254 'sysf':767 'system':1114 'tee':888 'thought':42 'togeth':36 'tool':911 'tune':213 'two':128,769,940 'uefi':104 'upon':901 'use':45,157,462,536,622,690,812,833,882,909,959,1101,1115 'user':975 'utilis':470,630 've':20,998 'verifi':540,551,555,694,705,709 'version':496,656 'view':820 'vs':122,920 'week':18 'whose':1057 'wiki':1127 'wiki.archlinux.org':1133 'wiki.archlinux.org/title/cpu_frequency_scaling](https://wiki.archlinux.org/title/cpu_frequency_scaling)':1132 'within':415 'workload':422 'world':25 'wrong':60 'www.kernel.org':1145,1149 'www.kernel.org/doc/html/latest/':1144 'www.kernel.org/doc/html/latest/admin-guide/pm/amd-pstate.html)':1148 'www.phoronix.com':1108,1121,1124 'www.phoronix.com/review/amd-pstate-epp-ryzen-mobile)':1123 'www.phoronix.com/review/linux-63-amd-epyc-epp](https://www.phoronix.com/review/linux-63-amd-epyc-epp)':1107 'zen2':78,189 'zen3':80"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1691852891
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/3081149"
    +editedAt: null
    +createdAt: DateTimeImmutable @1691846391 {#1850
      date: 2023-08-12 15:19:51.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: null
  +root: null
  +body: "Tyvm for this very well structured guide, I didn’t even realize I was on lemmy until I hit the bottom of it"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706389017 {#4594
    date: 2024-01-27 21:56:57.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Hekel@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4583 …}
  +nested: Doctrine\ORM\PersistentCollection {#4581 …}
  +votes: Doctrine\ORM\PersistentCollection {#4579 …}
  +reports: Doctrine\ORM\PersistentCollection {#4577 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4545 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4549 …}
  -id: 345608
  -bodyTs: "'bottom':21 'didn':9 'even':11 'guid':7 'hit':19 'lemmi':16 'realiz':12 'structur':6 'tyvm':1 'well':5"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/7072068"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706389017 {#4526
    date: 2024-01-27 21:56:57.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
9 DENIED edit
App\Entity\Magazine {#266
  +icon: Proxies\__CG__\App\Entity\Image {#247 …}
  +name: "linux@lemmy.ml"
  +title: "linux"
  +description: """
    From Wikipedia, the free encyclopedia\n
    \n
    Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
    \n
    Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
    \n
    ### Rules\n
    \n
    - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
    - No misinformation\n
    - No NSFW content\n
    - No hate speech, bigotry, etc\n
    \n
    ### Related Communities\n
    \n
    - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
    - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
    - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
    - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
    \n
    Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
    """
  +rules: null
  +subscriptionsCount: 1
  +entryCount: 1406
  +entryCommentCount: 28632
  +postCount: 6
  +postCommentCount: 214
  +isAdult: false
  +customCss: null
  +lastActive: DateTime @1729583542 {#276
    date: 2024-10-22 09:52:22.0 +02:00
  }
  +markedForDeletionAt: null
  +tags: null
  +moderators: Doctrine\ORM\PersistentCollection {#238 …}
  +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
  +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
  +entries: Doctrine\ORM\PersistentCollection {#181 …}
  +posts: Doctrine\ORM\PersistentCollection {#139 …}
  +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
  +bans: Doctrine\ORM\PersistentCollection {#118 …}
  +reports: Doctrine\ORM\PersistentCollection {#104 …}
  +badges: Doctrine\ORM\PersistentCollection {#82 …}
  +logs: Doctrine\ORM\PersistentCollection {#72 …}
  +awards: Doctrine\ORM\PersistentCollection {#61 …}
  +categories: Doctrine\ORM\PersistentCollection {#1820 …}
  -id: 73
  +apId: "linux@lemmy.ml"
  +apProfileId: "https://lemmy.ml/c/linux"
  +apPublicUrl: "https://lemmy.ml/c/linux"
  +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
  +apInboxUrl: "https://lemmy.ml/inbox"
  +apDomain: "lemmy.ml"
  +apPreferredUsername: "linux"
  +apDiscoverable: true
  +apManuallyApprovesFollowers: null
  +privateKey: null
  +publicKey: null
  +apFetchedAt: DateTime @1729583596 {#270
    date: 2024-10-22 09:53:16.0 +02:00
  }
  +apDeletedAt: null
  +apTimeoutAt: null
  +visibility: "visible             "
  +createdAt: DateTimeImmutable @1698929468 {#272
    date: 2023-11-02 13:51:08.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS DENIED
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details