summaryrefslogtreecommitdiffstats
path: root/src/seastar/README-DPDK.md
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 18:24:20 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 18:24:20 +0000
commit483eb2f56657e8e7f419ab1a4fab8dce9ade8609 (patch)
treee5d88d25d870d5dedacb6bbdbe2a966086a0a5cf /src/seastar/README-DPDK.md
parentInitial commit. (diff)
downloadceph-483eb2f56657e8e7f419ab1a4fab8dce9ade8609.tar.xz
ceph-483eb2f56657e8e7f419ab1a4fab8dce9ade8609.zip
Adding upstream version 14.2.21.upstream/14.2.21upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/seastar/README-DPDK.md')
-rw-r--r--src/seastar/README-DPDK.md25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/seastar/README-DPDK.md b/src/seastar/README-DPDK.md
new file mode 100644
index 00000000..0e86a267
--- /dev/null
+++ b/src/seastar/README-DPDK.md
@@ -0,0 +1,25 @@
+Seastar and DPDK
+================
+
+Seastar uses the Data Plane Development Kit to drive NIC hardware directly. This
+provides an enormous performance boost.
+
+To enable DPDK, specify `-DSeastar_DPDK=ON` to `./cooking.sh`, and `--dpdk-pmd` as a
+run-time parameter. This will use the DPDK package provided as a git submodule with the
+seastar sources.
+
+To use your own self-compiled DPDK package, follow this procedure:
+
+1. Setup host to compile DPDK:
+ - Ubuntu
+ `sudo apt-get install -y build-essential linux-image-extra-$(uname -r)`
+2. Prepare a DPDK SDK:
+ - Download the latest DPDK release: `wget http://dpdk.org/browse/dpdk/snapshot/dpdk-2.0.0.tar.gz`
+ - Untar it.
+ - Edit config/common_linuxapp: set CONFIG_RTE_MBUF_REFCNT_ATOMIC and CONFIG_RTE_LIBRTE_KNI to 'n'.
+ - Start the tools/setup.sh script as root.
+ - Compile a linuxapp target (option 9).
+ - Install IGB_UIO module (option 12).
+ - Bind some physical port to IGB_UIO (option 18).
+ - Configure hugepage mappings (option 15/16).
+3. Modify the CMake cache (`CMakeCache.txt`) to inform CMake of the location of the installed DPDK SDK.