Lines Matching +full:constant +full:- +full:on +full:- +full:time
1 .. SPDX-License-Identifier: GPL-2.0
9 for some time period after the guest has elected to no longer run by cedeing.
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
20 wakeup periods where the time spent halt polling is minimised and the time
27 The powerpc kvm-hv specific case is implemented in:
34 The maximum time for which to poll before invoking the scheduler, referred to
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
50 two options, either the polling interval and total block time[0] were less than
52 time was greater than the global max polling interval.
54 In the event that both the polling interval and total block time were less than
56 the hope that next time during the longer polling interval the wake up source
62 In the event that the total block time was greater than the global max polling
69 It is worth noting that this adjustment process attempts to hone in on some
71 which come at an approximately constant rate, otherwise there will be constant
74 [0] total block time:
75 the time between when the halt polling function is
86 arch/powerpc/kvm/book3s_hv.c in the powerpc kvm-hv case.
88 +-----------------------+---------------------------+-------------------------+
90 +-----------------------+---------------------------+-------------------------+
96 +-----------------------+---------------------------+-------------------------+
102 +-----------------------+---------------------------+-------------------------+
107 +-----------------------+---------------------------+-------------------------+
113 +-----------------------+---------------------------+-------------------------+
119 Note: these module parameters are system-wide values and are not able to
120 be tuned on a per vm basis.
123 next time they halt, with the notable exception of VMs using KVM_CAP_HALT_POLL
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
143 entire block time and thus cpu utilisation will go to 100%.
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
147 essentially converted to host kernel time with the aim of decreasing latency when
150 - Halt polling will only be conducted by the host when no other tasks are runnable on