Skip to content
Snippets Groups Projects
  1. Dec 19, 2024
  2. Dec 17, 2024
  3. Dec 16, 2024
  4. Dec 15, 2024
    • Maria Matejka's avatar
      Table prune inhibited during reconfiguration · d69d8046
      Maria Matejka authored
      When many changes are done during reconfiguration, the table may
      start pruning old routes before everything is settled down, slowing
      down not only the reconfiguration, but also the shutdown process.
      d69d8046
    • Maria Matejka's avatar
      Disable multiple malloc arenas · 792189e8
      Maria Matejka authored
      In our usecase, these are impossibly greedy because we often
      free memory in a different thread than where we allocate, forcing
      the default allocator to scatter the used memory all over the place.
      792189e8
  5. Dec 14, 2024
  6. Dec 13, 2024
  7. Dec 12, 2024
  8. Dec 11, 2024
  9. Dec 10, 2024
    • Maria Matejka's avatar
      Merge commit '4dd5b3d9' into thread-next · fa592328
      Maria Matejka authored
      fa592328
    • Maria Matejka's avatar
      Merge commit '145830bd' into thread-next · fa0bda22
      Maria Matejka authored
      fa0bda22
    • Maria Matejka's avatar
      Merge commit '946386f2' into thread-next · 1f8eb207
      Maria Matejka authored
      1f8eb207
    • Maria Matejka's avatar
      Merge commit '7ee27418' into thread-next · 1fc569e3
      Maria Matejka authored
      1fc569e3
    • Maria Matejka's avatar
      BMP: Fixing corner cases · cc0c8ce9
      Maria Matejka authored
      Protocol state propagation collision, shutdown collision.
      cc0c8ce9
    • Maria Matejka's avatar
      BMP: Never touching the BGP directly · cde58297
      Maria Matejka authored
      Dropped hopefully last remnants of BMP directly accessing BGP structures.
      cde58297
    • Maria Matejka's avatar
    • Katerina Kubecova's avatar
      Lockfree journal: Cleanup hook runs only when needed. · d503204a
      Katerina Kubecova authored
      The function lfjour_cleanup_hook() was scheduled each time any of the
      journal recipients reached end of a block of journal items or read all
      of journal items. Because lfjour_cleanup_hook() can clean only journal
      items every recipient has processed, it was often called uselessly.
      
      This commit restricts most of the unuseful scheduling. Only some
      recipients are given a token alowing them to try to schedule the
      cleanup hook. When a recipient wants to schedule the cleanup hook, it
      checks whether it has a token. If yes, it decrements number of tokens
      the journal has given (issued_tokens) and discards its own token. If
      issued_tokens reaches zero, the recipient is allowed to schedule the
      cleanup hook.
      
      There is a maximum number of tokens a journal can give to its recipients
      (max_tokens). A new recipient is given a token in its init, unless the
      maximum number of tokens is reached. The rest of tokens is given to
      customers in lfjour_cleanup_hook().
      
      In the cleanup hook, the issued_tokens number is increased in order to
      avoid calling the hook before it finishes. Then, tokens are given to the
      slowest recipients (but never to more than max_token recipients). Before
      leaving lfjour_cleanup_hook(), the issued_tokens number is decreased back.
      If no other tokens are given, we have to make sure the
      lfjour_cleanup_hook will be called again. If every item in journal was
      read by every recipient, tokens are given to random recipients. If all
      recipients with tokens managed to finish until now, we give the token to
      the first unfinished customer we find, or we just call the hook again.
      d503204a
    • Maria Matejka's avatar
      Nest: fixed a race-condition between import and export · bc15f0b9
      Maria Matejka authored
      There was a leaking stack pointer to the global memory.
      Fixed by making that temporary structure thread local static.
      bc15f0b9
  10. Dec 06, 2024
  11. Dec 05, 2024
Loading