On Fri, Oct 29, 2021 at 05:46:18PM -0400, Boris Ostrovsky wrote:
On 10/29/21 10:20 AM, Juergen Gross wrote:
--- a/Documentation/ABI/stable/sysfs-devices-system-xen_memory +++ b/Documentation/ABI/stable/sysfs-devices-system-xen_memory @@ -84,3 +84,13 @@ Description: Control scrubbing pages before returning them to Xen for others domains use. Can be set with xen_scrub_pages cmdline parameter. Default value controlled with CONFIG_XEN_SCRUB_PAGES_DEFAULT.
+What: /sys/devices/system/xen_memory/xen_memory0/boot_timeout +Date: November 2021 +KernelVersion: 5.16 +Contact: xen-devel@lists.xenproject.org +Description:
The time (in seconds) to wait before giving up to boot in case
initial ballooning fails to free enough memory. Applies only
when running as HVM or PVH guest and started with less memory
configured than allowed at max.
How is this going to be used? We only need this during boot.
state = update_schedule(state);
balloon_state = update_schedule(balloon_state);
Now that balloon_state has whole file scope it can probably be updated inside update_schedule().
- while ((credit = current_credit()) < 0) {
if (credit != last_credit) {
last_changed = jiffies;
last_credit = credit;
}
if (balloon_state == BP_ECANCELED) {
What about other states? We are really waiting for BP_DONE, aren't we?
BP_DONE is set also as an intermediate step:
balloon_state = decrease_reservation(n_pages, GFP_BALLOON); if (balloon_state == BP_DONE && n_pages != -credit && n_pages < totalreserve_pages) balloon_state = BP_EAGAIN;
It would be bad to finish waiting in this case.