STRUCT RANK_INFO(9)
π struct rank_info(9) π
okay bestie, welcome to the Kernel API Manual β yes we're reading kernel docs together, this is our bonding era. today's main character is struct rank_info, no cap.
β¨ NAME β¨
struct rank_info β literally holds the info for one DIMM rank. one. singular. she's not doing multiples, that's not her job π
π¦ SYNOPSIS π¦
struct rank_info {
int chan_idx;
struct csrow_info *csrow;
struct dimm_info *dimm;
u32 ce_count;
};
look at her. four fields. small but mighty π
πΈ Members πΈ
chan_idxβ the channel number where this rank lives (typically0or1, iykyk). it's anint, she's flexible like that.csrowβ a pointer to the chip select row structure, aka the parent structure π. you find where the rank actually is using the vector(csrow->csrow_idx, chan_idx)β write that down, it's giving coordinates.dimmβ a pointer to thestruct dimm_info, which is where the DIMM label information is stored π·οΈ. that's where the name tag lives.ce_countβ number of correctable errors for this rank. it's au32. count 'em, bestie π₯
π§ Description π§
FIXME: currently, the EDAC core model will assume one DIMM per rank. this is a bad assumption, but it makes this patch easier π. later patches in this series will fix this issue β so she's a work in progress, we love her anyway π«Ά
β SEE ALSO β
kernel file ./include/linux/edac.h β plus the whole friend group, go say hi:
enum dev_type(9)enum hw_event_mc_err_type(9)enum mem_type(9)enum edac_type(9)enum scrub_type(9)enum edac_mc_layer_type(9)struct edac_mc_layer(9)struct edac_raw_error_desc(9)edac_get_dimm(9)struct edac_scrub_ops(9)struct edac_ecs_ops(9)struct edac_mem_repair_ops(9)
π and that's the whole vibe check! this page comes to you from ./include/linux, dated October 2026 β iconic source, iconic date, periodt π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms