DPDK patches and discussions
 help / color / mirror / Atom feed
* [PATCH 1/2] doc: add note about CPU 0
@ 2024-07-18 18:43 Stephen Hemminger
  2024-07-18 18:43 ` [PATCH 2/2] doc: remove use of -n 4 option in documentation Stephen Hemminger
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Stephen Hemminger @ 2024-07-18 18:43 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

On Linux (and probably BSD), CPU 0 can not be fully isolated
because it receives timer interrupts and is used for other
kernel related functions. The DPDK documentation should
be updated to tell users to avoid polling on that CPU.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 doc/guides/linux_gsg/enable_func.rst | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/doc/guides/linux_gsg/enable_func.rst b/doc/guides/linux_gsg/enable_func.rst
index 5511640cb8..dc33ffc718 100644
--- a/doc/guides/linux_gsg/enable_func.rst
+++ b/doc/guides/linux_gsg/enable_func.rst
@@ -131,9 +131,14 @@ from running on those cores, it is possible to use
 the Linux kernel parameters ``isolcpus``, ``nohz_full``, ``irqaffinity``
 to isolate them from the general Linux scheduler tasks.
 
+.. note::
+
+    It is not recommended to use CPU core 0 for DPDK polling applications
+    because it can not be isolated from other system and kernel activity.
+
 For example, if a given CPU has 0-7 cores
-and DPDK applications are to run on logical cores 2, 4 and 6,
-the following should be added to the kernel parameter list:
+and DPDK applications are to run on logical cores 2, 4 and 6.
+The following should be added to the kernel parameter list:
 
 .. code-block:: console
 
-- 
2.43.0


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 2/2] doc: remove use of -n 4 option in documentation
  2024-07-18 18:43 [PATCH 1/2] doc: add note about CPU 0 Stephen Hemminger
@ 2024-07-18 18:43 ` Stephen Hemminger
  2024-07-19  8:15   ` Bruce Richardson
  2024-07-19 13:37   ` Jack Bond-Preston
  2024-07-29 19:59 ` [PATCH 1/2] doc: add note about CPU 0 Thomas Monjalon
  2024-07-31  4:38 ` [PATCH v2 " Stephen Hemminger
  2 siblings, 2 replies; 8+ messages in thread
From: Stephen Hemminger @ 2024-07-18 18:43 UTC (permalink / raw)
  To: dev
  Cc: Stephen Hemminger, Kai Ji, Pablo de Lara, Sunil Uttarwar,
	Potnuri Bharat Teja, Gaetan Rivet, Jie Hai, Yisen Zhuang,
	Rosen Xu, Matan Azrad, Viacheslav Ovsiienko, Dariusz Sosnowski,
	Bing Zhao, Ori Kam, Suanming Mou, Bruce Richardson,
	Devendra Singh Rawat, Alok Prasad, Cristian Dumitrescu,
	Jerin Jacob, Maciej Czekaj, Maxime Coquelin, Chenbo Xia,
	Chas Williams, Min Hu (Connor),
	David Hunt, Radu Nicolau, Akhil Goyal, Tomasz Kantecki,
	Sunil Kumar Kori, Pavan Nikhilesh, Kiran Kumar K,
	Nithin Dabilpuram, Zhirun Yan, Anatoly Burakov, John McNamara,
	Erik Gabriel Carrillo, Sivaprasad Tummala, Aman Singh,
	Wisam Jaddo

Many places in the documentation are using -n 4 to set
the number of memory channels. This should not be recommended
since it is not always right and the default should be used
instead.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 doc/guides/contributing/documentation.rst     |  2 +-
 doc/guides/cryptodevs/aesni_gcm.rst           |  2 +-
 doc/guides/cryptodevs/aesni_mb.rst            |  2 +-
 doc/guides/cryptodevs/ccp.rst                 |  4 ++--
 doc/guides/cryptodevs/kasumi.rst              |  2 +-
 doc/guides/cryptodevs/null.rst                |  2 +-
 doc/guides/cryptodevs/openssl.rst             |  2 +-
 doc/guides/cryptodevs/snow3g.rst              |  2 +-
 doc/guides/cryptodevs/zuc.rst                 |  2 +-
 doc/guides/howto/lm_bond_virtio_sriov.rst     |  2 +-
 doc/guides/howto/lm_virtio_vhost_user.rst     |  2 +-
 doc/guides/howto/packet_capture_framework.rst |  2 +-
 doc/guides/howto/pvp_reference_benchmark.rst  |  4 ++--
 doc/guides/howto/vfd.rst                      |  4 ++--
 .../virtio_user_for_container_networking.rst  |  4 ++--
 doc/guides/linux_gsg/build_sample_apps.rst    |  2 +-
 doc/guides/linux_gsg/linux_drivers.rst        |  4 ++--
 doc/guides/nics/build_and_test.rst            |  2 +-
 doc/guides/nics/cpfl.rst                      |  2 +-
 doc/guides/nics/cxgbe.rst                     |  2 +-
 doc/guides/nics/fail_safe.rst                 |  8 ++++----
 doc/guides/nics/hns3.rst                      |  4 ++--
 doc/guides/nics/i40e.rst                      |  6 +++---
 doc/guides/nics/ice.rst                       |  4 ++--
 doc/guides/nics/intel_vf.rst                  |  2 +-
 doc/guides/nics/ipn3ke.rst                    |  4 ++--
 doc/guides/nics/mlx4.rst                      |  2 +-
 doc/guides/nics/mlx5.rst                      |  2 +-
 doc/guides/nics/null.rst                      |  6 +++---
 doc/guides/nics/pcap_ring.rst                 | 18 ++++++++---------
 doc/guides/nics/qede.rst                      |  2 +-
 doc/guides/nics/softnic.rst                   |  2 +-
 doc/guides/nics/thunderx.rst                  |  2 +-
 doc/guides/nics/vhost.rst                     |  2 +-
 doc/guides/nics/virtio.rst                    |  2 +-
 .../link_bonding_poll_mode_drv_lib.rst        | 10 +++++-----
 doc/guides/prog_guide/overview.rst            | 11 +++++-----
 doc/guides/sample_app_ug/cmd_line.rst         |  2 +-
 doc/guides/sample_app_ug/dist_app.rst         |  2 +-
 doc/guides/sample_app_ug/hello_world.rst      |  2 +-
 doc/guides/sample_app_ug/ipsec_secgw.rst      |  4 ++--
 doc/guides/sample_app_ug/keep_alive.rst       |  2 +-
 doc/guides/sample_app_ug/l2_forward_cat.rst   |  4 ++--
 doc/guides/sample_app_ug/l2_forward_event.rst |  8 ++++----
 .../sample_app_ug/l2_forward_job_stats.rst    |  2 +-
 .../sample_app_ug/l2_forward_real_virtual.rst |  4 ++--
 doc/guides/sample_app_ug/l3_forward.rst       |  8 ++++----
 doc/guides/sample_app_ug/l3_forward_graph.rst |  6 +++---
 doc/guides/sample_app_ug/link_status_intr.rst |  2 +-
 doc/guides/sample_app_ug/multi_process.rst    | 20 +++++++++----------
 doc/guides/sample_app_ug/ptpclient.rst        |  2 +-
 doc/guides/sample_app_ug/qos_scheduler.rst    |  4 ++--
 doc/guides/sample_app_ug/rxtx_callbacks.rst   |  2 +-
 doc/guides/sample_app_ug/skeleton.rst         |  2 +-
 doc/guides/sample_app_ug/timer.rst            |  2 +-
 doc/guides/sample_app_ug/vdpa.rst             |  2 +-
 doc/guides/sample_app_ug/vhost.rst            |  2 +-
 .../sample_app_ug/vm_power_management.rst     |  6 +++---
 .../sample_app_ug/vmdq_dcb_forwarding.rst     |  2 +-
 doc/guides/sample_app_ug/vmdq_forwarding.rst  |  2 +-
 doc/guides/testpmd_app_ug/run_app.rst         |  2 +-
 doc/guides/tools/flow-perf.rst                |  2 +-
 62 files changed, 117 insertions(+), 116 deletions(-)

diff --git a/doc/guides/contributing/documentation.rst b/doc/guides/contributing/documentation.rst
index 68454ae0d5..ff7f0aca98 100644
--- a/doc/guides/contributing/documentation.rst
+++ b/doc/guides/contributing/documentation.rst
@@ -253,7 +253,7 @@ Line Length and Wrapping
   Long literal command lines can be shown wrapped with backslashes. For
   example::
 
-     dpdk-testpmd -l 2-3 -n 4 \
+     dpdk-testpmd -l 2-3 \
              --vdev=virtio_user0,path=/dev/vhost-net,queues=2,queue_size=1024 \
              -- -i --tx-offloads=0x0000002c --enable-lro --txq=2 --rxq=2 \
              --txd=1024 --rxd=1024
diff --git a/doc/guides/cryptodevs/aesni_gcm.rst b/doc/guides/cryptodevs/aesni_gcm.rst
index 3af1486553..ae2c3fbcbe 100644
--- a/doc/guides/cryptodevs/aesni_gcm.rst
+++ b/doc/guides/cryptodevs/aesni_gcm.rst
@@ -103,5 +103,5 @@ Example:
 
 .. code-block:: console
 
-    ./dpdk-l2fwd-crypto -l 1 -n 4 --vdev="crypto_aesni_gcm,socket_id=0,max_nb_sessions=128" \
+    ./dpdk-l2fwd-crypto -l 1 --vdev="crypto_aesni_gcm,socket_id=0,max_nb_sessions=128" \
     -- -p 1 --cdev SW --chain AEAD --aead_algo "aes-gcm"
diff --git a/doc/guides/cryptodevs/aesni_mb.rst b/doc/guides/cryptodevs/aesni_mb.rst
index 3c77d0f463..38b31ab2b1 100644
--- a/doc/guides/cryptodevs/aesni_mb.rst
+++ b/doc/guides/cryptodevs/aesni_mb.rst
@@ -161,7 +161,7 @@ Example:
 
 .. code-block:: console
 
-    ./dpdk-l2fwd-crypto -l 1 -n 4 --vdev="crypto_aesni_mb,socket_id=0,max_nb_sessions=128" \
+    ./dpdk-l2fwd-crypto -l 1 --vdev="crypto_aesni_mb,socket_id=0,max_nb_sessions=128" \
     -- -p 1 --cdev SW --chain CIPHER_HASH --cipher_algo "aes-cbc" --auth_algo "sha1-hmac"
 
 Extra notes
diff --git a/doc/guides/cryptodevs/ccp.rst b/doc/guides/cryptodevs/ccp.rst
index a314fb6fd1..e2d04d5317 100644
--- a/doc/guides/cryptodevs/ccp.rst
+++ b/doc/guides/cryptodevs/ccp.rst
@@ -94,7 +94,7 @@ To validate ccp PMD, l2fwd-crypto example can be used with following command:
 
 .. code-block:: console
 
-        sudo ./<build_dir>/examples/dpdk-l2fwd-crypto -l 1 -n 4 --vdev "crypto_ccp" -- -p 0x1
+        sudo ./<build_dir>/examples/dpdk-l2fwd-crypto -l 1 --vdev "crypto_ccp" -- -p 0x1
         --chain CIPHER_HASH --cipher_op ENCRYPT --cipher_algo aes-cbc
         --cipher_key 00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:0f
         --cipher_iv 00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:ff
@@ -109,7 +109,7 @@ following:
 
 .. code-block:: console
 
-        sudo ./<build_dir>/examples/dpdk-l2fwd-crypto -l 1 -n 4 --vdev "crypto_ccp,ccp_auth_opt=1" -- -p 0x1
+        sudo ./<build_dir>/examples/dpdk-l2fwd-crypto -l 1 --vdev "crypto_ccp,ccp_auth_opt=1" -- -p 0x1
         --chain CIPHER_HASH --cipher_op ENCRYPT --cipher_algo aes-cbc
         --cipher_key 00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:0f
         --cipher_iv 00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:ff
diff --git a/doc/guides/cryptodevs/kasumi.rst b/doc/guides/cryptodevs/kasumi.rst
index 4070f025e1..988765da18 100644
--- a/doc/guides/cryptodevs/kasumi.rst
+++ b/doc/guides/cryptodevs/kasumi.rst
@@ -109,7 +109,7 @@ Example:
 
 .. code-block:: console
 
-    ./dpdk-l2fwd-crypto -l 1 -n 4 --vdev="crypto_kasumi,socket_id=0,max_nb_sessions=128" \
+    ./dpdk-l2fwd-crypto -l 1 --vdev="crypto_kasumi,socket_id=0,max_nb_sessions=128" \
     -- -p 1 --cdev SW --chain CIPHER_ONLY --cipher_algo "kasumi-f8"
 
 Extra notes on KASUMI F9
diff --git a/doc/guides/cryptodevs/null.rst b/doc/guides/cryptodevs/null.rst
index 12577fa0bf..8d7975466c 100644
--- a/doc/guides/cryptodevs/null.rst
+++ b/doc/guides/cryptodevs/null.rst
@@ -67,5 +67,5 @@ Example:
 
 .. code-block:: console
 
-    ./dpdk-l2fwd-crypto -l 1 -n 4 --vdev="crypto_null,socket_id=0,max_nb_sessions=128" \
+    ./dpdk-l2fwd-crypto -l 1 --vdev="crypto_null,socket_id=0,max_nb_sessions=128" \
     -- -p 1 --cdev SW --chain CIPHER_ONLY --cipher_algo "null"
diff --git a/doc/guides/cryptodevs/openssl.rst b/doc/guides/cryptodevs/openssl.rst
index ff21d21b23..d467069cac 100644
--- a/doc/guides/cryptodevs/openssl.rst
+++ b/doc/guides/cryptodevs/openssl.rst
@@ -80,7 +80,7 @@ To verify real traffic l2fwd-crypto example can be used with this command:
 
 .. code-block:: console
 
-	sudo ./<build_dir>/examples/dpdk-l2fwd-crypto -l 0-1 -n 4 --vdev "crypto_openssl"
+	sudo ./<build_dir>/examples/dpdk-l2fwd-crypto -l 0-1 --vdev "crypto_openssl"
 	--vdev "crypto_openssl"-- -p 0x3 --chain CIPHER_HASH
 	--cipher_op ENCRYPT --cipher_algo AES_CBC
 	--cipher_key 00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:0f
diff --git a/doc/guides/cryptodevs/snow3g.rst b/doc/guides/cryptodevs/snow3g.rst
index 923b3fa0ac..6fab6a1c1c 100644
--- a/doc/guides/cryptodevs/snow3g.rst
+++ b/doc/guides/cryptodevs/snow3g.rst
@@ -118,5 +118,5 @@ Example:
 
 .. code-block:: console
 
-    ./dpdk-l2fwd-crypto -l 1 -n 4 --vdev="crypto_snow3g,socket_id=0,max_nb_sessions=128" \
+    ./dpdk-l2fwd-crypto -l 1 --vdev="crypto_snow3g,socket_id=0,max_nb_sessions=128" \
     -- -p 1 --cdev SW --chain CIPHER_ONLY --cipher_algo "snow3g-uea2"
diff --git a/doc/guides/cryptodevs/zuc.rst b/doc/guides/cryptodevs/zuc.rst
index f51980e1fc..f26d7866fe 100644
--- a/doc/guides/cryptodevs/zuc.rst
+++ b/doc/guides/cryptodevs/zuc.rst
@@ -117,5 +117,5 @@ Example:
 
 .. code-block:: console
 
-    ./dpdk-l2fwd-crypto -l 1 -n 4 --vdev="crypto_zuc,socket_id=0,max_nb_sessions=128" \
+    ./dpdk-l2fwd-crypto -l 1 --vdev="crypto_zuc,socket_id=0,max_nb_sessions=128" \
     -- -p 1 --cdev SW --chain CIPHER_ONLY --cipher_algo "zuc-eea3"
diff --git a/doc/guides/howto/lm_bond_virtio_sriov.rst b/doc/guides/howto/lm_bond_virtio_sriov.rst
index 60b4462c2c..8cb3a11ce9 100644
--- a/doc/guides/howto/lm_bond_virtio_sriov.rst
+++ b/doc/guides/howto/lm_bond_virtio_sriov.rst
@@ -614,7 +614,7 @@ Run testpmd in the Virtual Machine.
    # use for bonding of virtio and vf tests in VM
 
    /root/dpdk/<build_dir>/app/dpdk-testpmd \
-   -l 0-3 -n 4 --socket-mem 350 --  --i --port-topology=chained
+   -l 0-3 --socket-mem 350 --  --i --port-topology=chained
 
 .. _lm_bond_virtio_sriov_switch_conf:
 
diff --git a/doc/guides/howto/lm_virtio_vhost_user.rst b/doc/guides/howto/lm_virtio_vhost_user.rst
index c5c48f10a9..93a059a7fa 100644
--- a/doc/guides/howto/lm_virtio_vhost_user.rst
+++ b/doc/guides/howto/lm_virtio_vhost_user.rst
@@ -438,4 +438,4 @@ run_testpmd_in_vm.sh
    # test system has 8 cpus (0-7), use cpus 2-7 for VM
 
    /root/dpdk/<build_dir>/app/dpdk-testpmd \
-   -l 0-5 -n 4 --socket-mem 350 -- --burst=64 --i
+   -l 0-5 --socket-mem 350 -- --burst=64 --i
diff --git a/doc/guides/howto/packet_capture_framework.rst b/doc/guides/howto/packet_capture_framework.rst
index 24d4bd0e73..f41b72eee0 100644
--- a/doc/guides/howto/packet_capture_framework.rst
+++ b/doc/guides/howto/packet_capture_framework.rst
@@ -89,7 +89,7 @@ inspect them using ``tcpdump``.
 
 #. Launch testpmd as the primary application::
 
-     sudo <build_dir>/app/dpdk-testpmd -c 0xf0 -n 4 -- -i --port-topology=chained
+     sudo <build_dir>/app/dpdk-testpmd -c 0xf0 -- -i --port-topology=chained
 
 #. Launch the dpdk-dumpcap as follows::
 
diff --git a/doc/guides/howto/pvp_reference_benchmark.rst b/doc/guides/howto/pvp_reference_benchmark.rst
index 1043356b3d..c1a784de44 100644
--- a/doc/guides/howto/pvp_reference_benchmark.rst
+++ b/doc/guides/howto/pvp_reference_benchmark.rst
@@ -122,7 +122,7 @@ Testpmd launch
 
    .. code-block:: console
 
-      <build_dir>/app/dpdk-testpmd -l 0,2,3,4,5 --socket-mem=1024 -n 4 \
+      <build_dir>/app/dpdk-testpmd -l 0,2,3,4,5 --socket-mem=1024 \
           --vdev 'net_vhost0,iface=/tmp/vhost-user1' \
           --vdev 'net_vhost1,iface=/tmp/vhost-user2' -- \
           --portmask=f -i --rxq=1 --txq=1 \
@@ -332,7 +332,7 @@ Start testpmd:
 
    .. code-block:: console
 
-      <build_dir>/app/dpdk-testpmd -l 0,1,2 --socket-mem 1024 -n 4 \
+      <build_dir>/app/dpdk-testpmd -l 0,1,2 --socket-mem 1024 \
           --proc-type auto --file-prefix pg -- \
           --portmask=3 --forward-mode=macswap --port-topology=chained \
           --disable-rss -i --rxq=1 --txq=1 \
diff --git a/doc/guides/howto/vfd.rst b/doc/guides/howto/vfd.rst
index 5a62e6ff5a..62bcdfe15a 100644
--- a/doc/guides/howto/vfd.rst
+++ b/doc/guides/howto/vfd.rst
@@ -83,7 +83,7 @@ The typical procedure to achieve this is as follows:
 
 #. Run a DPDK application on the PF in the host::
 
-      dpdk-testpmd -l 0-7 -n 4 -- -i --txqflags=0
+      dpdk-testpmd -l 0-7 -- -i --txqflags=0
 
 #. Bind the VF port to ``igb_uio`` in the VM::
 
@@ -91,7 +91,7 @@ The typical procedure to achieve this is as follows:
 
 #. Run a DPDK application on the VF in the VM::
 
-      dpdk-testpmd -l 0-7 -n 4 -- -i --txqflags=0
+      dpdk-testpmd -l 0-7 -- -i --txqflags=0
 
 
 Common functions of IXGBE and I40E
diff --git a/doc/guides/howto/virtio_user_for_container_networking.rst b/doc/guides/howto/virtio_user_for_container_networking.rst
index 5eab360a1c..b8d784b1ef 100644
--- a/doc/guides/howto/virtio_user_for_container_networking.rst
+++ b/doc/guides/howto/virtio_user_for_container_networking.rst
@@ -77,7 +77,7 @@ some minor changes.
 
     .. code-block:: console
 
-        $(testpmd) -l 0-1 -n 4 --socket-mem 1024,1024 \
+        $(testpmd) -l 0-1 --socket-mem 1024,1024 \
             --vdev 'eth_vhost0,iface=/tmp/sock0' \
             --file-prefix=host --no-pci -- -i
 
@@ -87,7 +87,7 @@ some minor changes.
 
         docker run -i -t -v /tmp/sock0:/var/run/usvhost \
             -v /dev/hugepages:/dev/hugepages \
-            dpdk-app-testpmd testpmd -l 6-7 -n 4 -m 1024 --no-pci \
+            dpdk-app-testpmd testpmd -l 6-7 -m 1024 --no-pci \
             --vdev=virtio_user0,path=/var/run/usvhost \
             --file-prefix=container \
             -- -i
diff --git a/doc/guides/linux_gsg/build_sample_apps.rst b/doc/guides/linux_gsg/build_sample_apps.rst
index 4f99617233..f07e7a4fb5 100644
--- a/doc/guides/linux_gsg/build_sample_apps.rst
+++ b/doc/guides/linux_gsg/build_sample_apps.rst
@@ -114,7 +114,7 @@ Copy the DPDK application binary to your target, then run the application as fol
 (assuming the platform has four memory channels per processor socket,
 and that cores 0-3 are present and are to be used for running the application)::
 
-    ./dpdk-helloworld -l 0-3 -n 4
+    ./dpdk-helloworld -l 0-3
 
 .. note::
 
diff --git a/doc/guides/linux_gsg/linux_drivers.rst b/doc/guides/linux_gsg/linux_drivers.rst
index 852a60f5c0..039823d61e 100644
--- a/doc/guides/linux_gsg/linux_drivers.rst
+++ b/doc/guides/linux_gsg/linux_drivers.rst
@@ -252,14 +252,14 @@ The token will be used for all PF and VF ports within the application.
 
    .. code-block:: console
 
-      <build_dir>/app/dpdk-testpmd -l 22-25 -n 4 -a 86:00.0 \
+      <build_dir>/app/dpdk-testpmd -l 22-25 -a 86:00.0 \
       --vfio-vf-token=14d63f20-8445-11ea-8900-1f9ce7d5650d --file-prefix=pf -- -i
 
 #. Start the DPDK application that will manage the VF device
 
    .. code-block:: console
 
-      <build_dir>/app/dpdk-testpmd -l 26-29 -n 4 -a 86:02.0 \
+      <build_dir>/app/dpdk-testpmd -l 26-29 -a 86:02.0 \
       --vfio-vf-token=14d63f20-8445-11ea-8900-1f9ce7d5650d --file-prefix=vf0 -- -i
 
 .. note::
diff --git a/doc/guides/nics/build_and_test.rst b/doc/guides/nics/build_and_test.rst
index 08310234ac..65264b9dbc 100644
--- a/doc/guides/nics/build_and_test.rst
+++ b/doc/guides/nics/build_and_test.rst
@@ -133,7 +133,7 @@ This section demonstrates how to setup and run ``testpmd`` in Linux.
 
    .. code-block:: console
 
-      ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -- -i
+      ./<build_dir>/app/dpdk-testpmd -l 0-3 -- -i
 
    Successful execution will show initialization messages from EAL, PMD and
    testpmd application. A prompt will be displayed at the end for user commands
diff --git a/doc/guides/nics/cpfl.rst b/doc/guides/nics/cpfl.rst
index 69eabf5616..238392c1d1 100644
--- a/doc/guides/nics/cpfl.rst
+++ b/doc/guides/nics/cpfl.rst
@@ -208,7 +208,7 @@ low level hardware resources.
 
    .. code-block:: console
 
-      dpdk-testpmd -c 0x3 -n 4 -a 0000:af:00.6,vport=[0-1],flow_parser="refpkg.json" -- -i
+      dpdk-testpmd -c 0x3 -a 0000:af:00.6,vport=[0-1],flow_parser="refpkg.json" -- -i
 
 #. Create one flow to forward ETH-IPV4-TCP from I/O port to a local(CPF's) vport. Flow should be created on
    vport X. Group M should match fxp module. Action port_representor Y means forward packet to local vport Y::
diff --git a/doc/guides/nics/cxgbe.rst b/doc/guides/nics/cxgbe.rst
index 1f0b848ede..487190ff60 100644
--- a/doc/guides/nics/cxgbe.rst
+++ b/doc/guides/nics/cxgbe.rst
@@ -749,7 +749,7 @@ devices managed by librte_net_cxgbe in FreeBSD operating system.
 
    .. code-block:: console
 
-      ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -a 0000:02:00.4 -- -i
+      ./<build_dir>/app/dpdk-testpmd -l 0-3 -a 0000:02:00.4 -- -i
 
    Example output:
 
diff --git a/doc/guides/nics/fail_safe.rst b/doc/guides/nics/fail_safe.rst
index ae9f08ec8d..469086803d 100644
--- a/doc/guides/nics/fail_safe.rst
+++ b/doc/guides/nics/fail_safe.rst
@@ -116,7 +116,7 @@ This section shows some example of using **testpmd** with a fail-safe PMD.
 
    .. code-block:: console
 
-      ./<build_dir>/app/dpdk-testpmd -c 0xff -n 4 \
+      ./<build_dir>/app/dpdk-testpmd -c 0xff \
          --vdev 'net_failsafe0,mac=de:ad:be:ef:01:02,dev(84:00.0),dev(net_ring0)' \
          -b 84:00.0 -b 00:04.0 -- -i
 
@@ -130,7 +130,7 @@ This section shows some example of using **testpmd** with a fail-safe PMD.
 
    .. code-block:: console
 
-      ./<build_dir>/app/dpdk-testpmd -c 0xff -n 4 \
+      ./<build_dir>/app/dpdk-testpmd -c 0xff \
          --vdev 'net_failsafe0,mac=de:ad:be:ef:01:02,dev(84:00.0),dev(net_ring0)' \
          -a 81:00.0 -- -i
 
@@ -138,7 +138,7 @@ This section shows some example of using **testpmd** with a fail-safe PMD.
 
    .. code-block:: console
 
-      ./<build_dir>/app/dpdk-testpmd -c 0xff -n 4 -a ff:ff.f \
+      ./<build_dir>/app/dpdk-testpmd -c 0xff -a ff:ff.f \
          --vdev='net_failsafe0,exec(echo 84:00.0)' -- -i
 
 #. Start testpmd, automatically probing the device 84:00.0 and using it with
@@ -146,7 +146,7 @@ This section shows some example of using **testpmd** with a fail-safe PMD.
 
    .. code-block:: console
 
-      ./<build_dir>/app/dpdk-testpmd -c 0xff -n 4 \
+      ./<build_dir>/app/dpdk-testpmd -c 0xff \
          --vdev 'net_failsafe0,dev(0000:84:00.0),dev(net_ring0)' -- -i
 
 
diff --git a/doc/guides/nics/hns3.rst b/doc/guides/nics/hns3.rst
index 97b4686bfa..a21319e212 100644
--- a/doc/guides/nics/hns3.rst
+++ b/doc/guides/nics/hns3.rst
@@ -201,7 +201,7 @@ To start ``testpmd``, and add VLAN 10 to port 0:
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -l 0-15 -n 4 -- -i --forward-mode=mac
+    ./<build_dir>/app/dpdk-testpmd -l 0-15 -- -i --forward-mode=mac
     ...
 
     testpmd> set promisc 0 off
@@ -222,7 +222,7 @@ Start ``testpmd``:
 
 .. code-block:: console
 
-   ./<build_dir>/app/dpdk-testpmd -l 0-15 -n 4 -- -i --rxq=8 --txq=8 \
+   ./<build_dir>/app/dpdk-testpmd -l 0-15 -- -i --rxq=8 --txq=8 \
 				  --nb-cores=8 --nb-ports=1
 
 Add a rule to direct ``ipv4-udp`` packet whose ``dst_ip=2.2.2.5, src_ip=2.2.2.3,
diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst
index ca6caa0cff..791fdf7ea9 100644
--- a/doc/guides/nics/i40e.rst
+++ b/doc/guides/nics/i40e.rst
@@ -401,7 +401,7 @@ To start ``testpmd``, and add vlan 10 to port 0:
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -l 0-15 -n 4 -- -i --forward-mode=mac
+    ./<build_dir>/app/dpdk-testpmd -l 0-15 -- -i --forward-mode=mac
     ...
 
     testpmd> set promisc 0 off
@@ -436,7 +436,7 @@ Start ``testpmd`` with ``--disable-rss`` and ``--pkt-filter-mode=perfect``:
 
 .. code-block:: console
 
-   ./<build_dir>/app/dpdk-testpmd -l 0-15 -n 4 -- -i --disable-rss \
+   ./<build_dir>/app/dpdk-testpmd -l 0-15 -- -i --disable-rss \
                  --pkt-filter-mode=perfect --rxq=8 --txq=8 --nb-cores=8 \
                  --nb-ports=1
 
@@ -1012,7 +1012,7 @@ See :numref:`figure_intel_perf_test_setup` for the performance test setup.
 
 #. The command line of running l3fwd would be something like the following::
 
-      ./dpdk-l3fwd -l 18-21 -n 4 -a 82:00.0 -a 85:00.0 \
+      ./dpdk-l3fwd -l 18-21 -a 82:00.0 -a 85:00.0 \
               -- -p 0x3 --config '(0,0,18),(0,1,19),(1,0,20),(1,1,21)'
 
    This means that the application uses core 18 for port 0, queue pair 0 forwarding, core 19 for port 0, queue pair 1 forwarding,
diff --git a/doc/guides/nics/ice.rst b/doc/guides/nics/ice.rst
index ae975d19ad..af84cf91db 100644
--- a/doc/guides/nics/ice.rst
+++ b/doc/guides/nics/ice.rst
@@ -420,7 +420,7 @@ Additional Options
 
 #. Bind the VF0, and run testpmd with 'cap=dcf' with port representor for VF 1 and 2::
 
-      dpdk-testpmd -l 22-25 -n 4 -a 18:01.0,cap=dcf,representor=vf[1-2] -- -i
+      dpdk-testpmd -l 22-25 -a 18:01.0,cap=dcf,representor=vf[1-2] -- -i
 
 #. Monitor the VF2 interface network traffic::
 
@@ -449,7 +449,7 @@ To start ``testpmd``, and add vlan 10 to port 0:
 
 .. code-block:: console
 
-    ./app/dpdk-testpmd -l 0-15 -n 4 -- -i
+    ./app/dpdk-testpmd -l 0-15 -- -i
     ...
 
     testpmd> rx_vlan add 10 0
diff --git a/doc/guides/nics/intel_vf.rst b/doc/guides/nics/intel_vf.rst
index 4780ee7add..b6c6adb3fd 100644
--- a/doc/guides/nics/intel_vf.rst
+++ b/doc/guides/nics/intel_vf.rst
@@ -521,7 +521,7 @@ The setup procedure is as follows:
 
     .. code-block:: console
 
-        ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -- -i
+        ./<build_dir>/app/dpdk-testpmd -l 0-3 -- -i
 
 #.  Finally, access the Guest OS using vncviewer with the localhost:5900 port and check the lspci command output in the Guest OS.
     The virtual functions will be listed as available for use.
diff --git a/doc/guides/nics/ipn3ke.rst b/doc/guides/nics/ipn3ke.rst
index 144b9462b6..82a0489178 100644
--- a/doc/guides/nics/ipn3ke.rst
+++ b/doc/guides/nics/ipn3ke.rst
@@ -76,7 +76,7 @@ To start ``testpmd``, and add I40e PF to FPGA network port:
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -l 0-15 -n 4 --vdev 'ifpga_rawdev_cfg0,ifpga=b3:00.0,port=0' --vdev 'ipn3ke_cfg0,afu=0|b3:00.0,i40e_pf={0000:b1:00.0|0000:b1:00.1|0000:b1:00.2|0000:b1:00.3|0000:b5:00.0|0000:b5:00.1|0000:b5:00.2|0000:b5:00.3}' -- -i --no-numa --port-topology=loop
+    ./<build_dir>/app/dpdk-testpmd -l 0-15 --vdev 'ifpga_rawdev_cfg0,ifpga=b3:00.0,port=0' --vdev 'ipn3ke_cfg0,afu=0|b3:00.0,i40e_pf={0000:b1:00.0|0000:b1:00.1|0000:b1:00.2|0000:b1:00.3|0000:b5:00.0|0000:b5:00.1|0000:b5:00.2|0000:b5:00.3}' -- -i --no-numa --port-topology=loop
 
 HQoS and flow acceleration
 ~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -87,7 +87,7 @@ To start ``testpmd``, and add I40e PF to FPGA network port, enable FPGA HQoS and
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -l 0-15 -n 4 --vdev 'ifpga_rawdev_cfg0,ifpga=b3:00.0,port=0' --vdev 'ipn3ke_cfg0,afu=0|b3:00.0,fpga_acc={tm|flow},i40e_pf={0000:b1:00.0|0000:b1:00.1|0000:b1:00.2|0000:b1:00.3|0000:b5:00.0|0000:b5:00.1|0000:b5:00.2|0000:b5:00.3}' -- -i --no-numa --forward-mode=macswap
+    ./<build_dir>/app/dpdk-testpmd -l 0-15 --vdev 'ifpga_rawdev_cfg0,ifpga=b3:00.0,port=0' --vdev 'ipn3ke_cfg0,afu=0|b3:00.0,fpga_acc={tm|flow},i40e_pf={0000:b1:00.0|0000:b1:00.1|0000:b1:00.2|0000:b1:00.3|0000:b5:00.0|0000:b5:00.1|0000:b5:00.2|0000:b5:00.3}' -- -i --no-numa --forward-mode=macswap
 
 Limitations or Known issues
 ---------------------------
diff --git a/doc/guides/nics/mlx4.rst b/doc/guides/nics/mlx4.rst
index ecc5a32913..4aaeaaa6dd 100644
--- a/doc/guides/nics/mlx4.rst
+++ b/doc/guides/nics/mlx4.rst
@@ -428,7 +428,7 @@ devices managed by librte_net_mlx4.
 
 #. Start testpmd with basic parameters::
 
-      dpdk-testpmd -l 8-15 -n 4 -a 0000:83:00.0 -a 0000:84:00.0 -- --rxq=2 --txq=2 -i
+      dpdk-testpmd -l 8-15 -a 0000:83:00.0 -a 0000:84:00.0 -- --rxq=2 --txq=2 -i
 
    Example output::
 
diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst
index 43fc181d8d..c519177819 100644
--- a/doc/guides/nics/mlx5.rst
+++ b/doc/guides/nics/mlx5.rst
@@ -2112,7 +2112,7 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_net_mlx5.
 
 #. Start testpmd with basic parameters::
 
-      dpdk-testpmd -l 8-15 -n 4 -a 05:00.0 -a 05:00.1 -a 06:00.0 -a 06:00.1 -- --rxq=2 --txq=2 -i
+      dpdk-testpmd -l 8-15 -a 05:00.0 -a 05:00.1 -a 06:00.0 -a 06:00.1 -- --rxq=2 --txq=2 -i
 
    Example output::
 
diff --git a/doc/guides/nics/null.rst b/doc/guides/nics/null.rst
index 5f746d7711..c0e3199102 100644
--- a/doc/guides/nics/null.rst
+++ b/doc/guides/nics/null.rst
@@ -14,7 +14,7 @@ Usage
 
 .. code-block:: console
 
-   ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 --vdev net_null0 --vdev net_null1 -- -i
+   ./<build_dir>/app/dpdk-testpmd -l 0-3 --vdev net_null0 --vdev net_null1 -- -i
 
 
 Runtime Configuration
@@ -26,7 +26,7 @@ Runtime Configuration
 
 .. code-block:: console
 
-   ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 --vdev "net_null0,copy=1" -- -i
+   ./<build_dir>/app/dpdk-testpmd -l 0-3 --vdev "net_null0,copy=1" -- -i
 
 - ``size`` [optional, default=64 bytes]
 
@@ -35,7 +35,7 @@ Runtime Configuration
 
 .. code-block:: console
 
-   ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 --vdev "net_null0,size=256" -- -i
+   ./<build_dir>/app/dpdk-testpmd -l 0-3 --vdev "net_null0,size=256" -- -i
 
 - ``no-rx`` [optional, default disabled]
 
diff --git a/doc/guides/nics/pcap_ring.rst b/doc/guides/nics/pcap_ring.rst
index acb1f00e30..c47034f10a 100644
--- a/doc/guides/nics/pcap_ring.rst
+++ b/doc/guides/nics/pcap_ring.rst
@@ -40,7 +40,7 @@ Device name and stream options must be separated by commas as shown below:
 
 .. code-block:: console
 
-   ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 \
+   ./<build_dir>/app/dpdk-testpmd -l 0-3 \
        --vdev 'net_pcap0,stream_opt0=..,stream_opt1=..' \
        --vdev='net_pcap1,stream_opt0=..'
 
@@ -139,7 +139,7 @@ Read packets from one pcap file and write them to another:
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 \
+    ./<build_dir>/app/dpdk-testpmd -l 0-3 \
         --vdev 'net_pcap0,rx_pcap=file_rx.pcap,tx_pcap=file_tx.pcap' \
         -- --port-topology=chained
 
@@ -147,7 +147,7 @@ Read packets from a network interface and write them to a pcap file:
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 \
+    ./<build_dir>/app/dpdk-testpmd -l 0-3 \
         --vdev 'net_pcap0,rx_iface=eth0,tx_pcap=file_tx.pcap' \
         -- --port-topology=chained
 
@@ -155,7 +155,7 @@ Read packets from a pcap file and write them to a network interface:
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 \
+    ./<build_dir>/app/dpdk-testpmd -l 0-3 \
         --vdev 'net_pcap0,rx_pcap=file_rx.pcap,tx_iface=eth1' \
         -- --port-topology=chained
 
@@ -163,14 +163,14 @@ Forward packets through two network interfaces:
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 \
+    ./<build_dir>/app/dpdk-testpmd -l 0-3 \
         --vdev 'net_pcap0,iface=eth0' --vdev='net_pcap1,iface=eth1'
 
 Enable 2 tx queues on a network interface:
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 \
+    ./<build_dir>/app/dpdk-testpmd -l 0-3 \
         --vdev 'net_pcap0,rx_iface=eth1,tx_iface=eth1,tx_iface=eth1' \
         -- --txq 2
 
@@ -178,7 +178,7 @@ Read only incoming packets from a network interface and write them back to the s
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 \
+    ./<build_dir>/app/dpdk-testpmd -l 0-3 \
         --vdev 'net_pcap0,rx_iface_in=eth1,tx_iface=eth1'
 
 Using libpcap-based PMD with the testpmd Application
@@ -203,7 +203,7 @@ Otherwise, the first 512 packets from the input pcap file will be discarded by t
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 \
+    ./<build_dir>/app/dpdk-testpmd -l 0-3 \
         --vdev 'net_pcap0,rx_pcap=file_rx.pcap,tx_pcap=file_tx.pcap' \
         -- --port-topology=chained --no-flush-rx
 
@@ -223,7 +223,7 @@ Multiple devices may be specified, separated by commas.
 
 .. code-block:: console
 
-    ./dpdk-testpmd -l 1-3 -n 4 --vdev=net_ring0 --vdev=net_ring1 -- -i
+    ./dpdk-testpmd -l 1-3 --vdev=net_ring0 --vdev=net_ring1 -- -i
     EAL: Detected lcore 1 as core 1 on socket 0
     ...
 
diff --git a/doc/guides/nics/qede.rst b/doc/guides/nics/qede.rst
index 38d5cbb1f3..c067a4c796 100644
--- a/doc/guides/nics/qede.rst
+++ b/doc/guides/nics/qede.rst
@@ -272,7 +272,7 @@ This section provides instructions to configure SR-IOV with Linux OS.
 
    .. code-block:: console
 
-      dpdk-testpmd -l 0,4-11 -n 4 -- -i --nb-cores=8 --portmask=0xf --rxd=4096 \
+      dpdk-testpmd -l 0,4-11 -- -i --nb-cores=8 --portmask=0xf --rxd=4096 \
       --txd=4096 --txfreet=4068 --enable-rx-cksum --rxq=4 --txq=4 \
       --rss-ip --rss-udp
 
diff --git a/doc/guides/nics/softnic.rst b/doc/guides/nics/softnic.rst
index 64939fd484..f4a3467831 100644
--- a/doc/guides/nics/softnic.rst
+++ b/doc/guides/nics/softnic.rst
@@ -366,7 +366,7 @@ commands.
 
     .. code-block:: console
 
-        ./<build_dir>/app/dpdk-testpmd -c 0x7 -s 0x4 -n 4 \
+        ./<build_dir>/app/dpdk-testpmd -c 0x7 -s 0x4 \
                                     --vdev 'net_softnic0, \
                                     firmware=./drivers/net/softnic/ \
                                         firmware.cli, \
diff --git a/doc/guides/nics/thunderx.rst b/doc/guides/nics/thunderx.rst
index a64ae8e0aa..0b8584e00f 100644
--- a/doc/guides/nics/thunderx.rst
+++ b/doc/guides/nics/thunderx.rst
@@ -157,7 +157,7 @@ This section provides instructions to configure SR-IOV with Linux OS.
 
    .. code-block:: console
 
-      ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -a 0002:01:00.2 \
+      ./<build_dir>/app/dpdk-testpmd -l 0-3 -a 0002:01:00.2 \
         -- -i --no-flush-rx \
         --port-topology=loop
 
diff --git a/doc/guides/nics/vhost.rst b/doc/guides/nics/vhost.rst
index 39c6fcff58..8afaf463db 100644
--- a/doc/guides/nics/vhost.rst
+++ b/doc/guides/nics/vhost.rst
@@ -96,7 +96,7 @@ This section demonstrates vhost PMD with testpmd DPDK sample application.
 
     .. code-block:: console
 
-        ./dpdk-testpmd -l 0-3 -n 4 --vdev 'net_vhost0,iface=/tmp/sock0,queues=1' -- -i
+        ./dpdk-testpmd -l 0-3 --vdev 'net_vhost0,iface=/tmp/sock0,queues=1' -- -i
 
     Other basic DPDK preparations like hugepage enabling here.
     Please refer to the *DPDK Getting Started Guide* for detailed instructions.
diff --git a/doc/guides/nics/virtio.rst b/doc/guides/nics/virtio.rst
index c22ce56a02..8705400244 100644
--- a/doc/guides/nics/virtio.rst
+++ b/doc/guides/nics/virtio.rst
@@ -183,7 +183,7 @@ There is no vector callbacks for packed virtqueue for now.
 Example of using the vector version of the virtio poll mode driver in
 ``testpmd``::
 
-   dpdk-testpmd -l 0-2 -n 4 -- -i --rxq=1 --txq=1 --nb-cores=1
+   dpdk-testpmd -l 0-2 -- -i --rxq=1 --txq=1 --nb-cores=1
 
 In-order callbacks only work on simulated virtio user vdev.
 
diff --git a/doc/guides/prog_guide/link_bonding_poll_mode_drv_lib.rst b/doc/guides/prog_guide/link_bonding_poll_mode_drv_lib.rst
index 60717a3587..4c1d69175e 100644
--- a/doc/guides/prog_guide/link_bonding_poll_mode_drv_lib.rst
+++ b/doc/guides/prog_guide/link_bonding_poll_mode_drv_lib.rst
@@ -378,7 +378,7 @@ Device names and bonding options must be separated by commas as shown below:
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 --vdev 'net_bonding0,bond_opt0=..,bond opt1=..'--vdev 'net_bonding1,bond _opt0=..,bond_opt1=..'
+    ./<build_dir>/app/dpdk-testpmd -l 0-3 --vdev 'net_bonding0,bond_opt0=..,bond opt1=..'--vdev 'net_bonding1,bond _opt0=..,bond_opt1=..'
 
 Link Bonding EAL Options
 ^^^^^^^^^^^^^^^^^^^^^^^^
@@ -478,25 +478,25 @@ Create a bonding device in round robin mode with two members specified by their
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 --vdev 'net_bonding0,mode=0,member=0000:0a:00.01,member=0000:04:00.00' -- --port-topology=chained
+    ./<build_dir>/app/dpdk-testpmd -l 0-3 --vdev 'net_bonding0,mode=0,member=0000:0a:00.01,member=0000:04:00.00' -- --port-topology=chained
 
 Create a bonding device in round robin mode with two members specified by their PCI address and an overriding MAC address:
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 --vdev 'net_bonding0,mode=0,member=0000:0a:00.01,member=0000:04:00.00,mac=00:1e:67:1d:fd:1d' -- --port-topology=chained
+    ./<build_dir>/app/dpdk-testpmd -l 0-3 --vdev 'net_bonding0,mode=0,member=0000:0a:00.01,member=0000:04:00.00,mac=00:1e:67:1d:fd:1d' -- --port-topology=chained
 
 Create a bonding device in active backup mode with two members specified, and a primary member specified by their PCI addresses:
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 --vdev 'net_bonding0,mode=1,member=0000:0a:00.01,member=0000:04:00.00,primary=0000:0a:00.01' -- --port-topology=chained
+    ./<build_dir>/app/dpdk-testpmd -l 0-3 --vdev 'net_bonding0,mode=1,member=0000:0a:00.01,member=0000:04:00.00,primary=0000:0a:00.01' -- --port-topology=chained
 
 Create a bonding device in balance mode with two members specified by their PCI addresses, and a transmission policy of layer 3 + 4 forwarding:
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 --vdev 'net_bonding0,mode=2,member=0000:0a:00.01,member=0000:04:00.00,xmit_policy=l34' -- --port-topology=chained
+    ./<build_dir>/app/dpdk-testpmd -l 0-3 --vdev 'net_bonding0,mode=2,member=0000:0a:00.01,member=0000:04:00.00,xmit_policy=l34' -- --port-topology=chained
 
 .. _bonding_testpmd_commands:
 
diff --git a/doc/guides/prog_guide/overview.rst b/doc/guides/prog_guide/overview.rst
index a3b6603320..d40111176d 100644
--- a/doc/guides/prog_guide/overview.rst
+++ b/doc/guides/prog_guide/overview.rst
@@ -22,16 +22,17 @@ Other libraries, outside of EAL, including the Hash,
 Longest Prefix Match (LPM) and rings libraries are also provided.
 Sample applications are provided to help show the user how to use various features of the DPDK.
 
-The DPDK implements a run to completion model for packet processing,
-where all resources must be allocated prior to calling Data Plane applications,
-running as execution units on logical processing cores.
-The model does not support a scheduler and all devices are accessed by polling.
-The primary reason for not using interrupts is the performance overhead imposed by interrupt processing.
+The DPDK supports multiple programming models for packet processing.
+Mos of the sample applications use a polling mode for performance but
+some of the samples use interrupt driven model is useful for saving power
+but has additional performance overhead. If available, it is possible
+to use the DPDK with event based hardware support.
 
 In addition to the run-to-completion model,
 a pipeline model may also be used by passing packets or messages between cores via the rings.
 This allows work to be performed in stages and may allow more efficient use of code on cores.
 
+
 Development Environment
 -----------------------
 
diff --git a/doc/guides/sample_app_ug/cmd_line.rst b/doc/guides/sample_app_ug/cmd_line.rst
index 6655b1e5a7..392aa8dbce 100644
--- a/doc/guides/sample_app_ug/cmd_line.rst
+++ b/doc/guides/sample_app_ug/cmd_line.rst
@@ -52,7 +52,7 @@ To run the application in linux environment, issue the following command:
 
 .. code-block:: console
 
-    $ ./<build_dir>/examples/dpdk-cmdline -l 0-3 -n 4
+    $ ./<build_dir>/examples/dpdk-cmdline -l 0-3
 
 Refer to the *DPDK Getting Started Guide* for general information on running applications
 and the Environment Abstraction Layer (EAL) options.
diff --git a/doc/guides/sample_app_ug/dist_app.rst b/doc/guides/sample_app_ug/dist_app.rst
index 5c80561187..30b4184d40 100644
--- a/doc/guides/sample_app_ug/dist_app.rst
+++ b/doc/guides/sample_app_ug/dist_app.rst
@@ -54,7 +54,7 @@ Running the Application
 
    ..  code-block:: console
 
-       $ ./<build-dir>/examples/dpdk-distributor -l 1-9,22 -n 4 -- -p f
+       $ ./<build-dir>/examples/dpdk-distributor -l 1-9,22 -- -p f
 
 #. Refer to the DPDK Getting Started Guide for general information on running
    applications and the Environment Abstraction Layer (EAL) options.
diff --git a/doc/guides/sample_app_ug/hello_world.rst b/doc/guides/sample_app_ug/hello_world.rst
index c4db52c6a1..8cab0b83fd 100644
--- a/doc/guides/sample_app_ug/hello_world.rst
+++ b/doc/guides/sample_app_ug/hello_world.rst
@@ -21,7 +21,7 @@ To run the example in a linux environment:
 
 .. code-block:: console
 
-    $ ./<build_dir>/examples/dpdk-helloworld -l 0-3 -n 4
+    $ ./<build_dir>/examples/dpdk-helloworld -l 0-3
 
 Refer to *DPDK Getting Started Guide* for general information on running applications
 and the Environment Abstraction Layer (EAL) options.
diff --git a/doc/guides/sample_app_ug/ipsec_secgw.rst b/doc/guides/sample_app_ug/ipsec_secgw.rst
index cada8c375f..290f7abec6 100644
--- a/doc/guides/sample_app_ug/ipsec_secgw.rst
+++ b/doc/guides/sample_app_ug/ipsec_secgw.rst
@@ -270,7 +270,7 @@ The mapping of lcores to port/queues is similar to other l3fwd applications.
 
 For example, given the following command line to run application in poll mode::
 
-    ./<build_dir>/examples/dpdk-ipsec-secgw -l 20,21 -n 4 --socket-mem 0,2048       \
+    ./<build_dir>/examples/dpdk-ipsec-secgw -l 20,21 --socket-mem 0,2048       \
            --vdev "crypto_null" -- -p 0xf -P -u 0x3             \
            --config="(0,0,20),(1,0,20),(2,0,21),(3,0,21)"       \
            -f /path/to/config_file --transfer-mode poll         \
@@ -368,7 +368,7 @@ For example, something like the following command line:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-ipsec-secgw -l 20,21 -n 4 --socket-mem 0,2048 \
+    ./<build_dir>/examples/dpdk-ipsec-secgw -l 20,21 --socket-mem 0,2048 \
             -a 81:00.0 -a 81:00.1 -a 81:00.2 -a 81:00.3 \
             --vdev "crypto_aesni_mb" --vdev "crypto_null" \
 	    -- \
diff --git a/doc/guides/sample_app_ug/keep_alive.rst b/doc/guides/sample_app_ug/keep_alive.rst
index a907ff36a1..095b280c64 100644
--- a/doc/guides/sample_app_ug/keep_alive.rst
+++ b/doc/guides/sample_app_ug/keep_alive.rst
@@ -68,7 +68,7 @@ To run the application in linux environment with 4 lcores, 16 ports
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l2fwd-keepalive -l 0-3 -n 4 -- -q 8 -p ffff -K 10
+    ./<build_dir>/examples/dpdk-l2fwd-keepalive -l 0-3 -- -q 8 -p ffff -K 10
 
 Refer to the *DPDK Getting Started Guide* for general information on
 running applications and the Environment Abstraction Layer (EAL)
diff --git a/doc/guides/sample_app_ug/l2_forward_cat.rst b/doc/guides/sample_app_ug/l2_forward_cat.rst
index 51621b692f..1b71de83ee 100644
--- a/doc/guides/sample_app_ug/l2_forward_cat.rst
+++ b/doc/guides/sample_app_ug/l2_forward_cat.rst
@@ -69,13 +69,13 @@ To run the example in a ``linux`` environment and enable CAT on cpus 0-2:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l2fwd-cat -l 1 -n 4 -- --l3ca="0x3@(0-2)"
+    ./<build_dir>/examples/dpdk-l2fwd-cat -l 1 -- --l3ca="0x3@(0-2)"
 
 or to enable CAT and CDP on cpus 1,3:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l2fwd-cat -l 1 -n 4 -- --l3ca="(0x00C00,0x00300)@(1,3)"
+    ./<build_dir>/examples/dpdk-l2fwd-cat -l 1 -- --l3ca="(0x00C00,0x00300)@(1,3)"
 
 If CDP is not supported it will fail with following error message:
 
diff --git a/doc/guides/sample_app_ug/l2_forward_event.rst b/doc/guides/sample_app_ug/l2_forward_event.rst
index 904f6f1a4a..0ec8a05a0d 100644
--- a/doc/guides/sample_app_ug/l2_forward_event.rst
+++ b/doc/guides/sample_app_ug/l2_forward_event.rst
@@ -86,20 +86,20 @@ issue the command:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l2fwd-event -l 0-3 -n 4 -- -q 8 -p ffff --mode=poll
+    ./<build_dir>/examples/dpdk-l2fwd-event -l 0-3 -- -q 8 -p ffff --mode=poll
 
 Eventdev mode with 4 lcores, 16 ports , sched method ordered and MAC address updating enabled,
 issue the command:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l2fwd-event -l 0-3 -n 4 -- -p ffff --eventq-sched=ordered
+    ./<build_dir>/examples/dpdk-l2fwd-event -l 0-3 -- -p ffff --eventq-sched=ordered
 
 or
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l2fwd-event -l 0-3 -n 4 -- -q 8 -p ffff --mode=eventdev --eventq-sched=ordered
+    ./<build_dir>/examples/dpdk-l2fwd-event -l 0-3 -- -q 8 -p ffff --mode=eventdev --eventq-sched=ordered
 
 Refer to the *DPDK Getting Started Guide* for general information on running
 applications and the Environment Abstraction Layer (EAL) options.
@@ -116,7 +116,7 @@ scheduler. Following is the sample command:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l2fwd-event -l 0-7 -s 0-3 -n 4 --vdev event_sw0 -- -q 8 -p ffff --mode=eventdev --eventq-sched=ordered
+    ./<build_dir>/examples/dpdk-l2fwd-event -l 0-7 -s 0-3 --vdev event_sw0 -- -q 8 -p ffff --mode=eventdev --eventq-sched=ordered
 
 Explanation
 -----------
diff --git a/doc/guides/sample_app_ug/l2_forward_job_stats.rst b/doc/guides/sample_app_ug/l2_forward_job_stats.rst
index 349ad56ec6..e6cc3eb810 100644
--- a/doc/guides/sample_app_ug/l2_forward_job_stats.rst
+++ b/doc/guides/sample_app_ug/l2_forward_job_stats.rst
@@ -96,7 +96,7 @@ thousands  separator printing, issue the command:
 
 .. code-block:: console
 
-    $ ./<build_dir>/examples/dpdk-l2fwd-jobstats -l 0-3 -n 4 -- -q 8 -p ffff -l
+    $ ./<build_dir>/examples/dpdk-l2fwd-jobstats -l 0-3 -- -q 8 -p ffff -l
 
 Refer to the *DPDK Getting Started Guide* for general information on running applications
 and the Environment Abstraction Layer (EAL) options.
diff --git a/doc/guides/sample_app_ug/l2_forward_real_virtual.rst b/doc/guides/sample_app_ug/l2_forward_real_virtual.rst
index aeeda7059c..b02b5039e6 100644
--- a/doc/guides/sample_app_ug/l2_forward_real_virtual.rst
+++ b/doc/guides/sample_app_ug/l2_forward_real_virtual.rst
@@ -117,7 +117,7 @@ updating enabled, issue the command:
 
 .. code-block:: console
 
-    $ ./<build_dir>/examples/dpdk-l2fwd -l 0-3 -n 4 -- -q 8 -p ffff
+    $ ./<build_dir>/examples/dpdk-l2fwd -l 0-3 -- -q 8 -p ffff
 
 To run the application in linux environment with 4 lcores, 4 ports, 8 RX queues
 per lcore, to forward RX traffic of ports 0 & 1 on ports 2 & 3 respectively and
@@ -125,7 +125,7 @@ vice versa, issue the command:
 
 .. code-block:: console
 
-    $ ./<build_dir>/examples/dpdk-l2fwd -l 0-3 -n 4 -- -q 8 -p f --portmap="(0,2)(1,3)"
+    $ ./<build_dir>/examples/dpdk-l2fwd -l 0-3 -- -q 8 -p f --portmap="(0,2)(1,3)"
 
 Refer to the *DPDK Getting Started Guide* for general information on running applications
 and the Environment Abstraction Layer (EAL) options.
diff --git a/doc/guides/sample_app_ug/l3_forward.rst b/doc/guides/sample_app_ug/l3_forward.rst
index 1cc2c1dd1d..739da1e34f 100644
--- a/doc/guides/sample_app_ug/l3_forward.rst
+++ b/doc/guides/sample_app_ug/l3_forward.rst
@@ -158,7 +158,7 @@ To enable L3 forwarding between two ports, assuming that both ports are in the s
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l3fwd -l 1,2 -n 4 -- -p 0x3 --config="(0,0,1),(1,0,2)" --rule_ipv4="rule_ipv4.cfg" --rule_ipv6="rule_ipv6.cfg"
+    ./<build_dir>/examples/dpdk-l3fwd -l 1,2 -- -p 0x3 --config="(0,0,1),(1,0,2)" --rule_ipv4="rule_ipv4.cfg" --rule_ipv6="rule_ipv6.cfg"
 
 In this command:
 
@@ -189,13 +189,13 @@ Following is the sample command:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -n 4 -a <event device> -- -p 0x3 --eventq-sched=ordered --rule_ipv4="rule_ipv4.cfg" --rule_ipv6="rule_ipv6.cfg"
+    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -a <event device> -- -p 0x3 --eventq-sched=ordered --rule_ipv4="rule_ipv4.cfg" --rule_ipv6="rule_ipv6.cfg"
 
 or
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -n 4 -a <event device> \
+    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -a <event device> \
 		-- -p 0x03 --mode=eventdev --eventq-sched=ordered --rule_ipv4="rule_ipv4.cfg" --rule_ipv6="rule_ipv6.cfg"
 
 In this command:
@@ -219,7 +219,7 @@ scheduler. Following is the sample command:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l3fwd -l 0-7 -s 0xf0000 -n 4 --vdev event_sw0 -- -p 0x3 --mode=eventdev --eventq-sched=ordered --rule_ipv4="rule_ipv4.cfg" --rule_ipv6="rule_ipv6.cfg"
+    ./<build_dir>/examples/dpdk-l3fwd -l 0-7 -s 0xf0000 --vdev event_sw0 -- -p 0x3 --mode=eventdev --eventq-sched=ordered --rule_ipv4="rule_ipv4.cfg" --rule_ipv6="rule_ipv6.cfg"
 
 In case of eventdev mode, *--config* option is not used for ethernet port
 configuration. Instead each ethernet port will be configured with mentioned
diff --git a/doc/guides/sample_app_ug/l3_forward_graph.rst b/doc/guides/sample_app_ug/l3_forward_graph.rst
index eb56f9b94a..6eccf881a4 100644
--- a/doc/guides/sample_app_ug/l3_forward_graph.rst
+++ b/doc/guides/sample_app_ug/l3_forward_graph.rst
@@ -92,7 +92,7 @@ To enable L3 forwarding between two ports, assuming that both ports are in the s
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l3fwd-graph -l 1,2 -n 4 -- -p 0x3 --config="(0,0,1),(1,0,2)"
+    ./<build_dir>/examples/dpdk-l3fwd-graph -l 1,2 -- -p 0x3 --config="(0,0,1),(1,0,2)"
 
 In this command:
 
@@ -118,7 +118,7 @@ To enable pcap trace on each graph, use following command:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l3fwd-graph -l 1,2 -n 4 -- -p 0x3 --config="(0,0,1),(1,0,2)" --pcap-enable --pcap-num-cap=<number of packets> --pcap-file-name "</path/to/file>"
+    ./<build_dir>/examples/dpdk-l3fwd-graph -l 1,2 -- -p 0x3 --config="(0,0,1),(1,0,2)" --pcap-enable --pcap-num-cap=<number of packets> --pcap-file-name "</path/to/file>"
 
 In this command:
 
@@ -133,7 +133,7 @@ before including rte_graph_worker.h. Recompile and use following command:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l3fwd-graph -l 1,2,3,4 -n 4 -- -p 0x1 --config="(0,0,1)" -P --model="dispatch"
+    ./<build_dir>/examples/dpdk-l3fwd-graph -l 1,2,3,4 -- -p 0x1 --config="(0,0,1)" -P --model="dispatch"
 
 To enable graph walking model selection in run-time, remove the define of ``RTE_GRAPH_MODEL_SELECT``. Recompile and use the same command.
 
diff --git a/doc/guides/sample_app_ug/link_status_intr.rst b/doc/guides/sample_app_ug/link_status_intr.rst
index a4c0712bd9..523d2ef718 100644
--- a/doc/guides/sample_app_ug/link_status_intr.rst
+++ b/doc/guides/sample_app_ug/link_status_intr.rst
@@ -54,7 +54,7 @@ issue the command:
 
 .. code-block:: console
 
-    $ ./<build_dir>/examples/dpdk-link_status_interrupt -l 0-3 -n 4-- -q 8 -p ffff
+    $ ./<build_dir>/examples/dpdk-link_status_interrupt -l 0-3-- -q 8 -p ffff
 
 Refer to the *DPDK Getting Started Guide* for general information on running applications
 and the Environment Abstraction Layer (EAL) options.
diff --git a/doc/guides/sample_app_ug/multi_process.rst b/doc/guides/sample_app_ug/multi_process.rst
index c53331def3..4d74280104 100644
--- a/doc/guides/sample_app_ug/multi_process.rst
+++ b/doc/guides/sample_app_ug/multi_process.rst
@@ -41,7 +41,7 @@ passing at least two cores in the coremask/corelist, as follows:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-simple_mp -l 0-1 -n 4 --proc-type=primary
+    ./<build_dir>/examples/dpdk-simple_mp -l 0-1 --proc-type=primary
 
 For the first DPDK process run, the proc-type flag can be omitted or set to auto,
 since all DPDK processes will default to being a primary instance,
@@ -50,7 +50,7 @@ The process should start successfully and display a command prompt as follows:
 
 .. code-block:: console
 
-    $ ./<build_dir>/examples/dpdk-simple_mp -l 0-1 -n 4 --proc-type=primary
+    $ ./<build_dir>/examples/dpdk-simple_mp -l 0-1 --proc-type=primary
     EAL: coremask set to 3
     EAL: Detected lcore 0 on socket 0
     EAL: Detected lcore 1 on socket 0
@@ -77,7 +77,7 @@ again run the same binary setting at least two cores in the coremask/corelist:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-simple_mp -l 2-3 -n 4 --proc-type=secondary
+    ./<build_dir>/examples/dpdk-simple_mp -l 2-3 --proc-type=secondary
 
 When running a secondary process such as that shown above, the proc-type parameter can again be specified as auto.
 However, omitting the parameter altogether will cause the process to try and start as a primary rather than secondary process.
@@ -177,10 +177,10 @@ the following commands can be used (assuming run as root):
 
 .. code-block:: console
 
-    # ./<build_dir>/examples/dpdk-symmetric_mp -l 1 -n 4 --proc-type=auto -- -p 3 --num-procs=4 --proc-id=0
-    # ./<build_dir>/examples/dpdk-symmetric_mp -l 2 -n 4 --proc-type=auto -- -p 3 --num-procs=4 --proc-id=1
-    # ./<build_dir>/examples/dpdk-symmetric_mp -l 3 -n 4 --proc-type=auto -- -p 3 --num-procs=4 --proc-id=2
-    # ./<build_dir>/examples/dpdk-symmetric_mp -l 4 -n 4 --proc-type=auto -- -p 3 --num-procs=4 --proc-id=3
+    # ./<build_dir>/examples/dpdk-symmetric_mp -l 1 --proc-type=auto -- -p 3 --num-procs=4 --proc-id=0
+    # ./<build_dir>/examples/dpdk-symmetric_mp -l 2 --proc-type=auto -- -p 3 --num-procs=4 --proc-id=1
+    # ./<build_dir>/examples/dpdk-symmetric_mp -l 3 --proc-type=auto -- -p 3 --num-procs=4 --proc-id=2
+    # ./<build_dir>/examples/dpdk-symmetric_mp -l 4 --proc-type=auto -- -p 3 --num-procs=4 --proc-id=3
 
 .. note::
 
@@ -272,9 +272,9 @@ the following commands could be used:
 
 .. code-block:: console
 
-    # ./<build_dir>/examples/dpdk-mp_server -l 1-2 -n 4 -- -p 3 -n 2
-    # ./<build_dir>/examples/dpdk-mp_client -l 3 -n 4 --proc-type=auto -- -n 0
-    # ./<build_dir>/examples/dpdk-mp_client -l 4 -n 4 --proc-type=auto -- -n 1
+    # ./<build_dir>/examples/dpdk-mp_server -l 1-2 -- -p 3 -n 2
+    # ./<build_dir>/examples/dpdk-mp_client -l 3 --proc-type=auto -- -n 0
+    # ./<build_dir>/examples/dpdk-mp_client -l 4 --proc-type=auto -- -n 1
 
 .. note::
 
diff --git a/doc/guides/sample_app_ug/ptpclient.rst b/doc/guides/sample_app_ug/ptpclient.rst
index d47e942738..372621c4f8 100644
--- a/doc/guides/sample_app_ug/ptpclient.rst
+++ b/doc/guides/sample_app_ug/ptpclient.rst
@@ -65,7 +65,7 @@ To run the example in a ``linux`` environment:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-ptpclient -l 1 -n 4 -- -p 0x1 -T 0
+    ./<build_dir>/examples/dpdk-ptpclient -l 1 -- -p 0x1 -T 0
 
 Refer to *DPDK Getting Started Guide* for general information on running
 applications and the Environment Abstraction Layer (EAL) options.
diff --git a/doc/guides/sample_app_ug/qos_scheduler.rst b/doc/guides/sample_app_ug/qos_scheduler.rst
index 9936b99172..63c362c681 100644
--- a/doc/guides/sample_app_ug/qos_scheduler.rst
+++ b/doc/guides/sample_app_ug/qos_scheduler.rst
@@ -180,7 +180,7 @@ The following is an example command with a single packet flow configuration:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-qos_sched -l 1,5,7 -n 4 -- --pfc "3,2,5,7" --cfg ./profile.cfg
+    ./<build_dir>/examples/dpdk-qos_sched -l 1,5,7 -- --pfc "3,2,5,7" --cfg ./profile.cfg
 
 This example uses a single packet flow configuration which creates one RX thread on lcore 5 reading
 from port 3 and a worker thread on lcore 7 writing to port 2.
@@ -189,7 +189,7 @@ Another example with 2 packet flow configurations using different ports but shar
 
 .. code-block:: console
 
-   ./<build_dir>/examples/dpdk-qos_sched -l 1,2,6,7 -n 4 -- --pfc "3,2,2,6,7" --pfc "1,0,2,6,7" --cfg ./profile.cfg
+   ./<build_dir>/examples/dpdk-qos_sched -l 1,2,6,7 -- --pfc "3,2,2,6,7" --pfc "1,0,2,6,7" --cfg ./profile.cfg
 
 Note that independent cores for the packet flow configurations for each of the RX, WT and TX thread are also supported,
 providing flexibility to balance the work.
diff --git a/doc/guides/sample_app_ug/rxtx_callbacks.rst b/doc/guides/sample_app_ug/rxtx_callbacks.rst
index f06c5c866a..e5da168fcb 100644
--- a/doc/guides/sample_app_ug/rxtx_callbacks.rst
+++ b/doc/guides/sample_app_ug/rxtx_callbacks.rst
@@ -33,7 +33,7 @@ To run the example in a ``linux`` environment:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-rxtx_callbacks -l 1 -n 4 -- [-t]
+    ./<build_dir>/examples/dpdk-rxtx_callbacks -l 1 -- [-t]
 
 Use -t to enable hardware timestamping. If not supported by the NIC, an error
 will be displayed.
diff --git a/doc/guides/sample_app_ug/skeleton.rst b/doc/guides/sample_app_ug/skeleton.rst
index 08ddd7aa59..b28fc54d5f 100644
--- a/doc/guides/sample_app_ug/skeleton.rst
+++ b/doc/guides/sample_app_ug/skeleton.rst
@@ -25,7 +25,7 @@ To run the example in a ``linux`` environment:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-skeleton -l 1 -n 4
+    ./<build_dir>/examples/dpdk-skeleton -l 1
 
 Refer to *DPDK Getting Started Guide* for general information on running
 applications and the Environment Abstraction Layer (EAL) options.
diff --git a/doc/guides/sample_app_ug/timer.rst b/doc/guides/sample_app_ug/timer.rst
index d8c6d9a656..7af35d3d67 100644
--- a/doc/guides/sample_app_ug/timer.rst
+++ b/doc/guides/sample_app_ug/timer.rst
@@ -21,7 +21,7 @@ To run the example in linux environment:
 
 .. code-block:: console
 
-    $ ./<build_dir>/examples/dpdk-timer -l 0-3 -n 4
+    $ ./<build_dir>/examples/dpdk-timer -l 0-3
 
 Refer to the *DPDK Getting Started Guide* for general information on running applications and
 the Environment Abstraction Layer (EAL) options.
diff --git a/doc/guides/sample_app_ug/vdpa.rst b/doc/guides/sample_app_ug/vdpa.rst
index bc11242d03..1f017ce2a8 100644
--- a/doc/guides/sample_app_ug/vdpa.rst
+++ b/doc/guides/sample_app_ug/vdpa.rst
@@ -54,7 +54,7 @@ Take IFCVF driver for example:
 
 .. code-block:: console
 
-        ./dpdk-vdpa -c 0x2 -n 4 --socket-mem 1024,1024 \
+        ./dpdk-vdpa -c 0x2 --socket-mem 1024,1024 \
                 -a 0000:06:00.3,vdpa=1 -a 0000:06:00.4,vdpa=1 \
                 -- --interactive
 
diff --git a/doc/guides/sample_app_ug/vhost.rst b/doc/guides/sample_app_ug/vhost.rst
index 982e19214d..d8c22a82c0 100644
--- a/doc/guides/sample_app_ug/vhost.rst
+++ b/doc/guides/sample_app_ug/vhost.rst
@@ -60,7 +60,7 @@ Start the vswitch example
 
 .. code-block:: console
 
-        ./dpdk-vhost -l 0-3 -n 4 --socket-mem 1024  \
+        ./dpdk-vhost -l 0-3 --socket-mem 1024  \
              -- --socket-file /tmp/sock0 --client \
              ...
 
diff --git a/doc/guides/sample_app_ug/vm_power_management.rst b/doc/guides/sample_app_ug/vm_power_management.rst
index e0af729e66..d2ef3636eb 100644
--- a/doc/guides/sample_app_ug/vm_power_management.rst
+++ b/doc/guides/sample_app_ug/vm_power_management.rst
@@ -279,7 +279,7 @@ cores 0 and 1 on a system with four memory channels, issue the command:
 
 .. code-block:: console
 
-   ./<build_dir>/examples/dpdk-vm_power_mgr -l 0-1 -n 4
+   ./<build_dir>/examples/dpdk-vm_power_mgr -l 0-1
 
 After successful initialization, the VM Power Manager CLI prompt appears:
 
@@ -587,7 +587,7 @@ host, use a command like the following:
 
 .. code-block:: console
 
-   ./<build_dir>/examples/dpdk-guest_vm_power_mgr -l 0-3 -n 4 -- --vm-name=ubuntu --policy=BRANCH_RATIO --vcpu-list=2-4
+   ./<build_dir>/examples/dpdk-guest_vm_power_mgr -l 0-3 -- --vm-name=ubuntu --policy=BRANCH_RATIO --vcpu-list=2-4
 
 Once the VM Power Manager Guest CLI appears, issuing the 'send_policy now' command
 will send the policy to the host:
@@ -701,7 +701,7 @@ To start the application and configure the power policy, and send it to the host
 
 .. code-block:: console
 
- ./<build_dir>/examples/dpdk-guest_vm_power_mgr -l 0-3 -n 4 -- --vm-name=ubuntu --policy=BRANCH_RATIO --vcpu-list=2-4
+ ./<build_dir>/examples/dpdk-guest_vm_power_mgr -l 0-3 -- --vm-name=ubuntu --policy=BRANCH_RATIO --vcpu-list=2-4
 
 Once the VM Power Manager Guest CLI appears, issuing the 'send_policy now' command
 will send the policy to the host:
diff --git a/doc/guides/sample_app_ug/vmdq_dcb_forwarding.rst b/doc/guides/sample_app_ug/vmdq_dcb_forwarding.rst
index 9638f51dec..efb133c11c 100644
--- a/doc/guides/sample_app_ug/vmdq_dcb_forwarding.rst
+++ b/doc/guides/sample_app_ug/vmdq_dcb_forwarding.rst
@@ -72,7 +72,7 @@ To run the example in a linux environment:
 
 .. code-block:: console
 
-    user@target:~$ ./<build_dir>/examples/dpdk-vmdq_dcb -l 0-3 -n 4 -- -p 0x3 --nb-pools 32 --nb-tcs 4
+    user@target:~$ ./<build_dir>/examples/dpdk-vmdq_dcb -l 0-3 -- -p 0x3 --nb-pools 32 --nb-tcs 4
 
 Refer to the *DPDK Getting Started Guide* for general information on running applications and
 the Environment Abstraction Layer (EAL) options.
diff --git a/doc/guides/sample_app_ug/vmdq_forwarding.rst b/doc/guides/sample_app_ug/vmdq_forwarding.rst
index ed28525a15..c998a5a223 100644
--- a/doc/guides/sample_app_ug/vmdq_forwarding.rst
+++ b/doc/guides/sample_app_ug/vmdq_forwarding.rst
@@ -56,7 +56,7 @@ To run the example in a Linux environment:
 
 .. code-block:: console
 
-    user@target:~$ ./<build_dir>/examples/dpdk-vmdq -l 0-3 -n 4 -- -p 0x3 --nb-pools 16
+    user@target:~$ ./<build_dir>/examples/dpdk-vmdq -l 0-3 -- -p 0x3 --nb-pools 16
 
 Refer to the *DPDK Getting Started Guide* for general information on running applications and
 the Environment Abstraction Layer (EAL) options.
diff --git a/doc/guides/testpmd_app_ug/run_app.rst b/doc/guides/testpmd_app_ug/run_app.rst
index 1a9b812a7f..40c2a7c49f 100644
--- a/doc/guides/testpmd_app_ug/run_app.rst
+++ b/doc/guides/testpmd_app_ug/run_app.rst
@@ -20,7 +20,7 @@ They must be separated from the EAL options, shown in the previous section, with
 
 .. code-block:: console
 
-    sudo ./dpdk-testpmd -l 0-3 -n 4 -- -i --portmask=0x1 --nb-cores=2
+    sudo ./dpdk-testpmd -l 0-3 -- -i --portmask=0x1 --nb-cores=2
 
 The command line options are:
 
diff --git a/doc/guides/tools/flow-perf.rst b/doc/guides/tools/flow-perf.rst
index 41eae15470..c0c7ffe577 100644
--- a/doc/guides/tools/flow-perf.rst
+++ b/doc/guides/tools/flow-perf.rst
@@ -58,7 +58,7 @@ with a ``--`` separator:
 
 .. code-block:: console
 
-	sudo ./dpdk-test-flow_perf -n 4 -a 08:00.0 -- --ingress --ether --ipv4 --queue --rules-count=1000000
+	sudo ./dpdk-test-flow_perf -a 08:00.0 -- --ingress --ether --ipv4 --queue --rules-count=1000000
 
 The command line options are:
 
-- 
2.43.0


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 2/2] doc: remove use of -n 4 option in documentation
  2024-07-18 18:43 ` [PATCH 2/2] doc: remove use of -n 4 option in documentation Stephen Hemminger
@ 2024-07-19  8:15   ` Bruce Richardson
  2024-07-19 13:37   ` Jack Bond-Preston
  1 sibling, 0 replies; 8+ messages in thread
From: Bruce Richardson @ 2024-07-19  8:15 UTC (permalink / raw)
  To: Stephen Hemminger
  Cc: dev, Kai Ji, Pablo de Lara, Sunil Uttarwar, Potnuri Bharat Teja,
	Gaetan Rivet, Jie Hai, Yisen Zhuang, Rosen Xu, Matan Azrad,
	Viacheslav Ovsiienko, Dariusz Sosnowski, Bing Zhao, Ori Kam,
	Suanming Mou, Devendra Singh Rawat, Alok Prasad,
	Cristian Dumitrescu, Jerin Jacob, Maciej Czekaj, Maxime Coquelin,
	Chenbo Xia, Chas Williams, Min Hu (Connor),
	David Hunt, Radu Nicolau, Akhil Goyal, Tomasz Kantecki,
	Sunil Kumar Kori, Pavan Nikhilesh, Kiran Kumar K,
	Nithin Dabilpuram, Zhirun Yan, Anatoly Burakov, John McNamara,
	Erik Gabriel Carrillo, Sivaprasad Tummala, Aman Singh,
	Wisam Jaddo

On Thu, Jul 18, 2024 at 11:43:26AM -0700, Stephen Hemminger wrote:
> Many places in the documentation are using -n 4 to set
> the number of memory channels. This should not be recommended
> since it is not always right and the default should be used
> instead.
> 
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> ---

Acked-by: Bruce Richardson <bruce.richardson@intel.com>

However, the reason I'd give is just that it's unnecessary rather than
being wrong.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 2/2] doc: remove use of -n 4 option in documentation
  2024-07-18 18:43 ` [PATCH 2/2] doc: remove use of -n 4 option in documentation Stephen Hemminger
  2024-07-19  8:15   ` Bruce Richardson
@ 2024-07-19 13:37   ` Jack Bond-Preston
  1 sibling, 0 replies; 8+ messages in thread
