How to debug stuck read?
davispuh at gmail.com
Sun Feb 6 20:22:06 EST 2022
pirmd., 2022. g. 7. febr., plkst. 03:06 — lietotājs Matthew Wilcox
(<willy at infradead.org>) rakstīja:
> I can't think of a way to solve that. We can't know whether a dying task
> "was going to" unlock a page. So we have a locked page in the page cache
> that nobody will ever unlock. We can't remove it, because we don't know
> that task died. We can't start I/O on it again, because it looks like
> I/O is already in progress.
> I think the only answer is "Don't ignore stack dumps in dmesg".
So looks like this is the conclusion of current state.
> We can't remove it, because we don't know that task died.
This seems pretty bad, maybe if there was build time option that
enables logging (eg. PID and lock time) for locked pages it could help
with debugging this and maybe allow even to force unlock. But then
again since there should be stack dump and I guess this is very rare
case of happening maybe it's not worth it.
More information about the Kernelnewbies