STRUCT LLCC_SLICE_CONFIG(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

Hiii bestie 🫢 welcome to struct llcc_slice_config(9) from the Kernel API Manual. This is literally the data associated with the LLCC slice β€” the struct that carries all the slice config vibes ✨.

✨ SYNOPSIS ✨

struct llcc_slice_config {
    u32 usecase_id;
    u32 slice_id;
    u32 max_cap;
    u32 priority;
    bool fixed_size;
    u32 bonus_ways;
    u32 res_ways;
    u32 cache_mode;
    u32 probe_target_ways;
    bool dis_cap_alloc;
    bool retain_on_pc;
    bool activate_on_init;
    bool write_scid_en;
    bool write_scid_cacheable_en;
    bool stale_en;
    bool stale_cap_en;
    bool mru_uncap_en;
    bool mru_rollover;
    bool alloc_oneway_en;
    bool ovcap_en;
    bool ovcap_prio;
    bool vict_prio;
    u32 parent_slice_id;
};

🌸 Members 🌸

Okay so here's the member-by-member tea, and every single field is staying exactly where it is πŸ’…:

  • usecase_id β€” unique id for the client's use case.
  • slice_id β€” LLCC slice id for each client.
  • max_cap β€” the maximum capacity of the cache slice, provided in KB.
  • priority β€” priority of the client, used to select the victim line for replacement.
  • fixed_size β€” boolean indicating if the slice has a fixed capacity.
  • bonus_ways β€” bonus ways are additional ways to be used for any slice if the client ends up using more than the reserved cache ways. Bonus ways are allocated only if they are not reserved for some other client.
  • res_ways β€” reserved ways for the cache slice; the reserved ways cannot be used by any other client than the one they're assigned to.
  • cache_mode β€” each slice operates as a cache, and this controls the mode of the slice: normal or TCM(Tightly Coupled Memory).
  • probe_target_ways β€” determines what ways to probe for access hit. When configured to 1, only bonus and reserved ways are probed. When configured to 0, all ways in LLCC are probed.
  • dis_cap_alloc β€” disable capacity based allocation for a client.
  • retain_on_pc β€” if this bit is set and the client has maintained active vote, then the ways assigned to this client are not flushed on power collapse.
  • activate_on_init β€” activate the slice immediately after it is programmed.
  • write_scid_en β€” bit enables write cache support for a given scid.
  • write_scid_cacheable_en β€” enables write cache cacheable support for a given scid (not supported on v2 or older hardware).
  • stale_en β€” bit enables stale.
  • stale_cap_en β€” bit enables stale only if current scid is over-cap.
  • mru_uncap_en β€” roll-over on reserved cache ways if current scid is under-cap.
  • mru_rollover β€” roll-over on reserved cache ways.
  • alloc_oneway_en β€” always allocate one way on over-cap even if there's no same-scid lines for replacement.
  • ovcap_en β€” once current scid is over-capacity, allocate other over-cap SCID.
  • ovcap_prio β€” once current scid is over-capacity, allocate other low priority over-cap scid. Depends on corresponding bit being set in ovcap_en.
  • vict_prio β€” when current scid is under-capacity, allocate over other lower-than victim priority-line threshold scid.
  • parent_slice_id β€” for grouped slices, specifies the slice id of the parent.

πŸ¦‹ SEE ALSO πŸ¦‹


That's the whole page, bestie πŸ’– source/version vibes: ./drivers/soc/qcom and struct llcc_slice_config(9); date: October 2026 β€” cute lil footer sign-off complete, byeee πŸ¦‹βœ¨

πŸ“¦ where this page comes from