[dpdk-dev] [PATCH v1 3/3] tools: enable binding NIC device to uio_pci_generic

2015-01-29 Thread Danny Zhou
Add uio_pci_generic to the list of supported DPDK driver. Signed-off-by: Danny Zhou Tested-by: Qun Wan --- tools/dpdk_nic_bind.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/dpdk_nic_bind.py b/tools/dpdk_nic_bind.py index 812b6a1..2483056 100755 --- a/tools

[dpdk-dev] [PATCH v1 2/3] eal: add interrupt enable/disable routines for uio_pci_generic

2015-01-29 Thread Danny Zhou
enable/disable interrupt by manipulating enable/disable bit of command register on NIC's PCIe configuration space. Signed-off-by: Danny Zhou Tested-by: Qun Wan --- lib/librte_eal/linuxapp/eal/eal_interrupts.c | 68 +--- 1 file changed, 52 insertions(+), 16 deletions

[dpdk-dev] [PATCH v1 1/3] eal: enable uio_pci_generic support

2015-01-29 Thread Danny Zhou
1) Unify procedure to retrieve BAR resource mapping information. 2) Setup bus master bit in NIC's PCIe configuration space for uio_pci_generic. Signed-off-by: Danny Zhou Tested-by: Qun Wan --- lib/librte_eal/common/include/rte_pci.h| 1 + lib/librte_eal/linuxapp/eal/eal_pci.c

[dpdk-dev] [PATCH 0/3] Enable uio_pci_generic support

2015-01-29 Thread Danny Zhou
vfs //enable VFs #echo 0 > /sys/class/net/$dev/device/sriov_numvfs //disable VFs Danny Zhou (3): eal: add interrupt enable/disable routines for uio_pci_generic eal: enable uio_pci_generic support tools: enable binding NIC device to uio_pci_generic lib/librte_eal/common/i

[dpdk-dev] [PATCH v1 3/5] igb: enable rx queue interrupts for PF

2015-01-28 Thread Danny Zhou
Signed-off-by: Danny Zhou --- lib/librte_pmd_e1000/e1000/e1000_hw.h | 3 + lib/librte_pmd_e1000/e1000_ethdev.h | 6 + lib/librte_pmd_e1000/igb_ethdev.c | 265 ++ 3 files changed, 249 insertions(+), 25 deletions(-) diff --git a/lib/librte_pmd_e1000/e1000

[dpdk-dev] [PATCH v1 1/5] ethdev: add rx interrupt enable/disable functions

2015-01-28 Thread Danny Zhou
Signed-off-by: Danny Zhou --- lib/librte_ether/rte_ethdev.c | 45 ++ lib/librte_ether/rte_ethdev.h | 57 +++ 2 files changed, 102 insertions(+) diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c

[dpdk-dev] [PATCH v1 0/5] Interrupt mode for PMD

2015-01-28 Thread Danny Zhou
free to turn in on if you want to support both LSC and rx queue interrupts on a PF. Danny Zhou (5): ethdev: add rx interrupt enable/disable functions ixgbe: enable rx queue interrupts for both PF and VF igb: enable rx queue interrupts for PF eal: add per rx queue interrupt handling based on

[dpdk-dev] [RFC PATCH 5/5] ixgbe: enable rx queue interrupts for VF

2015-01-20 Thread Danny Zhou
This patch enables rx queue interrupt for ixgbevf with below changes: 1) Configure ixgbevf rx queue interrupts 2) Initialize ixgbevf devices in L3fwd-power appropriately 3) Fix VFIO interrupt vector settings Signed-off-by: Yong Liu Signed-off-by: Danny Zhou --- examples/l3fwd-power/main.c

[dpdk-dev] [RFC PATCH 4/5] L3fwd-power: enable one-shot rx interrupt and polling/interrupt mode switch

2015-01-20 Thread Danny Zhou
Signed-off-by: Danny Zhou --- examples/l3fwd-power/main.c | 127 ++-- 1 file changed, 98 insertions(+), 29 deletions(-) diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c index f6b55b9..71f1d90 100644 --- a/examples/l3fwd-power/main.c

[dpdk-dev] [RFC PATCH 3/5] eal: add per rx queue interrupt handling based on VFIO

2015-01-20 Thread Danny Zhou
Signed-off-by: Danny Zhou --- lib/librte_eal/common/include/rte_eal.h| 9 ++ lib/librte_eal/linuxapp/eal/eal_interrupts.c | 120 - lib/librte_eal/linuxapp/eal/eal_pci_vfio.c | 11 +- .../linuxapp/eal/include/exec-env/rte_interrupts.h | 3 + 4

[dpdk-dev] [RFC PATCH 2/5] ixgbe: enable rx queue interrupts

2015-01-20 Thread Danny Zhou
Signed-off-by: Danny Zhou --- lib/librte_pmd_ixgbe/ixgbe_ethdev.c | 203 1 file changed, 203 insertions(+) diff --git a/lib/librte_pmd_ixgbe/ixgbe_ethdev.c b/lib/librte_pmd_ixgbe/ixgbe_ethdev.c index 3fc3738..1d694c5 100644 --- a/lib/librte_pmd_ixgbe

[dpdk-dev] [RFC PATCH 1/5] ethdev: add rx interrupt enable/disable functions

2015-01-20 Thread Danny Zhou
Signed-off-by: Danny Zhou --- lib/librte_ether/rte_ethdev.c | 45 ++ lib/librte_ether/rte_ethdev.h | 57 +++ 2 files changed, 102 insertions(+) diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c

[dpdk-dev] [RFC PATCH 0/5] Introduce low-latency one-shot rx interrupt into DPDK with polling/interrupt switch control example

2015-01-20 Thread Danny Zhou
eliminates non-deterministic pthread wakeup latency in user space. 4) Demonstrate interrupts control APIs and userspace NAIP-like polling/interrupt switch algorithms in L3fwd-power example. Danny Zhou (5): ethdev: add rx interrupt enable/disable functions ixgbe: enable rx queue interrupts eal

[dpdk-dev] [RFC PATCH] Enable uio_pci_generic support

2014-10-28 Thread Danny Zhou
Linux kernel provides UIO as well as VFIO mechanism to support writing user space device driver. Comparing to UIO which is available since 2.6.32 kernel, the VFIO is introduced into kernel since version 3.6.0 with better interrupt and memory protection (build on top of Intel VT-d technology)