Instead of explicitly adding the pad bytes to force the structure an exact
multiple of cacheline size, let the PADDED_MEMBERS macro do the job.
Signed-off-by: Bhanuprakash Bodireddy
---
lib/ccmap.c | 19 +--
1 file changed, 9 insertions(+), 10 deletions(-)
diff --git a/lib
Instead of explicitly adding the pad bytes to force the structure an
exact multiple of cacheline size, let the macro do the job. This way
the pad bytes will be auto adjusted when the new members get introduced
in to the structure.
Signed-off-by: Bhanuprakash Bodireddy
---
lib/cmap.c | 19
bytes###
struct ovs_mutex port_mutex; 48
This change also improve the performance marginally.
Signed-off-by: Bhanuprakash Bodireddy
---
lib/dpif-netdev.c | 160 +++---
1 file changed, 91 insertions(+), 69 deletions(-)
diff
The break statement would never be executed as OVS_NOT_REACHED()
internally invokes abort() and causes process termination.
Signed-off-by: Bhanuprakash Bodireddy
---
lib/ofp-actions.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/lib/ofp-actions.c b/lib/ofp-actions.c
index 71eb70c..432b469
cacheline1;
struct ovs_mutex; 48
struct dpdk_mp *dpdk_mp;8
...
Signed-off-by: Bhanuprakash Bodireddy
---
lib/netdev-dpdk.c | 158 +-
1 file changed, 84 insertions(+), 74 deletions
The break statement would never be executed as OVS_NOT_REACHED()
internally invokes abort() and causes process termination.
Signed-off-by: Bhanuprakash Bodireddy
---
ofproto/ofproto-dpif-ipfix.c | 1 -
ofproto/ofproto-dpif-xlate.c | 2 --
2 files changed, 3 deletions(-)
diff --git a/ofproto
The break statement would never be executed as OVS_NOT_REACHED()
internally invokes abort() and causes process termination.
Signed-off-by: Bhanuprakash Bodireddy
---
ovsdb/replication.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/ovsdb/replication.c b/ovsdb/replication.c
index 304212d
This patchset introduces high resolution sleep support for linux and windows.
Also time macros are introduced to replace the numbers with meaningful
names.
Bhanuprakash Bodireddy (7):
timeval: Introduce macros to convert timespec and timeval.
util: Add high resolution sleep support.
util
This commit replaces the numbers with MSEC_PER_SEC, NSEC_PER_SEC and
USEC_PER_MSEC
macros when dealing with timespec and timeval.
Signed-off-by: Bhanuprakash Bodireddy
---
lib/timeval.c | 29 -
lib/timeval.h | 7 +++
2 files changed, 23 insertions(+), 13
This commit introduces xnanosleep() for the threads needing high
resolution sleep timeouts.
usleep() that provides microsecond granularity is deprecated and all
threads that needs ms,us,ns granularity can use this implementation.
CC: Ben Pfaff
Signed-off-by: Bhanuprakash Bodireddy
---
lib
This commit implements xnanosleep() for the threads needing high
resolution sleep timeouts in windows.
CC: Alin Gabriel Serdean
CC: Aaron Conole
Signed-off-by: Bhanuprakash Bodireddy
---
lib/util.c | 17 +
1 file changed, 17 insertions(+)
diff --git a/lib/util.c b/lib/util.c
Replace 1000 value with MSEC_PER_SEC macro when converting seconds to ms.
Signed-off-by: Bhanuprakash Bodireddy
---
lib/util.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/util.c b/lib/util.c
index 46b5691..e2423fc 100644
--- a/lib/util.c
+++ b/lib/util.c
This commit replaces the numbers with appropriate macros. Also
use time_wall_usec() in ipfix_now().
Signed-off-by: Bhanuprakash Bodireddy
---
ofproto/ofproto-dpif-ipfix.c | 12 ++--
ofproto/ofproto-dpif-sflow.c | 2 +-
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a
Replace 1000 value with MSEC_PER_SEC macro when converting seconds to ms.
Signed-off-by: Bhanuprakash Bodireddy
---
lib/mac-learning.c | 2 +-
lib/mcast-snooping.c | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/mac-learning.c b/lib/mac-learning.c
index 215caf0
Signed-off-by: Bhanuprakash Bodireddy
---
lib/pcap-file.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/pcap-file.c b/lib/pcap-file.c
index 981d56d..60280fb 100644
--- a/lib/pcap-file.c
+++ b/lib/pcap-file.c
@@ -174,7 +174,7 @@ ovs_pcap_read(FILE *file, struct dp_packet
assignment suppression and length
modifier together in gnu_scanf format [-Werror=format=].
Signed-off-by: Bhanuprakash Bodireddy
---
lib/process.c | 43 +++
lib/process.h | 2 ++
2 files changed, 25 insertions(+), 20 deletions(-)
diff --git a/lib/proce
394172",
load_average="1.30,1.04,1.13", memory="65861460,27469176,3815252,1999868,0",
process_ovs-vswitchd="4686020,17360,127380,0,148406,148406,3",
process_ovsdb-server="48096,5212,30,0,148496,148496,4"}
eg:
processvsz , rss , cputime, crashes, b
This commit replaces the numbers with MSEC_PER_SEC, NSEC_PER_SEC and
USEC_PER_MSEC macros when dealing with timespec and timeval.
This commit doesn't change functionality.
Signed-off-by: Bhanuprakash Bodireddy
---
lib/timeval.c| 29 -
lib/time
Signed-off-by: Bhanuprakash Bodireddy
---
lib/timeval.c | 19 +++
lib/timeval.h | 1 +
lib/util.c| 35 +++
lib/util.h| 1 +
4 files changed, 56 insertions(+)
diff --git a/lib/timeval.c b/lib/timeval.c
index 567c26e..2fde90f 100644
--- a/lib
ching cacheline1, 9% performance improvement is observed.
CC: Ben Pfaff
Fixes: 99fc16c0 ("Reorganize the pkt_metadata structure.")
Signed-off-by: Bhanuprakash Bodireddy
---
lib/packets.h | 7 ++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/lib/packets.h b/lib/packets.
*) 0x7f39e2805140
(gdb) p &pmd->port_mutex
$7 = (struct ovs_mutex *) 0x7f39e2805180
(gdb) p &pmd->poll_list
$8 = (struct hmap *) 0x7f39e28051c0
(gdb) p &pmd->tnl_port_cache
$9 = (struct hmap *) 0x7f39e2805200
(gdb) p &pmd->stats_zero
This commit introduces xnanosleep() for the threads needing high
resolution sleep timeouts.
usleep() that provides microsecond granularity is deprecated and threads
wanting sub-second(ms,us,ns) granularity can use this implementation.
Signed-off-by: Bhanuprakash Bodireddy
Acked-by: Alin Gabriel
eorganize the pkt_metadata structure.")
Signed-off-by: Bhanuprakash Bodireddy
---
v2->v1
* Include the throughput stats with different CFLAG options.
lib/packets.h | 7 ++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/lib/packets.h b/lib/packets.h
index 13ea4
CACHE HINT-HIGH TEMPORAL READ.
- __builtin_prefetch(addr, 0, 3)
- Prefetch data in to all caches in anticipation of read and that
data will be used again soon (HTR - High Temporal Read).
Signed-off-by: Bhanuprakash Bodireddy
---
include/openvswitch/
, 1, 1)
leaq-112(%rbp), %rax[Assembly]
prefetchwt1 (%rax)
[Testing]
$ ./boot.sh
$ ./configure
checking target hint for cgcc... x86_64
checking whether gcc accepts -mprefetchwt1... yes
$ make -j
Signed-off-by: Bhanuprakash Bodireddy
---
configure.ac | 1 +
1
With ovs_prefetch_range(), large amounts of data can be prefetched in to
caches. Prefetch type gives better control over data caching strategy;
Meaning where the data should be prefetched(L1/L2/L3) and if the data
reference is temporal or non-temporal.
Signed-off-by: Bhanuprakash Bodireddy
her cores and so read
prefetch is enough with non-temporal reference so not to pollute the
cache. This change seems to positively affect performance.
Signed-off-by: Bhanuprakash Bodireddy
---
lib/packets.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/packets.h
Prefetch the cacheline having the cycle stats so that we can speed up
the cycles_count_start() and cycles_count_intermediate().
Signed-off-by: Bhanuprakash Bodireddy
---
lib/dpif-netdev.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c
ed for DPDK datapath and
only status of PMD threads is reported.
Signed-off-by: Bhanuprakash Bodireddy
---
lib/automake.mk| 2 +
lib/keepalive.c| 147 +
lib/keepalive.h| 86 ++
vswitchd/bri
* Fix ovs-appctl keepalive/* hang issue when KA disabled.
* Fixed memory leaks with appctl commands for keepalive/pmd-health-show,
pmd-xstats-show.
* Refactor code and fixed APIs dealing with PMD health monitoring.
Bhanuprakash Bodireddy (8):
Keepalive: Add initial keepalive configur
marking themselves
alive. As long as PMD responds to heartbeats it is considered 'healthy'.
Signed-off-by: Bhanuprakash Bodireddy
---
lib/dpif-netdev.c | 79 ++
lib/keepalive.c | 194 --
lib/keepalive.h | 20 +
ad polling the port.
Signed-off-by: Bhanuprakash Bodireddy
---
lib/dpif-netdev.c | 14 +-
lib/keepalive.c | 42 ++
lib/keepalive.h | 1 +
3 files changed, 56 insertions(+), 1 deletion(-)
diff --git a/lib/dpif-netdev.c b/lib/dpif-netd
0332575"
"pmd64"="ALIVE,2,150332575"
"pmd65"="ALIVE,3,150332575"
Signed-off-by: Bhanuprakash Bodireddy
---
lib/dpif-netdev.c | 1 +
lib/keepalive.c | 63 +++
lib/keepalive.h | 1 +
3 fil
-off-by: Bhanuprakash Bodireddy
---
lib/keepalive.c | 101
1 file changed, 101 insertions(+)
diff --git a/lib/keepalive.c b/lib/keepalive.c
index 14ac093..75c0884 100644
--- a/lib/keepalive.c
+++ b/lib/keepalive.c
@@ -18,11 +18,13
"pmd64"="ALIVE,2,150679619"
"pmd65"="ALIVE,3,150679619""}
Signed-off-by: Bhanuprakash Bodireddy
---
lib/keepalive.c | 15 +++
lib/keepalive.h | 1 +
vswitch
impact:
No noticeable performance or latency impact is observed with
KA feature enabled.
Signed-off-by: Bhanuprakash Bodireddy
---
Documentation/howto/dpdk.rst | 112 +++
1 file changed, 112 insertions(+)
diff --git a/Documentation/howto/dpdk.rst b/Docu
Signed-off-by: Bhanuprakash Bodireddy
---
NEWS | 2 ++
1 file changed, 2 insertions(+)
diff --git a/NEWS b/NEWS
index 188a075..6fa69ed 100644
--- a/NEWS
+++ b/NEWS
@@ -15,6 +15,8 @@ Post-v2.8.0
* Add support for compiling OVS with the latest Linux 4.13 kernel
- "flush-conntrac
ganize the pkt_metadata structure.")
Signed-off-by: Bhanuprakash Bodireddy
Acked by: Sugesh Chandran
---
v2->v3
* Added Ack from Sugesh.
v2->v1
* Include the throughput stats with different CFLAG options.
lib/packets.h | 7 ++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git
$1 = (struct dp_netdev_pmd_thread *) 0x7f39e2365040
Reported-by: Ilya Maximets
Signed-off-by: Bhanuprakash Bodireddy
---
v1 -> v2
* Allocate memory for non-pmd thread using xzalloc_cacheline().
lib/dpif-netdev.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/
Popcnt instruction can be used to speedup hash computation on processors
with POPCNT support.
Signed-off-by: Bhanuprakash Bodireddy
---
Documentation/intro/install/general.rst | 6 ++
1 file changed, 6 insertions(+)
diff --git a/Documentation/intro/install/general.rst
b/Documentation
CACHE HINT-HIGH TEMPORAL READ.
- __builtin_prefetch(addr, 0, 3)
- Prefetch data in to all caches in anticipation of read and that
data will be used again soon (HTR - High Temporal Read).
Signed-off-by: Bhanuprakash Bodireddy
---
include/openvswitch/c
With ovs_prefetch_range(), large amounts of data can be prefetched in to
caches. Prefetch type gives better control over data caching strategy;
Meaning where the data should be prefetched(L1/L2/L3) and if the data
reference is temporal or non-temporal.
Signed-off-by: Bhanuprakash Bodireddy
her cores and so read
prefetch is enough with *non-temporal* reference so not to pollute the
cache. This change seems to positively affect performance.
Signed-off-by: Bhanuprakash Bodireddy
---
lib/packets.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/packets.h
x
prefetchwt1 (%rax)
See also:
https://mail.openvswitch.org/pipermail/ovs-dev/2017-December/341591.html
Signed-off-by: Bhanuprakash Bodireddy
---
Documentation/intro/install/general.rst | 13 +
1 file changed, 13 insertions(+)
diff --git a/Documentation/intro/install/general.
off-by: Bhanuprakash Bodireddy
---
lib/netdev-native-tnl.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/lib/netdev-native-tnl.c b/lib/netdev-native-tnl.c
index 9ce8567..fb5eab0 100644
--- a/lib/netdev-native-tnl.c
+++ b/lib/netdev-native-tnl.c
@@ -508,6 +508,9 @@ netdev_vxlan_pop_header(struct dp_
miniflow extraction is performed. This is used
by future commit that skips the recirculation on vxlan decapsulation.
If PTYPEs isn't supported by a NIC, this patch doesn't do any thing.
Signed-off-by: Bhanuprakash Bodireddy
---
lib/dp-packe
6.224 Mpps
CFLAGS="-g -O2"
OvS Master(491e05c2) 4.903 Mpps
OvS Master + PATCH 5.824 Mpps
The performance gain is approximately 15%.
Suggested-by: Sugesh Chandran
Signed-off-by: Bhanuprakash Bodireddy
---
lib/dpif-netdev.c | 193
Ceilometer | <-- | collectd ceilometer plugin | <
+--+-----+ +---++
Bhanuprakash Bodireddy (7):
dpdk: Add helper functions for DPDK keepalive.
dpif-netdev: Register packet processing cores for keepalive.
netdev-dpdk: Add support for keepalive functionality.
process: Retrieve proc
Introduce helper functions in 'dpdk' module that are needed for
keepalive functionality. Also add dummy functions in 'dpdk-stub' module
that are needed when DPDK is not available.
Signed-off-by: Bhanuprakash Bodireddy
---
lib/dpdk-stub.c | 30 +++
implements APIs to read
the keepalive settings from OVSDB.
Signed-off-by: Bhanuprakash Bodireddy
---
lib/netdev-dpdk.c | 231 +-
lib/netdev-dpdk.h | 7 +-
2 files changed, 236 insertions(+), 2 deletions(-)
diff --git a/lib/netdev-dpdk.c b/lib
This commit registers the packet processing cores for keepalive
monitoring. Also the pmd threads respond to heartbeats by marking
themselves alive. When the pmd thread is teared down due to datapath
reconfiguration the core state is marked as 'sleep'.
Signed-off-by: Bhanuprakash
Implement function to retrieve the process status. This will be used by
Keepalive monitoring thread for detecting false alarms.
Signed-off-by: Bhanuprakash Bodireddy
---
lib/process.c | 60 +++
lib/process.h | 10 ++
2 files
This will be used by KA framework that needs millisecond granularity.
Signed-off-by: Bhanuprakash Bodireddy
---
lib/util.c | 12
lib/util.h | 1 +
2 files changed, 13 insertions(+)
diff --git a/lib/util.c b/lib/util.c
index 1c06ce0..889ebd8 100644
--- a/lib/util.c
+++ b/lib
;/dpdk_keepalive_shm_name"'
Signed-off-by: Bhanuprakash Bodireddy
---
vswitchd/vswitch.xml | 38 ++
1 file changed, 38 insertions(+)
diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml
index 14297bf..1c3ba84 100644
--- a/vswitchd/vswitch.xml
Signed-off-by: Bhanuprakash Bodireddy
---
Documentation/howto/dpdk.rst | 95
1 file changed, 95 insertions(+)
diff --git a/Documentation/howto/dpdk.rst b/Documentation/howto/dpdk.rst
index dc63f7d..26f702c 100644
--- a/Documentation/howto/dpdk.rst
: https://patchwork.ozlabs.org/patch/723309/
Signed-off-by: Bhanuprakash Bodireddy
Signed-off-by: Antonio Fischetti
Co-authored-by: Antonio Fischetti
---
- Limited testing is done with this RFC patch, test scenarios includes
VM doing ip forwarding(Linux stack) and running testpmd in the guest
mments for different Keepalive states.
- Remove semaphore and all the logic associated with it.
- Fix the documentation as suggested.
- Fix and added few appropriate comments to KA helper functions.
- Add latency stats details in the commit log for future reference.
Bhanuprakash Bodireddy (6):
dpdk:
Implement function to retrieve the process status. This will be used by
Keepalive monitoring thread for detecting false alarms.
Signed-off-by: Bhanuprakash Bodireddy
---
lib/process.c | 60 +++
lib/process.h | 10 ++
2 files
Introduce helper functions in 'dpdk' module that are needed for
keepalive functionality. Also add dummy functions in 'dpdk-stub' module
that are needed when DPDK is not available.
Signed-off-by: Bhanuprakash Bodireddy
---
lib/dpdk-stub.c | 30 ++
li
This commit registers the packet processing cores for keepalive
monitoring. Also the pmd threads respond to heartbeats by marking
themselves alive. When the pmd thread is teared down due to datapath
reconfiguration the core state is marked as 'sleep'.
Signed-off-by: Bhanuprakash
implements APIs to read
the keepalive settings from OVSDB.
Signed-off-by: Bhanuprakash Bodireddy
---
lib/netdev-dpdk.c | 220 +-
1 file changed, 219 insertions(+), 1 deletion(-)
diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
index ddc651b
;/dpdk_keepalive_shm_name"'
Signed-off-by: Bhanuprakash Bodireddy
---
vswitchd/vswitch.xml | 38 ++
1 file changed, 38 insertions(+)
diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml
index 02980b1..458148c 100644
--- a/vswitchd/vswitch.xml
ct is observed with
KA feature enabled. The tests were run with 100ms KA interval
and latency is (Min:134,710ns, Avg:173,005ns, Max:1,504,670ns)
for Phy2Phy loopback test case with 100 unique streams.
Signed-off-by: Bhanuprakash Bodireddy
---
Documentation/howto/dpdk.rst | 93 +
("dpif-netdev: dpcls per in_port with sorted
subtables")
Signed-off-by: Bhanuprakash Bodireddy
Signed-off-by: Darrell Ball
---
lib/dpif-netdev.c | 8 +---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c
index d215156..e031c33 10
ion is done(suggested by Ben).
* Fix ovs-appctl keepalive/* hang issue when KA disabled.
* Fixed memory leaks with appctl commands for keepalive/pmd-health-show,
pmd-xstats-show.
* Refactor code and fixed APIs dealing with PMD health monitoring.
Bhanuprakash Bodireddy (19):
dpdk: Add he
Introduce helper functions in 'dpdk' module that are needed for
DPDK keepalive functionality. Also add dummy functions in 'dpdk-stub' module
that are needed when DPDK datapath is not available.
Signed-off-by: Bhanuprakash Bodireddy
---
lib/dpdk-stub.c | 24
This commit fixes the following "sparse" warning:
lib/process.c:439:16: error: use of assignment suppression and length
modifier together in gnu_scanf format [-Werror=format=].
This fix doesn't need any other changes as the fields aren't used for now.
Signed-off-by: Bh
Implement helper function to retrieve the process status. This commit
also enables the fields relating to process name, state and core the
process was last scheduled. The APIs will be used by keepalive monitoring
framework in future commits.
Signed-off-by: Bhanuprakash Bodireddy
---
lib
vs-vsctl --no-wait set Open_vSwitch . \
other_config:keepalive-interval="5000"
Signed-off-by: Bhanuprakash Bodireddy
---
lib/automake.mk| 2 +
lib/dpdk-stub.c| 6 ++
lib/dpdk.c | 30 +++--
lib/dpdk.h
This commit introduces helper functions in 'keepalive' module that are
needed to register/unregister PMD threads to KA framework. Also
introduce APIs to mark the PMD core states.
Signed-off-by: Bhanuprakash Bodireddy
---
lib/keepal
This commit adds an API to store the PMD thread ids in to KA info struct.
The thread ids shall be used to check false positives and for status and
statistics reporting.
Signed-off-by: Bhanuprakash Bodireddy
---
lib/dpif-netdev.c | 3 +++
lib/keepalive.c | 13 +
lib/keepalive.h
marking themselves
alive. As long as PMD responds to heartbeats it is considered 'healthy'.
Signed-off-by: Bhanuprakash Bodireddy
---
lib/dpif-netdev.c | 99 +++
lib/keepalive.c | 138 +++---
lib/keepalive
ad polling the port.
Signed-off-by: Bhanuprakash Bodireddy
---
lib/dpdk-stub.c | 6 ++
lib/dpdk.c| 7 +++
lib/dpdk.h| 2 ++
lib/dpif-netdev.c | 9 -
lib/keepalive.c | 9 +
lib/keepalive.h | 1 +
6 files changed, 33 insertions(+), 1 deletion(-)
diff -
56784913"
"pmd64"="ALIVE,2,9220698256785902"
"pmd65"="ALIVE,3,9220698256786231"
Signed-off-by: Bhanuprakash Bodireddy
---
lib/dpif-netdev.c | 1 +
lib/keepalive.c | 73 +++
lib/keepalive.h
quot;="ALIVE,1,9226460230168100"
"pmd64"="ALIVE,2,9226460230168905"
"pmd65"="ALIVE,3,9226460230169632"}
Signed-off-by: Bhanuprakash Bodireddy
---
lib/keepalive.c | 15 +++
lib/keepalive.h |
6 ALIVE 8632190191005713
pmd697 ALIVE 8632190191006555
Signed-off-by: Bhanuprakash Bodireddy
---
lib/keepalive.c | 78 +
1 file changed, 78 insertions(+)
diff --git a/lib/keepalive.c b/lib/keepalive.c
index 83ce26d
This commit adds support to query if keepalive status is
enabled/disabled.
$ ovs-appctl keepalive/status
keepAlive Status: Enabled
Signed-off-by: Bhanuprakash Bodireddy
---
lib/keepalive.c | 15 +++
1 file changed, 15 insertions(+)
diff --git a/lib/keepalive.c b/lib
keepalive thread.
It should be noted that the PMD health checks are only performed on
the PMD threads whose health check is enabled.
Signed-off-by: Bhanuprakash Bodireddy
---
lib/dpif-netdev.c | 30 +
lib/keepalive.c | 81
This commit adds the initial support in to performing PMD health checks.
The ports handled by the PMD threads are checked for the link status and
the same is updated in to keepalive info structure.
Signed-off-by: Bhanuprakash Bodireddy
---
lib/dpif-netdev.c | 37
d-off-by: Bhanuprakash Bodireddy
---
lib/dpif-netdev.c | 25 +++---
lib/keepalive.c | 97 +++
lib/keepalive.h | 5 +++
3 files changed, 122 insertions(+), 5 deletions(-)
diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c
index a6
This commit adds the support to check the PMD cycle stats. If the cycles
aren't changing for a duration of time this can be flagged as possible
PMD stall.
Signed-off-by: Bhanuprakash Bodireddy
---
lib/dpif-netdev.c | 17 +
lib/dpif-netdev.h | 7 +++
lib/keepalive.c
d.
- Link status of the ports polled by PMD thread.
- Statistics of the ports polled by PMD thread.
- PMD polling and processing cycles.
Signed-off-by: Bhanuprakash Bodireddy
---
lib/keepalive.c | 16 ++
lib/keepalive.h | 2
heartbeat failure, health checks are enabled
and additional stats(pkt stats, cpu cycles) are displayed as above.
Signed-off-by: Bhanuprakash Bodireddy
---
lib/keepalive.c | 112
1 file changed, 112 insertions(+)
diff --git a/lib
d latency is (Min:134,710ns, Avg:173,005ns, Max:1,504,670ns)
for Phy2Phy loopback test case with 100 unique streams.
Signed-off-by: Bhanuprakash Bodireddy
---
Documentation/howto/dpdk.rst | 90
1 file changed, 90 insertions(+)
diff --git a/Documenta
g internal ports.
v1->v2
* Add Acked-by tag from Eelco Chaudron.
* Rebased on master due to HW offload changes.
* Introduced union for packet count and buffers and changed the variable
names appropriately.
* No functional change changes.
Bhanuprakash Bodireddy (5):
netdev: Add netdev
XPS enabled case, lock is
taken on the tx queue before flushing the queue.
Signed-off-by: Bhanuprakash Bodireddy
Signed-off-by: Antonio Fischetti
Co-authored-by: Antonio Fischetti
Signed-off-by: Markus Magnusson
Co-authored-by: Markus Magnusson
Acked-by: Eelco Chaudron
---
lib/netdev-bsd.c
Add netdev_dpdk_vhost_txq_flush(), that flushes packets on vHost User
port queues. Also add netdev_dpdk_vhost_tx_burst() function that
uses rte_vhost_enqueue_burst() to enqueue burst of packets on vHost User
ports.
Signed-off-by: Bhanuprakash Bodireddy
Signed-off-by: Antonio Fischetti
Co
This commit introduces netdev_dpdk_eth_tx_queue() function that
implements intermediate queue and packet buffering. The packets get
buffered till the threshold 'INTERIM_QUEUE_BURST_THRESHOLD[32] is
reached and eventually gets transmitted.
Signed-off-by: Bhanuprakash Bodireddy
Signed-o
ff-by: Bhanuprakash Bodireddy
Signed-off-by: Antonio Fischetti
Co-authored-by: Antonio Fischetti
Acked-by: Eelco Chaudron
---
lib/netdev-dpdk.c | 38 +++---
1 file changed, 15 insertions(+), 23 deletions(-)
diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
commit helps flush
the queues.
Suggested-by: Eelco Chaudron
Reported-at:
https://mail.openvswitch.org/pipermail/ovs-dev/2017-April/331039.html
Signed-off-by: Bhanuprakash Bodireddy
Signed-off-by: Antonio Fischetti
Co-authored-by: Antonio Fischetti
Signed-off-by: Markus Magnusson
Co-authored-by
erged the xml and schema commits to later commit where the actual
implementation is done(suggested by Ben).
* Fix ovs-appctl keepalive/* hang issue when KA disabled.
* Fixed memory leaks with appctl commands for keepalive/pmd-health-show,
pmd-xstats-show.
* Refactor code and fixed APIs dealing
assignment suppression and length
modifier together in gnu_scanf format [-Werror=format=].
Signed-off-by: Bhanuprakash Bodireddy
---
lib/process.c | 43 +++
lib/process.h | 2 ++
2 files changed, 25 insertions(+), 20 deletions(-)
diff --git a/lib/process.c b/lib
vs-vsctl --no-wait set Open_vSwitch . \
other_config:keepalive-interval="5000"
Signed-off-by: Bhanuprakash Bodireddy
---
lib/automake.mk| 2 +
lib/keepalive.c| 183 +
lib/keepalive.h| 87 +
marking themselves
alive. As long as PMD responds to heartbeats it is considered 'healthy'.
Signed-off-by: Bhanuprakash Bodireddy
---
lib/dpif-netdev.c | 70 +
lib/keepalive.c | 153 ++
lib/keepalive.h | 17 +
ad polling the port.
Signed-off-by: Bhanuprakash Bodireddy
---
lib/dpif-netdev.c | 9 -
lib/keepalive.c | 41 +
lib/keepalive.h | 1 +
3 files changed, 50 insertions(+), 1 deletion(-)
diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c
ind
"pmd64"="ALIVE,2,150679619"
"pmd65"="ALIVE,3,150679619""}
Signed-off-by: Bhanuprakash Bodireddy
---
lib/keepalive.c | 15 +++
lib/keepalive.h | 1 +
vswitch
0332575"
"pmd64"="ALIVE,2,150332575"
"pmd65"="ALIVE,3,150332575"
Signed-off-by: Bhanuprakash Bodireddy
---
lib/dpif-netdev.c | 1 +
lib/keepalive.c | 69 +++
lib/keepalive.h | 1 +
3 fil
PMDCORESTATE LAST SEEN TIMESTAMP(UTC)
pmd620 ALIVE 21 Aug 2017 16:29:31
pmd631 ALIVE 21 Aug 2017 16:29:31
pmd642 ALIVE 21 Aug 2017 16:29:31
pmd653 GONE21 Aug 2017 16:26:31
Signed-off-by: Bhanuprakash Bodireddy
---
lib
that no performance impact is observed with the new ordering.
Bhanuprakash Bodireddy (13):
bond: Reorder elements in bond_slave structure.
netdev-dummy: Reorder elements in dummy_packet_stream structure.
tun-metadata: Reorder elements in tun_meta_entry structure.
ct-dpif: Reorder elemen
By reordering elements in bond_slave structure, holes can be removed and
saves a cache line.
Before: structure size: 136, sum holes: 10, cachelines:3
After : structure size: 128, sum holes: 2, cachelines:2
Signed-off-by: Bhanuprakash Bodireddy
---
ofproto/bond.c | 4 ++--
1 file changed, 2
1 - 100 of 303 matches
Mail list logo