[patch] deadlock in vm_reserv_reclaim_contig()

Alan Cox alc at rice.edu
Sat Apr 11 17:57:17 UTC 2015


On 04/10/2015 04:11, Svatopluk Kraus wrote:
> 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.
>

The patch looks correct.  I'm just going to tweak the comment, and then
I'll commit it.




More information about the freebsd-current mailing list