about summary refs log tree commit homepage
path: root/lib/PublicInbox/V2Writable.pm
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2019-01-05 21:52:57 +0000
committerEric Wong <e@80x24.org>2019-01-05 23:17:39 +0000
commit9427c808130255911dd3e4eee99b6f2c1cc42066 (patch)
tree4d3045140408eb6f475551613c07007f08b030a8 /lib/PublicInbox/V2Writable.pm
parent789ac5b0119d8d878380bbe8b3de4c7630460148 (diff)
downloadpublic-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/V2Writable.pm')
-rw-r--r--lib/PublicInbox/V2Writable.pm3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/PublicInbox/V2Writable.pm b/lib/PublicInbox/V2Writable.pm
index 0a304aae..fbab8f70 100644
--- a/lib/PublicInbox/V2Writable.pm
+++ b/lib/PublicInbox/V2Writable.pm
@@ -243,6 +243,9 @@ sub idx_init {
 
         if ($self->{parallel}) {
                 pipe(my ($r, $w)) or die "pipe failed: $!";
+                # pipe for barrier notifications doesn't need to be big,
+                # 1031: F_SETPIPE_SZ
+                fcntl($w, 1031, 4096) if $^O eq 'linux';
                 $self->{bnote} = [ $r, $w ];
                 $w->autoflush(1);
         }