{"object_kind":"push","event_name":"push","before":"acea30afaaa0022f9ea134ce876cea12b1b1bcf0","after":"2d265c8df2a5129085b32f5ace3e2da6d4937a28","ref":"refs/heads/master","ref_protected":true,"checkout_sha":"2d265c8df2a5129085b32f5ace3e2da6d4937a28","message":null,"user_id":3060,"user_name":"Wim Taymans","user_username":"wtaymans","user_email":"","user_avatar":"https://secure.gravatar.com/avatar/1ca1bed246cb9b95b7ead6d6be96bb09f0c112953140c8bb38b41aedf4465270?s=80&d=identicon","project_id":4753,"project":{"id":4753,"name":"pipewire","description":"Multimedia processing graphs","web_url":"https://gitlab.freedesktop.org/pipewire/pipewire","avatar_url":"https://gitlab.freedesktop.org/uploads/-/system/project/avatar/4753/pipewire.png","git_ssh_url":"git@ssh.gitlab.freedesktop.org:pipewire/pipewire.git","git_http_url":"https://gitlab.freedesktop.org/pipewire/pipewire.git","namespace":"PipeWire","visibility_level":20,"path_with_namespace":"pipewire/pipewire","default_branch":"master","ci_config_path":"","homepage":"https://gitlab.freedesktop.org/pipewire/pipewire","url":"git@ssh.gitlab.freedesktop.org:pipewire/pipewire.git","ssh_url":"git@ssh.gitlab.freedesktop.org:pipewire/pipewire.git","http_url":"https://gitlab.freedesktop.org/pipewire/pipewire.git"},"commits":[{"id":"8ffa3efb442370d09267d2d1273d7eb574f006ed","message":"spa: downgrade BW_PERIOD rate-matching logs to trace when nominal\n\nThe rate-matching debug log in update_time() fires every BW_PERIOD\n(3 seconds) unconditionally, even when the DLL has long converged and\nrate correction is negligible. On systems configured with log.level=DEBUG\n(e.g. for troubleshooting) this produces ~28800 lines/day per audio\ndevice, all reporting rate~=1.0, err~=0 — effectively a heartbeat with\nno diagnostic value.\n\nIn a real-world deployment this log was the second-largest contributor\nto /var/log growth: ~10GB in 3 days, contributing to filling the root\nfilesystem (47G) and rendering the system unresponsive. The content\nis near-constant; 80% of fields (name, follower, matching, threshold,\nmax_error, max_resync) never change between samples in stable operation.\n\nKeep DEBUG only when rate correction is non-trivial (|corr-1.0|>0.001\nor |err| exceeding half the resync threshold); downgrade to TRACE\notherwise. This preserves diagnostic output for actual clock drift\nwhile eliminating the flood in nominal operation.\n\nThis follows the precedent set by 0121bdc47 (module-rtp: Lower missing\ntimeout log line from warn to trace) and c8462edf4 (spa: alsa: pcm:\nlog_write(): return early if log level is disabled), both of which\nreduced log spam in hot paths.\n\nApplied to alsa-pcm.c, alsa-seq.c, and node-driver.c which share the\nsame BW_PERIOD debug dump pattern.\n","title":"spa: downgrade BW_PERIOD rate-matching logs to trace when nominal","timestamp":"2026-08-24T13:02:02+00:00","url":"https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/8ffa3efb442370d09267d2d1273d7eb574f006ed","author":{"name":"Chengyi Zhao","email":"zhaochengyi@uniontech.com"},"added":[],"modified":["spa/plugins/alsa/alsa-pcm.c","spa/plugins/alsa/alsa-seq.c","spa/plugins/support/node-driver.c"],"removed":[]},{"id":"2d265c8df2a5129085b32f5ace3e2da6d4937a28","message":"module-protocol-pulse: downgrade hot-path memblock logs to trace\n\nhandle_memblock() logs \"received memblock\" and \"new block\" at DEBUG\nfor every audio data chunk transferred over the PulseAudio socket.\nstream_send_request() logs \"REQUEST\" at DEBUG for every playback\ncycle. On an active stream this produces ~271 lines/second:\n\n 69/s received memblock (channel/offset/flags constant across samples)\n 69/s new block (only the monotonic index counter changes)\n 38/s REQUEST (only 2 distinct size values observed)\n 95/s stream_pop_missing (already pw_log_trace_fp in same call chain)\n\nIn a real-world deployment this was the single largest contributor to\n/var/log growth: ~4.8 GB/day, filling a 47G root filesystem in under a\nweek. The content is near-constant — channel, offset, and flags are\nidentical across thousands of consecutive samples; only the monotonic\nringbuffer index (a heartbeat, not a diagnostic) and the block size\n(which varies by a few hundred bytes) carry any information.\n\nThese also break the level convention already established within the\nsame call chain: stream_pop_missing() uses pw_log_trace_fp for the\nsame per-cycle data, but its callers (stream_send_request and\nhandle_memblock) use pw_log_debug. Downgrade to pw_log_trace to align\nwith stream_pop_missing and eliminate the flooding. Stream lifecycle\nevents (create/destroy/error/underflow) remain at their current levels.\n\nThis follows the precedent set by 0121bdc47 (module-rtp: Lower missing\ntimeout log line from warn to trace): \"this log line can spam the logs,\nso set it to trace.\"\n","title":"module-protocol-pulse: downgrade hot-path memblock logs to trace","timestamp":"2026-08-24T13:02:02+00:00","url":"https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/2d265c8df2a5129085b32f5ace3e2da6d4937a28","author":{"name":"Chengyi Zhao","email":"zhaochengyi@uniontech.com"},"added":[],"modified":["src/modules/module-protocol-pulse/server.c","src/modules/module-protocol-pulse/stream.c"],"removed":[]}],"total_commits_count":2,"push_options":{},"repository":{"name":"pipewire","url":"git@ssh.gitlab.freedesktop.org:pipewire/pipewire.git","description":"Multimedia processing graphs","homepage":"https://gitlab.freedesktop.org/pipewire/pipewire","git_http_url":"https://gitlab.freedesktop.org/pipewire/pipewire.git","git_ssh_url":"git@ssh.gitlab.freedesktop.org:pipewire/pipewire.git","visibility_level":20}}