Re: [PATCH v6 kernel 3/5] virtio-balloon: speed up inflate/deflate process
From: "Michael S. Tsirkin" <mst@redhat.com>
Date: 2017-01-17 19:15:45
On Wed, Dec 21, 2016 at 02:52:26PM +0800, Liang Li wrote:
quoted hunk
- /* We should always be able to add one buffer to an empty queue. */ - virtqueue_add_outbuf(vq, &sg, 1, vb, GFP_KERNEL); - virtqueue_kick(vq); +static void do_set_resp_bitmap(struct virtio_balloon *vb, + unsigned long base_pfn, int pages) - /* When host has read buffer, this completes via balloon_ack */ - wait_event(vb->acked, virtqueue_get_buf(vq, &len)); +{ + __le64 *range = vb->resp_data + vb->resp_pos; + if (pages > (1 << VIRTIO_BALLOON_NR_PFN_BITS)) { + /* when the length field can't contain pages, set it to 0 to
/* * Multi-line * comments * should look like this. */ Also, pls start sentences with an upper-case letter.
+ * indicate the actual length is in the next __le64; + */
This is part of the interface so should be documented as such.
quoted hunk
+ *range = cpu_to_le64((base_pfn << + VIRTIO_BALLOON_NR_PFN_BITS) | 0); + *(range + 1) = cpu_to_le64(pages); + vb->resp_pos += 2;
Pls use structs for this kind of stuff.
quoted hunk
+ } else { + *range = (base_pfn << VIRTIO_BALLOON_NR_PFN_BITS) | pages; + vb->resp_pos++; + } +}