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
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
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
---
v9 changes
- remove unnecessary check after
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
---
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
-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
---
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
---
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
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
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
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
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
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
fix by http://www.dpdk.org/dev/patchwork/patch/4784
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
-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
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 08dc2ab..4499055 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
---
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
---
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
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
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
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
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
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
---
v9 changes
- remove unnecessary check after
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
-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
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
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 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
---
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
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
rte_intr_conf.
Signed-off-by: Cunming Liang
---
drivers/net/e1000/igb_ethdev.c | 28 -
drivers/net/ixgbe/ixgbe_ethdev.c | 41 -
examples/l3fwd-power/main.c| 4 +-
.../bsdapp/eal/include/exec-env/rte_interrupts.h | 7
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
---
v9 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
---
v9 changes
- remove unnecessary check after
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 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
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 adds 'rte_intr_rx_ctl' to add or delete interrupt vector events
monitor on specified epoll instance.
Signed-off-by: Cunming Liang
---
v8 changes
- fix EWOULDBLOCK and EINTR processing
- add event status check
v7 changes
- rename rte_intr_rx_set to rte_intr_rx_ctl
.
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
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
a PF.
Cunming Liang (12):
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: add interrupt vectors handling on VFIO
eal/linux: standalone
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
---
v8 changes
- add vfio-msi/vfio-legacy and uio-legacy
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
---
v8 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
---
v8 changes
- add addtion check for EEXIT
v7
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 | 20 ++
.../bsdapp/eal/include/exec-env
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
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 6fb7fc7..59f4214 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
---
v8 changes
- fix EWOULDBLOCK and EINTR processing
- add event status check
v7 changes
- rename rte_intr_rx_set to rte_intr_rx_ctl
.
Signed-off-by: Cunming Liang
---
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)
- introduce rte_epoll_event definition
to a specified epoll instance, 'elist' 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
now. Feel free to turn in on if you want to support both LSC
and rx queue interrupts on a PF.
Cunming Liang (11):
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
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
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
---
v7 changes
- add condition check when intr vector
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
---
v7 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
---
v7 changes
- remove rx_intr_vec_get
- add
This patch does below:
- Create VFIO eventfds for each interrupt vector
- Assign per interrupt vector's eventfd to VFIO by ioctl
Signed-off-by: Danny Zhou
Signed-off-by: Cunming Liang
---
v7 changes
- cleanup unnecessary code change
- split event and intr operation to other patches
lib
Signed-off-by: Danny Zhou
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 1090d7b..178a88e
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
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
.
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
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
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
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
>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(+)
rsapce interrupt notification generally takes a lot more cycles
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 notificaiton for incoming packet.
Signed-off-by: Danny Zhou
Signed-off-b
From: "Zhou, Danny" <danny.z...@intel.com>
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
Add three dev_ops functions to enable and disable rx queue interrupts; and to
retrieve the vector num which the specified queue assosiated with.
Signed-off-by: Danny Zhou
Signed-off-by: Cunming Liang
---
v6 changes
- add rx_intr_vec_get to retrieve the vector num of the queue.
v5 changes
Signed-off-by: Cunming Liang
---
v6 changes
- split rte_intr_wait_rx_pkt into two function, wait and set.
- rewrite rte_intr_rx_wait/rte_intr_rx_set to remove queue visibility on eal.
- rte_intr_rx_wait to support multiplexing.
- allow epfd as input to support flexible event fd combination.
v5
To make bsd compiling happy with new intr changes.
Signed-off-by: Cunming Liang
---
lib/librte_eal/bsdapp/eal/eal_interrupts.c| 15 +++
.../bsdapp/eal/include/exec-env/rte_interrupts.h | 4
lib/librte_eal/bsdapp/eal/rte_eal_version.map | 2
Per vector event fd will store in rte_intr_handle during init.
Device drivers take responsibility to fill queue-vec mapping table(vec_num[]).
Signed-off-by: Danny Zhou
Signed-off-by: Cunming Liang
---
v6 changes:
- add mapping table between irq vector number and queue id.
v5 changes
Add two API *rte_intr_rx_wait* and *rte_intr_rx_set* for RX interrupt.
They're only available in VFIO_MSIX.
Signed-off-by: Cunming Liang
---
lib/librte_eal/common/include/rte_interrupts.h | 38 ++
1 file changed, 38 insertions(+)
diff --git a/lib/librte_eal/common
ueue interrupts on a PF.
Cunming Liang (5):
eal: declare new interrupt api
eal/linux: add rx queue interrupt FDs to intr handle struct
eal/bsd: dummy for new intr definition
eal/linux: add per rx queue interrupt handling based on VFIO
ethdev: add rx interrupt enable/disable functions
As per_lcore__socket_id and rte_sys_gettid are missing in version map,
it causes compiling error when CONFIG_RTE_BUILD_SHARED_LIB is enabled.
Signed-off-by: Cunming Liang
---
lib/librte_eal/bsdapp/eal/rte_eal_version.map | 2 ++
1 file changed, 2 insertions(+)
diff --git a/lib/librte_eal
As per_lcore__socket_id and rte_sys_gettid are missing in version map,
it causes compiling error when CONFIG_RTE_BUILD_SHARED_LIB is enabled.
Signed-off-by: Cunming Liang
---
lib/librte_eal/linuxapp/eal/rte_eal_version.map | 2 ++
1 file changed, 2 insertions(+)
diff --git a/lib/librte_eal
These two patches are the fixing for the compling error when
CONFIG_RTE_BUILD_SHARED_LIB=y.
The root cause is *per_lcore__socket_id* and *rte_sys_gettid* are missing in
the version map.
Thanks for the notification from Tetsuya Mukawa .
Cunming Liang (2):
eal/linux: fix symbol missing
uld simply do nothing and return
straightway.
Signed-off-by: Cunming Liang
---
v6 changes:
use 'RTE_MAX_LCORE' to check the EAL thread with valid lcore_id.
use 'LCORE_ID_ANY' for any unspecified lcore_id assignment.
v5 changes:
add assert in rte_timer_manage
remove duplicate ch
shows additional perf penalty.
Signed-off-by: Cunming Liang
---
v6 changes:
rename RTE_RING_PAUSE_REP to RTE_RING_PAUSE_REP_COUNT
set default value as '0' in configure file
v5 changes:
add RTE_RING_PAUSE_REP to config file
v4 changes:
update and add more comments on sched_yield
ring debug stat won't take care non-EAL thread.
Signed-off-by: Cunming Liang
---
v6 changes:
rollback v5 changes
v5 changes:
check __lcore_id with LCORE_ID_ANY instead of RTE_MAX_LCORE
lib/librte_ring/rte_ring.h | 10 ++
1 file changed, 6 insertions(+), 4 deletions(-)
diff
.
It will get bad performance and has critical risk if scheduling policy is RT.
Haven't found significant performance decrease by mempool_perf_test.
Signed-off-by: Cunming Liang
---
v6 changes:
rollback v5 changes
v5 changes:
check __lcore_id with LCORE_ID_ANY instead of RTE_MAX_LCORE
lib
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
---
v5 changes:
define
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 the cpuset may belongs to
different NUMA nodes.
The value of _socket_id probably be SOCKET_ID_ANY(-1), the case is not expected
in origin malloc_get_numa_socket().
Signed-off-by: Cunming Liang
---
v7 changes:
reword comments
lib/librte_malloc/malloc_heap.h | 7 ++-
1 file changed, 6
101 - 200 of 372 matches
Mail list logo