All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC 0/7] regex/hs: introduce Hyperscan regex PMD
@ 2026-08-28  5:35 Prudvi Deti
  2026-08-28  5:35 ` [RFC 1/7] regex/hs: add driver skeleton and build integration Prudvi Deti
                   ` (8 more replies)
  0 siblings, 9 replies; 25+ messages in thread
From: Prudvi Deti @ 2026-08-28  5:35 UTC (permalink / raw)
  To: dev; +Cc: bruce.richardson, orika, nirint.shah, prudvi.deti

This RFC series adds a new regexdev PMD based on Hyperscan.

Goal: provide a software regex PMD for environments without regex HW,
while keeping compatibility with the standard ``rte_regexdev`` API.
The PMD is a virtual device, created with ``--vdev=regex_hs`` at EAL
init.

The series introduces:
- a new vdev driver under ``drivers/regex/hs``
- device and queue pair configuration, start/stop/close lifecycle,
  and device dump support
- rule database update, compile+activate, import/export of serialized
  Hyperscan databases
- enqueue/dequeue burst paths with per-queue-pair scratch usage and
  per-queue-pair extended statistics (enqueued/dequeued/matches)
- PMD-private rule flag mappings for common Hyperscan compile options
  (singlematch, prefilter, SOM-leftmost, combination, quiet)

Behavior notes relevant for review:
- per-op match counters are bounded by API field width
  (``nb_matches``/``nb_actual_matches`` are ``uint16_t``)
- payload size exposed through regexdev is ``max_payload_size = 65535``
  bytes, while Hyperscan block mode itself supports larger scan buffers
- queue pairs are intended for single-thread ownership (SPSC model)
  with dedicated scratch per queue pair

Documentation, feature matrix integration, meson integration, and
maintainers metadata are included.

Prudvi Deti (7):
  regex/hs: add driver skeleton and build integration
  regex/hs: add device configure and queue pair setup
  regex/hs: add rule database update and compilation
  regex/hs: add enqueue and dequeue burst paths
  regex/hs: add per-queue-pair extended statistics
  regex/hs: add start stop close and device dump
  regex/hs: add Hyperscan compile flag support

 .mailmap                               |    1 +
 MAINTAINERS                            |    6 +
 doc/guides/regexdevs/features/hs.ini   |    8 +
 doc/guides/regexdevs/hs.rst            |  158 +++
 doc/guides/regexdevs/index.rst         |    1 +
 doc/guides/rel_notes/release_26_11.rst |    7 +
 drivers/regex/hs/hs_regex.c            | 1342 ++++++++++++++++++++++++
 drivers/regex/hs/hs_regex.h            |   89 ++
 drivers/regex/hs/meson.build           |   19 +
 drivers/regex/meson.build              |    1 +
 10 files changed, 1632 insertions(+)
 create mode 100644 doc/guides/regexdevs/features/hs.ini
 create mode 100644 doc/guides/regexdevs/hs.rst
 create mode 100644 drivers/regex/hs/hs_regex.c
 create mode 100644 drivers/regex/hs/hs_regex.h
 create mode 100644 drivers/regex/hs/meson.build

-- 
2.43.0


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

end of thread, other threads:[~2026-09-16 12:28 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-28  5:35 [RFC 0/7] regex/hs: introduce Hyperscan regex PMD Prudvi Deti
2026-08-28  5:35 ` [RFC 1/7] regex/hs: add driver skeleton and build integration Prudvi Deti
2026-08-28  5:35 ` [RFC 2/7] regex/hs: add device configure and queue pair setup Prudvi Deti
2026-08-28  5:35 ` [RFC 3/7] regex/hs: add rule database update and compilation Prudvi Deti
2026-08-28  5:35 ` [RFC 4/7] regex/hs: add enqueue and dequeue burst paths Prudvi Deti
2026-08-28  5:35 ` [RFC 5/7] regex/hs: add per-queue-pair extended statistics Prudvi Deti
2026-08-28  5:35 ` [RFC 6/7] regex/hs: add start stop close and device dump Prudvi Deti
2026-08-28  5:35 ` [RFC 7/7] regex/hs: add Hyperscan compile flag support Prudvi Deti
2026-08-28 16:34 ` [RFC 0/7] regex/hs: introduce Hyperscan regex PMD Stephen Hemminger
2026-09-10  8:00 ` [RFC v2 " Prudvi Deti
2026-09-10  8:00   ` [RFC v2 1/7] regex/hs: add driver skeleton and build integration Prudvi Deti
2026-09-10  8:00   ` [RFC v2 2/7] regex/hs: add device configure and queue pair setup Prudvi Deti
2026-09-10  8:00   ` [RFC v2 3/7] regex/hs: add rule database update and compilation Prudvi Deti
2026-09-10  8:00   ` [RFC v2 4/7] regex/hs: add enqueue and dequeue burst paths Prudvi Deti
2026-09-10  8:00   ` [RFC v2 5/7] regex/hs: add per-queue-pair extended statistics Prudvi Deti
2026-09-10  8:00   ` [RFC v2 6/7] regex/hs: add start stop close and device dump Prudvi Deti
2026-09-10  8:00   ` [RFC v2 7/7] regex/hs: add Hyperscan compile flag support Prudvi Deti
2026-09-16 12:26   ` [RFC v3 0/7] regex/hs: introduce Hyperscan regex PMD Prudvi Deti
2026-09-16 12:26     ` [RFC v3 1/7] regex/hs: add driver skeleton and build integration Prudvi Deti
2026-09-16 12:26     ` [RFC v3 2/7] regex/hs: add device configure and queue pair setup Prudvi Deti
2026-09-16 12:27     ` [RFC v3 3/7] regex/hs: add rule database update and compilation Prudvi Deti
2026-09-16 12:27     ` [RFC v3 4/7] regex/hs: add enqueue and dequeue burst paths Prudvi Deti
2026-09-16 12:27     ` [RFC v3 5/7] regex/hs: add per-queue-pair extended statistics Prudvi Deti
2026-09-16 12:27     ` [RFC v3 6/7] regex/hs: add start stop close and device dump Prudvi Deti
2026-09-16 12:27     ` [RFC v3 7/7] regex/hs: add Hyperscan compile flag support Prudvi Deti

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.