FreeBSD 11 i386 disk deadlock (I think) (now with reproduction steps!)
Slawa Olhovchenkov
slw at zxy.spb.ru
Mon Nov 28 16:57:24 UTC 2016
On Mon, Nov 28, 2016 at 06:03:11PM +0200, Konstantin Belousov wrote:
> On Mon, Nov 28, 2016 at 02:43:30PM +0100, Fabian Keil wrote:
> > David Cross <dcrosstech at gmail.com> wrote:
> >
> > > This is certainly new behavior, or a new manifestation.
> >
> > Recently a couple of uma consumers were changed to share uma zones
> > instead of using a dedicated zone. As a result geli competes with
> > more uma consumers and is more likely to deadlock. The bug isn't
> > new, it's just triggered more often now.
> The problem happens on layer much lower than UMA, it is whole reusable
> page pool which is depleted and cannot be re-filled without allocating
> more memory. If you think about it, the deadlock is obviously trivial:
> pagedaemon is the main source of the free pages, but if producing free
> page requires allocating one, low memory condition is equal to deadlock.
>
> It was always there, in the sense that for all versions of freebsd, if
> file/disk write path requires memory allocation, there is the trouble.
>
> For geom, some special unique measures were taken so that bio allocations
> do not cause the issue in typical situations.
Typical workaround for this is pre-allocate some memory for this
operation.
More information about the freebsd-hackers
mailing list