
phk at varnish-cache
Apr 30, 2012, 12:35 AM
Views: 38
Permalink
|
|
[master] f222778 Eliminate the prepfetch state
|
|
commit f2227781d49de76a56955e69c13dde699dbbf4e0 Author: Poul-Henning Kamp <phk [at] FreeBSD> Date: Mon Apr 30 07:35:27 2012 +0000 Eliminate the prepfetch state diff --git a/bin/varnishd/cache/cache_center.c b/bin/varnishd/cache/cache_center.c index 4a04f5b..f963bbd 100644 --- a/bin/varnishd/cache/cache_center.c +++ b/bin/varnishd/cache/cache_center.c @@ -550,8 +550,8 @@ DOT shape=record DOT label="{cnt_fetch:|fetch hdr\nfrom backend|(find obj.ttl)|{vcl_fetch\{\}|{req.|bereq.|beresp.}}|{<err>error?|<rst>restart?}}" DOT ] DOT } -DOT fetch -> prepfetch [style=bold,color=red] -DOT fetch -> prepfetch [style=bold,color=blue] +DOT fetch -> fetchbody [style=bold,color=red] +DOT fetch -> fetchbody [style=bold,color=blue] */ static int @@ -630,7 +630,7 @@ cnt_fetch(struct sess *sp, struct worker *wrk, struct req *req) switch (req->handling) { case VCL_RET_DELIVER: - sp->step = STP_PREPFETCH; + sp->step = STP_FETCHBODY; return (0); default: break; @@ -670,18 +670,17 @@ cnt_fetch(struct sess *sp, struct worker *wrk, struct req *req) * Prepare to fetch body from backend * DOT subgraph xcluster_body { -DOT prepfetch [. +DOT fetchbody [ DOT shape=record -DOT label="{cnt_prepfetch:|error?|<out>stream ?}" +DOT label="{cnt_fetchbody:|start fetch_thread}" DOT ] DOT } -DOT prepfetch:out -> fetchbody [style=bold,color=red] -DOT prepfetch:out -> fetchbody [style=bold,color=blue] -DOT prepfetch:out -> prepresp [label=yes,style=bold,color=cyan] +DOT fetchbody:out -> prepresp [style=bold,color=red] +DOT fetchbody:out -> prepresp [style=bold,color=blue] */ static int -cnt_prepfetch(struct sess *sp, struct worker *wrk, struct req *req) +cnt_fetchbody(struct sess *sp, struct worker *wrk, struct req *req) { struct http *hp, *hp2; char *b; @@ -868,34 +867,9 @@ cnt_prepfetch(struct sess *sp, struct worker *wrk, struct req *req) RFC2616_Do_Cond(sp)) bo->do_stream = 0; - sp->step = STP_FETCHBODY; - return (0); -} - -/*-------------------------------------------------------------------- - * Actually fetch body from backend - * -DOT subgraph xcluster_fetchbody { -DOT fetchbody [ -DOT shape=record -DOT label="{cnt_fetchbody:|error ?|<out>success ?}" -DOT ] -DOT } -DOT fetchbody:out -> prepresp [style=bold,color=red] -DOT fetchbody:out -> prepresp [style=bold,color=blue] - */ - -static int -cnt_fetchbody(struct sess *sp, struct worker *wrk, struct req *req) -{ - struct busyobj *bo; - - CHECK_OBJ_NOTNULL(sp, SESS_MAGIC); - CHECK_OBJ_NOTNULL(wrk, WORKER_MAGIC); - CHECK_OBJ_NOTNULL(req, REQ_MAGIC); - bo = req->busyobj; - CHECK_OBJ_NOTNULL(bo, BUSYOBJ_MAGIC); - + /* + * Ready to fetch the body + */ bo->fetch_task.func = FetchBody; bo->fetch_task.priv = bo; @@ -1707,5 +1681,3 @@ CNT_Init(void) xids = random(); CLI_AddFuncs(debug_cmds); } - - diff --git a/include/tbl/steps.h b/include/tbl/steps.h index ee70874..15fd811 100644 --- a/include/tbl/steps.h +++ b/include/tbl/steps.h @@ -40,7 +40,6 @@ STEP(lookup, LOOKUP, (sp, sp->wrk, sp->req)) STEP(miss, MISS, (sp, sp->wrk, sp->req)) STEP(hit, HIT, (sp, sp->wrk, sp->req)) STEP(fetch, FETCH, (sp, sp->wrk, sp->req)) -STEP(prepfetch, PREPFETCH, (sp, sp->wrk, sp->req)) STEP(fetchbody, FETCHBODY, (sp, sp->wrk, sp->req)) STEP(prepresp, PREPRESP, (sp, sp->wrk, sp->req)) STEP(deliver, DELIVER, (sp, sp->wrk, sp->req)) _______________________________________________ varnish-commit mailing list varnish-commit [at] varnish-cache https://www.varnish-cache.org/lists/mailman/listinfo/varnish-commit
|