All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bruce Richardson <bruce.richardson@intel.com>
To: dev@dpdk.org
Cc: Bruce Richardson <bruce.richardson@intel.com>
Subject: [PATCH v2 3/3] build: deprecate HPET support
Date: Wed,  4 Nov 2026 20:15:06 +0000	[thread overview]
Message-ID: <20261104201506.4091374-4-bruce.richardson@intel.com> (raw)
In-Reply-To: <20261104201506.4091374-1-bruce.richardson@intel.com>

DPDK HPET support has been disabled for many years and superceded by
other timer options such as TSC. Mark HPET support as deprecated
allowing for future removal.

As part of marking the feature as deprecated, remove documentation
instructions as to how to use and configure it, since we do not want to
encourage further use of this feature in new development

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 doc/guides/linux_gsg/enable_func.rst | 32 ----------------------------
 doc/guides/linux_gsg/sys_reqs.rst    |  3 ---
 doc/guides/rel_notes/deprecation.rst |  6 ++++++
 meson_options.txt                    |  2 +-
 4 files changed, 7 insertions(+), 36 deletions(-)

diff --git a/doc/guides/linux_gsg/enable_func.rst b/doc/guides/linux_gsg/enable_func.rst
index d99fafbde0..4c3dffee60 100644
--- a/doc/guides/linux_gsg/enable_func.rst
+++ b/doc/guides/linux_gsg/enable_func.rst
@@ -88,8 +88,6 @@ See :ref:`eal_hugepage_mapping` section to learn how these limits affect EAL.
 Device Control
 ~~~~~~~~~~~~~~
 
-If the HPET is to be used, ``/dev/hpet`` permissions must be adjusted.
-
 For ``vfio-pci`` kernel driver, the following Linux file system objects'
 permissions should be adjusted:
 
@@ -159,33 +157,3 @@ one can look into "Linux cgroups",
 Also see
 `CPU isolation example <https://www.suse.com/c/cpu-isolation-practical-example-part-5/>`_
 and `systemd core isolation example <https://www.rcannings.com/systemd-core-isolation/>`_.
-
-.. _linux_gsg_high_precision_event_timer:
-
-High Precision Event Timer (HPET) Functionality
------------------------------------------------
-
-DPDK can support the system HPET as a timer source rather than the system default timers,
-such as the core Time-Stamp Counter (TSC) on x86 systems.
-To enable HPET support in DPDK:
-
-#. Ensure that HPET is enabled in BIOS settings.
-#. Enable ``HPET_MMAP`` support in kernel configuration.
-   Note that this may involve doing a kernel rebuild,
-   as many common linux distributions do *not* have this setting
-   enabled by default in their kernel builds.
-#. Enable DPDK support for HPET by using the build-time meson option ``use_hpet``,
-   for example, ``meson configure -Duse_hpet=true``
-
-For an application to use the ``rte_get_hpet_cycles()`` and ``rte_get_hpet_hz()`` API calls,
-and optionally to make the HPET the default time source for the rte_timer library,
-the ``rte_eal_hpet_init()`` API call should be called at application initialization.
-This API call will ensure that the HPET is accessible,
-returning an error to the application if it is not.
-
-For applications that require timing APIs, but not the HPET timer specifically,
-it is recommended that the ``rte_get_timer_cycles()`` and ``rte_get_timer_hz()``
-API calls be used instead of the HPET-specific APIs.
-These generic APIs can work with either TSC or HPET time sources,
-depending on what is requested by an application call to ``rte_eal_hpet_init()``,
-if any, and on what is available on the system at runtime.
diff --git a/doc/guides/linux_gsg/sys_reqs.rst b/doc/guides/linux_gsg/sys_reqs.rst
index 2a55301893..a3b23e8168 100644
--- a/doc/guides/linux_gsg/sys_reqs.rst
+++ b/doc/guides/linux_gsg/sys_reqs.rst
@@ -130,9 +130,6 @@ System Software
 
     *   PROC_PAGE_MONITOR support
 
-    *   HPET and HPET_MMAP configuration options should also be enabled if HPET support is required.
-        See the section on :ref:`linux_gsg_high_precision_event_timer` for more details.
-
 .. _linux_gsg_hugepages:
 
 Use of Hugepages in the Linux Environment
diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index ae2205827b..88c90fb60d 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -20,6 +20,7 @@ Deprecation Notices
 
   - ``kernel_dir``: option unused as Linux kernel drivers are in a separate ``dpdk-kmods`` repository.
   - ``tests``: disabling tests can be achieved by using the ``enable_apps`` / ``disable_apps`` options instead.
+  - ``use_hpet``: option option will be removed as HPET support itself is deprecated (see below).
 
 * kvargs: The function ``rte_kvargs_process`` will get a new parameter
   for returning key match count. It will ease handling of no-match case.
@@ -34,6 +35,11 @@ Deprecation Notices
   Use the ``-S <service-corelist>`` parameter instead
   to specify the cores to be used for background services in DPDK.
 
+* hpet: HPET support is deprecated and will be removed in a future release.
+  Support has been disabled by default for many years.
+  Applications should use the generic timer APIs,
+  such as ``rte_get_timer_cycles()`` and ``rte_get_timer_hz()`` instead of HPET-specific APIs.
+
 * lib: will fix extending some enum/define breaking the ABI. There are multiple
   samples in DPDK that enum/define terminated with a ``.*MAX.*`` value which is
   used by iterators, and arrays holding these values are sized with this
diff --git a/meson_options.txt b/meson_options.txt
index 323a3901e1..340d9d0a9a 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -57,4 +57,4 @@ option('enable_trace_fp', type: 'boolean', value: false, description:
 option('tests', type: 'boolean', value: true, description:
        '[Deprecated] Value unused. Add "tests" to disable_apps setting to disable the unit tests')
 option('use_hpet', type: 'boolean', value: false, description:
-       'use HPET timer in EAL')
+       '[Deprecated] use HPET timer in EAL')
-- 
2.55.0


  parent reply	other threads:[~2026-11-04 20:15 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-02  9:08 [RFC PATCH 0/3] remove unneeded build options Bruce Richardson
2026-06-02  9:08 ` [RFC PATCH 1/3] build: deprecate kernel dir option Bruce Richardson
2026-06-02  9:24   ` Morten Brørup
2026-06-02  9:08 ` [RFC PATCH 2/3] build: deprecate standalone tests option Bruce Richardson
2026-06-02  9:26   ` Morten Brørup
2026-06-02  9:08 ` [RFC PATCH 3/3] build: deprecate HPET build option Bruce Richardson
2026-06-02 10:47   ` Morten Brørup
2026-06-02 11:39     ` David Marchand
2026-06-02 12:37       ` Bruce Richardson
2026-06-02 12:41       ` Morten Brørup
2026-06-02 12:27     ` Bruce Richardson
2026-11-04 20:15 ` [PATCH v2 0/3] deprecate unneeded build options/support Bruce Richardson
2026-11-04 20:15   ` [PATCH v2 1/3] build: deprecate kernel dir option Bruce Richardson
2026-11-04 20:15   ` [PATCH v2 2/3] build: deprecate standalone tests option Bruce Richardson
2026-11-04 20:15   ` Bruce Richardson [this message]
2026-11-13 16:55   ` [PATCH v2 0/3] deprecate unneeded build options/support Bruce Richardson
2026-11-13 18:47   ` 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=20261104201506.4091374-4-bruce.richardson@intel.com \
    --to=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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.