[patch] deadlock in vm_reserv_reclaim_contig()

From: Svatopluk Kraus <onwahe_at_gmail.com>
Date: Fri, 10 Apr 2015 11:11:42 +0200
Hi,

my RPI-B has been stuck in vm_reserv_reclaim_contig() due to a bug
within that function. I can reproduce that easily on my two-core
pandaboard when I limit all memory in system to 128MiB and run "make
-j16 kernel-toolchain". It happens in few seconds.

The patch should be self-explanatory. The problem is that there is a
free page found in reservation which does not fulfill alignment
requirement, thus next free page should be looked for. However, due to
the bug, the same free page is found out again and again.

The patch takes into account that shift by m on n-bit arch has an
undefined behaviour if m >= n.

Svatopluk Kraus

Received on Fri Apr 10 2015 - 07:11:43 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:56 UTC