)]}'
{
  "commit": "05c7377ca924ddf8ba9a581cd1e2494b885439dc",
  "tree": "0ae2b46493ee39c86dbfea45bbeaf3dcbb1d7c65",
  "parents": [
    "84e482a6a1d1dd196b0d3c6142334f7d2c3523c6"
  ],
  "author": {
    "name": "Mark Brown",
    "email": "broonie@kernel.org",
    "time": "Sun Oct 11 14:25:38 2026 +0100"
  },
  "committer": {
    "name": "Mark Brown",
    "email": "broonie@kernel.org",
    "time": "Tue Oct 13 16:52:12 2026 +0100"
  },
  "message": "kunit: tool: Add --parallel to run suites in concurrent kernels\n\nkunit.py boots a single kernel to run all the selected tests, one after\nanother on a single CPU. This is good for robustness but means that the\noverall time taken to complete testing could be improved. Since we are\nalready able to split up the set of tests run into multiple kernel boots\nwith the --run-isolated option let\u0027s take advantage of that and allow\nexecution in parallel.\n\nAdd a --parallel N option to the run and exec subcommands. When N is\ngreater than one the tests are enumerated with kunit.action\u003dlist and\nsplit up by top level suite, as --run_isolated\u003dsuite does, or by\nindividual test if --run_isolated\u003dtest is also given. The resulting\nkernels are run from a thread pool N wide, each logging its console to\ntest.\u003csuite/test\u003e.log in the build directory.\n\nEach kernel\u0027s output is buffered by its worker and handed to the parser\nin the order the suites were enumerated in, which is the order the\nkernel would have run them, so the results are reported identically\nregardless of which kernel happens to finish first. While developing\nthis I noticed some issues with the existing --run_isolated support due\nto test naming, with those fixes in place results were identical with\nand without parallelism.\n\nPerformance results with --alltests, using the elapsed time reported by\nthe KUnit runner with an already built kernel on a Raspberry Pi 5 with 4\nCPUs and a Graviton 4 with 192 CPUs:\n\n\t\t     default  parallel  per test   parallel per test\n  Raspberry Pi 5     67.7s    49.4s     836.4s     326.5s\n  Graviton 4         64.1s    30.8s     445.9s      39.7s\n\nEven with the overhead of having to boot more kernels we are seeing\nsubstantial speedups, for obvious reasons these are much better with\nmore CPUs available.\n\nSigned-off-by: Mark Brown \u003cbroonie@kernel.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cecc110a3399f6144239be89cb5ab7c4be3ae80c",
      "old_mode": 33188,
      "old_path": "Documentation/dev-tools/kunit/run_wrapper.rst",
      "new_id": "af51764639665d7353badd4c8cf64a5f1b5761b8",
      "new_mode": 33188,
      "new_path": "Documentation/dev-tools/kunit/run_wrapper.rst"
    },
    {
      "type": "modify",
      "old_id": "0132687cdd43b3d7bb85215275bcc05ca2e6d9e7",
      "old_mode": 33261,
      "old_path": "tools/testing/kunit/kunit.py",
      "new_id": "4c320ef207df881641c48c5669f2c9d9cf17ad14",
      "new_mode": 33261,
      "new_path": "tools/testing/kunit/kunit.py"
    },
    {
      "type": "modify",
      "old_id": "c4999273e491216c967a87c7276184939353219f",
      "old_mode": 33261,
      "old_path": "tools/testing/kunit/kunit_tool_test.py",
      "new_id": "beb80c7280042854477f3466ce7e2a069f8778ec",
      "new_mode": 33261,
      "new_path": "tools/testing/kunit/kunit_tool_test.py"
    }
  ]
}
