[ovs-dev] [PATCH 1/7] ccmap: Use PADDED_MEMBERS macro in ccmap_impl structure.

2017-10-01 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH 2/7] cmap: Use PADDED_MEMBERS_CACHELINE_MARKER in cmap_impl.

2017-10-01 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH 3/7] dpif_netdev: Refactor dp_netdev_pmd_thread structure.

2017-10-01 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH 6/7] ofp-actions: Remove break after OVS_NOT_REACHED.

2017-10-01 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH 4/7] netdev-dpdk: Refactor netdev_dpdk structure.

2017-10-01 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH 5/7] ofproto: Remove break after OVS_NOT_REACHED.

2017-10-01 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH 7/7] ovsdb: Remove break after OVS_NOT_REACHED.

2017-10-01 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH 0/7] Introduce high resolution sleep support.

2017-11-08 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH 1/7] timeval: Introduce macros to convert timespec and timeval.

2017-11-08 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH 2/7] util: Add high resolution sleep support.

2017-11-08 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH 3/7] util: High resolution sleep support for windows.

2017-11-08 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH 4/7] util: Use MSEC_PER_SEC macro.

2017-11-08 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH 5/7] ofproto: Use time macros.

2017-11-08 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH 6/7] mac-learning: Use MSEC_PER_SEC Macro.

2017-11-08 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH 7/7] pcap-file: Use time macros.

2017-11-08 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH 1/2] process: Extend get_process_info() for additional fields.

2017-11-08 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH 2/2] system-stats: Include core number in the process stats.

2017-11-08 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v2 1/2] timeval: Introduce macros to convert timespec and timeval.

2017-11-14 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v2 2/2] util: Add high resolution sleep support.

2017-11-14 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH] packets: Prefetch the packet metadata in cacheline1.

2017-11-17 Thread Bhanuprakash Bodireddy
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.

[ovs-dev] [PATCH] dpif-netdev: Allocate dp_netdev_pmd_thread struct by xzalloc_cacheline.

2017-11-26 Thread Bhanuprakash Bodireddy
*) 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

[ovs-dev] [PATCH v3] util: Add high resolution sleep support.

2017-11-28 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v2] packets: Prefetch the packet metadata in cacheline1.

2017-12-04 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH RFC 1/5] compiler: Introduce OVS_PREFETCH variants.

2017-12-04 Thread Bhanuprakash Bodireddy
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/

[ovs-dev] [PATCH RFC 2/5] configure: Include -mprefetchwt1 explicitly.

2017-12-04 Thread Bhanuprakash Bodireddy
, 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

[ovs-dev] [PATCH RFC 3/5] util: Extend ovs_prefetch_range to include prefetch type.

2017-12-04 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH RFC 4/5] util: Use OPCH_NTR type while prefetching packet metadata.

2017-12-04 Thread 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

[ovs-dev] [PATCH RFC 5/5] dpif-netdev: Prefetch the cacheline having the cycle stats.

2017-12-04 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v6 1/8] Keepalive: Add initial keepalive configuration.

2017-12-08 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v6 0/8] Add OVS DPDK keep-alive functionality.

2017-12-08 Thread Bhanuprakash Bodireddy
* 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

[ovs-dev] [PATCH v6 2/8] dpif-netdev: Register packet processing cores to KA framework.

2017-12-08 Thread Bhanuprakash Bodireddy
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 +

[ovs-dev] [PATCH v6 3/8] dpif-netdev: Enable heartbeats for DPDK datapath.

2017-12-08 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v6 4/8] keepalive: Retrieve PMD status periodically.

2017-12-08 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v6 6/8] keepalive: Add support to query keepalive status and statistics.

2017-12-08 Thread Bhanuprakash Bodireddy
-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

[ovs-dev] [PATCH v6 5/8] bridge: Update keepalive status in OVSDB.

2017-12-08 Thread Bhanuprakash Bodireddy
"pmd64"="ALIVE,2,150679619" "pmd65"="ALIVE,3,150679619""} Signed-off-by: Bhanuprakash Bodireddy --- lib/keepalive.c | 15 +++ lib/keepalive.h | 1 + vswitch

