From 9427c808130255911dd3e4eee99b6f2c1cc42066 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 5 Jan 2019 21:52:57 +0000 Subject: shrink low-bandwidth pipes under Linux I've hit /proc/sys/fs/pipe-user-pages-* limits on some systems. So stop hogging resources on pipes which don't benefit from giant sizes. Some of these can use eventfd in the future to further reduce resource use. --- lib/PublicInbox/Git.pm | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'lib/PublicInbox/Git.pm') diff --git a/lib/PublicInbox/Git.pm b/lib/PublicInbox/Git.pm index 95df52ed..16117277 100644 --- a/lib/PublicInbox/Git.pm +++ b/lib/PublicInbox/Git.pm @@ -37,6 +37,10 @@ sub _bidi_pipe { pipe($in_r, $in_w) or fail($self, "pipe failed: $!"); pipe($out_r, $out_w) or fail($self, "pipe failed: $!"); + if ($^O eq 'linux') { # 1031: F_SETPIPE_SZ + fcntl($out_w, 1031, 4096); + fcntl($in_w, 1031, 4096) if $batch eq '--batch-check'; + } my @cmd = ('git', "--git-dir=$self->{git_dir}", qw(cat-file), $batch); my $redir = { 0 => fileno($out_r), 1 => fileno($in_w) }; -- cgit v1.2.3-24-ge0c7