SMC cache was introduced in 2.10 with experimental tag.
SMC cache is a layer of software cache located after EMC
cache. The purpose is to improve the performance of use
cases that many flows missing the EMC cache.
One can enable SMC cache using smc-enable=true option.
Signed-off-by: Yipeng Wang
SMC cache was introduced in 2.10 with experimental tag.
SMC cache is a layer of software cache located after EMC
cache. The purpose is to improve the performance of use
cases that many flows missing the EMC cache.
One can enable SMC cache using smc-enable=true option.
Signed-off-by: Yipeng Wang
Test 1024 PMD - stats reported different stats data during tests because of
the SMC data. This commit fix the test.
Signed-off-by: Yipeng Wang
---
tests/pmd.at | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/tests/pmd.at b/tests/pmd.at
index 60452f5..4cae6c8 100644
off by
default. One can turn it on using ovsdb options.
Signed-off-by: Yipeng Wang
Co-authored-by: Jan Scheurich
Signed-off-by: Jan Scheurich
---
Documentation/topics/dpdk/bridge.rst | 15 ++
NEWS | 2 +
lib/cmap.c | 74
lib
cache the index of flow_table entry.
3. Incorporate commit 2 into commit 1. (Bhanu's comment)
4. Change DFC to be always on in commit 1. (Bhanu's comment)
RFC of this patch set:
https://mail.openvswitch.org/pipermail/ovs-dev/2018-January/343411.html
Yipeng Wang (2):
dpif-netdev: Add SMC cache
by
default. One can turn it on using ovsdb options.
Signed-off-by: Yipeng Wang
---
Documentation/topics/dpdk/bridge.rst | 15 ++
NEWS | 2 +
lib/cmap.c | 73 +
lib/cmap.h | 5 +
lib/dpif-netdev
Test 1024 PMD - stats reported different stats data during tests because of
the SMC data. This commit fix the test.
Signed-off-by: Yipeng Wang
---
tests/pmd.at | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/tests/pmd.at b/tests/pmd.at
index 60452f5..4cae6c8 100644
he the index of flow_table entry.
3. Incorporate commit 2 into commit 1. (Bhanu's comment)
4. Change DFC to be always on in commit 1. (Bhanu's comment)
RFC of this patch set:
https://mail.openvswitch.org/pipermail/ovs-dev/2018-January/343411.html
Yipeng Wang (2):
dpif-netdev: Add SMC cache after EMC cache
is hidden
and performance improved significantly.
Signed-off-by: Yipeng Wang <yipeng1.w...@intel.com>
---
lib/dpif-netdev-perf.h | 2 +-
lib/dpif-netdev.c | 275 -
2 files changed, 161 insertions(+), 116 deletions(-)
diff --git a/li
-by: Yipeng Wang <yipeng1.w...@intel.com>
---
lib/dpif-netdev.c | 25 +++--
1 file changed, 23 insertions(+), 2 deletions(-)
diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c
index 48e9d9f..27d1792 100644
--- a/lib/dpif-netdev.c
+++ b/lib/dpif-netdev.c
@@ -155,6
length is not initilized when insertion. Initialize the
key length before insertion.
Signed-off-by: Yipeng Wang <yipeng1.w...@intel.com>
---
lib/dpif-netdev-perf.h | 1 +
lib/dpif-netdev.c | 371 -
2 files changed, 247 insertions(+), 125 deletions(-)
error.
Signed-off-by: Yipeng Wang <yipeng1.w...@intel.com>
---
lib/cmap.c| 73 ++
lib/cmap.h| 5 +++
lib/dpif-netdev.c | 131 +-
3 files changed, 128 insertions(+), 81 deletions(-)
diff --git
This commit use a way-associative cache rather than a simple
single entry hash for DFC. Experiments show that this design
generally has much higher hit rate.
Signed-off-by: Yipeng Wang <yipeng1.w...@intel.com>
---
lib/dpif-netdev.c | 107 +++
be always on in commit 1. (Bhanu's comment)
RFC of this patch set:
https://mail.openvswitch.org/pipermail/ovs-dev/2018-January/343411.html
Yipeng Wang (5):
dpif-netdev: Use way-associative cache
dpif-netdev: use flow_table as indirect table
dpif-netdev: Split DFC cache and code optimization
dp
Test 1024 PMD - stats reported different stats data during tests because of
the SMC data. This commit fix the test.
Signed-off-by: Yipeng Wang <yipeng1.w...@intel.com>
---
tests/pmd.at | 10 +++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/tests/pmd.at b/tests/
343411.html
Yipeng Wang (3):
dpif-netdev: Use way-associative cache
dpif-netdev: use flow_table as indirect table
dpif-netdev: Split DFC cache and code optimization
Jan Scheurich (1):
dpif-netdev: Refactor datapath flow cache
lib/cmap.c | 73 +
lib/cmap.h
is hidden
and performance improved significantly.
Signed-off-by: Yipeng Wang <yipeng1.w...@intel.com>
---
lib/dpif-netdev-perf.h | 2 +-
lib/dpif-netdev.c | 275 -
2 files changed, 161 insertions(+), 116 deletions(-)
diff --git a/li
From: Yipeng Wang <yipeng1.w...@intel.com>
This commit use a way-associative cache rather than a simple
single entry hash for DFC. Experiments show that this design
generally has much higher hit rate.
Signed-off-by: Yipeng Wang <yipeng1.w...@intel.com>
---
lib/dpif-ne
From: Yipeng Wang <yipeng1.w...@intel.com>
It is not memory efficient to store pointers in the distributor.
In this commit, we store a 2 Byte index which is the index into
flow_table. If the flow table is larger than 2^16, the rules
store in the high index entry will not be cached in distr
dev: Fix EMC key length
EMC's key length is not initilized when insertion. Initialize the
key length before insertion.
Signed-off-by: Yipeng Wang <yipeng1.w...@intel.com>
---
lib/dpif-netdev-perf.h | 1 +
lib/dpif-netdev.c | 371 -
2
From: Yipeng Wang <yipeng1.w...@intel.com>
It is not memory efficient to store pointers in the distributor.
In this commit, we store a 2 Byte index which is the index into
flow_table. If the flow table is larger than 2^16, the rules
store in the high index entry will not be cached in distr
3.884.3412.0%
20003.544.1717.8%
50003.013.8227.0%
1 2.753.6331.9%
2 2.643.5032.8%
5 2.603.3328.1%
10 2.593.2324.7%
50 2.593.1621.9%
Signed-off-by: Jan Scheurich
Signed-off-by: Yipeng Wang <
From: Yipeng Wang <yipeng1.w...@intel.com>
This commit use a way-associative cache rather than a simple
single entry hash for DFC. Experiments show that this design
generally has much higher hit rate.
Signed-off-by: Yipeng Wang <yipeng1.w...@intel.com>
---
lib/dpif-ne
ase to master head.
2. The last commit is totally rewritten to use the flow_table as indirect table.
The CD/DFC distributor will cache the index of flow_table entry.
3. Incorporate commit 2 into commit 1. (Bhanu's comment)
4. Change DFC to be always on in commit 1. (Bhanu's comment)
Yipeng Wang
. Another approach we plan to try is to use the flow_table
as the indirect table.
The indirect table size is a fixed constant for now.
Signed-off-by: Yipeng Wang <yipeng1.w...@intel.com>
---
lib/dpif-netdev.c | 69 +++
1 file changed, 44 inse
This commit uses a way-associative cache (CD) rather than a simple
single entry hash table for DFC. Experiments show that this design
generally has much higher hit rate.
Since miss is much costly than hit, a CD-like structure that improves
hit rate should help in general.
Signed-off-by: Yipeng
From: Jan Scheurich
This is a rebase of Jan's previous patch
[PATCH] dpif-netdev: Refactor datapath flow cache
https://mail.openvswitch.org/pipermail/ovs-dev/2017-November/341066.html
So far the netdev datapath uses an 8K EMC to speed up the lookup of
frequently used
EMC's key length is not initialized when insertion. Initialize the
key length before insertion.
The code might be put in another place, for now I just put it
in dfc_lookup.
Signed-off-by: Yipeng Wang <yipeng1.w...@intel.com>
---
lib/dpif-netdev.c | 3 ++-
1 file changed, 2 insertions
This patch adds CD hit and miss statistics to dp_stat_type. PMD stats will
show the total CD hit and miss counts. This patch depends on the first patch.
CC: Darrell Ball
CC: Jan Scheurich
Signed-off-by: Yipeng Wang
Signed-off-by: Antonio Fischetti
Co-authored-by: Antonio Fischetti
---
lib
assifier has its own cuckoo distributor.
[1] H. Lee and B. Lee, Approaches for improving tuple space search-based
table lookup, ICTC '15
[2] B. Fan, D. G. Andersen, M. Kaminsky, and M. D. Mitzenmacher,
Cuckoo Filter: Practically Better Than Bloom, CoNEXT '14
CC: Darrell Ball
CC: Jan Scheurich
Signed
seconds, and depending
on this count, CD will be turned on or off during run-time.
This patch depends on previous patches.
CC: Darrell Ball
CC: Jan Scheurich
Signed-off-by: Yipeng Wang
Signed-off-by: Antonio Fischetti
Co-authored-by: Antonio Fischetti
---
lib/dpif-netdev.c | 160
This patch adds a delay during test 1215 for considering CD
initialization time.
CC: Darrell Ball
CC: Jan Scheurich
Signed-off-by: Yipeng Wang
Signed-off-by: Antonio Fischetti
Co-authored-by: Antonio Fischetti
---
tests/ofproto-dpif.at | 3 +++
1 file changed, 3 insertions(+)
diff --git
to code.
Fix build errors happens without AVX and DPDK library.
Yipeng Wang (5):
dpif-netdev: Basic CD feature with scalar lookup.
dpif-netdev: Add AVX2 implementation for CD lookup.
dpif-netdev: Add CD statistics
dpif-netdev: Add adaptive CD mechanism
unit-test: Add a delay fo
This patch adds the AVX2 implementation during CD lookup. 16 entries of a
bucket will be compared together with the lookup key. This patch depends
on the first patch.
CC: Darrell Ball
CC: Jan Scheurich
Signed-off-by: Yipeng Wang
Signed-off-by: Antonio Fischetti
Co-authored-by: Antonio
34 matches
Mail list logo