public inbox for dev@dpdk.org
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: dev@dpdk.org
Cc: Stephen Hemminger <stephen@networkplumber.org>,
	Nandini Persad <nandinipersad361@gmail.com>
Subject: [PATCH v4 03/11] doc: correct grammar and typos in design guide
Date: Wed, 14 Jan 2026 14:26:55 -0800	[thread overview]
Message-ID: <20260114222821.87920-4-stephen@networkplumber.org> (raw)
In-Reply-To: <20260114222821.87920-1-stephen@networkplumber.org>

Fixes:
- Use "execution environment" consistently (not "executive environment")
- Fix FreeBSD capitalization
- Use plural "these execution environments" to match multiple options
- Add hyphen to "non-exhaustive"
- Add missing comma before *telemetry*
- Remove double space
- Minor rewording for clarity

Signed-off-by: Nandini Persad <nandinipersad361@gmail.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 doc/guides/contributing/design.rst | 71 ++++++++++++++++--------------
 1 file changed, 39 insertions(+), 32 deletions(-)

diff --git a/doc/guides/contributing/design.rst b/doc/guides/contributing/design.rst
index 5517613424..a966da2ddd 100644
--- a/doc/guides/contributing/design.rst
+++ b/doc/guides/contributing/design.rst
@@ -1,6 +1,7 @@
 ..  SPDX-License-Identifier: BSD-3-Clause
     Copyright 2018 The DPDK contributors
 
+
 Design
 ======
 
@@ -8,22 +9,26 @@ Design
 Environment or Architecture-specific Sources
 --------------------------------------------
 
-In DPDK and DPDK applications, some code is specific to an architecture (i686, x86_64) or to an executive environment (freebsd or linux) and so on.
-As far as is possible, all such instances of architecture or env-specific code should be provided via standard APIs in the EAL.
+In DPDK and DPDK applications, some code is architecture-specific (i686, x86_64) or environment-specific (FreeBSD or Linux, etc.).
+When feasible, such instances of architecture or env-specific code should be provided via standard APIs in the EAL.
+
+By convention, a file is specific if the directory is indicated. Otherwise, it is common.
+
+For example:
 
-By convention, a file is common if it is not located in a directory indicating that it is specific.
-For instance, a file located in a subdir of "x86_64" directory is specific to this architecture.
+A file located in a subdir of "x86_64" directory is specific to this architecture.
 A file located in a subdir of "linux" is specific to this execution environment.
 
 .. note::
 
    Code in DPDK libraries and applications should be generic.
-   The correct location for architecture or executive environment specific code is in the EAL.
+   The correct location for architecture or execution environment-specific code is in the EAL.
 
-When absolutely necessary, there are several ways to handle specific code:
+When necessary, there are several ways to handle specific code:
+
+
+* When the differences are small and they can be embedded in the same C file, use a ``#ifdef`` with a build definition macro in the C code.
 
-* Use a ``#ifdef`` with a build definition macro in the C code.
-  This can be done when the differences are small and they can be embedded in the same C file:
 
   .. code-block:: c
 
@@ -33,9 +38,9 @@ When absolutely necessary, there are several ways to handle specific code:
      titi();
      #endif
 
-* Use build definition macros and conditions in the Meson build file. This is done when the differences are more significant.
-  In this case, the code is split into two separate files that are architecture or environment specific.
-  This should only apply inside the EAL library.
+
+* When the differences are more significant, use build definition macros and conditions in the Meson build file. In this case, the code is split into two separate files that are architecture or environment specific. This should only apply inside the EAL library.
+
 
 Per Architecture Sources
 ~~~~~~~~~~~~~~~~~~~~~~~~
@@ -43,15 +48,16 @@ Per Architecture Sources
 The following macro options can be used:
 
 * ``RTE_ARCH`` is a string that contains the name of the architecture.
