1. 01 Dec, 2021 6 commits
    • Dridi Boukelmoune's avatar
      wrk: Opportunistic logging in a worker's VSL buffer · f9f2a865
      Dridi Boukelmoune authored
      Since its primary usage will be workspace logs, workers can be
      initialized earlier to offer even more opportunity for logging.
      f9f2a865
    • Nils Goroll's avatar
      Learn something new every day · e3cfeb55
      Nils Goroll authored
      today: VRBT_REMOVE returns the element argument no matter if it was
      present in the tree or not, so it can not sensibly be used for assertions.
      e3cfeb55
    • Poul-Henning Kamp's avatar
    • Poul-Henning Kamp's avatar
      Rework VDP/VFP filter registry · 19f77efe
      Poul-Henning Kamp authored
      The old VRT_AddV[DF]P() and VRT_RemoveV[DF]P() are "soft deprecated"
      and work the same as previous.  (Hard deprecation after next major.)
      
      Replaced by:
          const char *VRT_AddFilter(VRT_CTX, const struct vfp *, const struct vdp *
          void VRT_RemoveFilter(VRT_CTX, const struct vfp *, const struct vdp *);
      
      VRT_CTX is mandatory.
      
      Both kinds of filters can be handled in one go, but the names must be identical.
      
      VRT_AddFilter returns NULL on success, and VRT_fail'ed error message otherwise.
      
      Supersedes #3287
      19f77efe
    • Poul-Henning Kamp's avatar
    • Martin Blix Grydeland's avatar
      Rework HSH_Purge() · e51208cb
      Martin Blix Grydeland authored
      HSH_Purge() suffers from a problem when there are more objcores on a given
      objhead than we can hold temporary references for on the available
      workspace, and multiple purges for the same objhead are issued at the same
      time.
      
      The previous algorithm would use a flag on the objcores (OC_F_PURGED) in
      order to keep track of how far in the list we had gotten. This becomes a
      problem when multiple threads are purging the same objhead at the same
      time. When a new purge is started, the flags would be reset, which would
      cause any existing purge thread to restart. If a steady stream of purges
      for a given objhead is issued and enough objcores are present, none would
      finish.
      
      This rework uses OC references in the list as bookmarks, in order to know
      how far into the list we were when releasing the mutex partway through and
      want to resume again. This relies on the list not being reordered while we
      are not holding the mutex. The only place where that happens is in
      HSH_Unbusy(), where an OC_F_BUSY OC is moved first in the list. This does
      not cause problems because we skip OC_F_BUSY OCs.
      
      The OC_F_PURGED flag is removed as it is no longer needed.
      
      The existing r02372.vtc test case exercises this code.
      e51208cb
  2. 29 Nov, 2021 11 commits
  3. 24 Nov, 2021 7 commits
  4. 23 Nov, 2021 8 commits
  5. 22 Nov, 2021 1 commit
    • Poul-Henning Kamp's avatar
      Hopefully fix u00006 on various platforms. · bec768df
      Poul-Henning Kamp authored
      Dont limit ourselves to a set number of VSL records to include
      the "0 CLI" we want, various platforms emit a number of Debug
      messages relating to sockopt
      
      Use the `process p%d -expect-text` mechanism to wait only as
      long as necessary for the "0 CLI"
      bec768df
  6. 19 Nov, 2021 7 commits