CXL-SET-ALERT-CONFIG(1)

πŸ’… cxl-set-alert-config πŸ’…

okay so this page is from the cxl Manual, and it's giving "device health alert customization" main character energy. bestie, let's get into it ✨

🌸 NAME 🌸

cxl-set-alert-config β€” set the warning alert threshold on a CXL memdev. literally the command for configuring those warning thresholds, no cap πŸ’–

✨ SYNOPSIS ✨

cxl set-alert-config <mem0> [<mem1>..<memN>] [<options>]

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so a CXL device raises an alert when its health status is changed. the critical alert shall automatically be configured by the device after a device reset β€” iconic, honestly.

if supported, programmable warning thresholds also get initialized to vendor recommended defaults, and then you can configure them. use this command to configure warning alert thresholds of a device. once you've issued this command, the newly requested warning thresholds would override the previously programmed warning thresholds. periodt.

to enable warning alert, set both threshold=value and alert=on. to disable warning alert, set only alert=off.

other cases would cause errors. not me finding out the hard way 😭

use cxl list -m <memdev> -A to examine the programming warning threshold capabilities of a device. iykyk 🫢

πŸŽ€ EXAMPLES πŸŽ€

Set warning threshold to 30 and enable alert for life used.

# cxl set-alert-config mem0 --life-used-threshold=30 --life-used-alert=on
{
  "memdev":"mem0",
  "ram_size":"1024.00 MiB (1073.74 MB)",
  "alert_config":{
    "life_used_prog_warn_threshold_valid":true,
    "dev_over_temperature_prog_warn_threshold_valid":false,
    "dev_under_temperature_prog_warn_threshold_valid":false,
    "corrected_volatile_mem_err_prog_warn_threshold_valid":false,
    "corrected_pmem_err_prog_warn_threshold_valid":false,
    "life_used_prog_warn_threshold_writable":true,
    "dev_over_temperature_prog_warn_threshold_writable":true,
    "dev_under_temperature_prog_warn_threshold_writable":true,
    "corrected_volatile_mem_err_prog_warn_threshold_writable":true,
    "corrected_pmem_err_prog_warn_threshold_writable":true,
    "life_used_crit_alert_threshold":75,
    "life_used_prog_warn_threshold":30,
    "dev_over_temperature_crit_alert_threshold":0,
    "dev_under_temperature_crit_alert_threshold":0,
    "dev_over_temperature_prog_warn_threshold":0,
    "dev_under_temperature_prog_warn_threshold":0,
    "corrected_volatile_mem_err_prog_warn_threshold":0,
    "corrected_pmem_err_prog_warn_threshold":0
  },
  "serial":"0",
  "host":"0000:0d:00.0"
}
cxl memdev: cmd_set_alert_config: set alert configuration 1 mem

Disable warning alert for life_used.

# cxl set-alert-config mem0 --life-used-alert=off
{
  "memdev":"mem0",
  "ram_size":"1024.00 MiB (1073.74 MB)",
  "alert_config":{
    "life_used_prog_warn_threshold_valid":false,
    "dev_over_temperature_prog_warn_threshold_valid":false,
    "dev_under_temperature_prog_warn_threshold_valid":false,
    "corrected_volatile_mem_err_prog_warn_threshold_valid":false,
    "corrected_pmem_err_prog_warn_threshold_valid":false,
    "life_used_prog_warn_threshold_writable":true,
    "dev_over_temperature_prog_warn_threshold_writable":true,
    "dev_under_temperature_prog_warn_threshold_writable":true,
    "corrected_volatile_mem_err_prog_warn_threshold_writable":true,
    "corrected_pmem_err_prog_warn_threshold_writable":true,
    "life_used_crit_alert_threshold":75,
    "life_used_prog_warn_threshold":30,
    "dev_over_temperature_crit_alert_threshold":0,
    "dev_under_temperature_crit_alert_threshold":0,
    "dev_over_temperature_prog_warn_threshold":0,
    "dev_under_temperature_prog_warn_threshold":0,
    "corrected_volatile_mem_err_prog_warn_threshold":0,
    "corrected_pmem_err_prog_warn_threshold":0
  },
  "serial":"0",
  "host":"0000:0d:00.0"
}
cxl memdev: cmd_set_alert_config: set alert configuration 1 mem

πŸ‘‘ OPTIONS πŸ‘‘

bestie, here is every flag, no skips:

  • <memory device(s)> β€” a memX device name, or a memdev id number. restrict the operation to the specified memdev(s). the keyword all can be specified to indicate the lack of any restriction ✨
  • -S, --serial β€” instead of a memdev id number, interpret the <memdev> argument(s) as a list of serial numbers πŸ¦‹
  • -L, --life-used-threshold= β€” set <value> for the life used warning alert threshold πŸ’–
  • --life-used-alert= β€” enable or disable the life used warning alert. options are on or off πŸ’…
  • -O, --over-temperature-threshold= β€” set <value> for the device over temperature warning alert threshold πŸ”₯
  • --over-temperature-alert= β€” enable or disable the device over temperature warning alert. options are on or off πŸ”₯
  • -U, --under-temperature-threshold= β€” set <value> for the device under temperature warning alert threshold 🧊
  • --under-temperature-alert= β€” enable or disable the device under temperature warning alert. options are on or off 🧊
  • -V, --volatile-mem-err-threshold= β€” set <value> for the corrected volatile memory error warning alert threshold ⭐
  • --volatile-mem-err-alert= β€” enable or disable the corrected volatile memory error warning alert. options are on or off ⭐
  • -P, --pmem-err-threshold= β€” set <value> for the corrected persistent memory error warning alert threshold 🌈
  • --pmem-err-alert= β€” enable or disable the corrected persistent memory error warning alert. options are on or off 🌈
  • -v, --verbose β€” turn on verbose debug messages in the library (if libcxl was built with logging and debug enabled) 🫢

πŸ“š SEE ALSO πŸ“š

CXL-3.0 8.2.9.8.3.3 β€” go read it, bestie. no cap πŸ’œ


okay bestie, that's the whole page β€” source/version: cxl, date: 2026-06-30, page: CXL-SET-ALERT-CONFIG(1). byeee πŸ«ΆπŸ’–

πŸ“¦ where this page comes from
  • arch rolling: ndctl 85-1 Β· LGPL-2.1-only AND GPL-2.0-only AND CC0-1.0 AND MIT
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms