Lines Matching +full:system +full:- +full:on +full:- +full:module
1 .. SPDX-License-Identifier: GPL-2.0
4 The KVM halt polling system
7 The KVM halt polling system provides a feature within KVM whereby the latency
15 very quickly by at least saving us a trip through the scheduler, normally on
16 the order of a few micro-seconds, although performance benefits are workload
18 interval or some other task on the runqueue is runnable the scheduler is
19 invoked. Thus halt polling is especially useful on workloads with very short
27 The powerpc kvm-hv specific case is implemented in:
35 as the halt polling interval, is increased and decreased based on the perceived
39 kvm_vcpu->halt_poll_ns
41 or in the case of powerpc kvm-hv, in the vcore struct:
43 kvmppc_vcore->halt_poll_ns
51 the global max polling interval (see module params below), or the total block
59 is multiplied by the module parameters halt_poll_ns_grow and
66 shrink_halt_poll_ns() and is divided by the module parameter
69 It is worth noting that this adjustment process attempts to hone in on some
79 Module Parameters
82 The kvm module has 4 tunable module parameters to adjust the global max polling
85 include/linux/kvm_host.h and as module parameters in virt/kvm/kvm_main.c, or
86 arch/powerpc/kvm/book3s_hv.c in the powerpc kvm-hv case.
88 +-----------------------+---------------------------+-------------------------+
89 |Module Parameter | Description | Default Value |
90 +-----------------------+---------------------------+-------------------------+
96 +-----------------------+---------------------------+-------------------------+
102 +-----------------------+---------------------------+-------------------------+
107 +-----------------------+---------------------------+-------------------------+
113 +-----------------------+---------------------------+-------------------------+
115 These module parameters can be set from the sysfs files in:
117 /sys/module/kvm/parameters/
119 Note: these module parameters are system-wide values and are not able to
120 be tuned on a per vm basis.
130 on a per-VM basis. VMs using KVM_CAP_HALT_POLL ignore halt_poll_ns completely (but
133 See Documentation/virt/kvm/api.rst for more information on this capability.
138 - Care should be taken when setting the halt_poll_ns module parameter as a large value
139 has the potential to drive the cpu usage to 100% on a machine which would be almost
145 - Halt polling essentially presents a trade-off between power usage and latency and
146 the module parameters should be used to tune the affinity for this. Idle cpu time is
150 - Halt polling will only be conducted by the host when no other tasks are runnable on