[ovs-dev] [PATCH v6 7/8] Documentation: Update DPDK doc with Keepalive feature.

2017-12-08 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v6 8/8] NEWS: Add keepalive support information in NEWS.

2017-12-08 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v3] packets: Prefetch the packet metadata in cacheline1.

2018-01-12 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH V2] dpif-netdev: Allocate dp_netdev_pmd_thread struct by xzalloc_cacheline.

2018-01-12 Thread Bhanuprakash Bodireddy
$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/

[ovs-dev] [PATCH] doc: Update configure section with popcnt details.

2018-01-12 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH 1/4] compiler: Introduce OVS_PREFETCH variants.

2018-01-12 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH 2/4] util: Extend ovs_prefetch_range to include prefetch type.

2018-01-12 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH 3/4] util: Use OPCH_NTR type while prefetching packet metadata.

2018-01-12 Thread 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

[ovs-dev] [PATCH 4/4] doc: Update configure section with prefetchwt1 details.

2018-01-12 Thread Bhanuprakash Bodireddy
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.

[ovs-dev] [PATCH] netdev-native-tnl: Add assertion in vxlan_pop_header.

2018-01-12 Thread Bhanuprakash Bodireddy
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_

[ovs-dev] [RFC PATCH 1/2] dpif-netdev: Refactor the miniflow extraction logic using PTYPEs.

2018-01-12 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [RFC PATCH 2/2] dpif-netdev: Avoid recirculation during vxlan decap.

2018-01-12 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH 0/7] Add OVS DPDK keep-alive functionality

2017-04-01 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH 1/7] dpdk: Add helper functions for DPDK keepalive.

2017-04-01 Thread Bhanuprakash Bodireddy
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 +++

[ovs-dev] [PATCH 3/7] netdev-dpdk: Add support for keepalive functionality.

2017-04-01 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH 2/7] dpif-netdev: Register packet processing cores for keepalive.

2017-04-01 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH 4/7] process: Retrieve process status.

2017-04-01 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH 5/7] utils: Introduce xusleep for subsecond granularity.

2017-04-01 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH 6/7] vswitch.xml: Add keepalive support.

2017-04-01 Thread Bhanuprakash Bodireddy
;/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

[ovs-dev] [PATCH 7/7] Documentation: Update DPDK doc with Keepalive feature.

2017-04-01 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [RFC PATCH] netdev-dpdk: Add Tx intermediate queue for vhost ports.

2017-04-23 Thread Bhanuprakash Bodireddy
: 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

[ovs-dev] [PATCH v2 0/6] Add OVS DPDK keep-alive functionality

2017-04-26 Thread Bhanuprakash Bodireddy
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:

[ovs-dev] [PATCH v2 2/6] process: Retrieve process status.

2017-04-26 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v2 1/6] dpdk: Add helper functions for DPDK keepalive.

2017-04-26 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v2 3/6] dpif-netdev: Register packet processing cores for keepalive.

2017-04-26 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v2 4/6] netdev-dpdk: Add support for keepalive functionality.

2017-04-26 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v2 5/6] vswitch.xml: Add keepalive support.

2017-04-26 Thread Bhanuprakash Bodireddy
;/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

[ovs-dev] [PATCH v2 6/6] Documentation: Update DPDK doc with Keepalive feature.

2017-04-26 Thread Bhanuprakash Bodireddy
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 +

[ovs-dev] [PATCH] dpif-netdev: Fix comments for dp_netdev_pmd_thread struct.

2017-05-15 Thread Bhanuprakash Bodireddy
("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

[ovs-dev] [PATCH v3 00/19] Add OVS DPDK keep-alive functionality.

2017-08-04 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v3 01/19] dpdk: Add helper functions for DPDK datapath keepalive.

2017-08-04 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v3 02/19] process: Avoid warnings compiling process.c

2017-08-04 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v3 03/19] process: Add helper function to retrieve process status.

