Message ID | 20201020194305.12352-1-vinay.yadav@chelsio.com |
---|---|
State | Superseded |
Headers | show |
Series | [net] chelsio/chtls: Utilizing multiple rxq/txq to process requests | expand |
On Wed, 21 Oct 2020 01:13:06 +0530 Vinay Kumar Yadav wrote: > patch adds a logic to utilize multiple queues to process requests. > The queue selection logic uses a round-robin distribution technique > using a counter. What's the Fixes tag for this one?
On 10/21/2020 9:56 AM, Jakub Kicinski wrote: > On Wed, 21 Oct 2020 01:13:06 +0530 Vinay Kumar Yadav wrote: >> patch adds a logic to utilize multiple queues to process requests. >> The queue selection logic uses a round-robin distribution technique >> using a counter. > > What's the Fixes tag for this one? > Fixes: cc35c88ae4db ("crypto : chtls - CPL handler definition") Thanks, Vinay
On Wed, 21 Oct 2020 10:39:22 +0530 Vinay Kumar Yadav wrote: > On 10/21/2020 9:56 AM, Jakub Kicinski wrote: > > On Wed, 21 Oct 2020 01:13:06 +0530 Vinay Kumar Yadav wrote: > >> patch adds a logic to utilize multiple queues to process requests. > >> The queue selection logic uses a round-robin distribution technique > >> using a counter. > > > > What's the Fixes tag for this one? > > Fixes: cc35c88ae4db ("crypto : chtls - CPL handler definition") On a closer look it doesn't seem like round robin was ever implemented here. So this doesn't seem like a fix. Unless you can prove otherwise please repost for net-next when it opens.
diff --git a/drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls.h b/drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls.h index 2d3dfdd2a716..e7b78b68eaac 100644 --- a/drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls.h +++ b/drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls.h @@ -235,6 +235,7 @@ struct chtls_dev { struct list_head na_node; unsigned int send_page_order; int max_host_sndbuf; + u32 round_robin_cnt; struct key_map kmap; unsigned int cdev_state; }; diff --git a/drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_cm.c b/drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_cm.c index ec4f79049a06..5c3242ec0e10 100644 --- a/drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_cm.c +++ b/drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_cm.c @@ -1220,8 +1220,9 @@ static struct sock *chtls_recv_sock(struct sock *lsk, csk->sndbuf = csk->snd_win; csk->ulp_mode = ULP_MODE_TLS; step = cdev->lldi->nrxq / cdev->lldi->nchan; - csk->rss_qid = cdev->lldi->rxq_ids[port_id * step]; rxq_idx = port_id * step; + rxq_idx += cdev->round_robin_cnt++ % step; + csk->rss_qid = cdev->lldi->rxq_ids[rxq_idx]; csk->txq_idx = (rxq_idx < cdev->lldi->ntxq) ? rxq_idx : port_id * step; csk->sndbuf = newsk->sk_sndbuf;