"Michael S. Tsirkin" <[email protected]> writes:
> On Sun, Apr 14, 2013 at 11:59:42AM -0400, Sasha Levin wrote:
>> On 04/14/2013 11:53 AM, Michael S. Tsirkin wrote:
>> >> >
>> >> > Initializing them only when they're actually needed will do the trick
>> >> > here.
>> > Not initializing, adding the buffers. In the current spec, initialization
>> > is always done before DRIVER_OK.
>>
>> Yeah, that's better, but we're going to need a spec change either way since
>> even
>> adding the buffers is specifically stated to happen before DRIVER_OK:
>>
>> """
>> 6. The receive virtqueues should be filled with receive buffers. This
>> is described
>> in detail below in “Setting Up Receive Buffers”.
>> """
>>
>> Thanks,
>> Sasha
>
> Yes but that's a minor point, specific to virio-net.
> The main point was to ensure that VQs should have buffers before they get
> any packets.
>
> OTOH VQ init bere DRIVER_OK is a generic virtio thing: DRIVER_OK means
> we can start sending interrupts and we expect driver to be ready to get
> them.
>
> Let's solve the real problem with buffers, a couple of pages per VQ
> shouldn't be an issue.
Yeah, let's not populate the extra virtqueues until someone turns
multiqueue on.
I appended to the last paragraph under Setting Up Receive Buffers:
If VIRTIO_NET_F_MQ is negotiated, each of receiveq0...receiveqN that
will be used should be populated with receive buffers
Added:
before multiqueue is activated (See [sub:Automatic-receive-steering]).
Cheers,
Rusty.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html