Permalink
Switch branches/tags
varnish-6.1.0 varnish-6.0.1 varnish-6.0.0 varnish-5.2.1 varnish-5.2.0 varnish-5.2.0-rc2 varnish-5.2.0-rc1 varnish-5.1.3 varnish-5.1.2 varnish-5.1.1 varnish-5.1.0 varnish-5.0.0 varnish-5.0.0-beta1 varnish-4.1.10 varnish-4.1.9 varnish-4.1.8 varnish-4.1.7 varnish-4.1.6 varnish-4.1.5 varnish-4.1.5-beta2 varnish-4.1.5-beta1 varnish-4.1.4 varnish-4.1.4-beta3 varnish-4.1.4-beta2 varnish-4.1.4-beta1 varnish-4.1.3 varnish-4.1.3-beta2 varnish-4.1.3-beta1 varnish-4.1.2 varnish-4.1.2-beta2 varnish-4.1.2-beta1 varnish-4.1.1 varnish-4.1.1-beta2 varnish-4.1.1-beta1 varnish-4.1.0 varnish-4.1.0-tp1 varnish-4.1.0-beta1 varnish-4.0.5 varnish-4.0.4 varnish-4.0.4-beta1 varnish-4.0.3 varnish-4.0.3-rc3 varnish-4.0.3-rc2 varnish-4.0.3-rc2-proper varnish-4.0.3-rc1 varnish-4.0.2 varnish-4.0.2-rc1 varnish-4.0.1 varnish-4.0.0 varnish-4.0.0-tp2 varnish-4.0.0-tp1 varnish-4.0.0-beta1 varnish-3.0.7 varnish-3.0.7-rc1 varnish-3.0.6 varnish-3.0.6-proper varnish-3.0.5 varnish-3.0.4 varnish-3.0.4-rc1 varnish-3.0.3 varnish-3.0.3-rc1 varnish-3.0.2 varnish-3.0.2-rc1 varnish-3.0.1 varnish-3.0.1-rc1 varnish-3.0.0 varnish-3.0.0-beta2 varnish-3.0.0-beta1 varnish-2.1.5 varnish-2.1.4 varnish-2.1.3 varnish-2.1.2 varnish-2.1.1 varnish-2.1.0 varnish-2.0.6 varnish-2.0.5 varnish-2.0.4 varnish-2.0.3 varnish-2.0.2 varnish-2.0.1 varnish-2.0 varnish-2.0-tp2 varnish-2.0-tp1 varnish-2.0-rc1 varnish-2.0-beta2 varnish-2.0-beta1 varnish-1.1.2 varnish-1.1.1 varnish-1.1 varnish-1.0.4 varnish-1.0.3 varnish-1.0.2 varnish-1.0.1 varnish-1.0 varnish-0.9.1 varnish-0.9 live-test-1 key_header03 1.0
Nothing to show
Commits on Oct 18, 2018
  1. remove a useless volatile

    nigoroll committed Oct 18, 2018
    ... introduced with 8c113ff
    
    Here it seems the intention was to make sure that the access to the
    parameter happens uncached, but even then it would not have helped.
  2. more double->vtim_*

    nigoroll committed Oct 18, 2018
    Reviews appreciated.
    
    I will most likely continue applying these changes in smaller chunks
    because a) this kind of work is boring and b) in the hope that smaller
    chunks will get reviewed better.
  3. gc duplicate initialization

    nigoroll committed Oct 18, 2018
    we INIT_OBJ the v1l, which includes a memset(0)
Commits on Oct 15, 2018
Commits on Oct 9, 2018
  1. keep the dog in the kennel unless there's a queue

    nigoroll committed Oct 9, 2018
    As long as we are not queuing any threads, there is no queue to
    move. We record the queue marker the first time we notice queuing and
    only then see if it doesn't move.
    
    Fixes #2794
  2. Clarify and test object slimming for hfp+hfm

    nigoroll committed Sep 7, 2018
    The previous code was correct already, but we can make it
    clearer that HFP implies OC_F_PASS
    
    Also test explicitly that both HFM and HFP have their objects
    slimmed.
    
    Closes #2768
  3. typedefs for real/mono time and durations

    nigoroll committed Oct 8, 2018
    We use double for all time representations, yet monotonic time,
    real time and durations are not to be confused.
    
    Also, we might want to change the representation of time in the
    future.
    
    To get an implicit documentation of the semantic type of a time
    value and to facilitate working on the latter, we start off by
    introducing simple typedefs which neither inply any change nor
    offer any type checking. But they pave the way...
