• Bhaskar Upadhaya's avatar
    apei/ghes: Do not delay GHES polling · cea79e7e
    Bhaskar Upadhaya authored
    Currently, the ghes_poll_func() timer callback is registered with the
    TIMER_DEFERRABLE flag. Thus, it is run when the CPU eventually wakes
    up together with a subsequent non-deferrable timer and not at the precisely
    configured polling interval.
    
    For polling mode, the polling interval configured by firmware should not
    be exceeded according to the ACPI spec 6.3, Table 18-394. The definition
    of the polling interval is:
    
    "Indicates the poll interval in milliseconds OSPM should use to
     periodically check the error source for the presence of an error
     condition."
    
    If this interval is extended due to the timer callback deferring, error
    records can get lost. Which we are observing on our ThunderX2 platforms.
    
    Therefore, remove the TIMER_DEFERRABLE flag so that the timer callback
    executes at the precise interval.
    Signed-off-by: default avatarBhaskar Upadhaya <bupadhaya@marvell.com>
    [ bp: Subject & changelog ]
    Acked-by: default avatarBorislav Petkov <bp@suse.de>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    cea79e7e
ghes.c 34.8 KB