Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Nov 2016 19:22:40 +0300
From:      Slawa Olhovchenkov <slw@zxy.spb.ru>
To:        Konstantin Belousov <kostikbel@gmail.com>
Cc:        Fabian Keil <freebsd-listen@fabiankeil.de>, freebsd-hackers@freebsd.org, David Cross <dcrosstech@gmail.com>
Subject:   Re: FreeBSD 11 i386 disk deadlock (I think) (now with reproduction steps!)
Message-ID:  <20161128162240.GM99742@zxy.spb.ru>
In-Reply-To: <20161128160311.GQ54029@kib.kiev.ua>
References:  <CAM9edeMYMhnkWid7Lig5D-FjhahniFm0VbFRm8ysyb85h29wXg@mail.gmail.com> <20161128041847.GA65249@charmander> <20161128120046.GP54029@kib.kiev.ua> <CAM9edeNDWcJ7R_%2B_Q%2BMksVcL_pcJVR%2BO7t98s5XyfmOpXgc-zw@mail.gmail.com> <20161128144135.10f93205@fabiankeil.de> <20161128160311.GQ54029@kib.kiev.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
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@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.



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