]> git.ipfire.org Git - thirdparty/apache/httpd.git/commit
mpm_event, mod_status: Separate processing and write completion queues.
authorYann Ylavic <ylavic@apache.org>
Sat, 1 Jun 2024 15:08:46 +0000 (15:08 +0000)
committerYann Ylavic <ylavic@apache.org>
Sat, 1 Jun 2024 15:08:46 +0000 (15:08 +0000)
commitd821182d76394cb38d5c80d447a66c1be23dc46c
treefd4fd17cf51c9011b7041ebf9643f82efae8fdde
parent3cf40d93a9e0d6fa3401f326e4e447cafbc5b604
mpm_event, mod_status: Separate processing and write completion queues.

As a follow up to r1918022 which handled the new CONN_STATE_PROCESS(ing) and
existing CONN_STATE_WRITE_COMPLETION in the same async queue, let's now have
two separates ones which allows more relevant async accounting in mod_status.

Rename CONN_STATE_PROCESS to CONN_STATE_PROCESSING as it's how it will be
called in mod_status.

* include/ap_mmn.h:
  MMN minor bump for process_score->processing counter.

* include/httpd.h:
  Rename CONN_STATE_PROCESS to CONN_STATE_PROCESSING.

* include/scoreboard.h:
  Add process_score->processing field.

* include/httpd.h, modules/http/http_core.c, modules/http2/h2_c1.c,
    server/mpm/event/event.c, server/mpm/motorz/motorz.c,
    server/mpm/simple/simple_io.c:
  Rename CONN_STATE_PROCESS to CONN_STATE_PROCESSING.

* server/mpm/event/event.c:
  Restore write_completion_q to handle connections in CONN_STATE_WRITE_COMPLETION.
  Use processing_q (renamed from process_q) solely for CONN_STATE_PROCESSING.
  Update process_score->processing according to the length of processing_q.

* modules/generators/mod_status.c:
  Show the value of process_score->processing in the stats.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918098 13f79535-47bb-0310-9956-ffa450edef68
include/ap_mmn.h
include/httpd.h
include/scoreboard.h
modules/generators/mod_status.c
modules/http/http_core.c
modules/http2/h2_c1.c
modules/lua/lua_request.c
server/mpm/event/event.c
server/mpm/motorz/motorz.c
server/mpm/simple/simple_io.c