锁的使用不当往往会导致死机异常:
之前碰到过一例
[2021:11:18 15:28:05](1)BUG: scheduling while atomic: Binder:1199_2/5201/0x00000002
[2021:11:18 15:28:05](1)------------[ cut here ]------------
[2021:11:18 15:28:05](1)kernel BUG at kernel/sched/walt/walt_debug.c:16!
[2021:11:18 15:28:05](1)pc : android_rvh_schedule_bug+0x4/0x8 [sched_walt_debug]
[2021:11:18 15:28:05](1)lr : __schedule_bug+0x100/0x138
[2021:11:18 15:28:05](1)Call trace:
[2021:11:18 15:28:05](1) android_rvh_schedule_bug+0x4/0x8 [sched_walt_debug]
[2021:11:18 15:28:05](1) __schedule+0x6a0/0xacc
[2021:11:18 15:28:05](1)

本文分析了由于锁使用不当引起的Android设备死机异常,详细解读了错误日志,指出在原子状态下执行调度命令是不允许的。通过案例讲解了一个错误的加解锁操作可能导致的竞态条件,并提出了优化建议,强调锁应用于保护临界区,而非控制其加解锁行为,特别是在多核系统中避免并发问题。
3592

被折叠的 条评论
为什么被折叠?



