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 <sugesh.chand...@intel.com>
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@inte
and 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 <bhanuprakash.bodire...@intel.com>
---
lib/dp-packet.h
ed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
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
@@ -
See also:
https://mail.openvswitch.org/pipermail/ovs-dev/2017-December/341591.html
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
Documentation/intro/install/general.rst | 13 +
1 file changed, 13 insertions(+)
diff --git a/Documentation/intro/
with *non-temporal* reference so not to pollute the
cache. This change seems to positively affect performance.
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/packets.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/packets.h
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
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 <bhanuprakash.bodire...@intel.com>
---
include/openvswitch/compiler.h
Popcnt instruction can be used to speedup hash computation on processors
with POPCNT support.
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
Documentation/intro/install/general.rst | 6 ++
1 file changed, 6 insertions(+)
diff --git a/Documentation/intro/i
= (struct dp_netdev_pmd_thread *) 0x7f39e2365040
Reported-by: Ilya Maximets
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
v1 -> v2
* Allocate memory for non-pmd thread using xzalloc_cacheline().
lib/dpif-netdev.c | 6 +++---
1 file changed, 3 inserti
nize the pkt_metadata structure.")
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
Acked by: Sugesh Chandran <sugesh.chand...@intel.com>
---
v2->v3
* Added Ack from Sugesh.
v2->v1
* Include the throughput stats with different CFLAG options.
lib/packets.h | 7
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
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 Linu
able performance or latency impact is observed with
KA feature enabled.
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
Documentation/howto/dpdk.rst | 112 +++
1 file changed, 112 insertions(+)
diff --git a/Documentat
"pmd64"="ALIVE,2,150679619"
"pmd65"="ALIVE,3,150679619""}
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/keepalive.c | 15 ++
-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
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
+++
0332575"
"pmd64"="ALIVE,2,150332575"
"pmd65"="ALIVE,3,150332575"
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/dpif-netdev.c | 1 +
lib/keepalive.c | 63 +++
by marking themselves
alive. As long as PMD responds to heartbeats it is considered 'healthy'.
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/dpif-netdev.c | 79 ++
lib/keepalive.c
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 <bhanuprakash.bodire...@intel.com>
---
lib/dpif-netdev.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git
with non-temporal reference so not to pollute the
cache. This change seems to positively affect performance.
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/packets.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/packets.h b/lib/pac
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
, %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 <bhanuprakash.bodire...@intel.com>
---
configure.ac |
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 <bhanuprakash.bodire...@intel.com>
---
include/openvswitch/compiler.
fc16c0 ("Reorganize the pkt_metadata structure.")
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
v2->v1
* Include the throughput stats with different CFLAG options.
lib/packets.h | 7 ++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --
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 <bhanuprakash.bod
$8 = (struct hmap *) 0x7f39e28051c0
(gdb) p >tnl_port_cache
$9 = (struct hmap *) 0x7f39e2805200
(gdb) p >stats_zero
$10 = (unsigned long long (*)[5]) 0x7f39e2805240
Reported-by: Ilya Maximets <i.maxim...@samsung.com>
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire..
cacheline1, 9% performance improvement is observed.
CC: Ben Pfaff <b...@ovn.org>
Fixes: 99fc16c0 ("Reorganize the pkt_metadata structure.")
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/packets.h | 7 ++-
1 file changed, 6 insertions(+
abriel Serdean <aserd...@ovn.org>
CC: Ben Pfaff <b...@ovn.org>
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/timeval.c | 19 +++
lib/timeval.h | 1 +
lib/util.c| 35 +++
lib/util.h| 1 +
4 file
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 <bhanuprakash.bodire...@intel.com>
---
lib/timeval.c
t;,
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, booted, upt
assignment suppression and length
modifier together in gnu_scanf format [-Werror=format=].
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/process.c | 43 +++
lib/process.h | 2 ++
2 files changed, 25 insertions(+), 20 de
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
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
Replace 1000 value with MSEC_PER_SEC macro when converting seconds to ms.
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/mac-learning.c | 2 +-
lib/mcast-snooping.c | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/mac-learni
This commit replaces the numbers with appropriate macros. Also
use time_wall_usec() in ipfix_now().
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
ofproto/ofproto-dpif-ipfix.c | 12 ++--
ofproto/ofproto-dpif-sflow.c | 2 +-
2 files changed, 7 inse
Replace 1000 value with MSEC_PER_SEC macro when converting seconds to ms.
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/util.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/util.c b/lib/util.c
index 46b5691..e2423fc
This commit implements xnanosleep() for the threads needing high
resolution sleep timeouts in windows.
CC: Alin Gabriel Serdean <aserd...@ovn.org>
CC: Aaron Conole <acon...@redhat.com>
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
--
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 <b...@ovn.org>
Signed-off-by: Bhanuprakash Bod
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 <bhanuprakash.bodire...@intel.com>
---
lib/timeval.c | 29 -
lib/timeval.h | 7 +++
2
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
The break statement would never be executed as OVS_NOT_REACHED()
internally invokes abort() and causes process termination.
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
ovsdb/replication.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/ovsdb/replicati
cacheline1;
struct ovs_mutex; 48
struct dpdk_mp *dpdk_mp;8
...
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/netdev-dpdk.c | 158 +-
1 file chang
The break statement would never be executed as OVS_NOT_REACHED()
internally invokes abort() and causes process termination.
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
ofproto/ofproto-dpif-ipfix.c | 1 -
ofproto/ofproto-dpif-xlate.c | 2 --
2 files chan
The break statement would never be executed as OVS_NOT_REACHED()
internally invokes abort() and causes process termination.
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/ofp-actions.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/lib/ofp-actions.c
bytes###
struct ovs_mutex port_mutex; 48
This change also improve the performance marginally.
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/dpif-netdev.c | 160 +++---
1 file chang
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 <bhanuprakash.bod
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 <bhanuprakash.bodire...@intel.com>
---
lib/ccmap.c | 19 +--
1 file changed, 9 insertions(
There is little use of 'cnt' variable in dp_netdev_input__(). Get rid of
it and use dp_packet_batch_size() to initialize PKT_ARRAY_SIZE.
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/dpif-netdev.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
It is recommended to use const qualifer for 'num' that tracks the
packet batch count. This way 'num' can't be modified by iterator.
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/odp-execute.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff
Commit 57eebbb4c315 replaces thread local 'pmd->port_cache' with
'pmd->tnl_port_cache' and 'pmd->send_port_cache' maps. Update the
comments accordingly.
Fixes: 57eebbb4c315 ("Don't try to output on a device without txqs")
Signed-off-by: Bhanuprakash Bodireddy <bhanupraka
'tx_cnt' packets gets transmitted on the respective 'qid'.
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/netdev-dpdk.c | 12 ++--
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
index 60887e5..3ff79c1
Use DP_PACKET_BATCH_FOR_EACH macro in dp_netdev_run_meter().
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/dpif-netdev.c | 15 +++
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c
index c
Cleanup dpdk_do_tx_copy().
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/netdev-dpdk.c | 22 ++
1 file changed, 10 insertions(+), 12 deletions(-)
diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
index 60ec528..60887e5 100644
---
Use DP_PACKET_BATCH_FOR_EACH macro in netdev_bsd_send().
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/netdev-bsd.c | 7 ---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/lib/netdev-bsd.c b/lib/netdev-bsd.c
index 8a4cdb3..96ba71c
Use DP_PACKET_BATCH_FOR_EACH macro in netdev_dpdk_ring_send().
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/netdev-dpdk.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
index 648d719..6
Use DP_PACKET_BATCH_FOR_EACH macro in netdev_linux_tap_batch_send().
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/netdev-linux.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c
index 2
Use DP_PACKET_BATCH_FOR_EACH macro in conntrack_execute().
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/conntrack.c | 13 ++---
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/lib/conntrack.c b/lib/conntrack.c
index 419cb1d..0
5 patches - Code Cleanup
1 patch - Fix comment.
Bhanuprakash Bodireddy (12):
conntrack: Use DP_PACKET_BATCH_FOR_EACH macro.
netdev-linux: Use DP_PACKET_BATCH_FOR_EACH in
netdev_linux_tap_batch_send.
netdev-dpdk: Use DP_PACKET_BATCH_FOR_EACH in netdev_dpdk_ring_send
netdev-bsd:
There is little use of 'cnt' variable in dp_netdev_input__(). Get rid of
it and use dp_packet_batch_size() to initialize PKT_ARRAY_SIZE.
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/dpif-netdev.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
Use DP_PACKET_BATCH_FOR_EACH macro in fast_path_processing().
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/dpif-netdev.c | 15 +++
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c
index 5
Use DP_PACKET_BATCH_FOR_EACH macro in dp_netdev_run_meter().
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/dpif-netdev.c | 15 +++
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c
index c
It is recommended to use const qualifer for 'num' that tracks the
packet batch count. This way 'num' can't be modified by iterator.
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/odp-execute.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff
Use DP_PACKET_BATCH_FOR_EACH macro in netdev_bsd_send().
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/netdev-bsd.c | 7 ---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/lib/netdev-bsd.c b/lib/netdev-bsd.c
index 8a4cdb3..96ba71c
Use DP_PACKET_BATCH_FOR_EACH macro in netdev_dpdk_ring_send().
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/netdev-dpdk.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
index 4e75bf1..3
'tx_cnt' packets gets transmitted on the respective 'qid'.
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/netdev-dpdk.c | 12 ++--
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
index 2078c94..4e75bf1
Clean up dpdk_do_tx_copy()
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/netdev-dpdk.c | 22 ++
1 file changed, 10 insertions(+), 12 deletions(-)
diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
index 648d719..2078c94 100644
---
Use DP_PACKET_BATCH_FOR_EACH macro in netdev_linux_tap_batch_send().
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/netdev-linux.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c
index a
Use DP_PACKET_BATCH_FOR_EACH macro and dp_packet_batch_size() API
in netdev_linux_sock_batch_send(). No change in functionality.
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/netdev-linux.c | 13 +++--
1 file changed, 7 insertions(+), 6 del
is a simple and straightforward set of changes
aimed at using DP_PACKET_BATCH_FOR_EACH macro at all appropriate places.
Also minor code cleanup is done to improve readability of the code.
No functionality changes and no performance impact with this series.
Bhanuprakash Bodireddy (10):
netdev
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
NEWS | 2 ++
1 file changed, 2 insertions(+)
diff --git a/NEWS b/NEWS
index 6a5d2bf..7f5ff78 100644
--- a/NEWS
+++ b/NEWS
@@ -3,6 +3,8 @@ Post-v2.8.0
- OVN:
* The "requested-chassis" opti
No noticeable performance or latency impact is observed with
KA feature enabled.
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
Documentation/howto/dpdk.rst | 113 +++
1 file changed, 113 insertions(+)
dif
-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/keepalive.c | 103
1 file changed, 103 insertions(+)
diff --git a/lib/keepalive.c b/lib/keepalive.c
index b140d21..9db1389 100644
--- a/lib/keepalive.c
+++
"pmd64"="ALIVE,2,150679619"
"pmd65"="ALIVE,3,150679619""}
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/keepalive.c | 15 ++
0332575"
"pmd64"="ALIVE,2,150332575"
"pmd65"="ALIVE,3,150332575"
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/dpif-netdev.c | 1 +
lib/keepalive.c | 66 +++
the port.
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/dpif-netdev.c | 15 +--
lib/keepalive.c | 44
lib/keepalive.h | 1 +
3 files changed, 58 insertions(+), 2 deletions(-)
diff --git a/li
by marking themselves
alive. As long as PMD responds to heartbeats it is considered 'healthy'.
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/dpif-netdev.c | 79 ++
lib/keepalive.c
This commit introduces xnanosleep() for the threads needing high
resolution sleep timeouts.
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/timeval.c | 2 +-
lib/timeval.h | 1 +
lib/util.c| 19 +++
lib/util.h| 1 +
4 files chang
K datapath and
only status of PMD threads is reported.
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/automake.mk| 2 +
lib/keepalive.c| 145 +
lib/keepalive.h
assignment suppression and length
modifier together in gnu_scanf format [-Werror=format=].
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/process.c | 43 +++
lib/process.h | 2 ++
2 files changed, 25 insertions(+), 20 de
l 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 (10):
process: Extend get_process_info() for additional fields.
Keepali
Commit 57eebbb4c315 replaces thread local 'pmd->port_cache' with
'pmd->tnl_port_cache' and 'pmd->send_port_cache' maps. Update the
comments accordingly.
Fixes: 57eebbb4c315 ("Don't try to output on a device without txqs")
Signed-off-by: Bhanuprakash Bodireddy <bhanupraka
Use DP_PACKET_BATCH_FOR_EACH macro in conntrack_execute(). No change in
functionality.
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/conntrack.c | 13 ++---
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/lib/conntrack.c b/lib/connt
Clang reports that value stored in to ac_offset is never read in the
function.
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
ofproto/ofproto-dpif-xlate.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/ofproto/ofproto-dpif-xlate.c b/ofproto/ofproto-dpif-x
Clang reports that value stored to ftp, seq_skew_dir never read inside
the function.
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/conntrack.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/lib/conntrack.c b/lib/conntrack.c
By reordering elements in ofproto_bundle_settings structure, sum holes
and pad bytes can be reduced.
Before: structure size: 96, sum holes: 13, pad bytes: 7, cachelines:2
After : structure size: 80, sum holes: 4, pad bytes: 0, cachelines:2
Signed-off-by: Bhanuprakash Bodireddy
By reordering elements in ofproto_ipfix_flow_exporter_options structure,
sum holes can be reduced significantly.
Before: structure size: 64, sum holes: 11, cachelines:1
After : structure size: 56, sum holes: 3, cachelines:1
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.
By reordering elements in dp_netdev_rxq structure, pad bytes and a hole
can be removed.
Before: structure size: 104, sum holes: 1, sum padbytes:4, cachelines:2
After : structure size: 96, sum holes: 0, sum padbytes:0, cachelines:2
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bod
By reordering elements in dpif_flow_put structure, holes can be removed.
Before: structure size: 80, sum holes: 8, cachelines:2
After : structure size: 72, sum holes: 0, cachelines:2
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/dpif.h | 2 +-
1 file c
By reordering elements in netdev structure, holes can be removed.
Before: structure size: 88, sum holes: 10, cachelines:2
After : structure size: 80, sum holes: 2, cachelines:2
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/netdev-provider.
By reordering elements in netdev_tunnel_config structure, sum holes and
pad bytes can be reduced.
Before: structure size: 96, sum holes: 17, pad bytes: 4, cachelines:2
After : structure size: 80, sum holes: 5, pad bytes: 0, cachelines:2
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bod
By reordering elements in ct_dpif_entry structure, sum holes and pad
bytes can be reduced.
Before: structure size: 232, sum holes: 5, pad bytes: 4, cachelines:4
After : structure size: 224, sum holes: 1, pad bytes: 0, cachelines:4
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bod
By reordering elements in tun_meta_entry structure, sum holes and pad
bytes can be reduced there by reducing the tun_table size.
Before: structure size: 56, sum holes: 4, pad bytes: 7 cachelines:1
After : structure size: 48, sum holes: 0, pad bytes: 3, cachelines:1
Signed-off-by: Bhanuprakash
By reordering elements in dummy_packet_stream structure, sum holes
can be reduced, thus saving a cache line.
Before: structure size: 784, sum holes: 56, cachelines:13
After : structure size: 768, sum holes: 40, cachelines:12
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.
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 <bhanuprakash.bodire...@intel.com>
---
o
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 elements
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
0332575"
"pmd64"="ALIVE,2,150332575"
"pmd65"="ALIVE,3,150332575"
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/dpif-netdev.c | 1 +
lib/keepalive.c | 69 +++
"pmd64"="ALIVE,2,150679619"
"pmd65"="ALIVE,3,150679619""}
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/keepalive.c | 15 ++
the port.
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
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-netd
by marking themselves
alive. As long as PMD responds to heartbeats it is considered 'healthy'.
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/dpif-netdev.c | 70 +
lib/keepalive.c | 153 ++---
en_vSwitch . \
other_config:keepalive-interval="5000"
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/automake.mk| 2 +
lib/keepalive.c| 183 +
lib/keepalive.h| 87 ++
assignment suppression and length
modifier together in gnu_scanf format [-Werror=format=].
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
---
lib/process.c | 43 +++
lib/process.h | 2 ++
2 files changed, 25 insertions(+), 20 de
ts 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 with PMD health monitoring.
1 - 100 of 265 matches
Mail list logo