On Sep 5, 2014 3:55 AM, "Paolo Bonzini" wrote:
>
> Il 03/09/2014 06:29, Rusty Russell ha scritto:
> > + desc = kmalloc(total_sg * sizeof(struct vring_desc), gfp);
> > + if (!desc)
> > + return NULL;
> >
> > - return head;
> > + for (i = 0; i < total_sg; i++)
> > +
Il 03/09/2014 06:29, Rusty Russell ha scritto:
> + desc = kmalloc(total_sg * sizeof(struct vring_desc), gfp);
> + if (!desc)
> + return NULL;
>
> - return head;
> + for (i = 0; i < total_sg; i++)
> + desc[i].next = i+1;
> + return desc;
> }
Would it m
Andy Lutomirski writes:
> On Tue, Sep 2, 2014 at 9:29 PM, Rusty Russell wrote:
>> virtqueue_add() populates the virtqueue descriptor table from the sgs
>> given. If it uses an indirect descriptor table, then it puts a single
>> descriptor in the descriptor table pointing to the kmalloc'ed indire
On Tue, Sep 2, 2014 at 9:29 PM, Rusty Russell wrote:
> virtqueue_add() populates the virtqueue descriptor table from the sgs
> given. If it uses an indirect descriptor table, then it puts a single
> descriptor in the descriptor table pointing to the kmalloc'ed indirect
> table where the sg is pop
virtqueue_add() populates the virtqueue descriptor table from the sgs
given. If it uses an indirect descriptor table, then it puts a single
descriptor in the descriptor table pointing to the kmalloc'ed indirect
table where the sg is populated.
Previously vring_add_indirect() did the allocation an