From: Jack Bond-Preston @ 2024-07-19 13:37 UTC (permalink / raw)
  To: dev

On 18/07/2024 19:43, Stephen Hemminger wrote:
> Many places in the documentation are using -n 4 to set
> the number of memory channels. This should not be recommended
> since it is not always right and the default should be used
> instead.
> 
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Jack Bond-Preston <jack.bond-preston@foss.arm.com>

> diff --git a/doc/guides/linux_gsg/build_sample_apps.rst b/doc/guides/linux_gsg/build_sample_apps.rst
> index 4f99617233..f07e7a4fb5 100644
> --- a/doc/guides/linux_gsg/build_sample_apps.rst
> +++ b/doc/guides/linux_gsg/build_sample_apps.rst
> @@ -114,7 +114,7 @@ Copy·the·DPDK·application·binary·to·your·target,·then·run·the·application·as·fol
>  (assuming·the·platform·has·four·memory·channels·per·processor·socket,
>  and·that·cores·0-3·are·present·and·are·to·be·used·for·running·the·application)::
>  
> -····./dpdk-helloworld·-l·0-3·-n·4
> +····./dpdk-helloworld·-l·0-3
The comment above about assuming the platform has four memory channels 
is still correct I guess (since the default is 4), but it feels out of 
place now without the -n option specified in the command line.

