[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3e47bf87-3e9d-f836-021b-8a90919f9002@redhat.com>
Date: Fri, 20 May 2016 13:19:51 +0200
From: Paolo Bonzini <pbonzini@...hat.com>
To: Liang Li <liang.z.li@...el.com>, mst@...hat.com
Cc: linux-kernel@...r.kernel.org, qemu-devel@...gnu.org,
virtualization@...ts.linux-foundation.org,
akpm@...ux-foundation.org, dgilbert@...hat.com,
amit.shah@...hat.com, kvm@...r.kernel.org
Subject: Re: [PATCH RFC kernel] balloon: speed up inflating/deflating process
On 20/05/2016 11:59, Liang Li wrote:
> +
> + sg_init_table(sg, 5);
> + sg_set_buf(&sg[0], &flags, sizeof(flags));
> + sg_set_buf(&sg[1], &start_pfn, sizeof(start_pfn));
> + sg_set_buf(&sg[2], &page_shift, sizeof(page_shift));
> + sg_set_buf(&sg[3], &bmap_len, sizeof(bmap_len));
These four should probably be placed in a single struct and therefore a
single sg entry. It might even be faster to place it together with the
bitmap, thus avoiding the use of indirect descriptors.
You should also test ballooning of a 64GB guest after filling in the
page cache, not just ballooning of a freshly booted 4GB guest. This
will give you a much more sparse bitmap. Still, the improvement in
sending PFNs to the host are impressive.
Thanks,
Paolo
> + sg_set_buf(&sg[4], vb->page_bitmap +
> + (start_pfn / BITS_PER_LONG), bmap_len);
> + virtqueue_add_outbuf(vq, sg, 5, vb, GFP_KERNEL);
Powered by blists - more mailing lists