[NFC][AMDGPU][InsertWaitCnts] Move some simple functions into Utils
Move really trivial functions into helpers to declutter InsertWaitCnt a bit more.
I had to move HardwareLimits into a different header but it's only used in InsertWaitCnt so it doesn't matter.
[RFC][AMDGPU] Remove DebugCounter-based WaitCnt debugging
It's 8 years old, only used by a handful of tests, and has not been updated
in a while except for maintenance as far as I can see.
I don't mind keeping it in if there are users of it, but right now it
looks like a dead feature. If we want some more elaborate waitcnt debugging,
we should have a modern, generic system that works on any waitcnt, not
something specific to 3 GFX9 counters.
[AMDGPU][InsertWaitCnts] Move HWEvent analysis code
Building up on the previous RFC, if it is accepted:
Move the code that maps a MachineInstr to HWEventSet to a separate file.
This should be NFC.
tools/test/stress2/misc/all.debug.inc: skip undefined variables
On my ZFS based systems, no allocations occur with tags "newblk" or
"freework". This leads to errors executing the tests that check for
memory leaks. Skip the checks if the output of wmstat -m does not
contain lines corresponding to those allocations.
MFC after: 3 days
Convert FTP plugin to typesafe pattern
## Context
The `ftp` plugin was still dict-based: a `SystemServiceService` with a string `datastore_extend`, a `do_update` returning a plain dict, and consumers/mako templates reading config via `cfg['key']`. This moves it to the typesafe pattern (lean service class delegating to a `SystemServicePart`, `generic = True`, typed `config()`/`do_update`, `check_annotations=True`, `call2`), matching the converted `ups` plugin.
## Solution
- **New `plugins/ftp/` package** replacing `plugins/ftp.py` and `plugins/ftp_/`: `__init__.py` holds the lean `FTPService` (registered in `main.py`'s `ServiceContainer`), `config.py` holds `FTPModel` + `FTPServicePart` (extend/validate/do_update), and the port/cert attachment delegates plus the `connection_count` helper move in alongside. The old compound `ftp_/status.py` service is folded into `connection_count` as a `@private` method.
- **API models** (`api/v27_0_0/` only): split the legacy `@single_argument_args('ftp_update')` form into the standard `FTPUpdate` / `FTPUpdateArgs(data=...)` / `FTPUpdateResult` shape; the wire API is unchanged.
- **Consumers fixed for the dict→model change:** `usage.py` switches to `call2` + attribute access, and the three proftpd mako templates (plus a dead line in `ftpusers.mako`) move from `ftp['x']` to `ftp.x` now that `ftp.config` returns an `FTPEntry`.
- **`ServicePortDelegate.config()`** now normalizes a Pydantic config to a dict (`isinstance` / `model_dump`), the same dispatch the certificate delegate already does. Without this, the FTP port delegate hit `'FTPEntry' object has no attribute 'get'` whenever `port.validate_port` ran (e.g. on `ftp.update`).
- Added type annotations to `resolve_hostname`/`validate_port` in `async_validators.py` so the typed FTP part can call them, and added `plugins/ftp/` to the mypy workflow.
NAS-141333 / 27.0.0-BETA.1 / Convert reporting plugin to the typesafe pattern (#19102)
## Problem
The `reporting` namespace was an old-style CompoundService spread across
four `ReportingService` classes (an empty `__init__.py` plus `update.py`
/ `graphs.py` / `cpu_temperatures.py` / `netdata_configure.py`), with
dict-based data flow and no static typing. Its siblings
`reporting.exporters` (CRUD) and `reporting.realtime` (event source)
were likewise untyped, the create/update API models were collapsed into
legacy `@single_argument_args` shapes, and the directory wasn't covered
by mypy.
## Solution
- **reporting** is now a lean `GenericConfigService[ReportingEntry]` in
`__init__.py` that owns `reporting.exporters` (`GenericCRUDService`) and
`reporting.realtime` as sub-services. The four fragments were
consolidated, with their logic moved into a `ConfigServicePart`
(`config.py`) plus plain-function modules (`graphs.py`,
`netdata_config.py`, `cpu_temps.py`).
[23 lines not shown]
[flang][OpenMP] Move TargetOMPContext to shared FlangOMPContext (NFC) (#202677)
Moving the class to shared code makes it available for reuse by
forthcoming DECLARE VARIANT lowering without any functional change to
existing metadirective lowering.