[Bug 240043] audio/linux-c7-alsa: how to make it work?

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Mon Aug 24 12:44:22 UTC 2020


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=240043

--- Comment #79 from commit-hook at FreeBSD.org ---
A commit references this bug:

Author: trasz
Date: Mon Aug 24 12:43:55 UTC 2020
New revision: 364664
URL: https://svnweb.freebsd.org/changeset/base/364664

Log:
  MFC r358483 by tijl:

  linuxulator: Map scheduler priorities to Linux priorities.

  On Linux the valid range of priorities for the SCHED_FIFO and SCHED_RR
  scheduling policies is [1,99].  For SCHED_OTHER the single valid priority is
  0.  On FreeBSD it is [0,31] for all policies.  Programs are supposed to
  query the valid range using sched_get_priority_(min|max), but of course some
  programs assume the Linux values are valid.

  This commit adds a tunable compat.linux.map_sched_prio.  When enabled
  sched_get_priority_(min|max) return the Linux values and sched_setscheduler
  and sched_(get|set)param translate between FreeBSD and Linux values.

  Because there are more Linux levels than FreeBSD levels, multiple Linux
  levels map to a single FreeBSD level, which means pre-emption might not
  happen as it does on Linux, so the tunable allows to disable this behaviour.
  It is enabled by default because I think it is unlikely that anyone runs
  real-time software under Linux emulation on FreeBSD that critically relies
  on correct pre-emption.

  This fixes FMOD, a commercial sound library used by several games.

  PR:           240043
  Tested by:    Alex S <iwtcex at gmail.com>

Changes:
_U  stable/12/
  stable/12/sys/compat/linux/linux_misc.c
  stable/12/sys/compat/linux/linux_misc.h

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are on the CC list for the bug.


More information about the freebsd-emulation mailing list