> diff --git a/doc/guides/sample_app_ug/link_status_intr.rst b/doc/guides/sample_app_ug/link_status_intr.rst
> index a4c0712bd9..523d2ef718 100644
> --- a/doc/guides/sample_app_ug/link_status_intr.rst
> +++ b/doc/guides/sample_app_ug/link_status_intr.rst
> @@ -54,7 +54,7 @@ issue·the·command:
>  
>  ..·code-block::·console
>  
> -····$·./<build_dir>/examples/dpdk-link_status_interrupt·-l·0-3·-n·4--·-q·8·-p·ffff
> +····$·./<build_dir>/examples/dpdk-link_status_interrupt·-l·0-3--·-q·8·-p·ffff
Same comment applies here. Also, whilst this patch isn't the cause, 
should there not be a space before --?

> diff --git a/doc/guides/sample_app_ug/vm_power_management.rst b/doc/guides/sample_app_ug/vm_power_management.rst
> index e0af729e66..d2ef3636eb 100644
> --- a/doc/guides/sample_app_ug/vm_power_management.rst
> +++ b/doc/guides/sample_app_ug/vm_power_management.rst
> @@ -279,7 +279,7 @@ cores·0·and·1·on·a·system·with·four·memory·channels,·issue·the·command:
>  
>  ..·code-block::·console
>  
> -···./<build_dir>/examples/dpdk-vm_power_mgr·-l·0-1·-n·4
> +···./<build_dir>/examples/dpdk-vm_power_mgr·-l·0-1
Same comment.


