openEuler 论坛
truncate_inode_pages_range可能导致进程间死锁
Kernel
qa-提问求助
qinwei
(Qinwei)
2024 年9 月 26 日 09:03
1
图片一进程淘汰inode对应的一批page,图片二采用缓存读取一批page
出现两个进程都进入D状态。
怀疑这个两个进程分别拿着对方想要的page锁,出现死锁。
image
1659×348 33.4 KB
对比了openeuler 2203版本的truncate_inode_pages_range函数实现和linux-5.10内核版本的实现。
openeuler 通过find_lock_entries函数获取批量page lock,感觉存在死锁的可能性。