* [PATCH net-next] liquidio: Prioritize control messages
@ 2018-03-28 2:25 Felix Manlunas
2018-03-29 18:14 ` David Miller
0 siblings, 1 reply; 2+ messages in thread
From: Felix Manlunas @ 2018-03-28 2:25 UTC (permalink / raw)
To: davem
Cc: netdev, raghu.vatsavayi, derek.chickles, satananda.burla,
felix.manlunas, intiyaz.basha
From: Intiyaz Basha <intiyaz.basha@cavium.com>
During heavy tx traffic, control messages (sent by liquidio driver to NIC
firmware) sometimes do not get processed in a timely manner. Reason is:
the low-level metadata of control messages and that of egress network
packets indicate that they have the same priority.
Fix it by setting a higher priority for control messages through the new
ctrl_qpg field in the oct_txpciq struct. It is the NIC firmware that does
the actual setting of priority by writing to the new ctrl_qpg field; the
host driver treats that value as opaque and just assigns it to pki_ih3->qpg
Signed-off-by: Intiyaz Basha <intiyaz.basha@cavium.com>
Signed-off-by: Felix Manlunas <felix.manlunas@cavium.com>
---
drivers/net/ethernet/cavium/liquidio/liquidio_common.h | 8 ++++++--
drivers/net/ethernet/cavium/liquidio/request_manager.c | 3 ++-
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/cavium/liquidio/liquidio_common.h b/drivers/net/ethernet/cavium/liquidio/liquidio_common.h
index 82a783d..75eea83 100644
--- a/drivers/net/ethernet/cavium/liquidio/liquidio_common.h
+++ b/drivers/net/ethernet/cavium/liquidio/liquidio_common.h
@@ -712,9 +712,13 @@ enum lio_phy_type {
u64 pkind:6;
u64 use_qpg:1;
u64 qpg:11;
- u64 reserved:30;
+ u64 reserved0:10;
+ u64 ctrl_qpg:11;
+ u64 reserved:9;
#else
- u64 reserved:30;
+ u64 reserved:9;
+ u64 ctrl_qpg:11;
+ u64 reserved0:10;
u64 qpg:11;
u64 use_qpg:1;
u64 pkind:6;
diff --git a/drivers/net/ethernet/cavium/liquidio/request_manager.c b/drivers/net/ethernet/cavium/liquidio/request_manager.c
index 2766af0..b127035 100644
--- a/drivers/net/ethernet/cavium/liquidio/request_manager.c
+++ b/drivers/net/ethernet/cavium/liquidio/request_manager.c
@@ -628,7 +628,8 @@ static void check_db_timeout(struct work_struct *work)
pki_ih3->tag = LIO_CONTROL;
pki_ih3->tagtype = ATOMIC_TAG;
pki_ih3->qpg =
- oct->instr_queue[sc->iq_no]->txpciq.s.qpg;
+ oct->instr_queue[sc->iq_no]->txpciq.s.ctrl_qpg;
+
pki_ih3->pm = 0x7;
pki_ih3->sl = 8;
--
1.8.3.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH net-next] liquidio: Prioritize control messages
2018-03-28 2:25 [PATCH net-next] liquidio: Prioritize control messages Felix Manlunas
@ 2018-03-29 18:14 ` David Miller
0 siblings, 0 replies; 2+ messages in thread
From: David Miller @ 2018-03-29 18:14 UTC (permalink / raw)
To: felix.manlunas
Cc: netdev, raghu.vatsavayi, derek.chickles, satananda.burla,
intiyaz.basha
From: Felix Manlunas <felix.manlunas@cavium.com>
Date: Tue, 27 Mar 2018 19:25:18 -0700
> From: Intiyaz Basha <intiyaz.basha@cavium.com>
>
> During heavy tx traffic, control messages (sent by liquidio driver to NIC
> firmware) sometimes do not get processed in a timely manner. Reason is:
> the low-level metadata of control messages and that of egress network
> packets indicate that they have the same priority.
>
> Fix it by setting a higher priority for control messages through the new
> ctrl_qpg field in the oct_txpciq struct. It is the NIC firmware that does
> the actual setting of priority by writing to the new ctrl_qpg field; the
> host driver treats that value as opaque and just assigns it to pki_ih3->qpg
>
> Signed-off-by: Intiyaz Basha <intiyaz.basha@cavium.com>
> Signed-off-by: Felix Manlunas <felix.manlunas@cavium.com>
Applied.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2018-03-29 18:14 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-03-28 2:25 [PATCH net-next] liquidio: Prioritize control messages Felix Manlunas
2018-03-29 18:14 ` David Miller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).