unicorn Ruby/Rack server user+dev discussion/patches/pulls/bugs/help
 help / color / mirror / code / Atom feed
From: Eric Wong <bofh@yhbt.net>
To: unicorn-public@yhbt.net
Subject: [PATCH 0/6] reduce thundering herds on Linux 4.5+
Date: Fri,  1 Oct 2021 03:09:17 +0000	[thread overview]
Message-ID: <20211001030923.26705-1-bofh@yhbt.net> (raw)

1-5 are straightforward changes, with 4+5 are probably
being long overdue.

PATCH 6/6 is fairly significant (more detail in that message),
but doesn't benefit completely saturated instances, either.
I don't know if completely saturated instances are that common,
actually...

Yup, unicorn using epoll: WTF :P

Eric Wong (6):
  extconf.rb: get rid of unnecessary checks
  makefile: reduce unnecessary rebuilds
  HACKING: drop outdated information about pandoc
  http_server: get rid of Process.ppid check
  worker_loop: get rid of select() avoidance hack
  use EPOLLEXCLUSIVE on Linux 4.5+

 GNUmakefile                       |   4 +-
 HACKING                           |   7 --
 ext/unicorn_http/c_util.h         |  18 ++---
 ext/unicorn_http/epollexclusive.h | 125 ++++++++++++++++++++++++++++++
 ext/unicorn_http/ext_help.h       |  24 ------
 ext/unicorn_http/extconf.rb       |   6 +-
 ext/unicorn_http/httpdate.c       |   1 +
 ext/unicorn_http/unicorn_http.rl  |   3 +
 lib/unicorn/http_server.rb        |  45 +++++------
 lib/unicorn/select_waiter.rb      |   6 ++
 t/test-lib.sh                     |   3 +-
 test/unit/test_waiter.rb          |  34 ++++++++
 12 files changed, 199 insertions(+), 77 deletions(-)
 create mode 100644 ext/unicorn_http/epollexclusive.h
 create mode 100644 lib/unicorn/select_waiter.rb
 create mode 100644 test/unit/test_waiter.rb

             reply	other threads:[~2021-10-01  3:09 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-01  3:09 Eric Wong [this message]
2021-10-01  3:09 ` [PATCH 1/6] extconf.rb: get rid of unnecessary checks Eric Wong
2021-10-01  3:09 ` [PATCH 2/6] makefile: reduce unnecessary rebuilds Eric Wong
2021-10-01  3:09 ` [PATCH 3/6] HACKING: drop outdated information about pandoc Eric Wong
2021-10-01  3:09 ` [PATCH 4/6] http_server: get rid of Process.ppid check Eric Wong
2021-10-01  3:09 ` [PATCH 5/6] worker_loop: get rid of select() avoidance hack Eric Wong
2021-10-01  3:09 ` [PATCH 6/6] use EPOLLEXCLUSIVE on Linux 4.5+ Eric Wong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://yhbt.net/unicorn/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211001030923.26705-1-bofh@yhbt.net \
    --to=bofh@yhbt.net \
    --cc=unicorn-public@yhbt.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://yhbt.net/unicorn.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).