[Bug 240043] audio/linux-c7-alsa: how to make it work?
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Sun Mar 1 13:12:30 UTC 2020
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=240043
--- Comment #76 from commit-hook at freebsd.org ---
A commit references this bug:
Author: tijl
Date: Sun Mar 1 13:12:04 UTC 2020
New revision: 358483
URL: https://svnweb.freebsd.org/changeset/base/358483
Log:
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>
Reviewed by: dchagin
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D23790
Changes:
head/sys/compat/linux/linux_misc.c
head/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