Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 8 Nov 2022 09:37:35 -0800
From:      Mark Millard <marklmi@yahoo.com>
To:        Archimedes Gaviola <archimedes.gaviola@gmail.com>
Cc:        Ronald Klop <ronald-lists@klop.ws>, freebsd-current <freebsd-current@freebsd.org>
Subject:   Re: 14.0-CURRENT failed to reclaim memory error in RPi 3B build
Message-ID:  <1E33E6A3-ABB8-4804-B2A2-0E95E853C860@yahoo.com>
In-Reply-To: <1722758786.127406.1667909706281@localhost>
References:  <84376CC9-B991-4BF3-AF5F-0AA09CB28339.ref@yahoo.com> <84376CC9-B991-4BF3-AF5F-0AA09CB28339@yahoo.com> <CAJFbk7FfYPSe3eF00HgDdebW70HKp5zKR0JaChTVniUDPG2qxQ@mail.gmail.com> <CA350C16-3604-4D88-9C14-040A45F6F125@yahoo.com> <CAJFbk7Hxvr9gs7GnniWtJ-QEH4yjYbB9S-vKVLjipa8v5VHa%2Bw@mail.gmail.com> <CAJFbk7GQhvgQS-23jFfFf=ershgGNKByHR8ug08Df8merwkh6Q@mail.gmail.com> <A11AA52B-BDB0-43C7-BF85-3C252B276F17@yahoo.com> <CAJFbk7HnFTdzANtdERqvgX30hcHmufAZmrNvbfEWORkUJJ7_3w@mail.gmail.com> <CAJFbk7HJ1WA5Qc0LNEZpKgv78yiM0w7ex=gjgpjjTf3chhHhiQ@mail.gmail.com> <CANCZdfruoDPQE%2ByqebDomg8w7YKCkbFPvrPweJQUqoaOMN3rwA@mail.gmail.com> <1722758786.127406.1667909706281@localhost>

next in thread | previous in thread | raw e-mail | index | archive | help
On Nov 8, 2022, at 04:15, Ronald Klop <ronald-lists@klop.ws> wrote:

> Van: Warner Losh <imp@bsdimp.com>
> Datum: dinsdag, 8 november 2022 04:28
> Aan: Archimedes Gaviola <archimedes.gaviola@gmail.com
> . . .
> ...
> swap_pager: indefinite wait buffer: bufobj: 0, blkno: 256929, size: =
4096
> swap_pager: indefinite wait buffer: bufobj: 0, blkno: 3628, size: 4096
> swap_pager: indefinite wait buffer: bufobj: 0, blkno: 255839, size: =
40960
> pid 46153 (c++), jid 0, uid 0, was killed: a thread waited too long to =
allocate a page
> swap_pager: indefinite wait buffer: bufobj: 0, blkno: 255857, size: =
28672
> swap_pager: indefinite wait buffer: bufobj: 0, blkno: 3634, size: 8192
> swap_pager: indefinite wait buffer: bufobj: 0, blkno: 256037, size: =
4096
> swap_pager: indefinite wait buffer: bufobj: 0, blkno: 255320, size: =
8192
>   This means that paging to the swap partition and/or swap file took =
too long (> 30 seconds... that's all that indefinite means). It also =
means that it can't write to backing store dirty pages to give to =
another process...
>   Typical reason is that the disk / flash is not responsive to writes =
for some reason. You'll need to find why... I'd look at trims.
>   Or.... if you can't change the disk... you need to put less memory =
pressure on it..
>   Warner
>  =20
>=20
>=20
> NB: a way to put less memory pressure on it is not using -j3, but -j2 =
or -j1 in your make command.
>=20

Extending Ronold's comment: If things are really taking this
long for the paging I/O, you might actually find, say, -j2
takes less elapsed time than -j3 because of the latencies
involved in -j3 causing more overall delay.

vm.pfault_oom_attempts=3D-1 would still be appropriate for avoiding
I/O kills at any -jN: the smaller -jN just makes the issue less
likely, not impossible. (Again, presuming sufficient swap/paging
space if deadlock is to be well avoided.)

(I use NVMe or SSD USB media that do not get such long delays but
fit the power limitations of the context. I have about as little
on microsd card media as I can get away with in my context. I also
avoid spinning rust. Thus I've only gotten "indefinite wait buffer"
or the like back before such was true, long ago.)

=3D=3D=3D
Mark Millard
marklmi at yahoo.com




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1E33E6A3-ABB8-4804-B2A2-0E95E853C860>