2017-08-04 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v3 04/19] Keepalive: Add initial keepalive support.

2017-08-04 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v3 05/19] keepalive: Add more helper functions to KA framework.

2017-08-04 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v3 06/19] dpif-netdev: Add helper function to store datapath tids.

2017-08-04 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v3 07/19] dpif-netdev: Register packet processing cores to KA framework.

2017-08-04 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v3 08/19] dpif-netdev: Enable heartbeats for DPDK datapath.

2017-08-04 Thread Bhanuprakash Bodireddy
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 -

[ovs-dev] [PATCH v3 09/19] keepalive: Retrieve PMD status periodically.

2017-08-04 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v3 10/19] bridge: Update keepalive status in OVSDB

2017-08-04 Thread Bhanuprakash Bodireddy
quot;="ALIVE,1,9226460230168100" "pmd64"="ALIVE,2,9226460230168905" "pmd65"="ALIVE,3,9226460230169632"} Signed-off-by: Bhanuprakash Bodireddy --- lib/keepalive.c | 15 +++ lib/keepalive.h |

[ovs-dev] [PATCH v3 11/19] keepalive: Add support to query keepalive statistics.

2017-08-04 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v3 12/19] keepalive: Add support to query keepalive status.

2017-08-04 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v3 13/19] dpif-netdev: Add additional datapath health checks.

2017-08-04 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v3 14/19] keepalive: Check the link status as part of PMD health checks.

2017-08-04 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v3 15/19] keepalive: Check the packet statistics as part of PMD health checks.

2017-08-04 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v3 16/19] keepalive: Check the PMD cycle stats as part of PMD health checks.

2017-08-04 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v3 17/19] netdev-dpdk: Enable PMD health checks on heartbeat failure.

2017-08-04 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v3 18/19] keepalive: Display extended Keepalive status.

2017-08-04 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v3 19/19] Documentation: Update DPDK doc with Keepalive feature.

2017-08-04 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v4 0/5] netdev-dpdk: Use intermediate queue during packet transmission.

2017-08-08 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v4 1/5] netdev: Add netdev_txq_flush function.

2017-08-08 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v4 2/5] netdev-dpdk: Add netdev_dpdk_vhost_txq_flush function.

2017-08-08 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v4 3/5] netdev-dpdk: Add intermediate queue support.

2017-08-08 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v4 4/5] netdev-dpdk: Enable intermediate queue for vHost User port.

2017-08-08 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v4 5/5] dpif-netdev: Flush the packets in intermediate queue.

2017-08-08 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v4 0/7] Add OVS DPDK keep-alive functionality.

2017-08-22 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v4 1/7] process: Extend get_process_info() for additional fields.

2017-08-22 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v4 2/7] Keepalive: Add initial keepalive support.

2017-08-22 Thread Bhanuprakash Bodireddy
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 +

[ovs-dev] [PATCH v4 3/7] dpif-netdev: Register packet processing cores to KA framework.

2017-08-22 Thread Bhanuprakash Bodireddy
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 +

[ovs-dev] [PATCH v4 4/7] dpif-netdev: Enable heartbeats for DPDK datapath.

2017-08-22 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v4 6/7] bridge: Update keepalive status in OVSDB.

2017-08-22 Thread Bhanuprakash Bodireddy
"pmd64"="ALIVE,2,150679619" "pmd65"="ALIVE,3,150679619""} Signed-off-by: Bhanuprakash Bodireddy --- lib/keepalive.c | 15 +++ lib/keepalive.h | 1 + vswitch

[ovs-dev] [PATCH v4 5/7] keepalive: Retrieve PMD status periodically.

2017-08-22 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH v4 7/7] keepalive: Add support to query keepalive status and statistics.

2017-08-22 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH 00/13] Rearrange structure members for memory efficiency.

2017-09-08 Thread Bhanuprakash Bodireddy
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

[ovs-dev] [PATCH 01/13] bond: Reorder elements in bond_slave structure.

2017-09-08 Thread Bhanuprakash Bodireddy
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   2   3   4   >