Should we also remove the note saying "The command line must always have 
the number of memory channels specified for the processor." from the 
mempool library programmer's guide?



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/2] doc: add note about CPU 0
  2024-07-18 18:43 [PATCH 1/2] doc: add note about CPU 0 Stephen Hemminger
  2024-07-18 18:43 ` [PATCH 2/2] doc: remove use of -n 4 option in documentation Stephen Hemminger
@ 2024-07-29 19:59 ` Thomas Monjalon
  2024-07-31  4:38 ` [PATCH v2 " Stephen Hemminger
  2 siblings, 0 replies; 8+ messages in thread
From: Thomas Monjalon @ 2024-07-29 19:59 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dev

18/07/2024 20:43, Stephen Hemminger:
> On Linux (and probably BSD), CPU 0 can not be fully isolated
> because it receives timer interrupts and is used for other
> kernel related functions. The DPDK documentation should
> be updated to tell users to avoid polling on that CPU.
> 
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> ---
> +.. note::
> +
> +    It is not recommended to use CPU core 0 for DPDK polling applications
> +    because it can not be isolated from other system and kernel activity.

Indent should be 3 spaces.


>  For example, if a given CPU has 0-7 cores
> -and DPDK applications are to run on logical cores 2, 4 and 6,
> -the following should be added to the kernel parameter list:
> +and DPDK applications are to run on logical cores 2, 4 and 6.
> +The following should be added to the kernel parameter list:

I think it was better as 1 sentence with the comma.





^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v2 1/2] doc: add note about CPU 0
  2024-07-18 18:43 [PATCH 1/2] doc: add note about CPU 0 Stephen Hemminger
  2024-07-18 18:43 ` [PATCH 2/2] doc: remove use of -n 4 option in documentation Stephen Hemminger
  2024-07-29 19:59 ` [PATCH 1/2] doc: add note about CPU 0 Thomas Monjalon
@ 2024-07-31  4:38 ` Stephen Hemminger
  2024-07-31  4:38   ` [PATCH v2 2/2] doc: remove use of -n 4 option in documentation Stephen Hemminger
  2 siblings, 1 reply; 8+ messages in thread
From: Stephen Hemminger @ 2024-07-31  4:38 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

On Linux (and probably BSD), CPU 0 can not be fully isolated
because it receives timer interrupts and is used for other
kernel related functions. The DPDK documentation should
be updated to tell users to avoid polling on that CPU.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 doc/guides/linux_gsg/enable_func.rst | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/doc/guides/linux_gsg/enable_func.rst b/doc/guides/linux_gsg/enable_func.rst
index 5511640cb8..9f4391456a 100644
--- a/doc/guides/linux_gsg/enable_func.rst
+++ b/doc/guides/linux_gsg/enable_func.rst
@@ -131,6 +131,11 @@ from running on those cores, it is possible to use
 the Linux kernel parameters ``isolcpus``, ``nohz_full``, ``irqaffinity``
 to isolate them from the general Linux scheduler tasks.
 
+.. note::
+
+   It is not recommended to use CPU core 0 for DPDK polling applications
+   because it can not be completely isolated from other system and kernel activity.
+
 For example, if a given CPU has 0-7 cores
 and DPDK applications are to run on logical cores 2, 4 and 6,
 the following should be added to the kernel parameter list:
-- 
2.43.0


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v2 2/2] doc: remove use of -n 4 option in documentation
  2024-07-31  4:38 ` [PATCH v2 " Stephen Hemminger
@ 2024-07-31  4:38   ` Stephen Hemminger
  2024-07-31  8:16     ` Thomas Monjalon
  0 siblings, 1 reply; 8+ messages in thread
From: Stephen Hemminger @ 2024-07-31  4:38 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Bruce Richardson, Jack Bond-Preston

Many places in the documentation are using -n 4 to set
the number of memory channels. This is no longer required
and is unneccessary in most cases.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Jack Bond-Preston <jack.bond-preston@foss.arm.com>
---
 doc/guides/contributing/documentation.rst     |  2 +-
 doc/guides/cryptodevs/aesni_gcm.rst           |  2 +-
 doc/guides/cryptodevs/aesni_mb.rst            |  2 +-
 doc/guides/cryptodevs/ccp.rst                 |  4 ++--
 doc/guides/cryptodevs/kasumi.rst              |  2 +-
 doc/guides/cryptodevs/null.rst                |  2 +-
 doc/guides/cryptodevs/openssl.rst             |  2 +-
 doc/guides/cryptodevs/snow3g.rst              |  2 +-
 doc/guides/cryptodevs/zuc.rst                 |  2 +-
 doc/guides/howto/lm_bond_virtio_sriov.rst     |  2 +-
 doc/guides/howto/lm_virtio_vhost_user.rst     |  2 +-
 doc/guides/howto/packet_capture_framework.rst |  2 +-
 doc/guides/howto/pvp_reference_benchmark.rst  |  4 ++--
 doc/guides/howto/vfd.rst                      |  4 ++--
 .../virtio_user_for_container_networking.rst  |  4 ++--
 doc/guides/linux_gsg/build_sample_apps.rst    |  2 +-
 doc/guides/linux_gsg/linux_drivers.rst        |  4 ++--
 doc/guides/nics/build_and_test.rst            |  2 +-
 doc/guides/nics/cpfl.rst                      |  2 +-
 doc/guides/nics/cxgbe.rst                     |  2 +-
 doc/guides/nics/fail_safe.rst                 |  8 ++++----
 doc/guides/nics/hns3.rst                      |  4 ++--
 doc/guides/nics/i40e.rst                      |  6 +++---
 doc/guides/nics/ice.rst                       |  4 ++--
 doc/guides/nics/intel_vf.rst                  |  2 +-
 doc/guides/nics/ipn3ke.rst                    |  4 ++--
 doc/guides/nics/mlx4.rst                      |  2 +-
 doc/guides/nics/mlx5.rst                      |  2 +-
 doc/guides/nics/null.rst                      |  6 +++---
 doc/guides/nics/pcap_ring.rst                 | 18 ++++++++---------
 doc/guides/nics/qede.rst                      |  2 +-
 doc/guides/nics/softnic.rst                   |  2 +-
 doc/guides/nics/thunderx.rst                  |  2 +-
 doc/guides/nics/vhost.rst                     |  2 +-
 doc/guides/nics/virtio.rst                    |  2 +-
 .../link_bonding_poll_mode_drv_lib.rst        | 10 +++++-----
 doc/guides/prog_guide/mempool_lib.rst         |  3 ---
 doc/guides/prog_guide/overview.rst            | 11 +++++-----
 doc/guides/sample_app_ug/cmd_line.rst         |  2 +-
 doc/guides/sample_app_ug/dist_app.rst         |  2 +-
 doc/guides/sample_app_ug/hello_world.rst      |  2 +-
 doc/guides/sample_app_ug/ipsec_secgw.rst      |  4 ++--
 doc/guides/sample_app_ug/keep_alive.rst       |  2 +-
 doc/guides/sample_app_ug/l2_forward_cat.rst   |  4 ++--
 doc/guides/sample_app_ug/l2_forward_event.rst |  8 ++++----
 .../sample_app_ug/l2_forward_job_stats.rst    |  2 +-
 .../sample_app_ug/l2_forward_real_virtual.rst |  4 ++--
 doc/guides/sample_app_ug/l3_forward.rst       |  8 ++++----
 doc/guides/sample_app_ug/l3_forward_graph.rst |  6 +++---
 doc/guides/sample_app_ug/link_status_intr.rst |  4 ++--
 doc/guides/sample_app_ug/multi_process.rst    | 20 +++++++++----------
 doc/guides/sample_app_ug/ptpclient.rst        |  2 +-
 doc/guides/sample_app_ug/qos_scheduler.rst    |  4 ++--
 doc/guides/sample_app_ug/rxtx_callbacks.rst   |  2 +-
 doc/guides/sample_app_ug/skeleton.rst         |  2 +-
 doc/guides/sample_app_ug/timer.rst            |  2 +-
 doc/guides/sample_app_ug/vdpa.rst             |  2 +-
 doc/guides/sample_app_ug/vhost.rst            |  2 +-
 .../sample_app_ug/vm_power_management.rst     | 12 +++++------
 .../sample_app_ug/vmdq_dcb_forwarding.rst     |  2 +-
 doc/guides/sample_app_ug/vmdq_forwarding.rst  |  2 +-
 doc/guides/testpmd_app_ug/run_app.rst         |  2 +-
 doc/guides/tools/flow-perf.rst                |  2 +-
 63 files changed, 121 insertions(+), 123 deletions(-)

diff --git a/doc/guides/contributing/documentation.rst b/doc/guides/contributing/documentation.rst
index 68454ae0d5..ff7f0aca98 100644
--- a/doc/guides/contributing/documentation.rst
+++ b/doc/guides/contributing/documentation.rst
@@ -253,7 +253,7 @@ Line Length and Wrapping
   Long literal command lines can be shown wrapped with backslashes. For
   example::
 
-     dpdk-testpmd -l 2-3 -n 4 \
+     dpdk-testpmd -l 2-3 \
              --vdev=virtio_user0,path=/dev/vhost-net,queues=2,queue_size=1024 \
              -- -i --tx-offloads=0x0000002c --enable-lro --txq=2 --rxq=2 \
              --txd=1024 --rxd=1024
diff --git a/doc/guides/cryptodevs/aesni_gcm.rst b/doc/guides/cryptodevs/aesni_gcm.rst
index 3af1486553..ae2c3fbcbe 100644
--- a/doc/guides/cryptodevs/aesni_gcm.rst
+++ b/doc/guides/cryptodevs/aesni_gcm.rst
@@ -103,5 +103,5 @@ Example:
 
 .. code-block:: console
 
-    ./dpdk-l2fwd-crypto -l 1 -n 4 --vdev="crypto_aesni_gcm,socket_id=0,max_nb_sessions=128" \
+    ./dpdk-l2fwd-crypto -l 1 --vdev="crypto_aesni_gcm,socket_id=0,max_nb_sessions=128" \
     -- -p 1 --cdev SW --chain AEAD --aead_algo "aes-gcm"
diff --git a/doc/guides/cryptodevs/aesni_mb.rst b/doc/guides/cryptodevs/aesni_mb.rst
index 3c77d0f463..38b31ab2b1 100644
--- a/doc/guides/cryptodevs/aesni_mb.rst
+++ b/doc/guides/cryptodevs/aesni_mb.rst
@@ -161,7 +161,7 @@ Example:
 
 .. code-block:: console
 
-    ./dpdk-l2fwd-crypto -l 1 -n 4 --vdev="crypto_aesni_mb,socket_id=0,max_nb_sessions=128" \
+    ./dpdk-l2fwd-crypto -l 1 --vdev="crypto_aesni_mb,socket_id=0,max_nb_sessions=128" \
     -- -p 1 --cdev SW --chain CIPHER_HASH --cipher_algo "aes-cbc" --auth_algo "sha1-hmac"
 
 Extra notes
diff --git a/doc/guides/cryptodevs/ccp.rst b/doc/guides/cryptodevs/ccp.rst
index a314fb6fd1..e2d04d5317 100644
--- a/doc/guides/cryptodevs/ccp.rst
+++ b/doc/guides/cryptodevs/ccp.rst
@@ -94,7 +94,7 @@ To validate ccp PMD, l2fwd-crypto example can be used with following command:
 
 .. code-block:: console
 
-        sudo ./<build_dir>/examples/dpdk-l2fwd-crypto -l 1 -n 4 --vdev "crypto_ccp" -- -p 0x1
+        sudo ./<build_dir>/examples/dpdk-l2fwd-crypto -l 1 --vdev "crypto_ccp" -- -p 0x1
         --chain CIPHER_HASH --cipher_op ENCRYPT --cipher_algo aes-cbc
         --cipher_key 00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:0f
         --cipher_iv 00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:ff
@@ -109,7 +109,7 @@ following:
 
 .. code-block:: console
 
-        sudo ./<build_dir>/examples/dpdk-l2fwd-crypto -l 1 -n 4 --vdev "crypto_ccp,ccp_auth_opt=1" -- -p 0x1
+        sudo ./<build_dir>/examples/dpdk-l2fwd-crypto -l 1 --vdev "crypto_ccp,ccp_auth_opt=1" -- -p 0x1
         --chain CIPHER_HASH --cipher_op ENCRYPT --cipher_algo aes-cbc
         --cipher_key 00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:0f
         --cipher_iv 00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:ff
diff --git a/doc/guides/cryptodevs/kasumi.rst b/doc/guides/cryptodevs/kasumi.rst
index 4070f025e1..988765da18 100644
--- a/doc/guides/cryptodevs/kasumi.rst
+++ b/doc/guides/cryptodevs/kasumi.rst
@@ -109,7 +109,7 @@ Example:
 
 .. code-block:: console
 
-    ./dpdk-l2fwd-crypto -l 1 -n 4 --vdev="crypto_kasumi,socket_id=0,max_nb_sessions=128" \
+    ./dpdk-l2fwd-crypto -l 1 --vdev="crypto_kasumi,socket_id=0,max_nb_sessions=128" \
     -- -p 1 --cdev SW --chain CIPHER_ONLY --cipher_algo "kasumi-f8"
 
 Extra notes on KASUMI F9
diff --git a/doc/guides/cryptodevs/null.rst b/doc/guides/cryptodevs/null.rst
index 12577fa0bf..8d7975466c 100644
--- a/doc/guides/cryptodevs/null.rst
+++ b/doc/guides/cryptodevs/null.rst
@@ -67,5 +67,5 @@ Example:
 
 .. code-block:: console
 
-    ./dpdk-l2fwd-crypto -l 1 -n 4 --vdev="crypto_null,socket_id=0,max_nb_sessions=128" \
+    ./dpdk-l2fwd-crypto -l 1 --vdev="crypto_null,socket_id=0,max_nb_sessions=128" \
     -- -p 1 --cdev SW --chain CIPHER_ONLY --cipher_algo "null"
diff --git a/doc/guides/cryptodevs/openssl.rst b/doc/guides/cryptodevs/openssl.rst
index ff21d21b23..d467069cac 100644
--- a/doc/guides/cryptodevs/openssl.rst
+++ b/doc/guides/cryptodevs/openssl.rst
@@ -80,7 +80,7 @@ To verify real traffic l2fwd-crypto example can be used with this command:
 
 .. code-block:: console
 
-	sudo ./<build_dir>/examples/dpdk-l2fwd-crypto -l 0-1 -n 4 --vdev "crypto_openssl"
+	sudo ./<build_dir>/examples/dpdk-l2fwd-crypto -l 0-1 --vdev "crypto_openssl"
 	--vdev "crypto_openssl"-- -p 0x3 --chain CIPHER_HASH
 	--cipher_op ENCRYPT --cipher_algo AES_CBC
 	--cipher_key 00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:0f
diff --git a/doc/guides/cryptodevs/snow3g.rst b/doc/guides/cryptodevs/snow3g.rst
index 923b3fa0ac..6fab6a1c1c 100644
--- a/doc/guides/cryptodevs/snow3g.rst
+++ b/doc/guides/cryptodevs/snow3g.rst
@@ -118,5 +118,5 @@ Example:
 
 .. code-block:: console
 
-    ./dpdk-l2fwd-crypto -l 1 -n 4 --vdev="crypto_snow3g,socket_id=0,max_nb_sessions=128" \
+    ./dpdk-l2fwd-crypto -l 1 --vdev="crypto_snow3g,socket_id=0,max_nb_sessions=128" \
     -- -p 1 --cdev SW --chain CIPHER_ONLY --cipher_algo "snow3g-uea2"
diff --git a/doc/guides/cryptodevs/zuc.rst b/doc/guides/cryptodevs/zuc.rst
index f51980e1fc..f26d7866fe 100644
--- a/doc/guides/cryptodevs/zuc.rst
+++ b/doc/guides/cryptodevs/zuc.rst
@@ -117,5 +117,5 @@ Example:
 
 .. code-block:: console
 
-    ./dpdk-l2fwd-crypto -l 1 -n 4 --vdev="crypto_zuc,socket_id=0,max_nb_sessions=128" \
+    ./dpdk-l2fwd-crypto -l 1 --vdev="crypto_zuc,socket_id=0,max_nb_sessions=128" \
     -- -p 1 --cdev SW --chain CIPHER_ONLY --cipher_algo "zuc-eea3"
diff --git a/doc/guides/howto/lm_bond_virtio_sriov.rst b/doc/guides/howto/lm_bond_virtio_sriov.rst
index 60b4462c2c..8cb3a11ce9 100644
--- a/doc/guides/howto/lm_bond_virtio_sriov.rst
+++ b/doc/guides/howto/lm_bond_virtio_sriov.rst
@@ -614,7 +614,7 @@ Run testpmd in the Virtual Machine.
    # use for bonding of virtio and vf tests in VM
 
    /root/dpdk/<build_dir>/app/dpdk-testpmd \
-   -l 0-3 -n 4 --socket-mem 350 --  --i --port-topology=chained
+   -l 0-3 --socket-mem 350 --  --i --port-topology=chained
 
 .. _lm_bond_virtio_sriov_switch_conf:
 
diff --git a/doc/guides/howto/lm_virtio_vhost_user.rst b/doc/guides/howto/lm_virtio_vhost_user.rst
index c5c48f10a9..93a059a7fa 100644
--- a/doc/guides/howto/lm_virtio_vhost_user.rst
+++ b/doc/guides/howto/lm_virtio_vhost_user.rst
@@ -438,4 +438,4 @@ run_testpmd_in_vm.sh
    # test system has 8 cpus (0-7), use cpus 2-7 for VM
 
    /root/dpdk/<build_dir>/app/dpdk-testpmd \
-   -l 0-5 -n 4 --socket-mem 350 -- --burst=64 --i
+   -l 0-5 --socket-mem 350 -- --burst=64 --i
diff --git a/doc/guides/howto/packet_capture_framework.rst b/doc/guides/howto/packet_capture_framework.rst
index 24d4bd0e73..f41b72eee0 100644
--- a/doc/guides/howto/packet_capture_framework.rst
+++ b/doc/guides/howto/packet_capture_framework.rst
@@ -89,7 +89,7 @@ inspect them using ``tcpdump``.
 
 #. Launch testpmd as the primary application::
 
-     sudo <build_dir>/app/dpdk-testpmd -c 0xf0 -n 4 -- -i --port-topology=chained
+     sudo <build_dir>/app/dpdk-testpmd -c 0xf0 -- -i --port-topology=chained
 
 #. Launch the dpdk-dumpcap as follows::
 
diff --git a/doc/guides/howto/pvp_reference_benchmark.rst b/doc/guides/howto/pvp_reference_benchmark.rst
index 1043356b3d..c1a784de44 100644
--- a/doc/guides/howto/pvp_reference_benchmark.rst
+++ b/doc/guides/howto/pvp_reference_benchmark.rst
@@ -122,7 +122,7 @@ Testpmd launch
 
    .. code-block:: console
 
-      <build_dir>/app/dpdk-testpmd -l 0,2,3,4,5 --socket-mem=1024 -n 4 \
+      <build_dir>/app/dpdk-testpmd -l 0,2,3,4,5 --socket-mem=1024 \
           --vdev 'net_vhost0,iface=/tmp/vhost-user1' \
           --vdev 'net_vhost1,iface=/tmp/vhost-user2' -- \
           --portmask=f -i --rxq=1 --txq=1 \
@@ -332,7 +332,7 @@ Start testpmd:
 
    .. code-block:: console
 
-      <build_dir>/app/dpdk-testpmd -l 0,1,2 --socket-mem 1024 -n 4 \
+      <build_dir>/app/dpdk-testpmd -l 0,1,2 --socket-mem 1024 \
           --proc-type auto --file-prefix pg -- \
           --portmask=3 --forward-mode=macswap --port-topology=chained \
           --disable-rss -i --rxq=1 --txq=1 \
diff --git a/doc/guides/howto/vfd.rst b/doc/guides/howto/vfd.rst
index 5a62e6ff5a..62bcdfe15a 100644
--- a/doc/guides/howto/vfd.rst
+++ b/doc/guides/howto/vfd.rst
@@ -83,7 +83,7 @@ The typical procedure to achieve this is as follows:
 
 #. Run a DPDK application on the PF in the host::
 
-      dpdk-testpmd -l 0-7 -n 4 -- -i --txqflags=0
+      dpdk-testpmd -l 0-7 -- -i --txqflags=0
 
 #. Bind the VF port to ``igb_uio`` in the VM::
 
@@ -91,7 +91,7 @@ The typical procedure to achieve this is as follows:
 
 #. Run a DPDK application on the VF in the VM::
 
-      dpdk-testpmd -l 0-7 -n 4 -- -i --txqflags=0
+      dpdk-testpmd -l 0-7 -- -i --txqflags=0
 
 
 Common functions of IXGBE and I40E
diff --git a/doc/guides/howto/virtio_user_for_container_networking.rst b/doc/guides/howto/virtio_user_for_container_networking.rst
index 5eab360a1c..b8d784b1ef 100644
--- a/doc/guides/howto/virtio_user_for_container_networking.rst
+++ b/doc/guides/howto/virtio_user_for_container_networking.rst
@@ -77,7 +77,7 @@ some minor changes.
 
     .. code-block:: console
 
-        $(testpmd) -l 0-1 -n 4 --socket-mem 1024,1024 \
+        $(testpmd) -l 0-1 --socket-mem 1024,1024 \
             --vdev 'eth_vhost0,iface=/tmp/sock0' \
             --file-prefix=host --no-pci -- -i
 
@@ -87,7 +87,7 @@ some minor changes.
 
         docker run -i -t -v /tmp/sock0:/var/run/usvhost \
             -v /dev/hugepages:/dev/hugepages \
-            dpdk-app-testpmd testpmd -l 6-7 -n 4 -m 1024 --no-pci \
+            dpdk-app-testpmd testpmd -l 6-7 -m 1024 --no-pci \
             --vdev=virtio_user0,path=/var/run/usvhost \
             --file-prefix=container \
             -- -i
diff --git a/doc/guides/linux_gsg/build_sample_apps.rst b/doc/guides/linux_gsg/build_sample_apps.rst
index 4f99617233..f07e7a4fb5 100644
--- a/doc/guides/linux_gsg/build_sample_apps.rst
+++ b/doc/guides/linux_gsg/build_sample_apps.rst
@@ -114,7 +114,7 @@ Copy the DPDK application binary to your target, then run the application as fol
 (assuming the platform has four memory channels per processor socket,
 and that cores 0-3 are present and are to be used for running the application)::
 
-    ./dpdk-helloworld -l 0-3 -n 4
+    ./dpdk-helloworld -l 0-3
 
 .. note::
 
diff --git a/doc/guides/linux_gsg/linux_drivers.rst b/doc/guides/linux_gsg/linux_drivers.rst
index 852a60f5c0..039823d61e 100644
--- a/doc/guides/linux_gsg/linux_drivers.rst
+++ b/doc/guides/linux_gsg/linux_drivers.rst
@@ -252,14 +252,14 @@ The token will be used for all PF and VF ports within the application.
 
    .. code-block:: console
 
-      <build_dir>/app/dpdk-testpmd -l 22-25 -n 4 -a 86:00.0 \
+      <build_dir>/app/dpdk-testpmd -l 22-25 -a 86:00.0 \
       --vfio-vf-token=14d63f20-8445-11ea-8900-1f9ce7d5650d --file-prefix=pf -- -i
 
 #. Start the DPDK application that will manage the VF device
 
    .. code-block:: console
 
-      <build_dir>/app/dpdk-testpmd -l 26-29 -n 4 -a 86:02.0 \
+      <build_dir>/app/dpdk-testpmd -l 26-29 -a 86:02.0 \
       --vfio-vf-token=14d63f20-8445-11ea-8900-1f9ce7d5650d --file-prefix=vf0 -- -i
 
 .. note::
diff --git a/doc/guides/nics/build_and_test.rst b/doc/guides/nics/build_and_test.rst
index 08310234ac..65264b9dbc 100644
--- a/doc/guides/nics/build_and_test.rst
+++ b/doc/guides/nics/build_and_test.rst
@@ -133,7 +133,7 @@ This section demonstrates how to setup and run ``testpmd`` in Linux.
 
    .. code-block:: console
 
-      ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -- -i
+      ./<build_dir>/app/dpdk-testpmd -l 0-3 -- -i
 
    Successful execution will show initialization messages from EAL, PMD and
    testpmd application. A prompt will be displayed at the end for user commands
diff --git a/doc/guides/nics/cpfl.rst b/doc/guides/nics/cpfl.rst
index 69eabf5616..238392c1d1 100644
--- a/doc/guides/nics/cpfl.rst
+++ b/doc/guides/nics/cpfl.rst
@@ -208,7 +208,7 @@ low level hardware resources.
 
    .. code-block:: console
 
-      dpdk-testpmd -c 0x3 -n 4 -a 0000:af:00.6,vport=[0-1],flow_parser="refpkg.json" -- -i
+      dpdk-testpmd -c 0x3 -a 0000:af:00.6,vport=[0-1],flow_parser="refpkg.json" -- -i
 
 #. Create one flow to forward ETH-IPV4-TCP from I/O port to a local(CPF's) vport. Flow should be created on
    vport X. Group M should match fxp module. Action port_representor Y means forward packet to local vport Y::
diff --git a/doc/guides/nics/cxgbe.rst b/doc/guides/nics/cxgbe.rst
index 1f0b848ede..487190ff60 100644
--- a/doc/guides/nics/cxgbe.rst
+++ b/doc/guides/nics/cxgbe.rst
@@ -749,7 +749,7 @@ devices managed by librte_net_cxgbe in FreeBSD operating system.
 
    .. code-block:: console
 
-      ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -a 0000:02:00.4 -- -i
+      ./<build_dir>/app/dpdk-testpmd -l 0-3 -a 0000:02:00.4 -- -i
 
    Example output:
 
diff --git a/doc/guides/nics/fail_safe.rst b/doc/guides/nics/fail_safe.rst
index ae9f08ec8d..469086803d 100644
--- a/doc/guides/nics/fail_safe.rst
+++ b/doc/guides/nics/fail_safe.rst
@@ -116,7 +116,7 @@ This section shows some example of using **testpmd** with a fail-safe PMD.
 
    .. code-block:: console
 
-      ./<build_dir>/app/dpdk-testpmd -c 0xff -n 4 \
+      ./<build_dir>/app/dpdk-testpmd -c 0xff \
          --vdev 'net_failsafe0,mac=de:ad:be:ef:01:02,dev(84:00.0),dev(net_ring0)' \
          -b 84:00.0 -b 00:04.0 -- -i
 
@@ -130,7 +130,7 @@ This section shows some example of using **testpmd** with a fail-safe PMD.
 
    .. code-block:: console
 
-      ./<build_dir>/app/dpdk-testpmd -c 0xff -n 4 \
+      ./<build_dir>/app/dpdk-testpmd -c 0xff \
          --vdev 'net_failsafe0,mac=de:ad:be:ef:01:02,dev(84:00.0),dev(net_ring0)' \
          -a 81:00.0 -- -i
 
@@ -138,7 +138,7 @@ This section shows some example of using **testpmd** with a fail-safe PMD.
 
    .. code-block:: console
 
-      ./<build_dir>/app/dpdk-testpmd -c 0xff -n 4 -a ff:ff.f \
+      ./<build_dir>/app/dpdk-testpmd -c 0xff -a ff:ff.f \
          --vdev='net_failsafe0,exec(echo 84:00.0)' -- -i
 
 #. Start testpmd, automatically probing the device 84:00.0 and using it with
@@ -146,7 +146,7 @@ This section shows some example of using **testpmd** with a fail-safe PMD.
 
    .. code-block:: console
 
-      ./<build_dir>/app/dpdk-testpmd -c 0xff -n 4 \
+      ./<build_dir>/app/dpdk-testpmd -c 0xff \
          --vdev 'net_failsafe0,dev(0000:84:00.0),dev(net_ring0)' -- -i
 
 
diff --git a/doc/guides/nics/hns3.rst b/doc/guides/nics/hns3.rst
index 97b4686bfa..a21319e212 100644
--- a/doc/guides/nics/hns3.rst
+++ b/doc/guides/nics/hns3.rst
@@ -201,7 +201,7 @@ To start ``testpmd``, and add VLAN 10 to port 0:
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -l 0-15 -n 4 -- -i --forward-mode=mac
+    ./<build_dir>/app/dpdk-testpmd -l 0-15 -- -i --forward-mode=mac
     ...
 
     testpmd> set promisc 0 off
@@ -222,7 +222,7 @@ Start ``testpmd``:
 
 .. code-block:: console
 
-   ./<build_dir>/app/dpdk-testpmd -l 0-15 -n 4 -- -i --rxq=8 --txq=8 \
+   ./<build_dir>/app/dpdk-testpmd -l 0-15 -- -i --rxq=8 --txq=8 \
 				  --nb-cores=8 --nb-ports=1
 
 Add a rule to direct ``ipv4-udp`` packet whose ``dst_ip=2.2.2.5, src_ip=2.2.2.3,
diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst
index ca6caa0cff..791fdf7ea9 100644
--- a/doc/guides/nics/i40e.rst
+++ b/doc/guides/nics/i40e.rst
@@ -401,7 +401,7 @@ To start ``testpmd``, and add vlan 10 to port 0:
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -l 0-15 -n 4 -- -i --forward-mode=mac
+    ./<build_dir>/app/dpdk-testpmd -l 0-15 -- -i --forward-mode=mac
     ...
 
     testpmd> set promisc 0 off
@@ -436,7 +436,7 @@ Start ``testpmd`` with ``--disable-rss`` and ``--pkt-filter-mode=perfect``:
 
 .. code-block:: console
 
-   ./<build_dir>/app/dpdk-testpmd -l 0-15 -n 4 -- -i --disable-rss \
+   ./<build_dir>/app/dpdk-testpmd -l 0-15 -- -i --disable-rss \
                  --pkt-filter-mode=perfect --rxq=8 --txq=8 --nb-cores=8 \
                  --nb-ports=1
 
@@ -1012,7 +1012,7 @@ See :numref:`figure_intel_perf_test_setup` for the performance test setup.
 
 #. The command line of running l3fwd would be something like the following::
 
-      ./dpdk-l3fwd -l 18-21 -n 4 -a 82:00.0 -a 85:00.0 \
+      ./dpdk-l3fwd -l 18-21 -a 82:00.0 -a 85:00.0 \
               -- -p 0x3 --config '(0,0,18),(0,1,19),(1,0,20),(1,1,21)'
 
    This means that the application uses core 18 for port 0, queue pair 0 forwarding, core 19 for port 0, queue pair 1 forwarding,
diff --git a/doc/guides/nics/ice.rst b/doc/guides/nics/ice.rst
index ae975d19ad..af84cf91db 100644
--- a/doc/guides/nics/ice.rst
+++ b/doc/guides/nics/ice.rst
@@ -420,7 +420,7 @@ Additional Options
 
 #. Bind the VF0, and run testpmd with 'cap=dcf' with port representor for VF 1 and 2::
 
-      dpdk-testpmd -l 22-25 -n 4 -a 18:01.0,cap=dcf,representor=vf[1-2] -- -i
+      dpdk-testpmd -l 22-25 -a 18:01.0,cap=dcf,representor=vf[1-2] -- -i
 
 #. Monitor the VF2 interface network traffic::
 
@@ -449,7 +449,7 @@ To start ``testpmd``, and add vlan 10 to port 0:
 
 .. code-block:: console
 
-    ./app/dpdk-testpmd -l 0-15 -n 4 -- -i
+    ./app/dpdk-testpmd -l 0-15 -- -i
     ...
 
     testpmd> rx_vlan add 10 0
diff --git a/doc/guides/nics/intel_vf.rst b/doc/guides/nics/intel_vf.rst
index 4780ee7add..b6c6adb3fd 100644
--- a/doc/guides/nics/intel_vf.rst
+++ b/doc/guides/nics/intel_vf.rst
@@ -521,7 +521,7 @@ The setup procedure is as follows:
 
     .. code-block:: console
 
-        ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -- -i
+        ./<build_dir>/app/dpdk-testpmd -l 0-3 -- -i
 
 #.  Finally, access the Guest OS using vncviewer with the localhost:5900 port and check the lspci command output in the Guest OS.
     The virtual functions will be listed as available for use.
diff --git a/doc/guides/nics/ipn3ke.rst b/doc/guides/nics/ipn3ke.rst
index 144b9462b6..82a0489178 100644
--- a/doc/guides/nics/ipn3ke.rst
+++ b/doc/guides/nics/ipn3ke.rst
@@ -76,7 +76,7 @@ To start ``testpmd``, and add I40e PF to FPGA network port:
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -l 0-15 -n 4 --vdev 'ifpga_rawdev_cfg0,ifpga=b3:00.0,port=0' --vdev 'ipn3ke_cfg0,afu=0|b3:00.0,i40e_pf={0000:b1:00.0|0000:b1:00.1|0000:b1:00.2|0000:b1:00.3|0000:b5:00.0|0000:b5:00.1|0000:b5:00.2|0000:b5:00.3}' -- -i --no-numa --port-topology=loop
+    ./<build_dir>/app/dpdk-testpmd -l 0-15 --vdev 'ifpga_rawdev_cfg0,ifpga=b3:00.0,port=0' --vdev 'ipn3ke_cfg0,afu=0|b3:00.0,i40e_pf={0000:b1:00.0|0000:b1:00.1|0000:b1:00.2|0000:b1:00.3|0000:b5:00.0|0000:b5:00.1|0000:b5:00.2|0000:b5:00.3}' -- -i --no-numa --port-topology=loop
 
 HQoS and flow acceleration
 ~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -87,7 +87,7 @@ To start ``testpmd``, and add I40e PF to FPGA network port, enable FPGA HQoS and
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -l 0-15 -n 4 --vdev 'ifpga_rawdev_cfg0,ifpga=b3:00.0,port=0' --vdev 'ipn3ke_cfg0,afu=0|b3:00.0,fpga_acc={tm|flow},i40e_pf={0000:b1:00.0|0000:b1:00.1|0000:b1:00.2|0000:b1:00.3|0000:b5:00.0|0000:b5:00.1|0000:b5:00.2|0000:b5:00.3}' -- -i --no-numa --forward-mode=macswap
+    ./<build_dir>/app/dpdk-testpmd -l 0-15 --vdev 'ifpga_rawdev_cfg0,ifpga=b3:00.0,port=0' --vdev 'ipn3ke_cfg0,afu=0|b3:00.0,fpga_acc={tm|flow},i40e_pf={0000:b1:00.0|0000:b1:00.1|0000:b1:00.2|0000:b1:00.3|0000:b5:00.0|0000:b5:00.1|0000:b5:00.2|0000:b5:00.3}' -- -i --no-numa --forward-mode=macswap
 
 Limitations or Known issues
 ---------------------------
diff --git a/doc/guides/nics/mlx4.rst b/doc/guides/nics/mlx4.rst
index ecc5a32913..4aaeaaa6dd 100644
--- a/doc/guides/nics/mlx4.rst
+++ b/doc/guides/nics/mlx4.rst
@@ -428,7 +428,7 @@ devices managed by librte_net_mlx4.
 
 #. Start testpmd with basic parameters::
 
-      dpdk-testpmd -l 8-15 -n 4 -a 0000:83:00.0 -a 0000:84:00.0 -- --rxq=2 --txq=2 -i
+      dpdk-testpmd -l 8-15 -a 0000:83:00.0 -a 0000:84:00.0 -- --rxq=2 --txq=2 -i
 
    Example output::
 
diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst
index 1dccdaad50..c0c445192a 100644
--- a/doc/guides/nics/mlx5.rst
+++ b/doc/guides/nics/mlx5.rst
@@ -2132,7 +2132,7 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_net_mlx5.
 
 #. Start testpmd with basic parameters::
 
-      dpdk-testpmd -l 8-15 -n 4 -a 05:00.0 -a 05:00.1 -a 06:00.0 -a 06:00.1 -- --rxq=2 --txq=2 -i
+      dpdk-testpmd -l 8-15 -a 05:00.0 -a 05:00.1 -a 06:00.0 -a 06:00.1 -- --rxq=2 --txq=2 -i
 
    Example output::
 
diff --git a/doc/guides/nics/null.rst b/doc/guides/nics/null.rst
index 5f746d7711..c0e3199102 100644
--- a/doc/guides/nics/null.rst
+++ b/doc/guides/nics/null.rst
@@ -14,7 +14,7 @@ Usage
 
 .. code-block:: console
 
-   ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 --vdev net_null0 --vdev net_null1 -- -i
+   ./<build_dir>/app/dpdk-testpmd -l 0-3 --vdev net_null0 --vdev net_null1 -- -i
 
 
 Runtime Configuration
@@ -26,7 +26,7 @@ Runtime Configuration
 
 .. code-block:: console
 
-   ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 --vdev "net_null0,copy=1" -- -i
+   ./<build_dir>/app/dpdk-testpmd -l 0-3 --vdev "net_null0,copy=1" -- -i
 
 - ``size`` [optional, default=64 bytes]
 
@@ -35,7 +35,7 @@ Runtime Configuration
 
 .. code-block:: console
 
-   ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 --vdev "net_null0,size=256" -- -i
+   ./<build_dir>/app/dpdk-testpmd -l 0-3 --vdev "net_null0,size=256" -- -i
 
 - ``no-rx`` [optional, default disabled]
 
diff --git a/doc/guides/nics/pcap_ring.rst b/doc/guides/nics/pcap_ring.rst
index acb1f00e30..c47034f10a 100644
--- a/doc/guides/nics/pcap_ring.rst
+++ b/doc/guides/nics/pcap_ring.rst
@@ -40,7 +40,7 @@ Device name and stream options must be separated by commas as shown below:
 
 .. code-block:: console
 
-   ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 \
+   ./<build_dir>/app/dpdk-testpmd -l 0-3 \
        --vdev 'net_pcap0,stream_opt0=..,stream_opt1=..' \
        --vdev='net_pcap1,stream_opt0=..'
 
@@ -139,7 +139,7 @@ Read packets from one pcap file and write them to another:
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 \
+    ./<build_dir>/app/dpdk-testpmd -l 0-3 \
         --vdev 'net_pcap0,rx_pcap=file_rx.pcap,tx_pcap=file_tx.pcap' \
         -- --port-topology=chained
 
@@ -147,7 +147,7 @@ Read packets from a network interface and write them to a pcap file:
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 \
+    ./<build_dir>/app/dpdk-testpmd -l 0-3 \
         --vdev 'net_pcap0,rx_iface=eth0,tx_pcap=file_tx.pcap' \
         -- --port-topology=chained
 
@@ -155,7 +155,7 @@ Read packets from a pcap file and write them to a network interface:
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 \
+    ./<build_dir>/app/dpdk-testpmd -l 0-3 \
         --vdev 'net_pcap0,rx_pcap=file_rx.pcap,tx_iface=eth1' \
         -- --port-topology=chained
 
@@ -163,14 +163,14 @@ Forward packets through two network interfaces:
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 \
+    ./<build_dir>/app/dpdk-testpmd -l 0-3 \
         --vdev 'net_pcap0,iface=eth0' --vdev='net_pcap1,iface=eth1'
 
 Enable 2 tx queues on a network interface:
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 \
+    ./<build_dir>/app/dpdk-testpmd -l 0-3 \
         --vdev 'net_pcap0,rx_iface=eth1,tx_iface=eth1,tx_iface=eth1' \
         -- --txq 2
 
@@ -178,7 +178,7 @@ Read only incoming packets from a network interface and write them back to the s
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 \
+    ./<build_dir>/app/dpdk-testpmd -l 0-3 \
         --vdev 'net_pcap0,rx_iface_in=eth1,tx_iface=eth1'
 
 Using libpcap-based PMD with the testpmd Application
@@ -203,7 +203,7 @@ Otherwise, the first 512 packets from the input pcap file will be discarded by t
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 \
+    ./<build_dir>/app/dpdk-testpmd -l 0-3 \
         --vdev 'net_pcap0,rx_pcap=file_rx.pcap,tx_pcap=file_tx.pcap' \
         -- --port-topology=chained --no-flush-rx
 
@@ -223,7 +223,7 @@ Multiple devices may be specified, separated by commas.
 
 .. code-block:: console
 
-    ./dpdk-testpmd -l 1-3 -n 4 --vdev=net_ring0 --vdev=net_ring1 -- -i
+    ./dpdk-testpmd -l 1-3 --vdev=net_ring0 --vdev=net_ring1 -- -i
     EAL: Detected lcore 1 as core 1 on socket 0
     ...
 
diff --git a/doc/guides/nics/qede.rst b/doc/guides/nics/qede.rst
index 38d5cbb1f3..c067a4c796 100644
--- a/doc/guides/nics/qede.rst
+++ b/doc/guides/nics/qede.rst
@@ -272,7 +272,7 @@ This section provides instructions to configure SR-IOV with Linux OS.
 
    .. code-block:: console
 
-      dpdk-testpmd -l 0,4-11 -n 4 -- -i --nb-cores=8 --portmask=0xf --rxd=4096 \
+      dpdk-testpmd -l 0,4-11 -- -i --nb-cores=8 --portmask=0xf --rxd=4096 \
       --txd=4096 --txfreet=4068 --enable-rx-cksum --rxq=4 --txq=4 \
       --rss-ip --rss-udp
 
diff --git a/doc/guides/nics/softnic.rst b/doc/guides/nics/softnic.rst
index 64939fd484..f4a3467831 100644
--- a/doc/guides/nics/softnic.rst
+++ b/doc/guides/nics/softnic.rst
@@ -366,7 +366,7 @@ commands.
 
     .. code-block:: console
 
-        ./<build_dir>/app/dpdk-testpmd -c 0x7 -s 0x4 -n 4 \
+        ./<build_dir>/app/dpdk-testpmd -c 0x7 -s 0x4 \
                                     --vdev 'net_softnic0, \
                                     firmware=./drivers/net/softnic/ \
                                         firmware.cli, \
diff --git a/doc/guides/nics/thunderx.rst b/doc/guides/nics/thunderx.rst
index a64ae8e0aa..0b8584e00f 100644
--- a/doc/guides/nics/thunderx.rst
+++ b/doc/guides/nics/thunderx.rst
@@ -157,7 +157,7 @@ This section provides instructions to configure SR-IOV with Linux OS.
 
    .. code-block:: console
 
-      ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -a 0002:01:00.2 \
+      ./<build_dir>/app/dpdk-testpmd -l 0-3 -a 0002:01:00.2 \
         -- -i --no-flush-rx \
         --port-topology=loop
 
diff --git a/doc/guides/nics/vhost.rst b/doc/guides/nics/vhost.rst
index 39c6fcff58..8afaf463db 100644
--- a/doc/guides/nics/vhost.rst
+++ b/doc/guides/nics/vhost.rst
@@ -96,7 +96,7 @@ This section demonstrates vhost PMD with testpmd DPDK sample application.
 
     .. code-block:: console
 
-        ./dpdk-testpmd -l 0-3 -n 4 --vdev 'net_vhost0,iface=/tmp/sock0,queues=1' -- -i
+        ./dpdk-testpmd -l 0-3 --vdev 'net_vhost0,iface=/tmp/sock0,queues=1' -- -i
 
     Other basic DPDK preparations like hugepage enabling here.
     Please refer to the *DPDK Getting Started Guide* for detailed instructions.
diff --git a/doc/guides/nics/virtio.rst b/doc/guides/nics/virtio.rst
index c22ce56a02..8705400244 100644
--- a/doc/guides/nics/virtio.rst
+++ b/doc/guides/nics/virtio.rst
@@ -183,7 +183,7 @@ There is no vector callbacks for packed virtqueue for now.
 Example of using the vector version of the virtio poll mode driver in
 ``testpmd``::
 
-   dpdk-testpmd -l 0-2 -n 4 -- -i --rxq=1 --txq=1 --nb-cores=1
+   dpdk-testpmd -l 0-2 -- -i --rxq=1 --txq=1 --nb-cores=1
 
 In-order callbacks only work on simulated virtio user vdev.
 
diff --git a/doc/guides/prog_guide/link_bonding_poll_mode_drv_lib.rst b/doc/guides/prog_guide/link_bonding_poll_mode_drv_lib.rst
index 60717a3587..4c1d69175e 100644
--- a/doc/guides/prog_guide/link_bonding_poll_mode_drv_lib.rst
+++ b/doc/guides/prog_guide/link_bonding_poll_mode_drv_lib.rst
@@ -378,7 +378,7 @@ Device names and bonding options must be separated by commas as shown below:
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 --vdev 'net_bonding0,bond_opt0=..,bond opt1=..'--vdev 'net_bonding1,bond _opt0=..,bond_opt1=..'
+    ./<build_dir>/app/dpdk-testpmd -l 0-3 --vdev 'net_bonding0,bond_opt0=..,bond opt1=..'--vdev 'net_bonding1,bond _opt0=..,bond_opt1=..'
 
 Link Bonding EAL Options
 ^^^^^^^^^^^^^^^^^^^^^^^^
@@ -478,25 +478,25 @@ Create a bonding device in round robin mode with two members specified by their
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 --vdev 'net_bonding0,mode=0,member=0000:0a:00.01,member=0000:04:00.00' -- --port-topology=chained
+    ./<build_dir>/app/dpdk-testpmd -l 0-3 --vdev 'net_bonding0,mode=0,member=0000:0a:00.01,member=0000:04:00.00' -- --port-topology=chained
 
 Create a bonding device in round robin mode with two members specified by their PCI address and an overriding MAC address:
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 --vdev 'net_bonding0,mode=0,member=0000:0a:00.01,member=0000:04:00.00,mac=00:1e:67:1d:fd:1d' -- --port-topology=chained
+    ./<build_dir>/app/dpdk-testpmd -l 0-3 --vdev 'net_bonding0,mode=0,member=0000:0a:00.01,member=0000:04:00.00,mac=00:1e:67:1d:fd:1d' -- --port-topology=chained
 
 Create a bonding device in active backup mode with two members specified, and a primary member specified by their PCI addresses:
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 --vdev 'net_bonding0,mode=1,member=0000:0a:00.01,member=0000:04:00.00,primary=0000:0a:00.01' -- --port-topology=chained
+    ./<build_dir>/app/dpdk-testpmd -l 0-3 --vdev 'net_bonding0,mode=1,member=0000:0a:00.01,member=0000:04:00.00,primary=0000:0a:00.01' -- --port-topology=chained
 
 Create a bonding device in balance mode with two members specified by their PCI addresses, and a transmission policy of layer 3 + 4 forwarding:
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 --vdev 'net_bonding0,mode=2,member=0000:0a:00.01,member=0000:04:00.00,xmit_policy=l34' -- --port-topology=chained
+    ./<build_dir>/app/dpdk-testpmd -l 0-3 --vdev 'net_bonding0,mode=2,member=0000:0a:00.01,member=0000:04:00.00,xmit_policy=l34' -- --port-topology=chained
 
 .. _bonding_testpmd_commands:
 
diff --git a/doc/guides/prog_guide/mempool_lib.rst b/doc/guides/prog_guide/mempool_lib.rst
index 46aeb69113..5ec7511494 100644
--- a/doc/guides/prog_guide/mempool_lib.rst
+++ b/doc/guides/prog_guide/mempool_lib.rst
@@ -47,9 +47,6 @@ The physical layout of the DRAM chips on the DIMM itself does not necessarily re
 
 When running an application, the EAL command line options provide the ability to add the number of memory channels and ranks.
 
-.. note::
-
-    The command line must always have the number of memory channels specified for the processor.
 
 Examples of alignment for different DIMM architectures are shown in
 :numref:`figure_memory-management` and :numref:`figure_memory-management2`.
diff --git a/doc/guides/prog_guide/overview.rst b/doc/guides/prog_guide/overview.rst
index a3b6603320..d40111176d 100644
--- a/doc/guides/prog_guide/overview.rst
+++ b/doc/guides/prog_guide/overview.rst
@@ -22,16 +22,17 @@ Other libraries, outside of EAL, including the Hash,
 Longest Prefix Match (LPM) and rings libraries are also provided.
 Sample applications are provided to help show the user how to use various features of the DPDK.
 
-The DPDK implements a run to completion model for packet processing,
-where all resources must be allocated prior to calling Data Plane applications,
-running as execution units on logical processing cores.
-The model does not support a scheduler and all devices are accessed by polling.
-The primary reason for not using interrupts is the performance overhead imposed by interrupt processing.
+The DPDK supports multiple programming models for packet processing.
+Mos of the sample applications use a polling mode for performance but
+some of the samples use interrupt driven model is useful for saving power
+but has additional performance overhead. If available, it is possible
+to use the DPDK with event based hardware support.
 
 In addition to the run-to-completion model,
 a pipeline model may also be used by passing packets or messages between cores via the rings.
 This allows work to be performed in stages and may allow more efficient use of code on cores.
 
+
 Development Environment
 -----------------------
 
diff --git a/doc/guides/sample_app_ug/cmd_line.rst b/doc/guides/sample_app_ug/cmd_line.rst
index 6655b1e5a7..392aa8dbce 100644
--- a/doc/guides/sample_app_ug/cmd_line.rst
+++ b/doc/guides/sample_app_ug/cmd_line.rst
@@ -52,7 +52,7 @@ To run the application in linux environment, issue the following command:
 
 .. code-block:: console
 
-    $ ./<build_dir>/examples/dpdk-cmdline -l 0-3 -n 4
+    $ ./<build_dir>/examples/dpdk-cmdline -l 0-3
 
 Refer to the *DPDK Getting Started Guide* for general information on running applications
 and the Environment Abstraction Layer (EAL) options.
diff --git a/doc/guides/sample_app_ug/dist_app.rst b/doc/guides/sample_app_ug/dist_app.rst
index 5c80561187..30b4184d40 100644
--- a/doc/guides/sample_app_ug/dist_app.rst
+++ b/doc/guides/sample_app_ug/dist_app.rst
@@ -54,7 +54,7 @@ Running the Application
 
    ..  code-block:: console
 
-       $ ./<build-dir>/examples/dpdk-distributor -l 1-9,22 -n 4 -- -p f
+       $ ./<build-dir>/examples/dpdk-distributor -l 1-9,22 -- -p f
 
 #. Refer to the DPDK Getting Started Guide for general information on running
    applications and the Environment Abstraction Layer (EAL) options.
diff --git a/doc/guides/sample_app_ug/hello_world.rst b/doc/guides/sample_app_ug/hello_world.rst
index c4db52c6a1..8cab0b83fd 100644
--- a/doc/guides/sample_app_ug/hello_world.rst
+++ b/doc/guides/sample_app_ug/hello_world.rst
@@ -21,7 +21,7 @@ To run the example in a linux environment:
 
 .. code-block:: console
 
-    $ ./<build_dir>/examples/dpdk-helloworld -l 0-3 -n 4
+    $ ./<build_dir>/examples/dpdk-helloworld -l 0-3
 
 Refer to *DPDK Getting Started Guide* for general information on running applications
 and the Environment Abstraction Layer (EAL) options.
diff --git a/doc/guides/sample_app_ug/ipsec_secgw.rst b/doc/guides/sample_app_ug/ipsec_secgw.rst
index cada8c375f..290f7abec6 100644
--- a/doc/guides/sample_app_ug/ipsec_secgw.rst
+++ b/doc/guides/sample_app_ug/ipsec_secgw.rst
@@ -270,7 +270,7 @@ The mapping of lcores to port/queues is similar to other l3fwd applications.
 
 For example, given the following command line to run application in poll mode::
 
-    ./<build_dir>/examples/dpdk-ipsec-secgw -l 20,21 -n 4 --socket-mem 0,2048       \
+    ./<build_dir>/examples/dpdk-ipsec-secgw -l 20,21 --socket-mem 0,2048       \
            --vdev "crypto_null" -- -p 0xf -P -u 0x3             \
            --config="(0,0,20),(1,0,20),(2,0,21),(3,0,21)"       \
            -f /path/to/config_file --transfer-mode poll         \
@@ -368,7 +368,7 @@ For example, something like the following command line:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-ipsec-secgw -l 20,21 -n 4 --socket-mem 0,2048 \
+    ./<build_dir>/examples/dpdk-ipsec-secgw -l 20,21 --socket-mem 0,2048 \
             -a 81:00.0 -a 81:00.1 -a 81:00.2 -a 81:00.3 \
             --vdev "crypto_aesni_mb" --vdev "crypto_null" \
 	    -- \
diff --git a/doc/guides/sample_app_ug/keep_alive.rst b/doc/guides/sample_app_ug/keep_alive.rst
index a7da795907..ec6bb66cc3 100644
--- a/doc/guides/sample_app_ug/keep_alive.rst
+++ b/doc/guides/sample_app_ug/keep_alive.rst
@@ -68,7 +68,7 @@ To run the application in linux environment with 4 lcores, 16 ports
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l2fwd-keepalive -l 0-3 -n 4 -- -q 8 -p ffff -K 10
+    ./<build_dir>/examples/dpdk-l2fwd-keepalive -l 0-3 -- -q 8 -p ffff -K 10
 
 Refer to the *DPDK Getting Started Guide* for general information on
 running applications and the Environment Abstraction Layer (EAL)
diff --git a/doc/guides/sample_app_ug/l2_forward_cat.rst b/doc/guides/sample_app_ug/l2_forward_cat.rst
index 51621b692f..1b71de83ee 100644
--- a/doc/guides/sample_app_ug/l2_forward_cat.rst
+++ b/doc/guides/sample_app_ug/l2_forward_cat.rst
@@ -69,13 +69,13 @@ To run the example in a ``linux`` environment and enable CAT on cpus 0-2:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l2fwd-cat -l 1 -n 4 -- --l3ca="0x3@(0-2)"
+    ./<build_dir>/examples/dpdk-l2fwd-cat -l 1 -- --l3ca="0x3@(0-2)"
 
 or to enable CAT and CDP on cpus 1,3:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l2fwd-cat -l 1 -n 4 -- --l3ca="(0x00C00,0x00300)@(1,3)"
+    ./<build_dir>/examples/dpdk-l2fwd-cat -l 1 -- --l3ca="(0x00C00,0x00300)@(1,3)"
 
 If CDP is not supported it will fail with following error message:
 
diff --git a/doc/guides/sample_app_ug/l2_forward_event.rst b/doc/guides/sample_app_ug/l2_forward_event.rst
index f914fdc14d..a3c7df8956 100644
--- a/doc/guides/sample_app_ug/l2_forward_event.rst
+++ b/doc/guides/sample_app_ug/l2_forward_event.rst
@@ -86,20 +86,20 @@ issue the command:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l2fwd-event -l 0-3 -n 4 -- -q 8 -p ffff --mode=poll
+    ./<build_dir>/examples/dpdk-l2fwd-event -l 0-3 -- -q 8 -p ffff --mode=poll
 
 Eventdev mode with 4 lcores, 16 ports , sched method ordered and MAC address updating enabled,
 issue the command:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l2fwd-event -l 0-3 -n 4 -- -p ffff --eventq-sched=ordered
+    ./<build_dir>/examples/dpdk-l2fwd-event -l 0-3 -- -p ffff --eventq-sched=ordered
 
 or
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l2fwd-event -l 0-3 -n 4 -- -q 8 -p ffff --mode=eventdev --eventq-sched=ordered
+    ./<build_dir>/examples/dpdk-l2fwd-event -l 0-3 -- -q 8 -p ffff --mode=eventdev --eventq-sched=ordered
 
 Refer to the *DPDK Getting Started Guide* for general information on running
 applications and the Environment Abstraction Layer (EAL) options.
@@ -116,7 +116,7 @@ scheduler. Following is the sample command:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l2fwd-event -l 0-7 -s 0-3 -n 4 --vdev event_sw0 -- -q 8 -p ffff --mode=eventdev --eventq-sched=ordered
+    ./<build_dir>/examples/dpdk-l2fwd-event -l 0-7 -s 0-3 --vdev event_sw0 -- -q 8 -p ffff --mode=eventdev --eventq-sched=ordered
 
 Explanation
 -----------
diff --git a/doc/guides/sample_app_ug/l2_forward_job_stats.rst b/doc/guides/sample_app_ug/l2_forward_job_stats.rst
index 53a12351d6..f3f13f7523 100644
--- a/doc/guides/sample_app_ug/l2_forward_job_stats.rst
+++ b/doc/guides/sample_app_ug/l2_forward_job_stats.rst
@@ -96,7 +96,7 @@ thousands  separator printing, issue the command:
 
 .. code-block:: console
 
-    $ ./<build_dir>/examples/dpdk-l2fwd-jobstats -l 0-3 -n 4 -- -q 8 -p ffff -l
+    $ ./<build_dir>/examples/dpdk-l2fwd-jobstats -l 0-3 -- -q 8 -p ffff -l
 
 Refer to the *DPDK Getting Started Guide* for general information on running applications
 and the Environment Abstraction Layer (EAL) options.
diff --git a/doc/guides/sample_app_ug/l2_forward_real_virtual.rst b/doc/guides/sample_app_ug/l2_forward_real_virtual.rst
index 8d1958aa70..0752d2ec1e 100644
--- a/doc/guides/sample_app_ug/l2_forward_real_virtual.rst
+++ b/doc/guides/sample_app_ug/l2_forward_real_virtual.rst
@@ -117,7 +117,7 @@ updating enabled, issue the command:
 
 .. code-block:: console
 
-    $ ./<build_dir>/examples/dpdk-l2fwd -l 0-3 -n 4 -- -q 8 -p ffff
+    $ ./<build_dir>/examples/dpdk-l2fwd -l 0-3 -- -q 8 -p ffff
 
 To run the application in linux environment with 4 lcores, 4 ports, 8 RX queues
 per lcore, to forward RX traffic of ports 0 & 1 on ports 2 & 3 respectively and
@@ -125,7 +125,7 @@ vice versa, issue the command:
 
 .. code-block:: console
 
-    $ ./<build_dir>/examples/dpdk-l2fwd -l 0-3 -n 4 -- -q 8 -p f --portmap="(0,2)(1,3)"
+    $ ./<build_dir>/examples/dpdk-l2fwd -l 0-3 -- -q 8 -p f --portmap="(0,2)(1,3)"
 
 Refer to the *DPDK Getting Started Guide* for general information on running applications
 and the Environment Abstraction Layer (EAL) options.
diff --git a/doc/guides/sample_app_ug/l3_forward.rst b/doc/guides/sample_app_ug/l3_forward.rst
index 1cc2c1dd1d..739da1e34f 100644
--- a/doc/guides/sample_app_ug/l3_forward.rst
+++ b/doc/guides/sample_app_ug/l3_forward.rst
@@ -158,7 +158,7 @@ To enable L3 forwarding between two ports, assuming that both ports are in the s
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l3fwd -l 1,2 -n 4 -- -p 0x3 --config="(0,0,1),(1,0,2)" --rule_ipv4="rule_ipv4.cfg" --rule_ipv6="rule_ipv6.cfg"
+    ./<build_dir>/examples/dpdk-l3fwd -l 1,2 -- -p 0x3 --config="(0,0,1),(1,0,2)" --rule_ipv4="rule_ipv4.cfg" --rule_ipv6="rule_ipv6.cfg"
 
 In this command:
 
@@ -189,13 +189,13 @@ Following is the sample command:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -n 4 -a <event device> -- -p 0x3 --eventq-sched=ordered --rule_ipv4="rule_ipv4.cfg" --rule_ipv6="rule_ipv6.cfg"
+    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -a <event device> -- -p 0x3 --eventq-sched=ordered --rule_ipv4="rule_ipv4.cfg" --rule_ipv6="rule_ipv6.cfg"
 
 or
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -n 4 -a <event device> \
+    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -a <event device> \
 		-- -p 0x03 --mode=eventdev --eventq-sched=ordered --rule_ipv4="rule_ipv4.cfg" --rule_ipv6="rule_ipv6.cfg"
 
 In this command:
@@ -219,7 +219,7 @@ scheduler. Following is the sample command:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l3fwd -l 0-7 -s 0xf0000 -n 4 --vdev event_sw0 -- -p 0x3 --mode=eventdev --eventq-sched=ordered --rule_ipv4="rule_ipv4.cfg" --rule_ipv6="rule_ipv6.cfg"
+    ./<build_dir>/examples/dpdk-l3fwd -l 0-7 -s 0xf0000 --vdev event_sw0 -- -p 0x3 --mode=eventdev --eventq-sched=ordered --rule_ipv4="rule_ipv4.cfg" --rule_ipv6="rule_ipv6.cfg"
 
 In case of eventdev mode, *--config* option is not used for ethernet port
 configuration. Instead each ethernet port will be configured with mentioned
diff --git a/doc/guides/sample_app_ug/l3_forward_graph.rst b/doc/guides/sample_app_ug/l3_forward_graph.rst
index eb56f9b94a..6eccf881a4 100644
--- a/doc/guides/sample_app_ug/l3_forward_graph.rst
+++ b/doc/guides/sample_app_ug/l3_forward_graph.rst
@@ -92,7 +92,7 @@ To enable L3 forwarding between two ports, assuming that both ports are in the s
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l3fwd-graph -l 1,2 -n 4 -- -p 0x3 --config="(0,0,1),(1,0,2)"
+    ./<build_dir>/examples/dpdk-l3fwd-graph -l 1,2 -- -p 0x3 --config="(0,0,1),(1,0,2)"
 
 In this command:
 
@@ -118,7 +118,7 @@ To enable pcap trace on each graph, use following command:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l3fwd-graph -l 1,2 -n 4 -- -p 0x3 --config="(0,0,1),(1,0,2)" --pcap-enable --pcap-num-cap=<number of packets> --pcap-file-name "</path/to/file>"
+    ./<build_dir>/examples/dpdk-l3fwd-graph -l 1,2 -- -p 0x3 --config="(0,0,1),(1,0,2)" --pcap-enable --pcap-num-cap=<number of packets> --pcap-file-name "</path/to/file>"
 
 In this command:
 
@@ -133,7 +133,7 @@ before including rte_graph_worker.h. Recompile and use following command:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l3fwd-graph -l 1,2,3,4 -n 4 -- -p 0x1 --config="(0,0,1)" -P --model="dispatch"
+    ./<build_dir>/examples/dpdk-l3fwd-graph -l 1,2,3,4 -- -p 0x1 --config="(0,0,1)" -P --model="dispatch"
 
 To enable graph walking model selection in run-time, remove the define of ``RTE_GRAPH_MODEL_SELECT``. Recompile and use the same command.
 
diff --git a/doc/guides/sample_app_ug/link_status_intr.rst b/doc/guides/sample_app_ug/link_status_intr.rst
index 34b8b2e131..d1685ff774 100644
--- a/doc/guides/sample_app_ug/link_status_intr.rst
+++ b/doc/guides/sample_app_ug/link_status_intr.rst
@@ -49,12 +49,12 @@ where,
 
 *   -T PERIOD: statistics will be refreshed each PERIOD seconds (0 to disable, 10 default)
 
-To run the application in a linux environment with 4 lcores, 4 memory channels, 16 ports and 8 RX queues per lcore,
+To run the application in a linux environment with 4 lcores, 16 ports and 8 RX queues per lcore,
 issue the command:
 
 .. code-block:: console
 
-    $ ./<build_dir>/examples/dpdk-link_status_interrupt -l 0-3 -n 4-- -q 8 -p ffff
+    $ ./<build_dir>/examples/dpdk-link_status_interrupt -l 0-3 -- -q 8 -p ffff
 
 Refer to the *DPDK Getting Started Guide* for general information on running applications
 and the Environment Abstraction Layer (EAL) options.
diff --git a/doc/guides/sample_app_ug/multi_process.rst b/doc/guides/sample_app_ug/multi_process.rst
index c53331def3..4d74280104 100644
--- a/doc/guides/sample_app_ug/multi_process.rst
+++ b/doc/guides/sample_app_ug/multi_process.rst
@@ -41,7 +41,7 @@ passing at least two cores in the coremask/corelist, as follows:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-simple_mp -l 0-1 -n 4 --proc-type=primary
+    ./<build_dir>/examples/dpdk-simple_mp -l 0-1 --proc-type=primary
 
 For the first DPDK process run, the proc-type flag can be omitted or set to auto,
 since all DPDK processes will default to being a primary instance,
@@ -50,7 +50,7 @@ The process should start successfully and display a command prompt as follows:
 
 .. code-block:: console
 
-    $ ./<build_dir>/examples/dpdk-simple_mp -l 0-1 -n 4 --proc-type=primary
+    $ ./<build_dir>/examples/dpdk-simple_mp -l 0-1 --proc-type=primary
     EAL: coremask set to 3
     EAL: Detected lcore 0 on socket 0
     EAL: Detected lcore 1 on socket 0
@@ -77,7 +77,7 @@ again run the same binary setting at least two cores in the coremask/corelist:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-simple_mp -l 2-3 -n 4 --proc-type=secondary
+    ./<build_dir>/examples/dpdk-simple_mp -l 2-3 --proc-type=secondary
 
 When running a secondary process such as that shown above, the proc-type parameter can again be specified as auto.
 However, omitting the parameter altogether will cause the process to try and start as a primary rather than secondary process.
@@ -177,10 +177,10 @@ the following commands can be used (assuming run as root):
 
 .. code-block:: console
 
-    # ./<build_dir>/examples/dpdk-symmetric_mp -l 1 -n 4 --proc-type=auto -- -p 3 --num-procs=4 --proc-id=0
-    # ./<build_dir>/examples/dpdk-symmetric_mp -l 2 -n 4 --proc-type=auto -- -p 3 --num-procs=4 --proc-id=1
-    # ./<build_dir>/examples/dpdk-symmetric_mp -l 3 -n 4 --proc-type=auto -- -p 3 --num-procs=4 --proc-id=2
-    # ./<build_dir>/examples/dpdk-symmetric_mp -l 4 -n 4 --proc-type=auto -- -p 3 --num-procs=4 --proc-id=3
+    # ./<build_dir>/examples/dpdk-symmetric_mp -l 1 --proc-type=auto -- -p 3 --num-procs=4 --proc-id=0
+    # ./<build_dir>/examples/dpdk-symmetric_mp -l 2 --proc-type=auto -- -p 3 --num-procs=4 --proc-id=1
+    # ./<build_dir>/examples/dpdk-symmetric_mp -l 3 --proc-type=auto -- -p 3 --num-procs=4 --proc-id=2
+    # ./<build_dir>/examples/dpdk-symmetric_mp -l 4 --proc-type=auto -- -p 3 --num-procs=4 --proc-id=3
 
 .. note::
 
@@ -272,9 +272,9 @@ the following commands could be used:
 
 .. code-block:: console
 
-    # ./<build_dir>/examples/dpdk-mp_server -l 1-2 -n 4 -- -p 3 -n 2
-    # ./<build_dir>/examples/dpdk-mp_client -l 3 -n 4 --proc-type=auto -- -n 0
-    # ./<build_dir>/examples/dpdk-mp_client -l 4 -n 4 --proc-type=auto -- -n 1
+    # ./<build_dir>/examples/dpdk-mp_server -l 1-2 -- -p 3 -n 2
+    # ./<build_dir>/examples/dpdk-mp_client -l 3 --proc-type=auto -- -n 0
+    # ./<build_dir>/examples/dpdk-mp_client -l 4 --proc-type=auto -- -n 1
 
 .. note::
 
diff --git a/doc/guides/sample_app_ug/ptpclient.rst b/doc/guides/sample_app_ug/ptpclient.rst
index d47e942738..372621c4f8 100644
--- a/doc/guides/sample_app_ug/ptpclient.rst
+++ b/doc/guides/sample_app_ug/ptpclient.rst
@@ -65,7 +65,7 @@ To run the example in a ``linux`` environment:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-ptpclient -l 1 -n 4 -- -p 0x1 -T 0
+    ./<build_dir>/examples/dpdk-ptpclient -l 1 -- -p 0x1 -T 0
 
 Refer to *DPDK Getting Started Guide* for general information on running
 applications and the Environment Abstraction Layer (EAL) options.
diff --git a/doc/guides/sample_app_ug/qos_scheduler.rst b/doc/guides/sample_app_ug/qos_scheduler.rst
index 9936b99172..63c362c681 100644
--- a/doc/guides/sample_app_ug/qos_scheduler.rst
+++ b/doc/guides/sample_app_ug/qos_scheduler.rst
@@ -180,7 +180,7 @@ The following is an example command with a single packet flow configuration:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-qos_sched -l 1,5,7 -n 4 -- --pfc "3,2,5,7" --cfg ./profile.cfg
+    ./<build_dir>/examples/dpdk-qos_sched -l 1,5,7 -- --pfc "3,2,5,7" --cfg ./profile.cfg
 
 This example uses a single packet flow configuration which creates one RX thread on lcore 5 reading
 from port 3 and a worker thread on lcore 7 writing to port 2.
@@ -189,7 +189,7 @@ Another example with 2 packet flow configurations using different ports but shar
 
 .. code-block:: console
 
-   ./<build_dir>/examples/dpdk-qos_sched -l 1,2,6,7 -n 4 -- --pfc "3,2,2,6,7" --pfc "1,0,2,6,7" --cfg ./profile.cfg
+   ./<build_dir>/examples/dpdk-qos_sched -l 1,2,6,7 -- --pfc "3,2,2,6,7" --pfc "1,0,2,6,7" --cfg ./profile.cfg
 
 Note that independent cores for the packet flow configurations for each of the RX, WT and TX thread are also supported,
 providing flexibility to balance the work.
diff --git a/doc/guides/sample_app_ug/rxtx_callbacks.rst b/doc/guides/sample_app_ug/rxtx_callbacks.rst
index f06c5c866a..e5da168fcb 100644
--- a/doc/guides/sample_app_ug/rxtx_callbacks.rst
+++ b/doc/guides/sample_app_ug/rxtx_callbacks.rst
@@ -33,7 +33,7 @@ To run the example in a ``linux`` environment:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-rxtx_callbacks -l 1 -n 4 -- [-t]
+    ./<build_dir>/examples/dpdk-rxtx_callbacks -l 1 -- [-t]
 
 Use -t to enable hardware timestamping. If not supported by the NIC, an error
 will be displayed.
diff --git a/doc/guides/sample_app_ug/skeleton.rst b/doc/guides/sample_app_ug/skeleton.rst
index 08ddd7aa59..b28fc54d5f 100644
--- a/doc/guides/sample_app_ug/skeleton.rst
+++ b/doc/guides/sample_app_ug/skeleton.rst
@@ -25,7 +25,7 @@ To run the example in a ``linux`` environment:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-skeleton -l 1 -n 4
+    ./<build_dir>/examples/dpdk-skeleton -l 1
 
 Refer to *DPDK Getting Started Guide* for general information on running
 applications and the Environment Abstraction Layer (EAL) options.
diff --git a/doc/guides/sample_app_ug/timer.rst b/doc/guides/sample_app_ug/timer.rst
index d8c6d9a656..7af35d3d67 100644
--- a/doc/guides/sample_app_ug/timer.rst
+++ b/doc/guides/sample_app_ug/timer.rst
@@ -21,7 +21,7 @@ To run the example in linux environment:
 
 .. code-block:: console
 
-    $ ./<build_dir>/examples/dpdk-timer -l 0-3 -n 4
+    $ ./<build_dir>/examples/dpdk-timer -l 0-3
 
 Refer to the *DPDK Getting Started Guide* for general information on running applications and
 the Environment Abstraction Layer (EAL) options.
diff --git a/doc/guides/sample_app_ug/vdpa.rst b/doc/guides/sample_app_ug/vdpa.rst
index bc11242d03..1f017ce2a8 100644
--- a/doc/guides/sample_app_ug/vdpa.rst
+++ b/doc/guides/sample_app_ug/vdpa.rst
@@ -54,7 +54,7 @@ Take IFCVF driver for example:
 
 .. code-block:: console
 
-        ./dpdk-vdpa -c 0x2 -n 4 --socket-mem 1024,1024 \
+        ./dpdk-vdpa -c 0x2 --socket-mem 1024,1024 \
                 -a 0000:06:00.3,vdpa=1 -a 0000:06:00.4,vdpa=1 \
                 -- --interactive
 
diff --git a/doc/guides/sample_app_ug/vhost.rst b/doc/guides/sample_app_ug/vhost.rst
index 982e19214d..d8c22a82c0 100644
--- a/doc/guides/sample_app_ug/vhost.rst
+++ b/doc/guides/sample_app_ug/vhost.rst
@@ -60,7 +60,7 @@ Start the vswitch example
 
 .. code-block:: console
 
-        ./dpdk-vhost -l 0-3 -n 4 --socket-mem 1024  \
+        ./dpdk-vhost -l 0-3 --socket-mem 1024  \
              -- --socket-file /tmp/sock0 --client \
              ...
 
diff --git a/doc/guides/sample_app_ug/vm_power_management.rst b/doc/guides/sample_app_ug/vm_power_management.rst
index e0af729e66..1955140bb3 100644
--- a/doc/guides/sample_app_ug/vm_power_management.rst
+++ b/doc/guides/sample_app_ug/vm_power_management.rst
@@ -186,7 +186,7 @@ Hypervisor Channel Configuration
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 Configure ``virtio-serial`` channels using ``libvirt`` XML.
-The XML structure is as follows: 
+The XML structure is as follows:
 
 .. code-block:: XML
 
@@ -275,11 +275,11 @@ than the EAL options:
 
 The application requires exactly two cores to run. One core for the CLI
 and the other for the channel endpoint monitor. For example, to run on
-cores 0 and 1 on a system with four memory channels, issue the command:
+cores 0 and 1 on a system, issue the command:
 
 .. code-block:: console
 
-   ./<build_dir>/examples/dpdk-vm_power_mgr -l 0-1 -n 4
+   ./<build_dir>/examples/dpdk-vm_power_mgr -l 0-1
 
 After successful initialization, the VM Power Manager CLI prompt appears:
 
@@ -365,7 +365,7 @@ physical CPU mask:
    set_pcpu_mask {vm_name} {vcpu} {pcpu}
 
 Set the binding of the virtual CPU on the VM to the physical CPU:
+
   .. code-block:: console
 
    set_pcpu {vm_name} {vcpu} {pcpu}
@@ -587,7 +587,7 @@ host, use a command like the following:
 
 .. code-block:: console
 
-   ./<build_dir>/examples/dpdk-guest_vm_power_mgr -l 0-3 -n 4 -- --vm-name=ubuntu --policy=BRANCH_RATIO --vcpu-list=2-4
+   ./<build_dir>/examples/dpdk-guest_vm_power_mgr -l 0-3 -- --vm-name=ubuntu --policy=BRANCH_RATIO --vcpu-list=2-4
 
 Once the VM Power Manager Guest CLI appears, issuing the 'send_policy now' command
 will send the policy to the host:
@@ -701,7 +701,7 @@ To start the application and configure the power policy, and send it to the host
 
 .. code-block:: console
 
- ./<build_dir>/examples/dpdk-guest_vm_power_mgr -l 0-3 -n 4 -- --vm-name=ubuntu --policy=BRANCH_RATIO --vcpu-list=2-4
+ ./<build_dir>/examples/dpdk-guest_vm_power_mgr -l 0-3 -- --vm-name=ubuntu --policy=BRANCH_RATIO --vcpu-list=2-4
 
 Once the VM Power Manager Guest CLI appears, issuing the 'send_policy now' command
 will send the policy to the host:
diff --git a/doc/guides/sample_app_ug/vmdq_dcb_forwarding.rst b/doc/guides/sample_app_ug/vmdq_dcb_forwarding.rst
index 9638f51dec..efb133c11c 100644
--- a/doc/guides/sample_app_ug/vmdq_dcb_forwarding.rst
+++ b/doc/guides/sample_app_ug/vmdq_dcb_forwarding.rst
@@ -72,7 +72,7 @@ To run the example in a linux environment:
 
 .. code-block:: console
 
-    user@target:~$ ./<build_dir>/examples/dpdk-vmdq_dcb -l 0-3 -n 4 -- -p 0x3 --nb-pools 32 --nb-tcs 4
+    user@target:~$ ./<build_dir>/examples/dpdk-vmdq_dcb -l 0-3 -- -p 0x3 --nb-pools 32 --nb-tcs 4
 
 Refer to the *DPDK Getting Started Guide* for general information on running applications and
 the Environment Abstraction Layer (EAL) options.
diff --git a/doc/guides/sample_app_ug/vmdq_forwarding.rst b/doc/guides/sample_app_ug/vmdq_forwarding.rst
index ed28525a15..c998a5a223 100644
--- a/doc/guides/sample_app_ug/vmdq_forwarding.rst
+++ b/doc/guides/sample_app_ug/vmdq_forwarding.rst
@@ -56,7 +56,7 @@ To run the example in a Linux environment:
 
 .. code-block:: console
 
-    user@target:~$ ./<build_dir>/examples/dpdk-vmdq -l 0-3 -n 4 -- -p 0x3 --nb-pools 16
+    user@target:~$ ./<build_dir>/examples/dpdk-vmdq -l 0-3 -- -p 0x3 --nb-pools 16
 
 Refer to the *DPDK Getting Started Guide* for general information on running applications and
 the Environment Abstraction Layer (EAL) options.
diff --git a/doc/guides/testpmd_app_ug/run_app.rst b/doc/guides/testpmd_app_ug/run_app.rst
index 1a9b812a7f..40c2a7c49f 100644
--- a/doc/guides/testpmd_app_ug/run_app.rst
+++ b/doc/guides/testpmd_app_ug/run_app.rst
@@ -20,7 +20,7 @@ They must be separated from the EAL options, shown in the previous section, with
 
 .. code-block:: console
 
-    sudo ./dpdk-testpmd -l 0-3 -n 4 -- -i --portmask=0x1 --nb-cores=2
+    sudo ./dpdk-testpmd -l 0-3 -- -i --portmask=0x1 --nb-cores=2
 
 The command line options are:
 
diff --git a/doc/guides/tools/flow-perf.rst b/doc/guides/tools/flow-perf.rst
index 41eae15470..c0c7ffe577 100644
--- a/doc/guides/tools/flow-perf.rst
+++ b/doc/guides/tools/flow-perf.rst
@@ -58,7 +58,7 @@ with a ``--`` separator:
 
 .. code-block:: console
 
-	sudo ./dpdk-test-flow_perf -n 4 -a 08:00.0 -- --ingress --ether --ipv4 --queue --rules-count=1000000
+	sudo ./dpdk-test-flow_perf -a 08:00.0 -- --ingress --ether --ipv4 --queue --rules-count=1000000
 
 The command line options are:
 
-- 
2.43.0


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 2/2] doc: remove use of -n 4 option in documentation
  2024-07-31  4:38   ` [PATCH v2 2/2] doc: remove use of -n 4 option in documentation Stephen Hemminger
@ 2024-07-31  8:16     ` Thomas Monjalon
  0 siblings, 0 replies; 8+ messages in thread
