Re: Restraining poudriere

Michael Gmelin <[email protected]>
Newsgroups gmane.os.freebsd.devel.ports,gmane.os.freebsd.devel.arm
Message-ID <[email protected]>

> On 12. Jun 2021, at 19:31, bob prohaska <[email protected]> wrote:
> 
> In playing with poudriere on raspberry pi 3 and 4 it seems to
> work well on the 8 GB Pi4 but is over-optimistic on the 1 GB Pi3.
> 
> Can poudriere be configured to tackle packages one at a time?

Yes, see poudriere.conf:

# parallel build support.
#
# By default poudriere uses hw.ncpu to determine the number of builders.
# You can override this default by changing PARALLEL_JOBS here, or
# by specifying the -J flag to bulk/testport.
#
# Example to define PARALLEL_JOBS to one single job
# PARALLEL_JOBS=1

-m

> For example, it started to build both sqlite8 and llvm10 at the
> same time. I know the setup in this example  can finish llvm 
> (just barely) with 4 threads and turning off OOMA with 
> vm.pfault_oom_attempts="-1"
> in /boot/loader.conf. The intervals of high swap use are generally
> quite brief, struggling through them seems to reward use of 4 threads.
> 
> With OOMA turned off and 6 GB of swap a poudriere run on 
> 14.0-CURRENT #0 main-n247255-f20893853e8: Wed Jun  9 18:29:07 PDT 2021
> stalled with
> 
> login: swap blk zone exhausted, increase kern.maxswzone
> swblk zone ok
> swap blk zone exhausted, increase kern.maxswzone
> swblk zone ok
> swap blk zone exhausted, increase kern.maxswzone
> swblk zone ok
> swap blk zone exhausted, increase kern.maxswzone
> swblk zone ok
> swap blk zone exhausted, increase kern.maxswzone
> swblk zone ok
> swap blk zone exhausted, increase kern.maxswzone
> swblk zone ok
> swap blk zone exhausted, increase kern.maxswzone
> swblk zone ok
> swap blk zone exhausted, increase kern.maxswzone
> swblk zone ok
> swap blk zone exhausted, increase kern.maxswzone
> Jun 12 09:17:09 www kernel: pid 1044 (sh), jid 0, uid 0, was killed: out of swap space
> Jun 12 09:17:40 www kernel: pid 2145 (cc), jid 23, uid 65534, was killed: out of swap space
> Jun 12 09:17:40 www syslogd: last message repeated 1 times
> Jun 12 09:18:38 www kernel: pid 2179 (sh), jid 0, uid 0, was killed: out of swap space
> swblk zone ok
> swap blk zone exhausted, increase kern.maxswzone
> Jun 12 09:20:00 www kernel: pid 2180 (cron), jid 0, uid 0, was killed: out of swap space
> Jun 12 09:22:13 www kernel: pid 2181 (sshd), jid 0, uid 0, was killed: out of swap space
> 
> Despite killing processes, the machine remains unresponsive short of calling
> the debugger. A backtrace reports
> 
> KDB: enter: Break to debugger
> [ thread pid 11 tid 100003 ]
> Stopped at      kdb_alt_break_internal+0x1a8:   undefined       f904411f
> db> bt
> Tracing pid 11 tid 100003 td 0xffffa00000bf4580
> db_trace_self() at db_trace_self
> db_stack_trace() at db_stack_trace+0x11c
> db_command() at db_command+0x244
> db_command_loop() at db_command_loop+0x54
> db_trap() at db_trap+0xf8
> kdb_trap() at kdb_trap+0x1c4
> handle_el1h_sync() at handle_el1h_sync+0x74
> --- exception, esr 0xf2000000
> kdb_alt_break_internal() at kdb_alt_break_internal+0x1a8
> kdb_alt_break() at kdb_alt_break+0xc
> uart_intr_rxready() at uart_intr_rxready+0x88
> uart_intr() at uart_intr+0x128
> intr_event_handle() at intr_event_handle+0xf4
> intr_isrc_dispatch() at intr_isrc_dispatch+0x74
> bcm2835_intc_intr() at bcm2835_intc_intr+0xa0
> intr_event_handle() at intr_event_handle+0xf4
> intr_isrc_dispatch() at intr_isrc_dispatch+0x74
> bcm_lintc_intr() at bcm_lintc_intr+0x1d4
> intr_irq_handler() at intr_irq_handler+0x80
> handle_el1h_irq() at handle_el1h_irq+0x70
> --- interrupt
> cpu_idle() at cpu_idle+0x74
> sched_idletd() at sched_idletd+0x164
> fork_exit() at fork_exit+0x74
> fork_trampoline() at fork_trampoline+0x14
> db>  
> 
> Persuading poudriere to bite off packages one at a time would help, 
> if it's possible. I'm game to try increasing kern.maxswzone, but
> given the Pi3's i/o limitations that seems unlikely to help much.
> 
> Thanks for reading!
> 
> bob prohaska
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.