• Poul-Henning Kamp's avatar
    Counter-intuitively change the LRU list from a VTAILQ to a VLIST. · 99b35c5f
    Poul-Henning Kamp authored
    The cruical difference is that we can remove from a VLIST without
    having the head of the VLIST, which comes handy when expiring a
    non-instantiated object from a -spersistent stevedore.
    
    We flip the LRU list around, so that the frontmost element has not
    been accessed for the longest time, and simulate tail-inserts by
    putting a senteniel on the tail of the list.
    
    Presently the senteniel is a full objcore, which is a non-issue with
    few machines having more than a handful of stevedores, but once the
    persistent stevedore moves to per-segment LRU lists, this needs to
    be addressed, probably by wrapping the LRU linkage in a separate
    structure.
    
    
    git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@4211 d4fa192b-c00b-0410-8231-f00ffab90ce4
    99b35c5f
Name
Last commit
Last update
..
Makefile.am Loading commit data...
acct_fields.h Loading commit data...
c.sh Loading commit data...
cache.h Loading commit data...
cache_acceptor.c Loading commit data...
cache_backend.c Loading commit data...
cache_backend.h Loading commit data...
cache_backend_cfg.c Loading commit data...
cache_backend_poll.c Loading commit data...
cache_backend_poll.h Loading commit data...
cache_ban.c Loading commit data...
cache_ban.h Loading commit data...
cache_center.c Loading commit data...
cache_cli.c Loading commit data...
cache_dir_random.c Loading commit data...
cache_dir_round_robin.c Loading commit data...
cache_dir_simple.c Loading commit data...
cache_esi.c Loading commit data...
cache_expire.c Loading commit data...
cache_fetch.c Loading commit data...
cache_hash.c Loading commit data...
cache_http.c Loading commit data...
cache_httpconn.c Loading commit data...
cache_lck.c Loading commit data...
cache_main.c Loading commit data...
cache_panic.c Loading commit data...
cache_pipe.c Loading commit data...
cache_pool.c Loading commit data...
cache_response.c Loading commit data...
cache_session.c Loading commit data...
cache_vary.c Loading commit data...
cache_vcl.c Loading commit data...
cache_vrt.c Loading commit data...
cache_vrt_re.c Loading commit data...
cache_waiter.h Loading commit data...
cache_waiter_epoll.c Loading commit data...
cache_waiter_kqueue.c Loading commit data...
cache_waiter_poll.c Loading commit data...
cache_waiter_ports.c Loading commit data...
cache_wrw.c Loading commit data...
cache_ws.c Loading commit data...
common.h Loading commit data...
default.vcl Loading commit data...
flint.lnt Loading commit data...
flint.sh Loading commit data...
hash_classic.c Loading commit data...
hash_critbit.c Loading commit data...
hash_simple_list.c Loading commit data...
hash_slinger.h Loading commit data...
heritage.h Loading commit data...
instance.c Loading commit data...
mgt.h Loading commit data...
mgt_child.c Loading commit data...
mgt_cli.c Loading commit data...
mgt_cli.h Loading commit data...
mgt_param.c Loading commit data...
mgt_pool.c Loading commit data...
mgt_vcc.c Loading commit data...
rfc2616.c Loading commit data...
s.sh Loading commit data...
shmlog.c Loading commit data...
steps.h Loading commit data...
stevedore.c Loading commit data...
stevedore.h Loading commit data...
stevedore_utils.c Loading commit data...
storage_file.c Loading commit data...
storage_malloc.c Loading commit data...
storage_persistent.c Loading commit data...
storage_synth.c Loading commit data...
storage_umem.c Loading commit data...
varnishd.1 Loading commit data...
varnishd.c Loading commit data...
vclflint.lnt Loading commit data...
vclflint.sh Loading commit data...
vparam.h Loading commit data...