[PATCH 0/3] DT validation time improvements

From: Rob Herring
Date: Fri Aug 14 2020 - 13:34:32 EST


The time to run dt_binding_check and dtbs_check has gotten
significantly slower as the number of schemas has increased. There's 2
main factors causing validation time on each file to be slow.

The first is python start-up time. This is a common problem for python
without much of a solution other than minimizing module imports.
Eliminating some imports was possible for dt-extract-example, but not
the other tools. Validating multiple files in a single call is the
simplest solution. The downside of processing multiple files in one call
is losing make dependency handling. This is not too important for
dt-doc-validate as the validation time is <10 sec.

The 2nd factor is processed-schema*.yaml is now ~2MB and around 2 sec to
parse (which is done for every .dts and example). Switching
processed-schema*.yaml to JSON is much faster to parse

The overall result of these changes is a 2x improvement to dtbs_check
and a 4-5x improvement to dt_binding_check.

Rob

Andrei Ziureaev (1):
dt-bindings: Use json for processed-schema*

Rob Herring (2):
dt-bindings: Bump minimum version of dtschema to 2020.8
dt-bindings: Validate DT binding schema in a single call

Documentation/devicetree/bindings/.gitignore | 1 +
Documentation/devicetree/bindings/Makefile | 45 ++++++++++++--------
scripts/Makefile.lib | 2 +-
3 files changed, 29 insertions(+), 19 deletions(-)

--
2.25.1