examples/vhost: add async vhost args parsing
[dpdk.git] / doc / guides / sample_app_ug / performance_thread.rst
index 5fed464..4c6a1db 100644 (file)
@@ -55,7 +55,7 @@ Running the Application
 
 The application has a number of command line options::
 
-    ./build/l3fwd-thread [EAL options] --
+    ./<build_dir>/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
@@ -1097,7 +1097,7 @@ invokes the genuine pthread function.
 
 The function ``pthread_exit()`` has additional special handling. The standard
 system header file pthread.h declares ``pthread_exit()`` with
-``__attribute__((noreturn))`` this is an optimization that is possible because
+``__rte_noreturn`` this is an optimization that is possible because
 the pthread is terminating and this enables the compiler to omit the normal
 handling of stack and protection of registers since the function is not
 expected to return, and in fact the thread is being destroyed. These
@@ -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.