From: Ben Guthro <bguthro@virtualiron.com>
To: xen-devel <xen-devel@lists.xensource.com>
Cc: Daniel Li <dli@virtualiron.com>
Subject: [PATCH] Dump flush write performance
Date: Wed, 24 Oct 2007 17:10:23 -0400 [thread overview]
Message-ID: <471FB4BF.6030008@virtualiron.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 771 bytes --]
Two changes to avoid disk driver using up kernel memory and triggering
oom-killer
while creating guest dump to a disk file:
1) Decreased write chunks from 16MB to 2MB;
2) Flush (fsync) after each 2MB write.
To make sure we don't suffer significant write performance penalty, each
of the
following cases have been tested several times to dump a 1GB guest to a
file on
a SAN disk:
With current code (16MB writes, sync once after all writes); ~38s
16MB writes, sync after each write: ~46s
2MB writes, sync after each write: ~49s
Sync-often costs us about 20%, smaller-write-size costs another 8%. The
total is
less than 30% and about 10 seconds more for a 1GB guest.
Signed-off-by: Ben Guthro <bguthro@virtualron.com>
Signed-off-by: Daniel Li <dli@virtualiron.com>
[-- Attachment #2: xen-dump-flush-writes.patch --]
[-- Type: text/x-patch, Size: 760 bytes --]
diff -r 9d263e1fcd02 tools/libxc/xc_core.c
--- a/tools/libxc/xc_core.c Wed Oct 24 16:25:11 2007 -0400
+++ b/tools/libxc/xc_core.c Wed Oct 24 16:26:04 2007 -0400
@@ -56,7 +56,7 @@
#include <unistd.h>
/* number of pages to write at a time */
-#define DUMP_INCREMENT (4 * 1024)
+#define DUMP_INCREMENT (512)
/* Don't yet support cross-address-size core dump */
#define guest_width (sizeof (unsigned long))
@@ -875,7 +875,7 @@ static int local_file_dump(void *args, c
if (length >= DUMP_INCREMENT*PAGE_SIZE) {
// Now dumping pages -- make sure we discard clean pages from
// the cache after each write
- discard_file_cache(da->fd, 0 /* no flush */);
+ discard_file_cache(da->fd, 1 /* flush */);
}
return 0;
[-- Attachment #3: Type: text/plain, Size: 138 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
next reply other threads:[~2007-10-24 21:10 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-24 21:10 Ben Guthro [this message]
2007-10-25 14:32 ` [PATCH] Dump flush write performance Keir Fraser
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=471FB4BF.6030008@virtualiron.com \
--to=bguthro@virtualiron.com \
--cc=dli@virtualiron.com \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.