HUAWEI CLOUD EULEROS-内核异常事件分析指南:RCU(Read-Copy Update) stall

时间:2024-10-21 14:51:08

RCU(Read-Copy Update) stall

RCU stall是一种rcu宽限期内rcu相关内核线程没有得到调度的异常。

  • 原理

    在RCU机制中,reader不用等待,可以任意读取数据,RCU记录reader的信息;writer更新数据时,先复制一份副本,在副本上完成修改,等待所有reader退出后,再一次性地替换旧数据。

    writer需要等所有reader都停止引用“旧数据”才能替换旧数据。这相当于给了这些reader一个优雅退出的宽限期,这个等待的时间被称为grace-period,简称GP。

    当reader长时间没有退出,writer等待的时间超过宽限期时,即上报RCU Stall。

  • 触发方法

    内核在Documentation/RCU/stallwarn.txt文档列出了可能触发RCU stall的场景:cpu在rcu reader临界区一直循环,cpu在关闭中断或关闭抢占场景中一直循环等。

support.huaweicloud.com/usermanual-hce/hce_02_0075.html