r3701 - branches/2.0/varnish-cache/bin/varnishd
tfheen at projects.linpro.no
tfheen at projects.linpro.no
Mon Feb 9 13:32:54 CET 2009
Author: tfheen
Date: 2009-02-09 13:32:54 +0100 (Mon, 09 Feb 2009)
New Revision: 3701
Modified:
branches/2.0/varnish-cache/bin/varnishd/cache.h
branches/2.0/varnish-cache/bin/varnishd/cache_center.c
branches/2.0/varnish-cache/bin/varnishd/cache_pipe.c
branches/2.0/varnish-cache/bin/varnishd/cache_response.c
branches/2.0/varnish-cache/bin/varnishd/cache_session.c
branches/2.0/varnish-cache/bin/varnishd/cache_vrt_esi.c
Log:
Merge r3512:
Originally we shaved 64 bytes from the session to the worker thread
by keeping the current requests accounting stats in the worker thread.
For reasons which will be explained in the next commit, this is no
longer a good idea, and this commit moves these counters from
the worker thread to the session at a slight but all in all
trivial cost in memory footprint.
Remove the call to SES_Charge() when we hit a busy object, it is
not necessary to clean the worker thread counters here now.
Move these counters from the worker thread to the see
Modified: branches/2.0/varnish-cache/bin/varnishd/cache.h
===================================================================
--- branches/2.0/varnish-cache/bin/varnishd/cache.h 2009-02-09 12:28:16 UTC (rev 3700)
+++ branches/2.0/varnish-cache/bin/varnishd/cache.h 2009-02-09 12:32:54 UTC (rev 3701)
@@ -199,7 +199,6 @@
struct VCL_conf *vcl;
struct srcaddr *srcaddr;
- struct acct acct;
unsigned char *wlb, *wlp, *wle;
unsigned wlr;
@@ -370,6 +369,7 @@
struct workreq workreq;
struct acct acct;
+ struct acct acct_req;
/* pointers to hash string components */
unsigned nhashptr;
Modified: branches/2.0/varnish-cache/bin/varnishd/cache_center.c
===================================================================
--- branches/2.0/varnish-cache/bin/varnishd/cache_center.c 2009-02-09 12:28:16 UTC (rev 3700)
+++ branches/2.0/varnish-cache/bin/varnishd/cache_center.c 2009-02-09 12:32:54 UTC (rev 3701)
@@ -427,7 +427,7 @@
EXP_Insert(sp->obj);
HSH_Unbusy(sp);
}
- sp->wrk->acct.fetch++;
+ sp->acct_req.fetch++;
sp->step = STP_DELIVER;
return (0);
}
@@ -457,7 +457,7 @@
/* Receive a HTTP protocol request */
HTC_Init(sp->htc, sp->ws, sp->fd);
sp->wrk->lastused = sp->t_open;
- sp->wrk->acct.sess++;
+ sp->acct_req.sess++;
SES_RefSrcAddr(sp);
do
i = HTC_Rx(sp->htc);
@@ -591,7 +591,6 @@
if (params->diag_bitmap & 0x20)
WSP(sp, SLT_Debug,
"on waiting list <%s>", sp->objhead->hash);
- SES_Charge(sp);
return (1);
}
@@ -721,7 +720,7 @@
return (0);
}
assert(sp->handling == VCL_RET_PASS);
- sp->wrk->acct.pass++;
+ sp->acct_req.pass++;
HSH_Prealloc(sp);
sp->obj = sp->wrk->nobj;
sp->wrk->nobj = NULL;
@@ -763,7 +762,7 @@
CHECK_OBJ_NOTNULL(sp, SESS_MAGIC);
CHECK_OBJ_NOTNULL(sp->vcl, VCL_CONF_MAGIC);
- sp->wrk->acct.pipe++;
+ sp->acct_req.pipe++;
http_FilterHeader(sp, HTTPH_R_PIPE);
VCL_pipe_method(sp);
@@ -871,7 +870,7 @@
VSL_stats->client_req++; /* XXX not locked */
sp->t_req = TIM_real();
sp->wrk->lastused = sp->t_req;
- sp->wrk->acct.req++;
+ sp->acct_req.req++;
/* Assign XID and log */
sp->xid = ++xids; /* XXX not locked */
Modified: branches/2.0/varnish-cache/bin/varnishd/cache_pipe.c
===================================================================
--- branches/2.0/varnish-cache/bin/varnishd/cache_pipe.c 2009-02-09 12:28:16 UTC (rev 3700)
+++ branches/2.0/varnish-cache/bin/varnishd/cache_pipe.c 2009-02-09 12:32:54 UTC (rev 3701)
@@ -84,10 +84,10 @@
TCP_blocking(vc->fd);
WRW_Reserve(w, &vc->fd);
- w->acct.hdrbytes += http_Write(w, bereq->http, 0);
+ sp->acct_req.hdrbytes += http_Write(w, bereq->http, 0);
if (sp->htc->pipeline.b != NULL)
- w->acct.bodybytes +=
+ sp->acct_req.bodybytes +=
WRW_Write(w, sp->htc->pipeline.b, Tlen(sp->htc->pipeline));
if (WRW_FlushRelease(w)) {
Modified: branches/2.0/varnish-cache/bin/varnishd/cache_response.c
===================================================================
--- branches/2.0/varnish-cache/bin/varnishd/cache_response.c 2009-02-09 12:28:16 UTC (rev 3700)
+++ branches/2.0/varnish-cache/bin/varnishd/cache_response.c 2009-02-09 12:32:54 UTC (rev 3701)
@@ -140,7 +140,7 @@
WRW_Reserve(sp->wrk, &sp->fd);
if (sp->esis == 0)
- sp->wrk->acct.hdrbytes += http_Write(sp->wrk, sp->http, 1);
+ sp->acct_req.hdrbytes += http_Write(sp->wrk, sp->http, 1);
if (sp->wantbody && !VTAILQ_EMPTY(&sp->obj->esibits)) {
if (WRW_FlushRelease(sp->wrk)) {
@@ -161,7 +161,7 @@
CHECK_OBJ_NOTNULL(sp, SESS_MAGIC);
CHECK_OBJ_NOTNULL(st, STORAGE_MAGIC);
u += st->len;
- sp->wrk->acct.bodybytes += st->len;
+ sp->acct_req.bodybytes += st->len;
#ifdef SENDFILE_WORKS
/*
* XXX: the overhead of setting up sendfile is not
Modified: branches/2.0/varnish-cache/bin/varnishd/cache_session.c
===================================================================
--- branches/2.0/varnish-cache/bin/varnishd/cache_session.c 2009-02-09 12:28:16 UTC (rev 3700)
+++ branches/2.0/varnish-cache/bin/varnishd/cache_session.c 2009-02-09 12:32:54 UTC (rev 3701)
@@ -222,7 +222,7 @@
void
SES_Charge(struct sess *sp)
{
- struct acct *a = &sp->wrk->acct;
+ struct acct *a = &sp->acct_req;
struct acct b;
ses_sum_acct(&sp->acct, a);
Modified: branches/2.0/varnish-cache/bin/varnishd/cache_vrt_esi.c
===================================================================
--- branches/2.0/varnish-cache/bin/varnishd/cache_vrt_esi.c 2009-02-09 12:28:16 UTC (rev 3700)
+++ branches/2.0/varnish-cache/bin/varnishd/cache_vrt_esi.c 2009-02-09 12:32:54 UTC (rev 3701)
@@ -808,7 +808,7 @@
if (Tlen(eb->verbatim)) {
if (sp->http->protover >= 1.1)
(void)WRW_Write(sp->wrk, eb->chunk_length, -1);
- sp->wrk->acct.bodybytes += WRW_Write(sp->wrk,
+ sp->acct_req.bodybytes += WRW_Write(sp->wrk,
eb->verbatim.b, Tlen(eb->verbatim));
if (sp->http->protover >= 1.1)
(void)WRW_Write(sp->wrk, "\r\n", -1);
More information about the varnish-commit
mailing list