diff options
author | Eric Wong <e@80x24.org> | 2019-01-05 21:52:57 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2019-01-05 23:17:39 +0000 |
commit | 9427c808130255911dd3e4eee99b6f2c1cc42066 (patch) | |
tree | 4d3045140408eb6f475551613c07007f08b030a8 /lib/PublicInbox/Git.pm | |
parent | 789ac5b0119d8d878380bbe8b3de4c7630460148 (diff) | |
download | public-inbox-9427c808130255911dd3e4eee99b6f2c1cc42066.tar.gz |
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.
Diffstat (limited to 'lib/PublicInbox/Git.pm')
-rw-r--r-- | lib/PublicInbox/Git.pm | 4 |
1 files changed, 4 insertions, 0 deletions
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) }; |