From 81c14528bf3577e19f1d4f1be152accf3e79cb0d Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Tue, 8 Jun 2021 23:56:13 +0000 Subject: [PATCH] lei pmdir: fix nproc for <= 4 CPUs I forgot my FreeBSD VM has 8 cores, actually, and tweaked the nproc detection on that machine before finalizing commit 10b523eb017162240b1ac3647f8dcbbf2be348a7 ("lei import: speed up repeated Maildir imports") Fixes: 10b523eb01716224 ("lei import: speed up repeated Maildir imports") --- lib/PublicInbox/LeiPmdir.pm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/PublicInbox/LeiPmdir.pm b/lib/PublicInbox/LeiPmdir.pm index 5efb012e..b71efe70 100644 --- a/lib/PublicInbox/LeiPmdir.pm +++ b/lib/PublicInbox/LeiPmdir.pm @@ -13,14 +13,14 @@ use parent qw(PublicInbox::IPC); sub new { my ($cls, $lei, $ipt) = @_; my $self = bless { -wq_ident => 'lei Maildir worker' }, $cls; - my $jobs = $lei->{opt}->{jobs}; + my $jobs = $lei->{opt}->{jobs} // ''; $jobs =~ /\A[0-9]+,([0-9]+)\z/ and $jobs = $1; - my $nproc = $jobs // do { - # untested with >=4 CPUs, though I suspect I/O latency + my $nproc = $jobs || do { + # barely tested with >=4 CPUs, though I suspect I/O latency # of SATA SSD storage will make >=4 processes unnecessary, # here. NVMe users may wish to use '-j' my $n = $self->detect_nproc; - $n = 4 if $n > 4; + $n = $n > 4 ? 4 : $n; }; my ($op_c, $ops) = $lei->workers_start($self, $nproc, undef, { ipt => $ipt }); # LeiInput subclass -- 2.44.0