ache 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 a
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
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
r 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)
RFC of this patch set:
https://mail.openvswitch.org/pipermail/ovs-dev/2018-January/343411.html
Yipeng Wang (2):
dpif-ne
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
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
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
Minor style changes 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-
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 a
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
ch classifier 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 Sc
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
first patch.
The third patch is to incorporate CD's way-associative design into DFC to
improve the hit rate.
The fourth patch is to include an indirect table (CD has a similar table) to
reduce the memory size of the DFC.
Yipeng Wang (3):
dpif-netdev: Fix EMC key length
dpif-netde
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
---
lib/dpif-netdev.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --
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 flows by comparing the parse
ost halved. 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
---
lib/dpif-netdev.c | 69 +++
1 file changed, 44 insertions(+), 25 deletion
1. rebase 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 co
From: Yipeng Wang
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
---
lib/dpif-netdev.c | 107 +++---
1 file
3.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
---
lib/dpif-netdev-perf.h | 1 +
lib
From: Yipeng Wang
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 distributor.
We assume rule count is
lized when insertion. Initialize the
key length before insertion.
Signed-off-by: Yipeng Wang
---
lib/dpif-netdev-perf.h | 1 +
lib/dpif-netdev.c | 371 -
2 files changed, 247 insertions(+), 125 deletions(-)
diff --git a/lib/dpif-netdev-perf.h
From: Yipeng Wang
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 distributor.
In cmap, we add two
From: Yipeng Wang
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
---
lib/dpif-netdev.c | 107 +++---
1 file
is hidden
and performance improved significantly.
Signed-off-by: Yipeng Wang
---
lib/dpif-netdev-perf.h | 2 +-
lib/dpif-netdev.c | 275 -
2 files changed, 161 insertions(+), 116 deletions(-)
diff --git a/lib/dpif-netdev-perf.h b/lib/dpif
org/pipermail/ovs-dev/2018-January/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 | 7
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 | 10 +++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/tests/pmd.at b/tests/pmd.at
index 532a182..81082a4
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 (5):
dpif-netdev: Use way-associative cache
dpif-netdev: use flow_table as indirect table
dpif-netdev: Split D
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
---
lib/dpif-netdev.c | 107 +++---
1 file changed, 70
error.
Signed-off-by: Yipeng Wang
---
lib/cmap.c| 73 ++
lib/cmap.h| 5 +++
lib/dpif-netdev.c | 131 +-
3 files changed, 128 insertions(+), 81 deletions(-)
diff --git a/lib/cmap.c b/lib/cmap.c
index
insertion. Initialize the
key length before insertion.
Signed-off-by: Yipeng Wang
---
lib/dpif-netdev-perf.h | 1 +
lib/dpif-netdev.c | 371 -
2 files changed, 247 insertions(+), 125 deletions(-)
diff --git a/lib/dpif-netdev-perf.h b/lib/dpif-net
-by: Yipeng Wang
---
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 +155,8 @@ struct netdev_flow_key
is hidden
and performance improved significantly.
Signed-off-by: Yipeng Wang
---
lib/dpif-netdev-perf.h | 2 +-
lib/dpif-netdev.c | 275 -
2 files changed, 161 insertions(+), 116 deletions(-)
diff --git a/lib/dpif-netdev-perf.h b/lib/dpif
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
35 matches
Mail list logo