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

[Xen-devel] [PATCH] qemu-dm: add command to flush buffer cache


  • To: xen-devel@xxxxxxxxxxxxxxxxxxx
  • From: Olaf Hering <olaf@xxxxxxxxx>
  • Date: Thu, 12 Jan 2012 19:22:23 +0100
  • Delivery-date: Thu, 12 Jan 2012 18:23:04 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

Add support for a xenstore dm command to flush qemu's buffer cache.

qemu will just keep mapping pages and not release them, which causes problems
for the memory pager (since the page is mapped, it won't get paged out). When
the pager has trouble finding a page to page out, it asks qemu to flush its
buffer, which releases all the page mappings. This makes it possible to find
pages to swap out agian.

Signed-off-by: Patrick Colp <Patrick.Colp@xxxxxxxxxx>
Signed-off-by: Olaf Hering <olaf@xxxxxxxxx>

---
 ioemu-remote/xenstore.c |    3 +++
 1 file changed, 3 insertions(+)

--- ioemu-remote/xenstore.c
+++ ioemu-remote/xenstore.c
@@ -927,6 +927,9 @@ static void xenstore_process_dm_command_
         do_pci_add(par);
         free(par);
 #endif
+    } else if (!strncmp(command, "flush-cache", len)) {
+        fprintf(logfile, "dm-command: flush caches\n");
+        qemu_invalidate_map_cache();
     } else {
         fprintf(logfile, "dm-command: unknown command\"%*s\"\n", len, command);
     }

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.