From: David Young <dave@youngcopy.com>
To: dev@dpdk.org
Cc: Bruce Richardson <bruce.richardson@intel.com>,
Aaron Conole <aconole@redhat.com>,
David Young <dave@youngcopy.com>
Subject: [PATCH v3 4/7] Section 4: Running Applications
Date: Fri, 3 Nov 2023 00:01:50 -0400 [thread overview]
Message-ID: <20231103040202.2849-5-dave@youngcopy.com> (raw)
In-Reply-To: <20231103040202.2849-1-dave@youngcopy.com>
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=y, Size: 5052 bytes --]
---
.../getting_started_guide/run_apps/index.rst | 10 ++
.../run_apps/run_apps.rst | 118 ++++++++++++++++++
2 files changed, 128 insertions(+)
create mode 100644 doc/guides/getting_started_guide/run_apps/index.rst
create mode 100644 doc/guides/getting_started_guide/run_apps/run_apps.rst
diff --git a/doc/guides/getting_started_guide/run_apps/index.rst b/doc/guides/getting_started_guide/run_apps/index.rst
new file mode 100644
index 0000000000..f033cac5f0
--- /dev/null
+++ b/doc/guides/getting_started_guide/run_apps/index.rst
@@ -0,0 +1,10 @@
+.. SPDX-License-Identifier: BSD-3-Clause
+ Copyright(c) 2010-2025 Intel Corporation.
+
+Running Applications
+====================
+
+.. toctree::
+ :maxdepth: 2
+
+ run_apps
\ No newline at end of file
diff --git a/doc/guides/getting_started_guide/run_apps/run_apps.rst b/doc/guides/getting_started_guide/run_apps/run_apps.rst
new file mode 100644
index 0000000000..339d4c0a68
--- /dev/null
+++ b/doc/guides/getting_started_guide/run_apps/run_apps.rst
@@ -0,0 +1,118 @@
+.. SPDX-License-Identifier: BSD-3-Clause
+ Copyright(c) 2010-2025 Intel Corporation.
+
+.. _run_apps:
+
+Running Applications
+====================
+
+The following instructions apply to Linux, FreeBSD, and Windows.
+
+.. contents:: Table of Contents
+ :local:
+
+Running Applications on Linux and FreeBSD
+-----------------------------------------
+
+Compiling and Running Sample Applications
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+To compile a sample application:
+
+1. Navigate to the application's directory in the DPDK distribution.
+2. Execute the ``make`` command on Linux or ``gmake`` on FreeBSD.
+
+For instance, to compile the ``helloworld`` application:
+
+::
+
+ cd examples/helloworld
+ make # On Linux
+ gmake # On FreeBSD
+
+To run the application, use:
+
+::
+
+ ./build/helloworld -l 0-2
+
+The ``-l`` option indicates the cores on which the application should run.
+
+Sample Applications Overview
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+1. **Hello World**: A basic application that prints a "hello world" message.
+2. **Basic Forwarding**: A skeleton example of a forwarding application.
+3. **Command Line**: Demonstrates the command line interface in DPDK.
+4. **Ethtool**: Showcases the Ethtool API in DPDK.
+
+For a comprehensive list of sample applications and their guides,
+refer to the `DPDK Sample Applications User Guides <https://doc.dpdk.org/guides/sample_app_ug/index.html>`_.
+
+EAL Parameters
+^^^^^^^^^^^^^^
+
+Every DPDK application is linked with the DPDK target environment’s
+Environmental Abstraction Layer (EAL) library, which provides generic options.
+Some of these options include:
+
+- ``-c COREMASK`` or ``-l CORELIST``: Specifies the cores to run on.
+- ``-n NUM``: Number of memory channels per processor socket.
+- ``--socket-mem``: Memory allocation from hugepages on specific sockets.
+
+For a detailed list of EAL options,
+refer to the `EAL parameters section <eal_parameters>`.
+
+Running Without Root Privileges
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Refer to :ref:`running_dpdk_apps_without_root`.
+
+Running Applications on Windows
+-------------------------------
+
+Running DPDK applications on Windows involves a few different steps.
+This guide provides detailed instructions on how to run the helloworld example
+application, which can be used as a reference for running other DPDK applications.
+
+Grant Lock Pages in Memory Privilege
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Use of hugepages ("large pages" in Windows terminology) requires
+``SeLockMemoryPrivilege`` for the user running an application.
+This privilege allows the DPDK application to keep data in physical memory,
+preventing the system from paging the data to virtual memory.
+This can significantly improve the performance of your DPDK applications.
+
+To grant this privilege:
+
+1. Open Local Security Policy snap-in, either through Control Panel / Computer Management / Local Security Policy, or by pressing Win+R, typing ``secpol``, and pressing Enter.
+2. Open Local Policies / User Rights Assignment / Lock pages in memory.
+3. Add desired users or groups to the list of grantees.
+
+The privilege is applied upon the next logon. If the privilege has been granted to the
+current user, a logoff is required before it is available.
+More details can be found in the `Large-Page Support in MSDN <https://docs.microsoft.com/en-us/windows/win32/memory/large-page-support>`_.
+
+Running the helloworld Example
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+After setting up the drivers, you can run the helloworld example to verify your setup.
+Here are the steps:
+
+1. Navigate to the examples in the build directory::
+
+ cd C:\\Users\\me\\dpdk\\build\\examples
+
+2. Run the helloworld application::
+
+ dpdk-helloworld.exe -l 0-3
+
+The output should display a hello message from each core, like this:
+
+::
+
+ hello from core 1
+ hello from core 3
+ hello from core 0
+ hello from core 2
--
2.41.0.windows.1
next prev parent reply other threads:[~2023-11-03 4:02 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-03 4:01 [PATCH v3 0/7] docs: getting started guide consolidation David Young
2023-11-03 4:01 ` [PATCH v3 1/7] Section 1: Introduction David Young
2023-11-03 13:11 ` Bruce Richardson
2023-11-03 4:01 ` [PATCH v3 2/7] Section 2: Install and Build DPDK David Young
2023-11-03 13:55 ` Bruce Richardson
2023-11-03 4:01 ` [PATCH v3 3/7] Section 3: Setting up a System to Run DPDK Applications David Young
2023-11-03 14:17 ` Bruce Richardson
2023-11-03 4:01 ` David Young [this message]
2023-11-03 15:13 ` [PATCH v3 4/7] Section 4: Running Applications Bruce Richardson
2023-11-03 4:01 ` [PATCH v3 5/7] Section 5: Appendix David Young
2023-11-03 15:23 ` Bruce Richardson
2023-11-16 1:28 ` Dave Young
2023-11-17 13:04 ` Bruce Richardson
2023-11-03 4:01 ` [PATCH v3 6/7] Added link to Getting Started Guide in index.rst David Young
2023-11-03 13:32 ` Bruce Richardson
2023-11-03 14:22 ` Bruce Richardson
2023-11-08 1:47 ` Dave Young
2023-11-08 2:06 ` Dave Young
2023-11-03 4:01 ` [PATCH v3 7/7] Section 6: Glossary David Young
2023-11-03 15:26 ` Bruce Richardson
2023-11-23 1:26 ` [PATCH v4 0/6] docs: getting started guide consolidation David Young
2023-11-23 1:26 ` [PATCH v4 1/6] Section 1: Introduction David Young
2023-11-23 1:26 ` [PATCH v4 2/6] Section 2: Install and Build DPDK David Young
2023-11-23 1:26 ` [PATCH v4 3/6] Section 3: Setting up a System to Run DPDK Applications David Young
2023-11-23 1:26 ` [PATCH v4 4/6] Section 4: Running Applications David Young
2023-11-23 1:26 ` [PATCH v4 5/6] Section 5: Appendix David Young
2023-11-23 1:26 ` [PATCH v4 6/6] Section 6: Glossary David Young
2024-09-11 15:54 ` Stephen Hemminger
2024-09-11 15:55 ` Stephen Hemminger
2023-12-01 15:17 ` [PATCH v4 0/6] docs: getting started guide consolidation Thomas Monjalon
2024-10-04 16:29 ` Stephen Hemminger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231103040202.2849-5-dave@youngcopy.com \
--to=dave@youngcopy.com \
--cc=aconole@redhat.com \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).