Thread (40 messages) 40 messages, 3 authors, 2016-08-02

RE: [PATCH v2 repost 4/7] virtio-balloon: speed up inflate/deflate process

From: Li, Liang Z <hidden>
Date: 2016-07-28 03:30:53
Also in: kvm, lkml, qemu-devel

Subject: Re: [PATCH v2 repost 4/7] virtio-balloon: speed up inflate/deflate
process

On Wed, Jul 27, 2016 at 09:03:21AM -0700, Dave Hansen wrote:
quoted
On 07/26/2016 06:23 PM, Liang Li wrote:
quoted
+	vb->pfn_limit = VIRTIO_BALLOON_PFNS_LIMIT;
+	vb->pfn_limit = min(vb->pfn_limit, get_max_pfn());
+	vb->bmap_len = ALIGN(vb->pfn_limit, BITS_PER_LONG) /
+		 BITS_PER_BYTE + 2 * sizeof(unsigned long);
+	hdr_len = sizeof(struct balloon_bmap_hdr);
+	vb->bmap_hdr = kzalloc(hdr_len + vb->bmap_len, GFP_KERNEL);
This ends up doing a 1MB kmalloc() right?  That seems a _bit_ big.
How big was the pfn buffer before?

Yes I would limit this to 1G memory in a go, will result in a 32KByte bitmap.

--
MST
Limit to 1G is bad for the performance, I sent you the test result several weeks ago.

Paste it bellow:
------------------------------------------------------------------------------------------------------------------------
About the size of page bitmap, I have test the performance of filling the balloon to 15GB with a
 16GB RAM VM.

===============================
32K Byte (cover 1GB of RAM)

Time spends on inflating: 2031ms
---------------------------------------------
64K Byte (cover 2GB of RAM)

Time spends on inflating: 1507ms
--------------------------------------------
512K Byte (cover 16GB of RAM)

Time spends on inflating: 1237ms
================================

If possible, a big bitmap is better for performance.

Liang

--
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>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help