From: Rafael Aquini <aquini@redhat.com> To: linux-mm@kvack.org Cc: linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, Rusty Russell <rusty@rustcorp.com.au>, "Michael S. Tsirkin" <mst@redhat.com>, Rik van Riel <riel@redhat.com>, Rafael Aquini <aquini@redhat.com> Subject: [PATCH 0/4] make balloon pages movable by compaction Date: Mon, 25 Jun 2012 20:25:55 -0300 [thread overview] Message-ID: <cover.1340665087.git.aquini@redhat.com> (raw) This patchset follows the main idea discussed at 2012 LSFMMS section: "Ballooning for transparent huge pages" -- http://lwn.net/Articles/490114/ to introduce the required changes to the virtio_balloon driver, as well as changes to the core compaction & migration bits, in order to allow memory balloon pages become movable within a guest. Rafael Aquini (4): mm: introduce compaction and migration for virtio ballooned pages virtio_balloon: handle concurrent accesses to virtio_balloon struct elements virtio_balloon: introduce migration primitives to balloon pages mm: add vm event counters for balloon pages compaction drivers/virtio/virtio_balloon.c | 142 +++++++++++++++++++++++++++++++++++---- include/linux/mm.h | 17 +++++ include/linux/virtio_balloon.h | 6 ++ include/linux/vm_event_item.h | 2 + mm/compaction.c | 74 ++++++++++++++++++++ mm/migrate.c | 32 ++++++++- mm/vmstat.c | 4 ++ 7 files changed, 263 insertions(+), 14 deletions(-) Preliminary test results: (2 VCPU 1024mB RAM KVM guest running 3.5.0_rc4+) * 64mB balloon: [root@localhost ~]# awk '/compact/ {print}' /proc/vmstat compact_blocks_moved 0 compact_pages_moved 0 compact_pagemigrate_failed 0 compact_stall 0 compact_fail 0 compact_success 0 compact_balloon_migrated 0 compact_balloon_failed 0 compact_balloon_isolated 0 compact_balloon_freed 0 [root@localhost ~]# [root@localhost ~]# for i in $(seq 1 4); do echo 1> /proc/sys/vm/compact_memory & done &>/dev/null [1] Done echo > /proc/sys/vm/compact_memory [2] Done echo > /proc/sys/vm/compact_memory [3]- Done echo > /proc/sys/vm/compact_memory [4]+ Done echo > /proc/sys/vm/compact_memory [root@localhost ~]# [root@localhost ~]# awk '/compact/ {print}' /proc/vmstat compact_blocks_moved 2683 compact_pages_moved 47502 compact_pagemigrate_failed 61 compact_stall 0 compact_fail 0 compact_success 0 compact_balloon_migrated 16384 compact_balloon_failed 0 compact_balloon_isolated 16384 compact_balloon_freed 16384 * 128mB balloon: [root@localhost ~]# awk '/compact/ {print}' /proc/vmstat compact_blocks_moved 0 compact_pages_moved 0 compact_pagemigrate_failed 0 compact_stall 0 compact_fail 0 compact_success 0 compact_balloon_migrated 0 compact_balloon_failed 0 compact_balloon_isolated 0 compact_balloon_freed 0 [root@localhost ~]# [root@localhost ~]# for i in $(seq 1 4); do echo 1> /proc/sys/vm/compact_memory & done &>/dev/null [1] Done echo > /proc/sys/vm/compact_memory [2] Done echo > /proc/sys/vm/compact_memory [3]- Done echo > /proc/sys/vm/compact_memory [4]+ Done echo > /proc/sys/vm/compact_memory [root@localhost ~]# awk '/compact/ {print}' /proc/vmstat compact_blocks_moved 2624 compact_pages_moved 49195 compact_pagemigrate_failed 54 compact_stall 0 compact_fail 0 compact_success 0 compact_balloon_migrated 29350 compact_balloon_failed 29 compact_balloon_isolated 29379 compact_balloon_freed 29350 -- 1.7.10.2
WARNING: multiple messages have this Message-ID (diff)
From: Rafael Aquini <aquini@redhat.com> To: linux-mm@kvack.org Cc: linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, Rusty Russell <rusty@rustcorp.com.au>, "Michael S. Tsirkin" <mst@redhat.com>, Rik van Riel <riel@redhat.com>, Rafael Aquini <aquini@redhat.com> Subject: [PATCH 0/4] make balloon pages movable by compaction Date: Mon, 25 Jun 2012 20:25:55 -0300 [thread overview] Message-ID: <cover.1340665087.git.aquini@redhat.com> (raw) This patchset follows the main idea discussed at 2012 LSFMMS section: "Ballooning for transparent huge pages" -- http://lwn.net/Articles/490114/ to introduce the required changes to the virtio_balloon driver, as well as changes to the core compaction & migration bits, in order to allow memory balloon pages become movable within a guest. Rafael Aquini (4): mm: introduce compaction and migration for virtio ballooned pages virtio_balloon: handle concurrent accesses to virtio_balloon struct elements virtio_balloon: introduce migration primitives to balloon pages mm: add vm event counters for balloon pages compaction drivers/virtio/virtio_balloon.c | 142 +++++++++++++++++++++++++++++++++++---- include/linux/mm.h | 17 +++++ include/linux/virtio_balloon.h | 6 ++ include/linux/vm_event_item.h | 2 + mm/compaction.c | 74 ++++++++++++++++++++ mm/migrate.c | 32 ++++++++- mm/vmstat.c | 4 ++ 7 files changed, 263 insertions(+), 14 deletions(-) Preliminary test results: (2 VCPU 1024mB RAM KVM guest running 3.5.0_rc4+) * 64mB balloon: [root@localhost ~]# awk '/compact/ {print}' /proc/vmstat compact_blocks_moved 0 compact_pages_moved 0 compact_pagemigrate_failed 0 compact_stall 0 compact_fail 0 compact_success 0 compact_balloon_migrated 0 compact_balloon_failed 0 compact_balloon_isolated 0 compact_balloon_freed 0 [root@localhost ~]# [root@localhost ~]# for i in $(seq 1 4); do echo 1> /proc/sys/vm/compact_memory & done &>/dev/null [1] Done echo > /proc/sys/vm/compact_memory [2] Done echo > /proc/sys/vm/compact_memory [3]- Done echo > /proc/sys/vm/compact_memory [4]+ Done echo > /proc/sys/vm/compact_memory [root@localhost ~]# [root@localhost ~]# awk '/compact/ {print}' /proc/vmstat compact_blocks_moved 2683 compact_pages_moved 47502 compact_pagemigrate_failed 61 compact_stall 0 compact_fail 0 compact_success 0 compact_balloon_migrated 16384 compact_balloon_failed 0 compact_balloon_isolated 16384 compact_balloon_freed 16384 * 128mB balloon: [root@localhost ~]# awk '/compact/ {print}' /proc/vmstat compact_blocks_moved 0 compact_pages_moved 0 compact_pagemigrate_failed 0 compact_stall 0 compact_fail 0 compact_success 0 compact_balloon_migrated 0 compact_balloon_failed 0 compact_balloon_isolated 0 compact_balloon_freed 0 [root@localhost ~]# [root@localhost ~]# for i in $(seq 1 4); do echo 1> /proc/sys/vm/compact_memory & done &>/dev/null [1] Done echo > /proc/sys/vm/compact_memory [2] Done echo > /proc/sys/vm/compact_memory [3]- Done echo > /proc/sys/vm/compact_memory [4]+ Done echo > /proc/sys/vm/compact_memory [root@localhost ~]# awk '/compact/ {print}' /proc/vmstat compact_blocks_moved 2624 compact_pages_moved 49195 compact_pagemigrate_failed 54 compact_stall 0 compact_fail 0 compact_success 0 compact_balloon_migrated 29350 compact_balloon_failed 29 compact_balloon_isolated 29379 compact_balloon_freed 29350 -- 1.7.10.2 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next reply other threads:[~2012-06-25 23:26 UTC|newest] Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top 2012-06-25 23:25 Rafael Aquini [this message] 2012-06-25 23:25 ` [PATCH 0/4] make balloon pages movable by compaction Rafael Aquini 2012-06-25 23:25 ` [PATCH 1/4] mm: introduce compaction and migration for virtio ballooned pages Rafael Aquini 2012-06-25 23:25 ` Rafael Aquini 2012-06-25 23:25 ` Rafael Aquini 2012-06-25 23:31 ` Konrad Rzeszutek Wilk 2012-06-25 23:31 ` Konrad Rzeszutek Wilk 2012-06-25 23:31 ` Konrad Rzeszutek Wilk 2012-06-25 23:57 ` Rafael Aquini 2012-06-25 23:57 ` Rafael Aquini 2012-06-25 23:57 ` Rafael Aquini 2012-06-26 10:17 ` Mel Gorman 2012-06-26 10:17 ` Mel Gorman 2012-06-26 16:52 ` Andi Kleen 2012-06-26 16:52 ` Andi Kleen 2012-06-26 16:54 ` Andi Kleen 2012-06-26 16:54 ` Andi Kleen 2012-06-26 16:54 ` Andi Kleen 2012-06-26 20:15 ` Mel Gorman 2012-06-26 20:15 ` Mel Gorman 2012-06-26 20:34 ` Andi Kleen 2012-06-26 20:34 ` Andi Kleen 2012-06-26 20:34 ` Andi Kleen 2012-06-27 9:42 ` Mel Gorman 2012-06-27 9:42 ` Mel Gorman 2012-06-27 9:42 ` Mel Gorman 2012-06-26 20:15 ` Mel Gorman 2012-06-26 16:52 ` Andi Kleen 2012-06-26 22:01 ` Rafael Aquini 2012-06-26 22:01 ` Rafael Aquini 2012-06-26 22:01 ` Rafael Aquini 2012-06-26 10:17 ` Mel Gorman 2012-06-26 13:17 ` Rik van Riel 2012-06-26 13:17 ` Rik van Riel 2012-06-26 13:17 ` Rik van Riel 2012-06-26 13:20 ` Mel Gorman 2012-06-26 13:20 ` Mel Gorman 2012-06-26 13:20 ` Mel Gorman 2012-06-26 23:57 ` Konrad Rzeszutek Wilk 2012-06-26 23:57 ` Konrad Rzeszutek Wilk 2012-06-27 15:17 ` Rafael Aquini 2012-06-27 15:17 ` Rafael Aquini 2012-06-27 15:30 ` Konrad Rzeszutek Wilk 2012-06-27 15:30 ` Konrad Rzeszutek Wilk 2012-06-27 15:30 ` Konrad Rzeszutek Wilk 2012-06-27 15:17 ` Rafael Aquini 2012-06-26 23:57 ` Konrad Rzeszutek Wilk 2012-06-25 23:25 ` [PATCH 2/4] virtio_balloon: handle concurrent accesses to virtio_balloon struct elements Rafael Aquini 2012-06-25 23:25 ` Rafael Aquini 2012-06-25 23:25 ` Rafael Aquini 2012-06-25 23:25 ` [PATCH 3/4] virtio_balloon: introduce migration primitives to balloon pages Rafael Aquini 2012-06-25 23:25 ` Rafael Aquini 2012-06-25 23:25 ` Rafael Aquini 2012-06-25 23:25 ` [PATCH 4/4] mm: add vm event counters for balloon pages compaction Rafael Aquini 2012-06-25 23:25 ` Rafael Aquini 2012-06-25 23:25 ` Rafael Aquini 2012-06-25 23:25 [PATCH 0/4] make balloon pages movable by compaction Rafael Aquini
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=cover.1340665087.git.aquini@redhat.com \ --to=aquini@redhat.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=mst@redhat.com \ --cc=riel@redhat.com \ --cc=rusty@rustcorp.com.au \ --cc=virtualization@lists.linux-foundation.org \ /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: linkBe 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.