什么是VM_BUG_ON_PAGE(PageLRU(页面)|| PageUnevictable(页面))?

问题描述 投票:0回答:1

[   19.492487] page dumped because: VM_BUG_ON_PAGE(PageLRU(page) || PageUnevictable(page))
[   19.500551] page->mem_cgroup:be008c00
[   19.504226] ------------[ cut here ]------------ //kernel panic here
[   19.508851] kernel BUG at mm/vmscan.c:1350!
[   19.513032] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM

请让我知道它的错误信息是什么意思?

memory-management linux-kernel crash kernel embedded-linux
1个回答
1
投票

这意味着,您请求的页面被另一个进程锁定。因此该页面上是不可用的标志。

例如。

如果保留了512MB的CMA区域,从CMA区域开始,任何进程都可以使用页面(只有MOVABLE PAGES),如果进程从cma区域获取页面作为可移动页面,但在获取页面后使用mlock()锁定(VM_LOCKED)该页面,但是当请求CMA区域时,连续的是无法迁移该锁定/固定页面。

它是稳定的内核bug(4.12+):patch-link

© www.soinside.com 2019 - 2024. All rights reserved.