• Poul-Henning Kamp's avatar
    NB: Major Reorg Commit · 1cdbbff4
    Poul-Henning Kamp authored
    Introduce a new "backend workspace" which is used for the backend
    transactions (bereq.*, beresp.*)
    
    Together with the "client workspace" which holds the client transaction
    (req.*, resp.*) this should make memory management much simpler to
    understand.
    
    The backend workspace lives in "busyobj" rather than the worker thread,
    which therefore needs a lot less stack, allowing many more threads
    in the same space.
    
    Experiments with thread_pool_stack are encouraged, I wouldn't be
    surprised if 32k is now enough.
    
    The per-thread workspace is still around, known as the "auxiallary
    workspace", but it is down to 256 bytes and it is only used to hand
    the acceptor information off to worker threads.
    
    Once the dust settles, I may remove it entirely, but I can see a
    value of having a small amount of fast memory in a thread, so I may
    also keep it.  No promises.
    
    Ohh, and I removed a couple of small memory leaks which were only
    present in -trunk, as a result of a git-mis-merge.
    1cdbbff4
cache_panic.c 10.3 KB