Commit 841596c7 authored by Poul-Henning Kamp's avatar Poul-Henning Kamp

Split the worker thread workspace size out into its own parameter

"thread_pool_workspace"
parent 6edf9c37
......@@ -123,6 +123,7 @@ wrk_thread_real(struct wq *qp, unsigned shm_workspace, unsigned sess_workspace,
{
struct worker *w, ww;
uint32_t wlog[shm_workspace / 4];
/* XXX: can we trust these to be properly aligned ? */
unsigned char ws[sess_workspace];
unsigned char http0[http_space];
unsigned char http1[http_space];
......@@ -230,7 +231,7 @@ wrk_thread(void *priv)
siov = IOV_MAX;
return (wrk_thread_real(qp,
params->shm_workspace,
params->sess_workspace,
params->wthread_workspace,
nhttp, HTTP_estimate(nhttp), siov));
}
......
......@@ -90,6 +90,7 @@ struct params {
unsigned wthread_purge_delay;
unsigned wthread_stats_rate;
unsigned wthread_stacksize;
unsigned wthread_workspace;
unsigned queue_max;
......
......@@ -227,5 +227,16 @@ const struct parspec WRK_parspec[] = {
"many threads into the limited address space.\n",
EXPERIMENTAL,
"-1", "bytes" },
{ "thread_pool_workspace", tweak_uint, &master.wthread_workspace,
1024, UINT_MAX,
"Bytes of HTTP protocol workspace allocated for worker "
"threads. "
"This space must be big enough for the backend request "
"and responses, and response to the client plus any other "
"memory needs in the VCL code."
"Minimum is 1024 bytes.",
DELAYED_EFFECT,
"65536",
"bytes" },
{ NULL, NULL, NULL }
};
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment