• Nils Goroll's avatar
    integrate the VCL_Rel() step into vcl_get() · 82eb7693
    Nils Goroll authored
    ... potentially saving a lock/unlock on the critical vcl_mtx
    
    Both callers of vcl_get(), VPI_vcl_select() and VCL_Refresh(),
    potentially have to unref another vcl first.
    
    For VCL_Refresh(), this happens when the active vcl changes and the
    previously active vcl is cached in (struct worker).vcl, which can be
    assumed to always be the case on a busy system.
    
    For VPI_vcl_select(), this happens when switching vcls at
    esi_level > 0.
    
    To summarize, this patch will primarily reduce contention on the
    vcl_mtx after a 'vcl.use' CLI command on a busy system and for
    'return(vcl(...))' with ESI.
    82eb7693
Name
Last commit
Last update
.circleci Loading commit data...
.github Loading commit data...
bin Loading commit data...
doc Loading commit data...
etc Loading commit data...
include Loading commit data...
lib Loading commit data...
m4 Loading commit data...
man Loading commit data...
tools Loading commit data...
.dir-locals.el Loading commit data...
.envrc Loading commit data...
.gitignore Loading commit data...
.lgtm.yml Loading commit data...
.syntastic_c_config Loading commit data...
.travis.yml Loading commit data...
CONTRIBUTING Loading commit data...
ChangeLog Loading commit data...
INSTALL Loading commit data...
LICENSE Loading commit data...
Makefile.am Loading commit data...
README.Packaging Loading commit data...
README.rst Loading commit data...
autogen.des Loading commit data...
autogen.sh Loading commit data...
configure.ac Loading commit data...
flint.lnt Loading commit data...
varnish-legacy.m4 Loading commit data...
varnish.m4 Loading commit data...
varnishapi-uninstalled.pc.in Loading commit data...
varnishapi.pc.in Loading commit data...