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
.
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
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
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 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
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
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
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
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
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
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 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
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 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
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 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
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
to a specified epoll instance, 'eptrs' will hold the
rte_epoll_event object pointer.
Signed-off-by: Danny Zhou
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
.
Signed-off-by: Cunming Liang
---
v9 changes
- rework on coding style
v8 changes
- support delete event in safety during the wakeup execution
- add EINTR process during epoll_wait
v7 changes
- split v6[4/8] into two patches, one for epoll event(this one)
another for rx intr(next patch
The patch adds 'rte_intr_rx_ctl' to add or delete interrupt vector events
monitor on specified epoll instance.
Signed-off-by: Cunming Liang
---
v10 changes:
- add RTE_INTR_HANDLE_UIO_INTX for uio_pci_generic
v8 changes
- fix EWOULDBLOCK and EINTR processing
- add event status check
v7
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 302ceda..c970c66 100644
--- a/lib/librte_eal
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 funtions to check 1) allows other slowpath intr(e.g. lsc);
2) intr event on fastpath is enabled or not.
Signed-off-by: Cunming
-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 c2bf165..0f902b2 100644
--- a/lib/librte_eal/linuxapp/eal/eal_interrupts.c
+++ b/lib
To make bsd compiling happy with new intr changes.
Signed-off-by: Cunming Liang
---
v8 changes
- add stub for new function
v7 changes
- remove stub 'linux only' function from source file
lib/librte_eal/bsdapp/eal/eal_interrupts.c | 19 ++
.../bsdapp/eal/include/exec-env
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
---
v9 changes
- remove unnecessary check after
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 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
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
rte_intr_conf.
Signed-off-by: Cunming Liang
---
v9 Acked-by: vincent jardin
drivers/net/e1000/igb_ethdev.c | 28 -
drivers/net/ixgbe/ixgbe_ethdev.c | 41 -
examples/l3fwd-power/main.c| 3 +-
.../bsdapp/eal/include/exec
It announces the planned ABI changes for interrupt mode on v2.2.
The feature will turn off by default so as to avoid v2.1 ABI broken.
Signed-off-by: Cunming Liang
---
doc/guides/rel_notes/abi.rst | 1 +
1 file changed, 1 insertion(+)
diff --git a/doc/guides/rel_notes/abi.rst b/doc/guides
y 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: add interrupt vectors support in intr_handle
eal/linux: add rte_epoll_wait/ctl support
eal/linux: add
to a specified epoll instance, 'eptrs' will hold the
rte_epoll_event object pointer.
Signed-off-by: Danny Zhou
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
.
Signed-off-by: Cunming Liang
---
v11 changes
- cleanup spelling error
v9 changes
- rework on coding style
v8 changes
- support delete event in safety during the wakeup execution
- add EINTR process during epoll_wait
v7 changes
- split v6[4/8] into two patches, one for epoll event(this one
The patch adds 'rte_intr_rx_ctl' to add or delete interrupt vector events
monitor on specified epoll instance.
Signed-off-by: Cunming Liang
---
v10 changes:
- add RTE_INTR_HANDLE_UIO_INTX for uio_pci_generic
v8 changes
- fix EWOULDBLOCK and EINTR processing
- add event status check
v7
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 08dc2ab..4499055 100644
--- a/lib/librte_eal
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
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
-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 4b191ae..300ebb1 100644
--- a/lib/librte_eal/linuxapp/eal/eal_interrupts.c
+++ b/lib
To make bsd compiling happy with new intr changes.
Signed-off-by: Cunming Liang
---
v8 changes
- add stub for new function
v7 changes
- remove stub 'linux only' function from source file
lib/librte_eal/bsdapp/eal/eal_interrupts.c | 19 ++
.../bsdapp/eal/include/exec-env
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
fix by http://www.dpdk.org/dev/patchwork/patch/4784
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 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
than 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 notification for incoming packet.
Signed-off-by: Danny Zhou
Signed-off-by: Cunming Liang
---
v7 changes
- using new APIs
- demo
rte_intr_conf.
Signed-off-by: Cunming Liang
---
v9 Acked-by: vincent jardin
drivers/net/e1000/igb_ethdev.c | 28 -
drivers/net/ixgbe/ixgbe_ethdev.c | 41 -
examples/l3fwd-power/main.c| 3 +-
.../bsdapp/eal/include/exec
to a specified epoll instance, 'eptrs' will hold the
rte_epoll_event object pointer.
Signed-off-by: Danny Zhou
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
The patch adds 'rte_intr_rx_ctl' to add or delete interrupt vector events
monitor on specified epoll instance.
Signed-off-by: Cunming Liang
---
v12 changes:
- fix awkward line split in using RTE_LOG
v10 changes:
- add RTE_INTR_HANDLE_UIO_INTX for uio_pci_generic
v8 changes
- fix
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
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
-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
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
.
Signed-off-by: Cunming Liang
---
v11 changes
- cleanup spelling error
v9 changes
- rework on coding style
v8 changes
- support delete event in safety during the wakeup execution
- add EINTR process during epoll_wait
v7 changes
- split v6[4/8] into two patches, one for epoll event(this one
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
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 (14):
eal/linux: add inter
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 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
---
v9 changes
- remove unnecessary check after
rte_intr_conf.
Signed-off-by: Cunming Liang
---
v9 Acked-by: vincent jardin
drivers/net/e1000/igb_ethdev.c | 28 -
drivers/net/ixgbe/ixgbe_ethdev.c | 41 -
examples/l3fwd-power/main.c| 3 +-
.../bsdapp/eal/include/exec
To make bsd compiling happy with new intr changes.
Signed-off-by: Cunming Liang
---
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/librte_eal/bsdapp/eal/eal_interrupts.c
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
Reported-by: Jayakumar, Muthurajan
Signed-off-by: Cunming Liang
---
app/test/test_pmd_perf.c | 19 ---
1 file changed, 16 insertions(+), 3 deletions(-)
diff --git a/app/test/test_pmd_perf.c b/app/test/test_pmd_perf.c
index 1fd6843..6f218f7 100644
--- a/app/test/test_pmd_perf.c
.
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
, 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
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
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
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
---
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
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
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
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
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
-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
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
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
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
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
(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
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
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 -
fix libraries take care the case of rte_lcore_id() >= RTE_MAX_LCORE.
Thanks a million for the comments from Konstantin, Bruce, Mirek and Stephen in
RFC review.
*** BLURB HERE ***
Cunming Liang (17):
eal: add cpuset into per EAL thread lcore_config
eal: new eal option '--lcores' for
It returns the socket_id if all cpus in the cpuset belongs
to the same NUMA node, otherwise it will return SOCKET_ID_ANY.
Signed-off-by: Cunming Liang
---
lib/librte_eal/bsdapp/eal/eal_lcore.c | 7 +
lib/librte_eal/common/eal_thread.h | 52 +
lib
1. add two TLS *_socket_id* and *_cpuset*
2. add two external API rte_thread_set/get_affinity
3. add one internal API eal_thread_dump_affinity
Signed-off-by: Cunming Liang
---
lib/librte_eal/bsdapp/eal/eal_thread.c| 2 ++
lib/librte_eal/common/eal_thread.h| 14 ++
lib
The API works for both EAL thread and none EAL thread.
When calling rte_thread_set_affinity, the *_socket_id* and
*_cpuset* of calling thread will be updated if the thread
successful set the cpu affinity.
Signed-off-by: Cunming Liang
---
lib/librte_eal/bsdapp/eal/Makefile| 1 +
lib
The rte_gettid() wraps the linux and freebsd syscall gettid().
It provides a persistent unique thread id for the calling thread.
It will save the unique id in TLS on the first time.
Signed-off-by: Cunming Liang
---
lib/librte_eal/bsdapp/eal/eal_thread.c | 9 +
lib/librte_eal/common
Some macro already been defined by freebsd 'sys/param.h'.
Signed-off-by: Cunming Liang
---
lib/librte_pmd_enic/enic.h| 1 +
lib/librte_pmd_enic/enic_compat.h | 1 +
2 files changed, 2 insertions(+)
diff --git a/lib/librte_pmd_enic/enic.h b/lib/librte_pmd_enic/enic.h
index c43417c
Add check for rte_socket_id(), avoid get unexpected return like (-1).
Signed-off-by: Cunming Liang
---
lib/librte_malloc/malloc_heap.h | 7 ++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/lib/librte_malloc/malloc_heap.h b/lib/librte_malloc/malloc_heap.h
index b4aec45
For those non-EAL thread, *_lcore_id* is invalid and probably larger than
RTE_MAX_LCORE.
The patch adds the check and allows only EAL thread using EAL per thread log
level and log type.
Others shares the global log level.
Signed-off-by: Cunming Liang
---
lib/librte_eal/common/eal_common_log.c
In non-EAL thread, lcore_id alrways be LCORE_ID_ANY.
It cann't be used as unique id for recursive spinlock.
Then use rte_gettid() to replace it.
Signed-off-by: Cunming Liang
---
lib/librte_eal/common/include/generic/rte_spinlock.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff
For those none EAL thread, *_lcore_id* shall always be LCORE_ID_ANY.
The libraries using *_lcore_id* as index need to take care.
*_socket_id* always be SOCKET_ID_ANY unitl the thread changes the affinity
by rte_thread_set_affinity()
Signed-off-by: Cunming Liang
---
lib/librte_eal/bsdapp/eal
ring debug stat won't take care non-EAL thread.
Signed-off-by: Cunming Liang
---
lib/librte_ring/rte_ring.h | 10 ++
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/lib/librte_ring/rte_ring.h b/lib/librte_ring/rte_ring.h
index 7cd5f2d..39bacdd 100644
--- a/lib/librte_ring
uld simply do nothing and return
straightway.
Signed-off-by: Cunming Liang
---
lib/librte_timer/rte_timer.c | 40 +++-
lib/librte_timer/rte_timer.h | 2 +-
2 files changed, 32 insertions(+), 10 deletions(-)
diff --git a/lib/librte_timer/rte_timer.c b/
Add a sched_yield() syscall if the thread spins for too long, waiting other
thread to finish its operations on the ring.
That gives pre-empted thread a chance to proceed and finish with ring
enqnue/dequeue operation.
The purpose is to reduce contention on the ring.
Signed-off-by: Cunming Liang
.
It will get bad performance and has critical risk if scheduling policy is RT.
Signed-off-by: Cunming Liang
---
lib/librte_mempool/rte_mempool.h | 18 +++---
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/lib/librte_mempool/rte_mempool.h b/lib/librte_mempool/rte_mempool.h
index
>nb_rx_desc - 1));".
Reported-by: Stephen Hemminger
Signed-off-by: Cunming Liang
---
The issue was reported in
http://www.dpdk.org/ml/archives/dev/2015-February/014127.html
lib/librte_pmd_ixgbe/ixgbe_rxtx.c | 51 ++-
1 file changed, 18 insertions(+)
Reported-by: Butler, Siobhan A
Signed-off-by: Cunming Liang
---
Fixes: 1733be6d3147(doc: new eal multi-pthread feature)
doc/guides/prog_guide/env_abstraction_layer.rst | 82 -
1 file changed, 40 insertions(+), 42 deletions(-)
diff --git a/doc/guides/prog_guide
rted 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 (10):
eal/linux: add interrupt vectors support in intr_handle
eal/linux: add rte_epoll_wait/ctl support
eal/linux: add
to a specified epoll instance, 'eptrs' will hold the
rte_epoll_event object pointer.
Signed-off-by: Danny Zhou
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
.
Signed-off-by: Cunming Liang
---
v7 changes
- split v6[4/8] into two patches, one for epoll event(this one)
another for rx intr(next patch)
- introduce rte_epoll_event definition
- rte_epoll_wait/ctl for more generic RTE epoll API
v6 changes
- split rte_intr_wait_rx_pkt into two function
The patch adds 'rte_intr_rx_ctl' to add or delete interrupt vector events
monitor on specified epoll instance.
Signed-off-by: Cunming Liang
---
v7 changes
- rename rte_intr_rx_set to rte_intr_rx_ctl.
- rte_intr_rx_ctl uses rte_epoll_ctl to register epoll event instance.
- the intr rx event
To make bsd compiling happy with new intr changes.
Signed-off-by: Cunming Liang
---
v7 changes
- remove stub 'linux only' function from source file
lib/librte_eal/bsdapp/eal/include/exec-env/rte_interrupts.h | 6 ++
1 file changed, 6 insertions(+)
diff --git a/lib/librte_eal/bsdapp/eal
101 - 200 of 372 matches
Mail list logo