-* ``RTE_ARCH_I686``, ``RTE_ARCH_X86_64``, ``RTE_ARCH_X86_X32``, ``RTE_ARCH_PPC_64``, ``RTE_ARCH_RISCV``, ``RTE_ARCH_LOONGARCH``, ``RTE_ARCH_ARM``, ``RTE_ARCH_ARMv7`` or ``RTE_ARCH_ARM64`` are defined only if we are building for those architectures.
+* ``RTE_ARCH_I686``, ``RTE_ARCH_X86_64``, ``RTE_ARCH_X86_X32``, ``RTE_ARCH_PPC_64``, ``RTE_ARCH_RISCV``, ``RTE_ARCH_LOONGARCH``, ``RTE_ARCH_ARM``, ``RTE_ARCH_ARMv7`` or ``RTE_ARCH_ARM64`` are defined when building for these architectures.
+
 
 Per Execution Environment Sources
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 The following macro options can be used:
 
-* ``RTE_EXEC_ENV_NAME`` is a string that contains the name of the executive environment.
-* ``RTE_EXEC_ENV_FREEBSD``, ``RTE_EXEC_ENV_LINUX`` or ``RTE_EXEC_ENV_WINDOWS`` are defined only if we are building for this execution environment.
+* ``RTE_EXEC_ENV_NAME`` is a string that contains the name of the execution environment.
+* ``RTE_EXEC_ENV_FREEBSD``, ``RTE_EXEC_ENV_LINUX`` or ``RTE_EXEC_ENV_WINDOWS`` are defined only if we are building for these execution environments.
 
 Mbuf features
 -------------
@@ -66,7 +72,7 @@ The "dynamic" area is eating the remaining space in mbuf,
 and some existing "static" fields may need to become "dynamic".
 
 Adding a new static field or flag must be an exception matching many criteria
-like (non exhaustive): wide usage, performance, size.
+like (non-exhaustive): wide usage, performance, size.
 
 
 Runtime Information - Logging, Tracing and Telemetry
@@ -82,11 +88,11 @@ DPDK provides a number of built-in mechanisms to provide this introspection:
 
 Each of these has its own strengths and suitabilities for use within DPDK components.
 
-Below are some guidelines for when each should be used:
+Here are guidelines for when each mechanism should be used:
 
 * For reporting error conditions, or other abnormal runtime issues, *logging* should be used.
-  Depending on the severity of the issue, the appropriate log level, for example,
-  ``ERROR``, ``WARNING`` or ``NOTICE``, should be used.
+  For example, depending on the severity of the issue, the appropriate log level,
+  ``ERROR``, ``WARNING`` or ``NOTICE`` should be used.
 
 .. note::
 
@@ -96,24 +102,24 @@ Below are some guidelines for when each should be used:
 
 * For component initialization, or other cases where a path through the code
   is only likely to be taken once,
-  either *logging* at ``DEBUG`` level or *tracing* may be used, or potentially both.
+  either *logging* at ``DEBUG`` level or *tracing* may be used, or both.
   In the latter case, tracing can provide basic information as to the code path taken,
   with debug-level logging providing additional details on internal state,
-  not possible to emit via tracing.
+  which is not possible to emit via tracing.
 
 * For a component's data-path, where a path is to be taken multiple times within a short timeframe,
   *tracing* should be used.
   Since DPDK tracing uses `Common Trace Format <https://diamon.org/ctf/>`_ for its tracing logs,
   post-analysis can be done using a range of external tools.
 
-* For numerical or statistical data generated by a component, for example, per-packet statistics,
+* For numerical or statistical data generated by a component, such as per-packet statistics,
   *telemetry* should be used.
 
-* For any data where the data may need to be gathered at any point in the execution
-  to help assess the state of the application component,
-  for example, core configuration, device information, *telemetry* should be used.
+* For any data that may need to be gathered at any point during the execution
+  to help assess the state of the application component (for example, core configuration, device information), *telemetry* should be used.
   Telemetry callbacks should not modify any program state, but be "read-only".
 
+
 Many libraries also include a ``rte_<libname>_dump()`` function as part of their API,
 writing verbose internal details to a given file-handle.
 New libraries are encouraged to provide such functions where it makes sense to do so,
