• D
    ACPI/APEI: Limit printable size of BERT table data · 3f8dec11
    Darren Hart 提交于
    Platforms with large BERT table data can trigger soft lockup errors
    while attempting to print the entire BERT table data to the console at
    boot:
    
      watchdog: BUG: soft lockup - CPU#160 stuck for 23s! [swapper/0:1]
    
    Observed on Ampere Altra systems with a single BERT record of ~250KB.
    
    The original bert driver appears to have assumed relatively small table
    data. Since it is impractical to reassemble large table data from
    interwoven console messages, and the table data is available in
    
      /sys/firmware/acpi/tables/data/BERT
    
    limit the size for tables printed to the console to 1024 (for no reason
    other than it seemed like a good place to kick off the discussion, would
    appreciate feedback from existing users in terms of what size would
    maintain their current usage model).
    
    Alternatively, we could make printing a CONFIG option, use the
    bert_disable boot arg (or something similar), or use a debug log level.
    However, all those solutions require extra steps or change the existing
    behavior for small table data. Limiting the size preserves existing
    behavior on existing platforms with small table data, and eliminates the
    soft lockups for platforms with large table data, while still making it
    available.
    Signed-off-by: NDarren Hart <darren@os.amperecomputing.com>
    Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
    3f8dec11
bert.c 4.0 KB