ENUM KFD_SCHED_POLICY(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… enum kfd_sched_policy(9)

okay so bestie, welcome to the kernel API manual for enum kfd_sched_policy β€” it lives in the kernel API manual section (that's the (9) part, iykyk), and it's literally just an enum that tells the kernel how to schedule stuff. no cap. ✨


🌸 NAME

enum kfd_sched_policy β€” the enum that picks your scheduling vibe. that's it, that's the name (the original page leaves the description blank, and honestly? mysterious queen energy πŸ‘‘).


πŸŽ€ SYNOPSIS

enum kfd_sched_policy {
    KFD_SCHED_POLICY_HWS ,
    KFD_SCHED_POLICY_HWS_NO_OVERSUBSCRIPTION ,
    KFD_SCHED_POLICY_NO_HWS

};

so yeah, three constants, all of them iconic in their own way πŸ’…


✨ Constants ✨

  • KFD_SCHED_POLICY_HWS β€” this is the H/W scheduling policy, also known as command processor (cp) scheduling. in this mode we're using the firmware code to schedule the user mode queues and the kernel queues like HIQ and DIQ. quick rundown, because the details matter: the HIQ queue is used as a special queue that dispatches the configuration to the cp plus the user mode queues list that are currently running, and the DIQ queue is a debugging queue that dispatches debugging commands to the firmware. and in this scheduling mode? user mode queues over subscription feature is enabled. slay. πŸ¦‹
  • KFD_SCHED_POLICY_HWS_NO_OVERSUBSCRIPTION β€” literally the same as above, except the over subscription feature is disabled. that's the whole difference, bestie, don't overthink it 🫢
  • KFD_SCHED_POLICY_NO_HWS β€” no H/W scheduling policy, which is the mode that directly sets the command processor registers and sets the queues "manually". and listen β€” this mode is used *ONLY* for debugging proposes. the original says "proposes", and I'm keeping it exactly like that, character for character, because that's what the page says 😭 also the *ONLY* is in asterisks in the source so you KNOW it's serious. debugging only. periodt. πŸ’€
lowkey a warning: KFD_SCHED_POLICY_NO_HWS is for debugging, like, only β€” the manual literally puts ONLY in stars for emphasis, so please don't ship that vibe πŸ™ˆ

🌈 SEE ALSO

  • Kernel file ./drivers/gpu/drm/amd/include/kgd_kfd_interface.h
  • struct kfd2kgd_calls(9)

and that's the whole page, bestie!! πŸ“

πŸ’– cute little sign-off: this page comes from ./drivers/gpu/drm/amd/include, dated October 2026, and it's the enum kfd_sched_policy(9) page β€” go read the header file if you want the lore. mwah πŸ’‹πŸ§š

πŸ“¦ where this page comes from