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/EvCleanup.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/EvCleanup.pm')
-rw-r--r-- | lib/PublicInbox/EvCleanup.pm | 4 |
1 files changed, 4 insertions, 0 deletions
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; |