[ovs-dev] [PATCH v5] dpif-netdev: proper tx queue id

Ilya Maximets i.maximets at samsung.com
Tue Oct 13 15:43:40 UTC 2015



On 13.10.2015 18:00, Daniele Di Proietto wrote:

>> @@ -2620,9 +2733,20 @@ pmd_load_queues(struct dp_netdev_pmd_thread *pmd,
>>                         poll_list[poll_cnt].rx = port->rxq[i];
>>                         poll_cnt++;
>>                     }
>> -                    index++;
>> +                    rx_index++;
>>                 }
>> +
>> +            }
>> +
>> +            n_txq = netdev_n_txq(port->netdev);
>> +            /* Last queue reserved for non pmd threads */
>> +            n_txq = n_txq == 1 ? 1 : n_txq - 1;
>> +            for (i = 0; i < n_txq; i++) {
>> +                if ((tx_index % n_pmds_on_numa) == pmd->index || n_txq
>> == 1)
>> +                    dp_netdev_pmd_add_txq(pmd, port, i);
>> +                tx_index++;
>>             }
>> +
> 
> This code assigns more than one txq for each NIC to a pmd thread.
> Is this a wanted effect?

Yes.

> 
> Also, the same txq can be assigned to multiple pmd threads on different
> NUMA sockets.

Thanks. I missed that.

> 
> The logic should be different from rxq assignment:
> * rxq: each rxq should be assigned to one thread
> * txq: each thread should have its own txq for each netdev.

Agree. This is what I wanted to achieve. I'll prepare new version.

Best regards, Ilya Maximets.



More information about the dev mailing list