X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Fsample_app_ug%2Fperformance_thread.rst;h=4c6a1dbe5cbec1e8329404c340e5796ec149e928;hb=769b2de7fb528607bee5cc443dbcddb905a8f61e;hp=b04d0ba444af9ab4fc6f538c3e8ed251567ac1ce;hpb=ddcd7640ca48a13ac211f356495ec894651b87b4;p=dpdk.git diff --git a/doc/guides/sample_app_ug/performance_thread.rst b/doc/guides/sample_app_ug/performance_thread.rst index b04d0ba444..4c6a1dbe5c 100644 --- a/doc/guides/sample_app_ug/performance_thread.rst +++ b/doc/guides/sample_app_ug/performance_thread.rst @@ -55,7 +55,7 @@ Running the Application The application has a number of command line options:: - ./build/l3fwd-thread [EAL options] -- + .//examples/dpdk-l3fwd-thread [EAL options] -- -p PORTMASK [-P] --rx(port,queue,lcore,thread)[,(port,queue,lcore,thread)] --tx(lcore,thread)[,(lcore,thread)] @@ -141,14 +141,14 @@ in ``--rx/--tx`` are used to affinitize threads to the selected scheduler. For example, the following places every l-thread on different lcores:: - l3fwd-thread -l 0-7 -n 2 -- -P -p 3 \ + dpdk-l3fwd-thread -l 0-7 -n 2 -- -P -p 3 \ --rx="(0,0,0,0)(1,0,1,1)" \ --tx="(2,0)(3,1)" The following places RX l-threads on lcore 0 and TX l-threads on lcore 1 and 2 and so on:: - l3fwd-thread -l 0-7 -n 2 -- -P -p 3 \ + dpdk-l3fwd-thread -l 0-7 -n 2 -- -P -p 3 \ --rx="(0,0,0,0)(1,0,0,1)" \ --tx="(1,0)(2,1)" @@ -164,7 +164,7 @@ place every RX and TX thread on different lcores. For example, the following places every EAL thread on different lcores:: - l3fwd-thread -l 0-7 -n 2 -- -P -p 3 \ + dpdk-l3fwd-thread -l 0-7 -n 2 -- -P -p 3 \ --rx="(0,0,0,0)(1,0,1,1)" \ --tx="(2,0)(3,1)" \ --no-lthreads @@ -176,7 +176,7 @@ parameter is used. The following places RX EAL threads on lcore 0 and TX EAL threads on lcore 1 and 2 and so on:: - l3fwd-thread -l 0-7 -n 2 --lcores="(0,1)@0,(2,3)@1" -- -P -p 3 \ + dpdk-l3fwd-thread -l 0-7 -n 2 --lcores="(0,1)@0,(2,3)@1" -- -P -p 3 \ --rx="(0,0,0,0)(1,0,1,1)" \ --tx="(2,0)(3,1)" \ --no-lthreads @@ -190,13 +190,13 @@ and its corresponding EAL threads command line can be realized as follows: a) Start every thread on different scheduler (1:1):: - l3fwd-thread -l 0-7 -n 2 -- -P -p 3 \ + dpdk-l3fwd-thread -l 0-7 -n 2 -- -P -p 3 \ --rx="(0,0,0,0)(1,0,1,1)" \ --tx="(2,0)(3,1)" EAL thread equivalent:: - l3fwd-thread -l 0-7 -n 2 -- -P -p 3 \ + dpdk-l3fwd-thread -l 0-7 -n 2 -- -P -p 3 \ --rx="(0,0,0,0)(1,0,1,1)" \ --tx="(2,0)(3,1)" \ --no-lthreads @@ -205,13 +205,13 @@ b) Start all threads on one core (N:1). Start 4 L-threads on lcore 0:: - l3fwd-thread -l 0-7 -n 2 -- -P -p 3 \ + dpdk-l3fwd-thread -l 0-7 -n 2 -- -P -p 3 \ --rx="(0,0,0,0)(1,0,0,1)" \ --tx="(0,0)(0,1)" Start 4 EAL threads on cpu-set 0:: - l3fwd-thread -l 0-7 -n 2 --lcores="(0-3)@0" -- -P -p 3 \ + dpdk-l3fwd-thread -l 0-7 -n 2 --lcores="(0-3)@0" -- -P -p 3 \ --rx="(0,0,0,0)(1,0,0,1)" \ --tx="(2,0)(3,1)" \ --no-lthreads @@ -220,14 +220,14 @@ c) Start threads on different cores (N:M). Start 2 L-threads for RX on lcore 0, and 2 L-threads for TX on lcore 1:: - l3fwd-thread -l 0-7 -n 2 -- -P -p 3 \ + dpdk-l3fwd-thread -l 0-7 -n 2 -- -P -p 3 \ --rx="(0,0,0,0)(1,0,0,1)" \ --tx="(1,0)(1,1)" Start 2 EAL threads for RX on cpu-set 0, and 2 EAL threads for TX on cpu-set 1:: - l3fwd-thread -l 0-7 -n 2 --lcores="(0-1)@0,(2-3)@1" -- -P -p 3 \ + dpdk-l3fwd-thread -l 0-7 -n 2 --lcores="(0-1)@0,(2-3)@1" -- -P -p 3 \ --rx="(0,0,0,0)(1,0,1,1)" \ --tx="(2,0)(3,1)" \ --no-lthreads @@ -280,8 +280,8 @@ functionality into different threads, and the pairs of RX and TX threads are interconnected via software rings. On initialization an L-thread scheduler is started on every EAL thread. On all -but the master EAL thread only a dummy L-thread is initially started. -The L-thread started on the master EAL thread then spawns other L-threads on +but the main EAL thread only a dummy L-thread is initially started. +The L-thread started on the main EAL thread then spawns other L-threads on different L-thread schedulers according the command line parameters. The RX threads poll the network interface queues and post received packets @@ -1146,33 +1146,15 @@ in the performance-thread folder To build and run the pthread shim example -#. Go to the example applications folder - - .. code-block:: console - - export RTE_SDK=/path/to/rte_sdk - cd ${RTE_SDK}/examples/performance-thread/pthread_shim - - -#. Set the target (a default target is used if not specified). For example: - - .. code-block:: console - - export RTE_TARGET=x86_64-native-linux-gcc - - See the DPDK Getting Started Guide for possible RTE_TARGET values. - #. Build the application: - .. code-block:: console - - make + To compile the sample application see :doc:`compiling`. #. To run the pthread_shim example .. code-block:: console - lthread-pthread-shim -c core_mask -n number_of_channels + dpdk-pthread-shim -c core_mask -n number_of_channels .. _lthread_diagnostics: @@ -1217,5 +1199,5 @@ Setting ``LTHREAD_DIAG`` also enables counting of statistics about cache and queue usage, and these statistics can be displayed by calling the function ``lthread_diag_stats_display()``. This function also performs a consistency check on the caches and queues. The function should only be called from the -master EAL thread after all slave threads have stopped and returned to the C +main EAL thread after all worker threads have stopped and returned to the C main program, otherwise the consistency check will fail.