
martin at varnish-software
Jan 22, 2012, 9:53 AM
Post #1 of 1
(61 views)
Permalink
|
|
[PATCH 17/25] Add a run-time parameter for stream fetch thread grab timeout.
|
|
--- bin/varnishd/cache/cache_center.c | 4 +--- bin/varnishd/common/params.h | 1 + bin/varnishd/mgt/mgt_param.c | 6 ++++++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/bin/varnishd/cache/cache_center.c b/bin/varnishd/cache/cache_center.c index 23b5f71..aaab4fd 100644 --- a/bin/varnishd/cache/cache_center.c +++ b/bin/varnishd/cache/cache_center.c @@ -1041,9 +1041,7 @@ cnt_streambody(struct sess *sp, struct worker *wrk, struct req *req) wrk->busyobj->fetch_obj = req->obj; http_Setup(wrk->busyobj->bereq, NULL); http_Setup(wrk->busyobj->beresp, NULL); - wrk_ex = SES_GrabWorker(sp, 100); /* MBGXXX: Configurable - * thread grabbing - * timeout */ + wrk_ex = SES_GrabWorker(sp, cache_param->stream_grab_timeout); if (wrk_ex != NULL) wrk->busyobj->use_locks = 1; if (req->obj->objcore != NULL) { diff --git a/bin/varnishd/common/params.h b/bin/varnishd/common/params.h index f0445ae..f726ce8 100644 --- a/bin/varnishd/common/params.h +++ b/bin/varnishd/common/params.h @@ -99,6 +99,7 @@ struct params { ssize_t fetch_chunksize; ssize_t fetch_maxchunksize; ssize_t stream_maxchunksize; + unsigned stream_grab_timeout; unsigned nuke_limit; #ifdef SENDFILE_WORKS diff --git a/bin/varnishd/mgt/mgt_param.c b/bin/varnishd/mgt/mgt_param.c index 227ea3a..9b1467f 100644 --- a/bin/varnishd/mgt/mgt_param.c +++ b/bin/varnishd/mgt/mgt_param.c @@ -846,6 +846,12 @@ static const struct parspec input_parspec[] = { "data available.\n", EXPERIMENTAL, "256k", "bytes" }, + { "stream_grab_timeout", + tweak_uint, &mgt_param.stream_grab_timeout, 0, UINT_MAX, + "Wait at most this long for an idle worker to appear when " + "grabbing a thread for background fetch.\n", + EXPERIMENTAL, + "100", "milliseconds" }, #ifdef SENDFILE_WORKS { "sendfile_threshold", tweak_bytes, &mgt_param.sendfile_threshold, 0, HUGE_VAL, -- 1.7.4.1 _______________________________________________ varnish-dev mailing list varnish-dev [at] varnish-cache https://www.varnish-cache.org/lists/mailman/listinfo/varnish-dev
|