On Mon, Sep 1, 2014 at 11:41 AM, Alex Wang <al...@nicira.com> wrote: > > > > On Sat, Aug 30, 2014 at 12:02 PM, Pravin Shelar <pshe...@nicira.com> wrote: >> >> On Mon, Aug 11, 2014 at 9:56 PM, Alex Wang <al...@nicira.com> wrote: >> > Before this commit, ovs only creates one tx/rx queue for each >> > dpdk interface and uses only one poll thread for handling the >> > I/O of all dpdk interfaces. As one step toward using multiple >> > poll threads, this commit makes ovs, by default, create same >> > number of rx queues as the number dpdk interfaces on the cpu >> > socket. Also each dpdk interface will have one tx queue for >> > each cpu core, even though not all of those queues will be >> > used. >> > >> >> Generally we should describe subject in less than 70 characters. >> Commit msg should explain why we are introducing this change. It is >> not clear from the patch the relation between number of core on socket >> and rx queues. >> > > > Thx, I'll use the 70 characters rule, thought it was 80, > > Also, I'll shed light on how upcoming patches relates to this patch. > > > >> >> >> > @@ -179,7 +180,9 @@ struct netdev_dpdk { >> > int port_id; >> > int max_packet_len; >> > >> > - struct dpdk_tx_queue tx_q[NR_QUEUE]; >> > + struct dpdk_tx_queue *tx_q; >> > + int n_tx_q; >> > + int n_rx_q; >> > >> There is already member in struct netdev called n_rxq to represent >> number of rx_queues, we should use that directly. >> tx_queues are not visible to dpif-netdev, but later patches will make >> them visible, so we should add another member n_txq to struct netdev. >> netdev-provide should be a passive layer, driven by dpif-netdev. Logic >> of calculating number of queues should is in dpif-netdev, We can add >> another API to open multi queue devices like dpdk. > > > > i'm good with adding n_txq to the 'struct netdev'. > > so i think what you suggest are the following: > - add n_txq to 'struct netdev', and add new struct 'struct netdev_txq' > - add functions netdev_set_multiq() in 'netdev-provider.h' for configuring > the n_txq, n_rxq > - like rxq_recv() functions, the send() function will take in 'struct > netdev_txq' > as argument >
I agree with all except last one. I dont think there is any need for struct netdev_txq. netdev-dpdk can select queue based on core-id for now. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev