Skip to content

Snabb 2023.04 “Caspar”

Compare
Choose a tag to compare
@eugeneia eugeneia released this 07 Apr 13:40
· 85 commits to master since this release

This release finally merges @lukego's timeline: a probabilistic high-frequency event log that is useful to understand and debug runtime latencies. It can be enabled via the environment variable SNABB_TIMELINE_ENABLE. As usual this release also comes with various minor improvements and bug fixes.

What's Changed

Full Changelog: v2022.12...v2023.04

Contributors

Alexander Gall (1):

  • 8e7be8e: apps.rss.metadata: remove 59 (no-next-header) from list of IPv6 extension headers

Luke Gorrie (10):

  • 3e4c447: dasm_x86.lua: Add support for RDTSCP instruction
  • 95872b1: core.timeline: New module for "timeline" logs
  • 930f294: Makefile: Embed "*.events" timeline specs
  • aa9980a: engine: Add engine.events, app.events, link.events
  • 8530942: core.link: Add dropped bytes counter
  • 9b252f0: engine: Instrument with timeline events
  • 40ceef6: core.timeline: Switch to double-float on disk
  • 563ae7a: engine: update timeline level probabilities
  • ffb7379: engine: Randomize timeline log level with math
  • 16a6bb2: engine: Remove timeline packet payload sampling

Max Rottenkolber (51):

  • 1bb4108: core.app: remove remains from 16a6bb2 (timeline packet sampling)
  • 0e52b24: core.timeline: make timeline log available to other core modules
  • e834845: core.packet: record packet allocation events to timeline
  • a6def7b: Revert "core.timeline: make timeline log available to other core modules"
  • 8201d1d: lib.ptree.worker: reformulate to use engine.main with done func
  • debd26c: engine.main: fix memory leak due to latency histogram creation
  • edaad6c: core.app: set timeline log level at the very end of breathe loop
  • 9c4c804: core.packet: reorder group_fl released/reclaimed/unlocked events
  • 004f5bb: core.timeline: decouple log level from event rate
  • 8e68109: core.app: initialize timeline log rate to 7 (no logging)
  • 8f0c6bf: core.timeline: add switch to disable timeline logging
  • 30cafdc: core.app: add timeline events for app network configuration
  • e5faba0: Fix some wrong assumptions about the event rate
  • 872eaab: app.events: reduce tick/ticked event rate
  • 0252254: engine.events: fix breath_ticked description
  • 8080451: core.app: log breath_ticked only when tick()=true
  • cd43d69: engine.events: increase rate of commited_counters
  • 8091531: Revert "app.events: reduce tick/ticked event rate"
  • 3e0fee7: core.app: fix bug introduced in merge with master
  • cb11a26: app.events: reduce tick/ticked event rate
  • bfa3aa6: lib.ptree: fix bugs introduced by merge with master
  • 8c34646: timeline: cleaup merge
  • 840e1e5: timeline: cleanup
  • db3c5cb: engine: add timeline_enabled toggle (on by default)
  • 7b00bcf: Revert "engine: add timeline_enabled toggle (on by default)"
  • 9896b4b: timeline: disable by default, add lib.scheduling toggle
  • 21e2017: timeline: rework group freelist events
  • b7a8af9: timeline: remove unused arguments to tick events
  • 068b4d5: timeline: remove linkstats for push events
  • f41f7a1: timeline: fixup rework group freelist events
  • bcca06e: core.sync: add load primitive
  • 45d3ac7: core.group_freelist: fix a deadlock
  • b916131: group_freelist: revert panic
  • f8c977c: group_freelist: add deadlock detection
  • 2fbc94b: lib.poptrie: fix bug where address bits where interpreted in reverse order
  • 67b3d9c: lib.poptrie: optimize x86 lookup
  • a382b1d: core.timeline: fix selftest
  • 00287bb: engine: allow timely timeline initialization
  • a6fe6dc: snabb ipfix probe: add --timeline option to CLI
  • 66f0eb3: lib.scheduling: add group_freelist_size setting
  • f906776: lib.interlink: fix shm printing bug
  • 50cad00: ipfix probe: make group freelist and interlink sizes configurable via schema
  • 81a9e19: timeline: enable via environment variable
  • f805e81: Revert "snabb ipfix probe: add --timeline option to CLI"
  • 0916c24: Revert "engine: allow timely timeline initialization"
  • 559c80d: core.sync: load64, cas64
  • f47228b: core.group_freelist: use 64 bit sequence
  • b6c130d: core.group_freelist: ensure finish is atomic
  • e8eb4fd: Revert "group_freelist: add deadlock detection"
  • f3905b3: core.group_freelist: cleanup
  • 7472b83: lib.yang.list: fix bug in remove_obsolete_nodes