be negative.
928bytes_read = read(fd, , bytes_read);
Fixes: c9f3ec1a0f3f ("eal/linux: add Rx interrupt control function")
Signed-off-by: Cunming Liang
---
lib/librte_eal/linuxapp/eal/eal_interrupts.c | 7 ---
1 file changed, 4 insertions(+), 3 deletions(-)
diff -
The vector number may change during 'dev_start'. Before enabling a new vector
mapping,
it's necessary to disable/unmap the previous setting.
Fixes: fe685de2b1b6 ("igb: fix VF start with PF stopped")
Reported-by: Yong Liu
Signed-off-by: Cunming Liang
---
drivers/net/e1000/igb_et
The vector number may change during 'dev_start'. Before enabling a new vector
mapping,
it's necessary to disable/unmap the previous setting.
Fixes: 7ab8500037f6 ("ixgbe: fix VF start with PF stopped")
Reported-by: Yong Liu
Signed-off-by: Cunming Liang
---
drivers/net/ixgbe/ixgbe_et
queues.
v3 changes:
- macro change according to EAL
- rebase on patch http://dpdk.org/dev/patchwork/patch/7790
v2 changes:
- turn on intr only when rxq flag is set
- rework base on patch http://dpdk.org/dev/patchwork/patch/7504/
Signed-off-by: Cunming Liang
---
drivers/net/i40e
change
v2 change:
- add write flush
- always set DIS_AUTOMASK_
Signed-off-by: Cunming Liang
---
doc/guides/rel_notes/release_2_2.rst | 1 +
drivers/net/i40e/i40e_ethdev.c | 346 ++-
drivers/net/i40e/i40e_ethdev.h | 5 +
drivers/net/i40e/i40e_pf.c
, mbox has to occupy the only one.
It adds condition check on 'dev_start', rxq interrupt is not allowed when PF
running in IOV mode via UIO.
v4 change:
- remove redundancy condition check
v3 change:
- add doc update follow on the code change
Signed-off-by: Cunming Liang
---
doc/guides
As ixgbe vf doesn't support lsc, the patch removes those unused code.
In addition, it does some tiny cleanup.
Signed-off-by: Cunming Liang
---
drivers/net/ixgbe/ixgbe_ethdev.c | 62 +---
1 file changed, 1 insertion(+), 61 deletions(-)
diff --git a/drivers
The intr_vec is free in dev_stop. It's not necessary to check in dev_close.
Signed-off-by: Cunming Liang
---
drivers/net/ixgbe/ixgbe_ethdev.c | 7 ---
1 file changed, 7 deletions(-)
diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index c322168..948a84f
, mbox has to occupy the only one.
It adds condition check on 'dev_start', rxq interrupt is not allowed when PF
running in IOV mode via UIO.
v4 change:
- remove redundancy condition check
v3 change:
- add doc update follow on the code change
Signed-off-by: Cunming Liang
---
doc/guides
:
- add new api dummy in bsdapp
Signed-off-by: Cunming Liang
---
lib/librte_eal/bsdapp/eal/eal_interrupts.c| 7 +++
lib/librte_eal/bsdapp/eal/include/exec-env/rte_interrupts.h | 10 ++
lib/librte_eal/bsdapp/eal/rte_eal_version.map | 7 +++
lib
Signed-off-by: Cunming Liang
---
drivers/net/e1000/igb_ethdev.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c
index 1332974..76d2acc 100644
--- a/drivers/net/e1000/igb_ethdev.c
+++ b/drivers/net/e1000
Signed-off-by: Cunming Liang
---
drivers/net/ixgbe/ixgbe_ethdev.c | 16
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index 153ba98..f1a738c 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b
The patch adds condition check to avoid enable nothing.
In disable state, both max_intr and nb_efd are zero.
Signed-off-by: Cunming Liang
---
lib/librte_eal/bsdapp/eal/include/exec-env/rte_interrupts.h | 3 ++-
lib/librte_eal/linuxapp/eal/eal_interrupts.c | 8 +++-
lib
According to the VFIO interrupt mapping, the interrupt vector id for rxq starts
from RX_VEC_START.
It doesn't impact the UIO cases.
v3 change:
- macro renaming according to the EAL change
Signed-off-by: Cunming Liang
---
drivers/net/e1000/e1000_ethdev.h | 3 +++
drivers/net/e1000
According to the VFIO interrupt mapping, the interrupt vector id for rxq starts
from RX_VEC_START.
It doesn't impact the UIO cases.
v3 changes:
- macro renaming according to the EAL change
Signed-off-by: Cunming Liang
---
drivers/net/ixgbe/ixgbe_ethdev.c | 22 ++
drivers
:
- rename MISC_VEC_ID to RTE_INTR_VEC_ZERO_OFFSET
- rename RX_VEC_START to RTE_INTR_VEC_RXTX_OFFSET
- add macro definition in bsd header file
Signed-off-by: Cunming Liang
---
.../bsdapp/eal/include/exec-env/rte_interrupts.h | 3 +++
lib/librte_eal/linuxapp/eal/eal_interrupts.c
compatible issue with mbox in ixgbe/igb IOV-PF
4. add rx interrupt support in i40e PF and VF
Cunming Liang (13):
eal: vfio map misc intr to vector zero
ixgbe: reserve intr vector zero for misc cause
igb: reserve intr vector zero for misc cause
eal/linux: not allow to enable zero intr efd
ixgbe
queues.
v3 changes:
- macro change according to EAL
- rebase on patch http://dpdk.org/dev/patchwork/patch/7790
v2 changes:
- turn on intr only when rxq flag is set
- rework base on patch http://dpdk.org/dev/patchwork/patch/7504/
Signed-off-by: Cunming Liang
---
drivers/net/i40e
- always set DIS_AUTOMASK_
i40e: pf macro
Signed-off-by: Cunming Liang
---
doc/guides/rel_notes/release_2_2.rst | 1 +
drivers/net/i40e/i40e_ethdev.c | 347 ++-
drivers/net/i40e/i40e_ethdev.h | 5 +
drivers/net/i40e/i40e_pf.c | 2 +
4 files
, mbox has to occupy the only one.
It adds condition check on 'dev_start', rxq interrupt is not allowed when PF
running in IOV mode via UIO.
v3 change:
- add doc update follow on the code change
Signed-off-by: Cunming Liang
---
doc/guides/rel_notes/release_2_2.rst | 2 ++
drivers/net/e1000
As ixgbe vf doesn't support lsc, the patch removes those unused code.
In addition, it does some tiny cleanup.
Signed-off-by: Cunming Liang
---
drivers/net/ixgbe/ixgbe_ethdev.c | 62 +---
1 file changed, 1 insertion(+), 61 deletions(-)
diff --git a/drivers
The intr_vec is free in dev_stop. It's not necessary to check in dev_close.
Signed-off-by: Cunming Liang
---
drivers/net/ixgbe/ixgbe_ethdev.c | 7 ---
1 file changed, 7 deletions(-)
diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index 6b075f6..d5556cc
, mbox has to occupy the only one.
It adds condition check on 'dev_start', rxq interrupt is not allowed when PF
running in IOV mode via UIO.
v3 change:
- add doc update follow on the code change
Signed-off-by: Cunming Liang
---
doc/guides/rel_notes/release_2_2.rst | 2 ++
drivers/net/ixgbe
:
- add new api dummy in bsdapp
Signed-off-by: Cunming Liang
---
lib/librte_eal/bsdapp/eal/eal_interrupts.c| 7 +++
lib/librte_eal/bsdapp/eal/include/exec-env/rte_interrupts.h | 10 ++
lib/librte_eal/bsdapp/eal/rte_eal_version.map | 7 +++
lib
Signed-off-by: Cunming Liang
---
drivers/net/e1000/igb_ethdev.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c
index 1332974..76d2acc 100644
--- a/drivers/net/e1000/igb_ethdev.c
+++ b/drivers/net/e1000
Signed-off-by: Cunming Liang
---
drivers/net/ixgbe/ixgbe_ethdev.c | 16
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index 153ba98..f1a738c 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b
The patch adds condition check to avoid enable nothing.
In disable state, both max_intr and nb_efd are zero.
Signed-off-by: Cunming Liang
---
lib/librte_eal/bsdapp/eal/include/exec-env/rte_interrupts.h | 3 ++-
lib/librte_eal/linuxapp/eal/eal_interrupts.c | 8 +++-
lib
According to the VFIO interrupt mapping, the interrupt vector id for rxq starts
from RX_VEC_START.
It doesn't impact the UIO cases.
v3 change:
- macro renaming according to the EAL change
Signed-off-by: Cunming Liang
---
drivers/net/e1000/e1000_ethdev.h | 3 +++
drivers/net/e1000
According to the VFIO interrupt mapping, the interrupt vector id for rxq starts
from RX_VEC_START.
It doesn't impact the UIO cases.
v3 changes:
- macro renaming according to the EAL change
Signed-off-by: Cunming Liang
---
drivers/net/ixgbe/ixgbe_ethdev.c | 22 ++
drivers
:
- rename MISC_VEC_ID to RTE_INTR_VEC_ZERO_OFFSET
- rename RX_VEC_START to RTE_INTR_VEC_RXTX_OFFSET
- add macro definition in bsd header file
Signed-off-by: Cunming Liang
---
.../bsdapp/eal/include/exec-env/rte_interrupts.h | 3 +++
lib/librte_eal/linuxapp/eal/eal_interrupts.c
support in i40e PF and VF
Cunming Liang (13):
eal: vfio map misc intr to vector zero
ixgbe: reserve intr vector zero for misc cause
igb: reserve intr vector zero for misc cause
eal/linux: not allow to enable zero intr efd
ixgbe: fix efd_enable with zero number
igb: fix efd_enable
Signed-off-by: Cunming Liang
---
doc/guides/rel_notes/release_2_2.rst | 4
1 file changed, 4 insertions(+)
diff --git a/doc/guides/rel_notes/release_2_2.rst
b/doc/guides/rel_notes/release_2_2.rst
index be6f827..01bd4bb 100644
--- a/doc/guides/rel_notes/release_2_2.rst
+++ b/doc/guides
which is
exclusive with mbox interrupt
in single vector competition.
On VF side, one single vector is shared for all the rx queues.
Signed-off-by: Cunming Liang
---
drivers/net/i40e/i40e_ethdev.c| 38 +-
drivers/net/i40e/i40e_ethdev.h| 15
drivers/net/i40e/i40e_ethdev_vf.c
v2 changes:
- add write flush
- always set DIS_AUTOMASK_* bit
The patch enables rx interrupt support on i40e PF non-IOV mode.
Per queue rx interrupt works on vfio, however on uio, all rx queues share one
interrupt vector.
Signed-off-by: Cunming Liang
---
drivers/net/i40e/i40e_ethdev.c
As ixgbe vf doesn't support lsc, the patch removes those unused code.
In addition, it does some tiny cleanup.
Signed-off-by: Cunming Liang
---
drivers/net/ixgbe/ixgbe_ethdev.c | 85 +---
1 file changed, 10 insertions(+), 75 deletions(-)
diff --git a/drivers
, mbox has to occupy the only one.
It adds condition check on 'dev_start', rxq interrupt is not allowed when PF
running in IOV mode via UIO.
Signed-off-by: Cunming Liang
---
drivers/net/ixgbe/ixgbe_ethdev.c | 45 +++-
1 file changed, 31 insertions(+), 14
-by: Cunming Liang
---
lib/librte_eal/linuxapp/eal/eal_interrupts.c | 9 +
lib/librte_eal/linuxapp/eal/include/exec-env/rte_interrupts.h | 10 ++
lib/librte_eal/linuxapp/eal/rte_eal_version.map | 7 +++
3 files changed, 26 insertions(+)
diff --git
The patch adds condition check to avoid enable nothing.
In disable state, both max_intr and nb_efd are zero.
Signed-off-by: Cunming Liang
---
lib/librte_eal/bsdapp/eal/include/exec-env/rte_interrupts.h | 3 ++-
lib/librte_eal/linuxapp/eal/eal_interrupts.c | 8 +++-
lib
According to the VFIO interrupt mapping, the interrupt vector id for rxq starts
from RX_VEC_START.
It doesn't impact the UIO cases.
Signed-off-by: Cunming Liang
---
drivers/net/e1000/igb_ethdev.c | 19 ++-
1 file changed, 14 insertions(+), 5 deletions(-)
diff --git a/drivers
According to the VFIO interrupt mapping, the interrupt vector id for rxq starts
from RX_VEC_START.
It doesn't impact the UIO cases.
Signed-off-by: Cunming Liang
---
drivers/net/ixgbe/ixgbe_ethdev.c | 14 +-
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/drivers/net
mapping
2. add api to declare the capability of multiple interrupt vector support
3. fix the rx interrupt compatible issue with mbox in ixgbe/igb IOV-PF
4. add rx interrupt support in i40e PF and VF
Cunming Liang (11):
eal/linux: vfio map misc intr to vector zero
ixgbe: reserve intr vector zero
Signed-off-by: Cunming Liang
---
doc/guides/rel_notes/release_2_2.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/doc/guides/rel_notes/release_2_2.rst
b/doc/guides/rel_notes/release_2_2.rst
index 682f468..73dba47 100644
--- a/doc/guides/rel_notes/release_2_2.rst
+++ b/doc/guides
queues.
Signed-off-by: Cunming Liang
---
drivers/net/i40e/i40e_ethdev.c| 46 +++--
drivers/net/i40e/i40e_ethdev.h| 15
drivers/net/i40e/i40e_ethdev_vf.c | 141 ++
drivers/net/i40e/i40e_pf.c| 5 --
4 files changed, 169 insertions
The patch enables rx interrupt support on i40e PF non-IOV mode.
Per queue rx interrupt works on vfio, however on uio, all rx queues share one
interrupt vector.
Signed-off-by: Cunming Liang
---
drivers/net/i40e/i40e_ethdev.c | 319 +++--
drivers/net/i40e
, mbox has to occupy the only one.
It adds condition check on 'dev_start', rxq interrupt is not allowed when PF
running in IOV mode via UIO.
Signed-off-by: Cunming Liang
---
drivers/net/e1000/igb_ethdev.c | 44 +-
1 file changed, 31 insertions(+), 13 deletions
As ixgbe vf doesn't support lsc, the patch removes those unused code.
In addition, it does some tiny cleanup.
Signed-off-by: Cunming Liang
---
drivers/net/ixgbe/ixgbe_ethdev.c | 85 +---
1 file changed, 10 insertions(+), 75 deletions(-)
diff --git a/drivers
, mbox has to occupy the only one.
It adds condition check on 'dev_start', rxq interrupt is not allowed when PF
running in IOV mode via UIO.
Signed-off-by: Cunming Liang
---
drivers/net/ixgbe/ixgbe_ethdev.c | 45 +++-
1 file changed, 31 insertions(+), 14
-by: Cunming Liang
---
lib/librte_eal/linuxapp/eal/eal_interrupts.c | 9 +
lib/librte_eal/linuxapp/eal/include/exec-env/rte_interrupts.h | 10 ++
lib/librte_eal/linuxapp/eal/rte_eal_version.map | 7 +++
3 files changed, 26 insertions(+)
diff --git
The patch adds condition check to avoid enable nothing.
In disable state, both max_intr and nb_efd are zero.
Signed-off-by: Cunming Liang
---
lib/librte_eal/bsdapp/eal/include/exec-env/rte_interrupts.h | 3 ++-
lib/librte_eal/linuxapp/eal/eal_interrupts.c | 8 +++-
lib
According to the VFIO interrupt mapping, the interrupt vector id for rxq starts
from RX_VEC_START.
It doesn't impact the UIO cases.
Signed-off-by: Cunming Liang
---
drivers/net/e1000/igb_ethdev.c | 19 ++-
1 file changed, 14 insertions(+), 5 deletions(-)
diff --git a/drivers
According to the VFIO interrupt mapping, the interrupt vector id for rxq starts
from RX_VEC_START.
It doesn't impact the UIO cases.
Signed-off-by: Cunming Liang
---
drivers/net/ixgbe/ixgbe_ethdev.c | 14 +-
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/drivers/net
-by: Cunming Liang
---
lib/librte_eal/linuxapp/eal/eal_interrupts.c | 18 --
.../linuxapp/eal/include/exec-env/rte_interrupts.h | 3 +++
2 files changed, 15 insertions(+), 6 deletions(-)
diff --git a/lib/librte_eal/linuxapp/eal/eal_interrupts.c
b/lib/librte_eal/linuxapp
Cunming Liang (11):
eal/linux: vfio map misc intr to vector zero
ixgbe: reserve intr vector zero for misc cause
igb: reserve intr vector zero for misc cause
eal/linux: not allow to enable zero intr efd
eal/linux: add intr api to report multi-vector capability
ixgbe: fix rx intr
The patch updates the env_abstraction_layer.rst part in prog_guide.
It adds the RX interrupt event declaration and revises the others in interrupt
event section.
Signed-off-by: Cunming Liang
---
doc/guides/prog_guide/env_abstraction_layer.rst | 34 ++---
1 file changed, 31
(RTE_IXGBE_RXQ_REARM_THRESH) packets.
On transmit side, the max burst size no longer bind with a constant, however it
still
require to check the cross tx_rs_thresh violation.
There's no obvious performance drop found on both recv_pkts_vec
and recv_scattered_pkts_vec on burst size 32.
Signed-off-by: Cunming
(RTE_IXGBE_RXQ_REARM_THRESH) packets.
On transmit side, the max burst size no longer bind with a constant, however it
still
require to check the cross tx_rs_thresh violation.
There's no obvious performance drop found on both recv_pkts_vec
and recv_scattered_pkts_vec on burst size 32.
Signed-off-by: Cunming
receive anything.)
On transmit side, the max burst size no longer bind with a constant, however it
still
require to check the cross tx_rs_thresh violation.
There's no obvious performance drop found on both recv_pkts_vec
and recv_scattered_pkts_vec on burst size 32.
Signed-off-by: Cunming Liang
The patch sets zero as the default value of pci device numa_node
if the socket could not be determined.
It provides the same default value as FreeBSD which has no NUMA support,
and makes the return value of rte_eth_dev_socket_id() be consistent
with the API description.
Signed-off-by: Cunming
The patch announces the planned ABI changes for interrupt mode.
Signed-off-by: Cunming Liang
---
v3 change:
- reword for CONFIG_RTE_NEXT_ABI
v2 change:
- rebase to recent master
doc/guides/rel_notes/deprecation.rst | 5 +
1 file changed, 5 insertions(+)
diff --git a/doc/guides
The patch announces the planned ABI changes for interrupt mode on v2.2.
Signed-off-by: Cunming Liang
---
v2 change:
- rebase to recent master
doc/guides/rel_notes/deprecation.rst | 8
1 file changed, 8 insertions(+)
diff --git a/doc/guides/rel_notes/deprecation.rst
b/doc/guides
it receives an
interrupt notification caused by the incoming packets.
The sample keeps running in polling mode if the binding PMD hasn't supported
the rx interrupt yet. Now only ixgbe(pf/vf) and igb support it.
Signed-off-by: Danny Zhou
Signed-off-by: Cunming Liang
---
v14 changes
- per-patch basis
The patch does below for igb PF:
- Setup NIC to generate MSI-X interrupts
- Set the IVAR register to map interrupt causes to vectors
- Implement interrupt enable/disable functions
Signed-off-by: Danny Zhou
Signed-off-by: Cunming Liang
---
v14 changes
- per-patch basis ABI compatibility rework
The patch does below things for ixgbe PF and VF:
- Setup NIC to generate MSI-X interrupts
- Set the IVAR register to map interrupt causes to vectors
- Implement interrupt enable/disable functions
Signed-off-by: Danny Zhou
Signed-off-by: Yong Liu
Signed-off-by: Cunming Liang
---
v14 changes
The patch adds two dev_ops functions to enable and disable rx queue interrupts.
In addtion, it adds rte_eth_dev_rx_intr_ctl/rx_intr_q to support per port or
per queue rx intr event set.
Signed-off-by: Danny Zhou
Signed-off-by: Cunming Liang
---
v15 changes
- remove ifdef RTE_NEXT_ABI from
Signed-off-by: Cunming Liang
---
lib/librte_eal/bsdapp/eal/include/exec-env/rte_interrupts.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/librte_eal/bsdapp/eal/include/exec-env/rte_interrupts.h
b/lib/librte_eal/bsdapp/eal/include/exec-env/rte_interrupts.h
index
To make bsd compiling happy with new intr changes.
Signed-off-by: Cunming Liang
---
v15 changes
- remove ifdef RTE_NEXT_ABI from header file
v14 changes
- per-patch basis ABI compatibility rework
v13 changes
- version map cleanup for v2.1
v12 changes
- fix unused variables compiling
b_uio")
Reported-by: Yong Liu
Signed-off-by: Cunming Liang
---
lib/librte_eal/linuxapp/eal/eal_interrupts.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/lib/librte_eal/linuxapp/eal/eal_interrupts.c
b/lib/librte_eal/linuxapp/eal/eal_interrupts.c
index 1cea4bf..3f87875 100644
--- a/lib/librte_ea
The patch exposes intr event fd create and release for PMD.
The device driver can assign the number of event associated with interrupt
vector.
It also provides misc functions to check 1) allows other slowpath intr(e.g.
lsc);
2) intr event on fastpath is enabled or not.
Signed-off-by: Cunming
The patch maps each of the eventfd to the interrupt vector of VFIO MSI-X.
Signed-off-by: Danny Zhou
Signed-off-by: Cunming Liang
---
v14 changes
- per-patch basis ABI compatibility rework
- reword commit comments
v8 changes
- move eventfd creation out of the setup_interrupts to a standalone
Signed-off-by: Cunming Liang
---
lib/librte_eal/linuxapp/eal/eal_interrupts.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/librte_eal/linuxapp/eal/eal_interrupts.c
b/lib/librte_eal/linuxapp/eal/eal_interrupts.c
index ffccb0e..5acc3b7 100644
--- a/lib/librte_eal
The patch adds 'rte_intr_rx_ctl' to add or delete interrupt vector events
monitor on specified epoll instance.
Signed-off-by: Cunming Liang
---
v15 changes
- remove ifdef RTE_NEXT_ABI from header file
v14 changes
- per-patch basis ABI compatibility rework
- remove unnecessary 'local
.
The epoll event support to carry a raw user data and to register a callback
which is executed during wakeup.
Signed-off-by: Cunming Liang
---
v14 changes
- per-patch basis ABI compatibility rework
- remove unnecessary 'local: *' from version map
v13 changes
- version map cleanup for v2.1
v11
Signed-off-by: Cunming Liang
---
v15 changes
- remove unnecessary RTE_NEXT_ABI comment
v14 changes
- per-patch basis ABI compatibility rework
v7 changes:
- add eptrs[], it's used to store the register rte_epoll_event instances.
- add vec_en, to log the vector capability status.
v6 changes
turn in on if you want to support both LSC
and rx queue interrupts on a PF.
Cunming Liang (13):
eal/linux: add interrupt vectors support in intr_handle
eal/linux: add rte_epoll_wait/ctl support
eal/linux: add API to set rx interrupt event monitor
eal/linux: fix comments typo on vfio msi
eal/linux:
it receives an
interrupt notification caused by the incoming packets.
The sample keeps running in polling mode if the binding PMD hasn't supported
the rx interrupt yet. Now only ixgbe(pf/vf) and igb support it.
Signed-off-by: Danny Zhou
Signed-off-by: Cunming Liang
---
v14 changes
- per-patch basis
The patch does below for igb PF:
- Setup NIC to generate MSI-X interrupts
- Set the IVAR register to map interrupt causes to vectors
- Implement interrupt enable/disable functions
Signed-off-by: Danny Zhou
Signed-off-by: Cunming Liang
---
v14 changes
- per-patch basis ABI compatibility rework
Signed-off-by: Cunming Liang
---
lib/librte_eal/bsdapp/eal/include/exec-env/rte_interrupts.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/librte_eal/bsdapp/eal/include/exec-env/rte_interrupts.h
b/lib/librte_eal/bsdapp/eal/include/exec-env/rte_interrupts.h
index
To make bsd compiling happy with new intr changes.
Signed-off-by: Cunming Liang
---
v14 changes
- per-patch basis ABI compatibility rework
v13 changes
- version map cleanup for v2.1
v12 changes
- fix unused variables compiling warning
v8 changes
- add stub for new function
v7 changes
b_uio")
Reported-by: Yong Liu
Signed-off-by: Cunming Liang
---
lib/librte_eal/linuxapp/eal/eal_interrupts.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/lib/librte_eal/linuxapp/eal/eal_interrupts.c
b/lib/librte_eal/linuxapp/eal/eal_interrupts.c
index 0266d98..69ce974 100644
--- a/lib/librte_ea
The patch exposes intr event fd create and release for PMD.
The device driver can assign the number of event associated with interrupt
vector.
It also provides misc functions to check 1) allows other slowpath intr(e.g.
lsc);
2) intr event on fastpath is enabled or not.
Signed-off-by: Cunming
The patch assigns event fds to each vfio msix interrupt vector by ioctl.
Signed-off-by: Danny Zhou
Signed-off-by: Cunming Liang
---
v14 changes
- per-patch basis ABI compatibility rework
- reword commit comments
v8 changes
- move eventfd creation out of the setup_interrupts to a standalone
Signed-off-by: Cunming Liang
---
lib/librte_eal/linuxapp/eal/eal_interrupts.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/librte_eal/linuxapp/eal/eal_interrupts.c
b/lib/librte_eal/linuxapp/eal/eal_interrupts.c
index 4e34abc..cca2efd 100644
--- a/lib/librte_eal
The patch adds 'rte_intr_rx_ctl' to add or delete interrupt vector events
monitor on specified epoll instance.
Signed-off-by: Cunming Liang
---
v14 changes
- per-patch basis ABI compatibility rework
- remove unnecessary 'local: *' from version map
v13 changes
- version map cleanup for v2.1
.
The epoll event support to carry a raw user data and to register a callback
which is executed during wakeup.
Signed-off-by: Cunming Liang
---
v14 changes
- per-patch basis ABI compatibility rework
- remove unnecessary 'local: *' from version map
v13 changes
- version map cleanup for v2.1
v11
ntfd shared by LSC
and rx queue interrupt handlers causes a mess. [FIXED]
2) LSC interrupt is not supported by VF driver, so it is by default disabled
in L3fwd-power now. Feel free to turn in on if you want to support both LSC
and rx queue interrupts on a PF.
Cunming Liang (13):
eal/linux:
rte_intr_conf.
Signed-off-by: Cunming Liang
---
v13 changes
- Use common RTE_NEXT_ABI to replace RTE_EAL_RX_INTR
v9
- Acked-by: vincent jardin
drivers/net/e1000/igb_ethdev.c | 28 -
drivers/net/ixgbe/ixgbe_ethdev.c | 41 -
examples/l3fwd-power
kernel, so one-shot interrupt is used here to guarantee minimum
overhead and DPDK polling thread returns to polling mode immediately
once it receives an interrupt notificaiton for incoming packet.
Signed-off-by: Danny Zhou
Signed-off-by: Cunming Liang
---
v7 changes
- using new APIs
- demo
The patch does below for igb PF:
- Setup NIC to generate MSI-X interrupts
- Set the IVAR register to map interrupt causes to vectors
- Implement interrupt enable/disable functions
Signed-off-by: Danny Zhou
Signed-off-by: Cunming Liang
---
v9 changes
- move queue-vec mapping init from
The patch does below things for ixgbe PF and VF:
- Setup NIC to generate MSI-X interrupts
- Set the IVAR register to map interrupt causes to vectors
- Implement interrupt enable/disable functions
Signed-off-by: Danny Zhou
Signed-off-by: Yong Liu
Signed-off-by: Cunming Liang
---
v10 changes
The patch adds two dev_ops functions to enable and disable rx queue interrupts.
In addtion, it adds rte_eth_dev_rx_intr_ctl/rx_intr_q to support per port or
per queue rx intr event set.
Signed-off-by: Danny Zhou
Signed-off-by: Cunming Liang
---
v13 changes
- version map cleanup for v2.1
v9
Signed-off-by: Cunming Liang
---
lib/librte_eal/bsdapp/eal/include/exec-env/rte_interrupts.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/librte_eal/bsdapp/eal/include/exec-env/rte_interrupts.h
b/lib/librte_eal/bsdapp/eal/include/exec-env/rte_interrupts.h
index
To make bsd compiling happy with new intr changes.
Signed-off-by: Cunming Liang
---
v13 changes
- version map cleanup for v2.1
v12 changes
- fix unused variables compiling warning
v8 changes
- add stub for new function
v7 changes
- remove stub 'linux only' function from source file
lib
-by: Cunming Liang
---
lib/librte_eal/linuxapp/eal/eal_interrupts.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/lib/librte_eal/linuxapp/eal/eal_interrupts.c
b/lib/librte_eal/linuxapp/eal/eal_interrupts.c
index 5519e7c..d7a5403 100644
--- a/lib/librte_eal/linuxapp/eal/eal_interrupts.c
+++ b/lib
The patch exposes intr event fd create and release for PMD.
The device driver can assign the number of event associated with interrupt
vector.
It also provides misc functions to check 1) allows other slowpath intr(e.g.
lsc);
2) intr event on fastpath is enabled or not.
Signed-off-by: Cunming
This patch does below:
- Create VFIO eventfds for each interrupt vector (move to next)
- Assign per interrupt vector's eventfd to VFIO by ioctl
Signed-off-by: Danny Zhou
Signed-off-by: Cunming Liang
---
v8 changes
- move eventfd creation out of the setup_interrupts to a standalone function
Signed-off-by: Cunming Liang
---
lib/librte_eal/linuxapp/eal/eal_interrupts.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/librte_eal/linuxapp/eal/eal_interrupts.c
b/lib/librte_eal/linuxapp/eal/eal_interrupts.c
index cfe389c..fe1210b 100644
--- a/lib/librte_eal
The patch adds 'rte_intr_rx_ctl' to add or delete interrupt vector events
monitor on specified epoll instance.
Signed-off-by: Cunming Liang
---
v13 changes
- version map cleanup for v2.1
v12 changes:
- fix awkward line split in using RTE_LOG
v10 changes:
- add RTE_INTR_HANDLE_UIO_INTX
.
The epoll event support to carry a raw user data and to register a callback
which is executed during wakeup.
Signed-off-by: Cunming Liang
---
v13 changes
- version map cleanup for v2.1
v11 changes
- cleanup spelling error
v9 changes
- rework on coding style
v8 changes
- support delete event
Signed-off-by: Cunming Liang
---
v7 changes:
- add eptrs[], it's used to store the register rte_epoll_event instances.
- add vec_en, to log the vector capability status.
v6 changes:
- add mapping table between irq vector number and queue id.
v5 changes:
- Create this new patch file for changed
, so it is by default disabled
in L3fwd-power now. Feel free to turn in on if you want to support both LSC
and rx queue interrupts on a PF.
Cunming Liang (14):
eal/linux: add interrupt vectors support in intr_handle
eal/linux: add rte_epoll_wait/ctl support
eal/linux: add API to set rx interrupt e
1 - 100 of 372 matches
Mail list logo