summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
authorMark Michelson <mmichelson@digium.com>2015-11-13 14:19:35 -0600
committerMark Michelson <mmichelson@digium.com>2015-11-13 15:33:20 -0500
commit4f43b85c92050c8deba7041e687404228294d920 (patch)
tree8f8a44889c2082c9de901a4a906863298567e66e /main
parent367972e42d1a5f73d8bb4abacd4c681fc77dcd24 (diff)
Taskprocessors: Increase high-water mark
In practical tests, we have seen certain taskprocessors, specifically Stasis subscription taskprocessors, cross the recently-added high-water mark and emit a warning. This high-water mark warning is only intended to be emitted when things have tanked on the system and things are heading south quickly. In the practical tests, the Stasis taskprocessors sometimes had a max depth of 180 tasks in them, and Asterisk wasn't in any danger at all. As such, this ups the high-water mark to 500 tasks instead. It also redefines the SIP threadpool request denial number to be a multiple of the taskprocessor high-water mark. Change-Id: Ic8d3e9497452fecd768ac427bb6f58aa616eebce
Diffstat (limited to 'main')
-rw-r--r--main/taskprocessor.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/main/taskprocessor.c b/main/taskprocessor.c
index eefa85f61..7c50089f2 100644
--- a/main/taskprocessor.c
+++ b/main/taskprocessor.c
@@ -713,8 +713,6 @@ void *ast_taskprocessor_unreference(struct ast_taskprocessor *tps)
return NULL;
}
-#define HIGH_WATER_LEVEL 100
-
/* push the task into the taskprocessor queue */
static int taskprocessor_push(struct ast_taskprocessor *tps, struct tps_task *t)
{
@@ -735,7 +733,7 @@ static int taskprocessor_push(struct ast_taskprocessor *tps, struct tps_task *t)
AST_LIST_INSERT_TAIL(&tps->tps_queue, t, list);
previous_size = tps->tps_queue_size++;
- if (previous_size >= HIGH_WATER_LEVEL && !tps->high_water_warned) {
+ if (previous_size >= AST_TASKPROCESSOR_HIGH_WATER_LEVEL && !tps->high_water_warned) {
ast_log(LOG_WARNING, "The '%s' task processor queue reached %d scheduled tasks.\n",
tps->name, previous_size);
tps->high_water_warned = 1;