@@ -135,13 +141,12 @@ requirements for preventing ABI changes when implementing statistics.
 Mechanism to allow the application to turn library statistics on and off
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-Having runtime support for enabling/disabling library statistics is recommended,
-as build-time options should be avoided. However, if build-time options are used,
-for example as in the table library, the options can be set using c_args.
-When this flag is set, all the counters supported by current library are
+Having runtime support for enabling/disabling library statistics is recommended
+as build-time options should be avoided. However, if build-time options are used, as in the table library, the options can be set using c_args.
+When this flag is set, all the counters supported by the current library are
 collected for all the instances of every object type provided by the library.
 When this flag is cleared, none of the counters supported by the current library
-are collected for any instance of any object type provided by the library:
+are collected for any instance of any object type provided by the library.
 
 
 Prevention of ABI changes due to library statistics support
@@ -165,8 +170,8 @@ Motivation to allow the application to turn library statistics on and off
 
 It is highly recommended that each library provides statistics counters to allow
 an application to monitor the library-level run-time events. Typical counters
-are: number of packets received/dropped/transmitted, number of buffers
-allocated/freed, number of occurrences for specific events, etc.
+are: the number of packets received/dropped/transmitted, the number of buffers
+allocated/freed, the number of occurrences for specific events, etc.
 
 However, the resources consumed for library-level statistics counter collection
 have to be spent out of the application budget and the counters collected by
@@ -198,6 +203,7 @@ applications:
   the application may decide to turn the collection of statistics counters off for
   Library X and on for Library Y.
 
+
 The statistics collection consumes a certain amount of CPU resources (cycles,
 cache bandwidth, memory bandwidth, etc) that depends on:
 
@@ -218,6 +224,7 @@ cache bandwidth, memory bandwidth, etc) that depends on:
   validated for header integrity, counting the number of bits set in a bitmask
   might be needed.
 
+
 PF and VF Considerations
 ------------------------
 
@@ -229,5 +236,5 @@ Developers should work with the Linux Kernel community to get the required
 functionality upstream. PF functionality should only be added to DPDK for
 testing and prototyping purposes while the kernel work is ongoing. It should
 also be marked with an "EXPERIMENTAL" tag. If the functionality isn't
-upstreamable then a case can be made to maintain the PF functionality in DPDK
+upstreamable, then a case can be made to maintain the PF functionality in DPDK
 without the EXPERIMENTAL tag.
-- 
2.51.0


  parent reply	other threads:[~2026-01-14 22:28 UTC|newest]

