c04e989484
When a grant entry is still in use by the remote domain, Linux must put it on a deferred list. Normally, this list is very short, because the PV network and block protocols expect the backend to unmap the grant first. However, Qubes OS's GUI protocol is subject to the constraints of the X Window System, and as such winds up with the frontend unmapping the window first. As a result, the list can grow very large, resulting in a massive memory leak and eventual VM freeze. To partially solve this problem, make the number of entries that the VM will attempt to free at each iteration tunable. The default is still 10, but it can be overridden via a module parameter. This is Cc: stable because (when combined with appropriate userspace changes) it fixes a severe performance and stability problem for Qubes OS users. Cc: stable@vger.kernel.org Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com> Reviewed-by: Juergen Gross <jgross@suse.com> Link: https://lore.kernel.org/r/20230726165354.1252-1-demi@invisiblethingslab.com Signed-off-by: Juergen Gross <jgross@suse.com>
74 lines
2.4 KiB
Plaintext
74 lines
2.4 KiB
Plaintext
What: /sys/module/pch_phub/drivers/.../pch_mac
|
|
Date: August 2010
|
|
KernelVersion: 2.6.35
|
|
Contact: masa-korg@dsn.okisemi.com
|
|
Description: Write/read GbE MAC address.
|
|
|
|
What: /sys/module/pch_phub/drivers/.../pch_firmware
|
|
Date: August 2010
|
|
KernelVersion: 2.6.35
|
|
Contact: masa-korg@dsn.okisemi.com
|
|
Description: Write/read Option ROM data.
|
|
|
|
|
|
What: /sys/module/ehci_hcd/drivers/.../uframe_periodic_max
|
|
Date: July 2011
|
|
KernelVersion: 3.1
|
|
Contact: Kirill Smelkov <kirr@mns.spb.ru>
|
|
Description: Maximum time allowed for periodic transfers per microframe (μs)
|
|
|
|
Note:
|
|
USB 2.0 sets maximum allowed time for periodic transfers per
|
|
microframe to be 80%, that is 100 microseconds out of 125
|
|
microseconds (full microframe).
|
|
|
|
However there are cases, when 80% max isochronous bandwidth is
|
|
too limiting. For example two video streams could require 110
|
|
microseconds of isochronous bandwidth per microframe to work
|
|
together.
|
|
|
|
Through this setting it is possible to raise the limit so that
|
|
the host controller would allow allocating more than 100
|
|
microseconds of periodic bandwidth per microframe.
|
|
|
|
Beware, non-standard modes are usually not thoroughly tested by
|
|
hardware designers, and the hardware can malfunction when this
|
|
setting differ from default 100.
|
|
|
|
What: /sys/module/*/{coresize,initsize}
|
|
Date: Jan 2012
|
|
KernelVersion: 3.3
|
|
Contact: Kay Sievers <kay.sievers@vrfy.org>
|
|
Description: Module size in bytes.
|
|
|
|
What: /sys/module/*/initstate
|
|
Date: Nov 2006
|
|
KernelVersion: 2.6.19
|
|
Contact: Kay Sievers <kay.sievers@vrfy.org>
|
|
Description: Show the initialization state(live, coming, going) of
|
|
the module.
|
|
|
|
What: /sys/module/*/taint
|
|
Date: Jan 2012
|
|
KernelVersion: 3.3
|
|
Contact: Kay Sievers <kay.sievers@vrfy.org>
|
|
Description: Module taint flags:
|
|
== =====================
|
|
P proprietary module
|
|
O out-of-tree module
|
|
F force-loaded module
|
|
C staging driver module
|
|
E unsigned module
|
|
== =====================
|
|
|
|
What: /sys/module/grant_table/parameters/free_per_iteration
|
|
Date: July 2023
|
|
KernelVersion: 6.5 but backported to all supported stable branches
|
|
Contact: Xen developer discussion <xen-devel@lists.xenproject.org>
|
|
Description: Read and write number of grant entries to attempt to free per iteration.
|
|
|
|
Note: Future versions of Xen and Linux may provide a better
|
|
interface for controlling the rate of deferred grant reclaim
|
|
or may not need it at all.
|
|
Users: Qubes OS (https://www.qubes-os.org)
|