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/EvCleanup.pm | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'lib/PublicInbox/EvCleanup.pm') diff --git a/lib/PublicInbox/EvCleanup.pm b/lib/PublicInbox/EvCleanup.pm index 1a3a3d5e..1a2bdb29 100644 --- a/lib/PublicInbox/EvCleanup.pm +++ b/lib/PublicInbox/EvCleanup.pm @@ -19,7 +19,11 @@ my $laterq = [ [], undef ]; sub once_init () { my $self = fields::new('PublicInbox::EvCleanup'); my ($r, $w); + + # This is a dummy pipe which is always writable so it can always + # fires in the next event loop iteration. pipe($r, $w) or die "pipe: $!"; + fcntl($w, 1031, 4096) if $^O eq 'linux'; # 1031: F_SETPIPE_SZ $self->SUPER::new($w); $self->{rd} = $r; # never read, since we never write.. $self; -- cgit v1.2.3-24-ge0c7