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: Li, Liang Z
Subject: Re: [Qemu-devel] [PATCH v6 kernel 3/5] virtio-balloon: speed up inflate/deflate process
Date: Wed, 18 Jan 2017 04:56:58 +0000

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

Sorry for that.

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

I am not sure if you mean to use 

struct  range {
        __le64 pfn: 52;
        __le64 nr_page: 12
}
Instead of the shift operation?

I didn't use this way because I don't want to include 'virtio-balloon.h' in 
page_alloc.c,
or copy the define of this struct in page_alloc.c

Thanks!
Liang



reply via email to

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