Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 11 Apr 2015 12:57:13 -0500
From:      Alan Cox <alc@rice.edu>
To:        Svatopluk Kraus <onwahe@gmail.com>, freebsd-current@freebsd.org, alc@freebsd.org
Subject:   Re: [patch] deadlock in vm_reserv_reclaim_contig()
Message-ID:  <55296079.2010104@rice.edu>
In-Reply-To: <CAFHCsPWEhugZP6ZyFLD%2Bf-h721HBmY-7FzJdRV0yj3b0VH6N8A@mail.gmail.com>
References:  <CAFHCsPWEhugZP6ZyFLD%2Bf-h721HBmY-7FzJdRV0yj3b0VH6N8A@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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 >=3D n.
>

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





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?55296079.2010104>