Thread overview: 118+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-13 15:59 [PATCH 0/9] reowrd in prog guide Nandini Persad
2024-05-13 15:59 ` [PATCH 1/9] doc: reword design section in contributors guidelines Nandini Persad
2024-05-13 15:59 ` [PATCH 2/9] doc: reword pmd section in prog guide Nandini Persad
2024-05-13 15:59 ` [PATCH 3/9] doc: reword argparse " Nandini Persad
2024-05-13 19:01   ` Stephen Hemminger
2024-05-13 15:59 ` [PATCH 4/9] doc: reword service cores " Nandini Persad
2024-05-13 15:59 ` [PATCH 5/9] doc: reword trace library " Nandini Persad
2024-05-13 15:59 ` [PATCH 6/9] doc: reword log " Nandini Persad
2024-05-13 15:59 ` [PATCH 7/9] doc: reword cmdline " Nandini Persad
2024-05-13 15:59 ` [PATCH 8/9] doc: reword stack library " Nandini Persad
2024-05-13 15:59 ` [PATCH 9/9] doc: reword rcu " Nandini Persad
2024-06-21  2:32 ` [PATCH v2 1/9] doc: reword pmd " Nandini Persad
2024-06-21  2:32   ` [PATCH v2 2/9] doc: reword argparse " Nandini Persad
2024-06-22 14:53     ` Stephen Hemminger
2026-03-30 16:08     ` Stephen Hemminger
2024-06-21  2:32   ` [PATCH v2 3/9] doc: reword design section in contributors guidelines Nandini Persad
2024-06-22 14:47     ` [PATCH] doc/design: minor cleanus Stephen Hemminger
2024-06-24 15:07       ` Thomas Monjalon
2026-03-31 22:53     ` [PATCH v2 3/9] doc: reword design section in contributors guidelines Stephen Hemminger
2024-06-21  2:32   ` [PATCH v2 4/9] doc: reword service cores section in prog guide Nandini Persad
2024-06-22 14:53     ` Stephen Hemminger
2026-03-31 22:50     ` Stephen Hemminger
2024-06-21  2:32   ` [PATCH v2 5/9] doc: reword trace library " Nandini Persad
2024-06-22 14:54     ` Stephen Hemminger
2026-03-31 22:49     ` Stephen Hemminger
2024-06-21  2:32   ` [PATCH v2 6/9] doc: reword log " Nandini Persad
2024-06-22 14:55     ` Stephen Hemminger
2026-03-31 22:47     ` Stephen Hemminger
2024-06-21  2:32   ` [PATCH v2 7/9] doc: reword cmdline " Nandini Persad
2024-06-22 14:55     ` Stephen Hemminger
2026-03-31 22:45     ` Stephen Hemminger
2024-06-21  2:32   ` [PATCH v2 8/9] doc: reword stack library " Nandini Persad
2024-06-22 14:55     ` Stephen Hemminger
2026-03-31 22:36     ` Stephen Hemminger
2024-06-21  2:32   ` [PATCH v2 9/9] doc: reword rcu " Nandini Persad
2024-06-22 14:55     ` Stephen Hemminger
2026-03-31 22:35     ` Stephen Hemminger
2024-06-22 14:52   ` [PATCH v2 1/9] doc: reword pmd " Stephen Hemminger
2026-01-13 22:51 ` [PATCH v3 00/11] doc: programmers guide corrections Stephen Hemminger
2026-01-13 22:51   ` [PATCH v3 01/11] doc: correct grammar and punctuation errors in ethdev guide Stephen Hemminger
2026-01-13 22:51   ` [PATCH v3 02/11] doc: correct grammar and typos in argparse library guide Stephen Hemminger
2026-01-13 22:51   ` [PATCH v3 03/11] doc: correct grammar and typos in design guide Stephen Hemminger
2026-01-13 22:51   ` [PATCH v3 04/11] doc: correct errors in Linux system requirements guide Stephen Hemminger
2026-01-13 22:51   ` [PATCH v3 05/11] doc: correct grammar in service cores guide Stephen Hemminger
2026-01-13 22:51   ` [PATCH v3 06/11] doc: correct grammar and errors in trace library guide Stephen Hemminger
2026-01-13 22:51   ` [PATCH v3 07/11] doc: correct typos in log " Stephen Hemminger
2026-01-13 22:51   ` [PATCH v3 08/11] doc: correct errors in command-line " Stephen Hemminger
2026-01-13 22:51   ` [PATCH v3 09/11] doc: correct errors in trace " Stephen Hemminger
2026-01-13 22:51   ` [PATCH v3 10/11] doc: correct errors in stack " Stephen Hemminger
2026-01-13 22:51   ` [PATCH v3 11/11] doc: correct errors in RCU " Stephen Hemminger
2026-01-14 22:26 ` [PATCH v4 00/11] doc: programmers guide corrections Stephen Hemminger
2026-01-14 22:26   ` [PATCH v4 01/11] doc: correct grammar and punctuation errors in ethdev guide Stephen Hemminger
2026-01-14 22:26   ` [PATCH v4 02/11] doc: correct grammar and typos in argparse library guide Stephen Hemminger
2026-01-19  0:50     ` fengchengwen
2026-01-14 22:26   ` Stephen Hemminger [this message]
2026-01-14 22:26   ` [PATCH v4 04/11] doc: correct errors in Linux system requirements guide Stephen Hemminger
2026-01-14 22:26   ` [PATCH v4 05/11] doc: correct grammar in service cores guide Stephen Hemminger
2026-01-14 22:26   ` [PATCH v4 06/11] doc: correct grammar and errors in trace library guide Stephen Hemminger
2026-01-14 22:26   ` [PATCH v4 07/11] doc: correct typos in log " Stephen Hemminger
2026-01-14 22:27   ` [PATCH v4 08/11] doc: correct errors in command-line " Stephen Hemminger
2026-01-14 22:27   ` [PATCH v4 09/11] doc: correct errors in trace " Stephen Hemminger
2026-01-14 22:27   ` [PATCH v4 10/11] doc: correct errors in stack " Stephen Hemminger
2026-01-14 22:27   ` [PATCH v4 11/11] doc: correct errors in RCU " Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 00/54] doc: programmers guide corrections Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 01/54] doc: correct grammar and typos in argparse library guide Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 02/54] doc: correct grammar in service cores guide Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 03/54] doc: correct grammar and errors in trace library guide Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 04/54] doc: correct typos in log " Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 05/54] doc: correct errors in command-line " Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 06/54] doc: correct errors in trace " Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 07/54] doc: correct errors in stack " Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 08/54] doc: correct errors in RCU " Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 09/54] doc: correct grammar and formatting in ASan guide Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 10/54] doc: correct grammar and typos in bbdev guide Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 11/54] doc: correct grammar and formatting in bpf lib guide Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 12/54] doc: correct grammar and typos in meson build guide Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 13/54] doc: correct grammar and typos in cryptodev guide Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 14/54] doc: correct grammar and formatting in compressdev guide Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 15/54] doc: correct grammar in dmadev guide Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 16/54] doc: correct grammar in efd guide Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 17/54] doc: correct grammar in EAL guide Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 18/54] doc: correct double space in FIB guide Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 19/54] doc: correct grammar in GRO guide Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 20/54] doc: correct grammar in GSO guide Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 21/54] doc: correct typos and grammar in graph guide Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 22/54] doc: correct grammar in hash guide Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 23/54] doc: correct grammar and typos in IP fragment guide Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 24/54] doc: correct double spaces in IPsec guide Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 25/54] doc: correct grammar in lcore variables guide Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 26/54] doc: correct typo in link bonding guide Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 27/54] doc: correct grammar in LTO guide Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 28/54] doc: correct grammar in LPM guide Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 29/54] doc: correct grammar and typo in LPM6 guide Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 30/54] doc: correct grammar in introduction Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 31/54] doc: correct grammar in mbuf library guide Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 32/54] doc: correct grammar in membership " Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 33/54] doc: correct errors in mempool " Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 34/54] doc: correct style in meson unit tests guide Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 35/54] doc: correct errors in metrics library guide Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 36/54] doc: correct grammar in mldev " Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 37/54] doc: correct grammar in multi-process guide Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 38/54] doc: correct grammar in overview Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 39/54] doc: correct grammar in ACL library guide Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 40/54] doc: correct typos in packet distributor guide Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 41/54] doc: correct grammar in packet framework guide Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 42/54] doc: correct grammar in PDCP library guide Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 43/54] doc: correct grammar in pdump " Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 44/54] doc: correct typos in power management guide Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 45/54] doc: correct grammar in profiling guide Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 46/54] doc: correct errors in regexdev guide Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 47/54] doc: correct grammar in reorder library guide Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 48/54] doc: correct whitespace in RIB " Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 49/54] doc: correct incomplete sentence in ring " Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 50/54] doc: correct grammar in security " Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 51/54] doc: correct hyphenation in thread safety guide Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 52/54] doc: correct errors in toeplitz hash library guide Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 53/54] doc: correct errors in vhost " Stephen Hemminger
2026-01-18 19:10   ` [PATCH v5 54/54] doc: correct whitespace in efficient code guide 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=20260114222821.87920-4-stephen@networkplumber.org \
    --to=stephen@networkplumber.org \
    --cc=dev@dpdk.org \
    --cc=nandinipersad361@gmail.com \
    /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