Commits on Oct 8, 2018
  1. style(9)

    nigoroll committed Oct 8, 2018
Commits on Oct 5, 2018
  1. fix a minor oversight

    nigoroll committed Oct 5, 2018
    I failed to consider the hypothetical case that there is only gethrtime()
    and no clock_gettime(CLOCK_MONOTONIC).
  2. gethrtime() is now slower than clock_gettime() on modern Solarisen

    nigoroll committed Oct 5, 2018
    Throw out the conventional wisdom and base the decision on a micro
    benchmark.
    
    clock_gettime() is now preferred if it is consistently at least
    double as fast as gethrtime(), which is the case on varnishdev-il,
    the SmartOS vtest machine.
    
    config.log gives details on the performance check, sample output
    below:
    
    configure:22703: ./conftest
    hrtime              45989530 check 16748699083977959327
    clock_gettime        4119385 check 16748701613138517215
    ...
    hrtime              48113108 check 16748749015170035860
    clock_gettime        4020802 check 16748751585081458308
    clock_gettime wins 10/10
Commits on Oct 4, 2018
  1. debloat the vtim test

    nigoroll committed Oct 4, 2018
  2. changelog tlc

    nigoroll committed Oct 4, 2018
  3. restore vsl binary compatibility

    nigoroll committed Oct 4, 2018
    be69499 unnecessarily changed the
    values of most vsl tag enums and thus introduced an incompatibility
    with logs written with previous code.
    
    Fixes #2790
Commits on Sep 27, 2018
  1. Revert "no need to sum stats which we don't use"

    nigoroll committed Sep 27, 2018
    my apologies: as long as we pass around a struct wrk, some other
    function could use the wrk->stats - in other words, the fact that
    the ban stats are decoupled from the wrk stats does not make the
    latter any less relevant.
    
    This reverts commit 527f1bd.
  2. shrink the critical section under the pool mutex by a bit

    nigoroll committed Sep 27, 2018
    Checking and preparing our worker struct does not need to happen
    under the lock.
  3. explain a relevant detail of the worker thread signaling

    nigoroll committed Sep 27, 2018
    Over time, I have repeatedly stared at this code again and again
    wondering if (and why) our cv signaling is correct, just to end up
    with the same insight each time (but first overlooking #2719)
    
    Being fully aware that we do not want to plaster our code with
    outdated comments, I hope this explanation is warranted to save myself
    (and others, hopefully) from wasting precious life time on reiterating
    over the same question.
Commits on Sep 26, 2018
Commits on Sep 17, 2018
  1. log accept failures under the SessError tag

    nigoroll committed Sep 17, 2018
    I consider it too late for a vtc, but this has been tested manually
    with ulimit -n 40. Example errors (tcp, uds)
    
             0 SessError      - a0 127.0.0.1 8080 3 24 Too many open files
    	 0 SessError      - a1 0.0.0.0 0 5 24 Too many open files
Commits on Sep 12, 2018
  1. release docs: director api

    nigoroll committed Sep 12, 2018
  2. update and (hopefully) improve the directors dev guide

    nigoroll committed Sep 12, 2018
    Much more could be said, but I hope this helps understand the
    overall concepts a bit better.
    
    I've also taken the freedom to reword "cluster" in the director
    concept to "load balancer" because at least in my experience, the
    former is used more for some form of tighter binding between nodes,
    while the latter is a common term for what directors usually do.
  3. more on STRANDS

    nigoroll committed Sep 12, 2018
  4. document STRANDS

    nigoroll committed Sep 12, 2018
  5. document vmod $ABI

    nigoroll committed Sep 12, 2018
    Text mostly taken from ecdebdc
  6. polish

    nigoroll committed Sep 12, 2018
  7. updating vmods should just work (not new in any way)

    nigoroll committed Sep 12, 2018
    We copy vmods using unique filenames for ages
    
    Ref: 3cf5876
    
    Original text from 2014: 920541a
  8. polish

    nigoroll committed Sep 12, 2018