qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v6 kernel 3/5] virtio-balloon: speed up inflate/


From: Michael S. Tsirkin
Subject: Re: [Qemu-devel] [PATCH v6 kernel 3/5] virtio-balloon: speed up inflate/deflate process
Date: Tue, 17 Jan 2017 21:15:45 +0200

On Wed, Dec 21, 2016 at 02:52:26PM +0800, Liang Li wrote:
>  
> -     /* 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.

> +             *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.

> +     } else {
> +             *range = (base_pfn << VIRTIO_BALLOON_NR_PFN_BITS) | pages;
> +             vb->resp_pos++;
> +     }
> +}



reply via email to

[Prev in Thread] Current Thread [Next in Thread]