[PATCH v2 08/22] hypervisor: support bypassing cache for managed save

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Bypassing cache can make save performance more predictable and avoids
trashing the OS cache with data that will not be read again.

Reviewed-by: Peter Krempa <pkrempa@xxxxxxxxxx>
Signed-off-by: Daniel P. Berrangé <berrange@xxxxxxxxxx>
---
 src/hypervisor/domain_driver.c | 7 +++++--
 src/hypervisor/domain_driver.h | 1 +
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/hypervisor/domain_driver.c b/src/hypervisor/domain_driver.c
index c510e1d2ae..d4cf09174b 100644
--- a/src/hypervisor/domain_driver.c
+++ b/src/hypervisor/domain_driver.c
@@ -730,12 +730,12 @@ virDomainDriverAutoShutdown(virDomainDriverAutoShutdownConfig *cfg)
     virDomainPtr *domains = NULL;
     g_autofree bool *transient = NULL;
 
-    VIR_DEBUG("Run autoshutdown uri=%s trySave=%s tryShutdown=%s poweroff=%s waitShutdownSecs=%u",
+    VIR_DEBUG("Run autoshutdown uri=%s trySave=%s tryShutdown=%s poweroff=%s waitShutdownSecs=%u saveBypassCache=%d",
               cfg->uri,
               virDomainDriverAutoShutdownScopeTypeToString(cfg->trySave),
               virDomainDriverAutoShutdownScopeTypeToString(cfg->tryShutdown),
               virDomainDriverAutoShutdownScopeTypeToString(cfg->poweroff),
-              cfg->waitShutdownSecs);
+              cfg->waitShutdownSecs, cfg->saveBypassCache);
 
     /*
      * Ideally guests will shutdown in a few seconds, but it would
@@ -801,6 +801,9 @@ virDomainDriverAutoShutdown(virDomainDriverAutoShutdownConfig *cfg)
                 if (state == VIR_DOMAIN_PAUSED)
                     flags[i] = VIR_DOMAIN_SAVE_PAUSED;
             }
+            if (cfg->saveBypassCache)
+                flags[i] |= VIR_DOMAIN_SAVE_BYPASS_CACHE;
+
             if (flags[i] & VIR_DOMAIN_SAVE_RUNNING)
                 virDomainSuspend(domains[i]);
         }
diff --git a/src/hypervisor/domain_driver.h b/src/hypervisor/domain_driver.h
index 6e535ca444..fae316ee2d 100644
--- a/src/hypervisor/domain_driver.h
+++ b/src/hypervisor/domain_driver.h
@@ -112,6 +112,7 @@ typedef struct _virDomainDriverAutoShutdownConfig {
                                     * before moving onto next action.
                                     * If 0 a default is used (currently 30 secs)
                                     */
+    bool saveBypassCache;
 } virDomainDriverAutoShutdownConfig;
 
 void virDomainDriverAutoShutdown(virDomainDriverAutoShutdownConfig *cfg);
-- 
2.48.1




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux