You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
v2.2.1 — fix tinyice CPU pegged at 100% with active transcoders
Fix: StreamReader.Read in relay/io.go was hot-spinning when the Ogg
page-boundary scan couldn't advance. With a busy auto-transcoder pool
(3 source mounts × 3 mp3 bitrates = 9 transcoders + 3 manual = 12)
every transcoder spun on the buffer mutex, driving %sy to 73 % and
the load average above 30 with near-zero useful work — only 2.4 % us.
Yield to the signal-channel select when FindNextPageBoundary cannot
advance; once the source writes more bytes, signal fires and the read
resumes.
Empirically: tinyice CPU dropped from ~100 % to ~2.7 % on the same box
with the same transcoder count.
Also adds contrib/systemd/tinyice.service — opinionated drop-in unit
with Nice / CPUWeight / sandbox flags + CAP_NET_BIND_SERVICE so a
non-root tinyice user can bind ports 80 / 443.