From 8489986bf80269ca8a70d1ad4f5957102b3f5665 Mon Sep 17 00:00:00 2001 From: yinzhongyi Date: Fri, 18 May 2018 13:50:52 +0800 Subject: Update docs and remove the unrelated 'sudo' cmd in build.sh Change-Id: Ieed544e8965c30d1dd0c9cc8c5f64d3c66e7df0b Signed-off-by: yinzhongyi --- doc/Build_DMM.md | 35 ++++++++++++++++------------------- doc/TestAppUserGuide.md | 46 ++++++++++++++++++++++++++++++++++------------ 2 files changed, 50 insertions(+), 31 deletions(-) (limited to 'doc') diff --git a/doc/Build_DMM.md b/doc/Build_DMM.md index bda16b0..283c58d 100644 --- a/doc/Build_DMM.md +++ b/doc/Build_DMM.md @@ -1,12 +1,12 @@ # 1. Introduction: - This document purpose is to build the DMM and run applications on it. + The purpose of this document is to illustrate how to build DMM and run applications on it. Note: - Users can easily build the DMM by running DMM/scripts/build.sh, which contains following steps. + Users can easily build DMM by running DMM/scripts/build.sh, which contains following steps. # 2. Build DPDK: - DPDK need to be built first for DMM RTE memory dependency. + DPDK needs to be built first for DMM RTE memory dependency. - Steps : @@ -14,29 +14,28 @@ Note: ``` #wget http://static.dpdk.org/rel/dpdk-16.04.tar.xz #tar xvf dpdk-16.04.tar.xz - #vi dpdk-16.04/config/common_base //make CONFIG_RTE_BUILD_SHARED_LIB=y CONFIG_RTE_EXEC_ENV=y CONFIG_RTE_LIBRTE_EAL=y + #vi dpdk-16.04/config/common_base //make CONFIG_RTE_BUILD_SHARED_LIB=y, CONFIG_RTE_EXEC_ENV=y, CONFIG_RTE_LIBRTE_EAL=y #cd dpdk-16.04 - #make install T=x86_64-native-linuxapp-gcc DESTDIR=/root/dpdk_build/tmp2 + #make install T=x86_64-native-linuxapp-gcc DESTDIR=/usr -j 4 #cd x86_64-native-linuxapp-gcc #make //install the dpdk which will generate .so inside lib folder in the path. ``` Note: - Environment: - Linux ubuntu 14.04 or some distro which support dpdk-16.04 + Environment: + Linux ubuntu 14.04 or some distro which support dpdk-16.04 # 3. Build DMM: ``` - #cd dmm/build - #cmake -D DMM_DPDK_INSTALL_DIR=$DPDK_INSTALL_PATH .. + #cd $(DMM_DIR)/thirdparty/glog/glog-0.3.4/ && autoreconf -ivf + #cd $(DMM_DIR)/build + #cmake .. ``` Note: - - $DPDK_INSTALL_PATH is the path where DPDK has been installed - + $(DMM_DIR) is the directory where dmm has been cloned. After cmake all the makefiles and dependent .sh files will be copied under build directory. ``` @@ -49,10 +48,7 @@ Note: - Hugepage setting: ``` - #vi /etc/default/grub - //update GRUB_CMDLINE_LINUX_DEFAULT="default_hugepagesz=1G hugepagesz=1G hugepages=8" - #update-grub - #reboot + #sudo sysctl -w vm.nr_hugepages=1024 ``` Check hugepage info @@ -65,9 +61,9 @@ Check hugepage info - Mount hugepages: ``` - #mkdir -p /mnt/nstackhuge/ - #mount -t hugetlbfs -o pagesize=1G none /mnt/nstackhuge/ //only 1G pgsize supported now - #mkdir -p /var/run/ip_module + #sudo mkdir -p /mnt/nstackhuge/ + #sudo mount -t hugetlbfs -o pagesize=2M none /mnt/nstackhuge/ + #sudo mkdir -p /var/run/ip_module ``` @@ -78,6 +74,7 @@ Check hugepage info - Enable detail log of nstack by setting env var ``` + #export LD_LIBRARY_PATH=/dmm/release/lib64 #export NSTACK_LOG_ON=DBG ``` diff --git a/doc/TestAppUserGuide.md b/doc/TestAppUserGuide.md index e8c0802..2f21023 100644 --- a/doc/TestAppUserGuide.md +++ b/doc/TestAppUserGuide.md @@ -18,6 +18,10 @@ Copy the two json files to release/bin and configure in next step. +Note: + + If users have run scripts/build.sh, configuration files were generated in /dmm/config/app_test. + # 3. JSON files configuration. We need to setup configuration as given below. @@ -26,23 +30,38 @@ We need to setup configuration as given below. ``` { - "default_stack_name": "kernel", /*when rd can't be find maybe - choose the defualt one*/ + "default_stack_name": "kernel", /*when rd can't be find maybe choose the defualt one*/ "module_list": [ { - "stack_name": "kernel", - "function_name": "kernel_stack_register", - "libname": "", /*library name, if loadtype is static, this maybe - null, else must give a library name*/ - "loadtype": "static", /*library load type: static or dynamic*/ - "deploytype": "1", + "stack_name": "kernel", /*stack name*/ + "function_name": "kernel_stack_register", /*function name*/ + "libname": "./", /*library name, if loadtype is static, this maybe + null, else must give a library name*/ + "loadtype": "static", /*library load type: static or dynamic*/ + "deploytype": "1", /*deploy model type:model type1, model type2, + model type3. Indicating single or multi process + deployment. Used during shared memory initialization.*/ + "maxfd": "1024", /*the max fd supported*/ + "minfd": "0", /*the min fd supported*/ + "priorty": "1", /*priorty when executing, reserv*/ + "stackid": "0", /*stack id, this must be ordered and not be repeated*/ + }, +/*********************************** + { + "stack_name": "stackx", /*this is not a real stack, just an example for multiple + stack configurations*/ + "function_name": "stackx_register", + "libname": "libstackx.so", + "loadtype": "dynmic", + "deploytype": "3", "maxfd": "1024", "minfd": "0", "priorty": "1", - "stackid": "0", /*must be ordered and not be repeated*/ - } + "stackid": "1", + }, ] } +***********************************/ ``` # 3.2 rd_config.json for example: @@ -87,7 +106,7 @@ The use of ks_epoll,ks_select,vs_epoll and vs_select are the same. Examples: -**With Kernel stack:** +**With Kernel stack(With direct kernel stack):** server: ``` @@ -98,7 +117,10 @@ client: #./kc_common -p 20000 -d 172.16.25.126 -a 10000 -s 172.16.25.125 -l 200 -t 5000000 -i 0 -f 1 -r 20000 -n 1 -w 10 -u 10000 -e 10 -x 1 ``` -**With DMM nStack:** +**With DMM nStack(Stack is choosed by congfigure file):** +Note: + + Currently DMM nstack only support kernel mode. please check the config file. server: ``` -- cgit 1.2.3-korg