From: Thomas Monjalon @ 2024-07-31  8:16 UTC (permalink / raw)
  To: stephen; +Cc: dev, Bruce Richardson, Jack Bond-Preston

31/07/2024 06:38, Stephen Hemminger:
> --- a/doc/guides/linux_gsg/build_sample_apps.rst
> +++ b/doc/guides/linux_gsg/build_sample_apps.rst
> @@ -114,7 +114,7 @@ Copy the DPDK application binary to your target, then run the application as fol
>  (assuming the platform has four memory channels per processor socket,
>  and that cores 0-3 are present and are to be used for running the application)::
>  
> -    ./dpdk-helloworld -l 0-3 -n 4
> +    ./dpdk-helloworld -l 0-3
> 

There were some comments from Jack about updating the sentences above in several locations
to skip the memory channels considerations.




^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2024-07-31  8:32 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-07-18 18:43 [PATCH 1/2] doc: add note about CPU 0 Stephen Hemminger
2024-07-18 18:43 ` [PATCH 2/2] doc: remove use of -n 4 option in documentation Stephen Hemminger
2024-07-19  8:15   ` Bruce Richardson
2024-07-19 13:37   ` Jack Bond-Preston
2024-07-29 19:59 ` [PATCH 1/2] doc: add note about CPU 0 Thomas Monjalon
2024-07-31  4:38 ` [PATCH v2 " Stephen Hemminger
2024-07-31  4:38   ` [PATCH v2 2/2] doc: remove use of -n 4 option in documentation Stephen Hemminger
2024-07-31  8:16     ` Thomas Monjalon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).