[roll] Roll fuchsia [kernel][unittest] Improve 'k ut' repeat option (reduce overheads)

In commit 5fdb997c67e, I added support to 'k ut' to run specific unit
test suites repeatedly; this was helpful for running many instances of
particular tests, to shake out bugs.

Improve the implementation of the repeat option, to reduce overheads:
* k ut runs tests in a dedicated kernel thread, in a new user-marked
  address space. The initial implementation of 'k ut -r' was a loop
  around the outer-most call, which meant that thread creation/destroy
  and address space create/destroy were done for every repeat. This
  overhead added up, particularly for short tests.
* Rework printouts, to be less verbose and clearer about which test
  cases are running. (printing has overheads; plus the verbosity of
  the old format made it difficult some times to see timing from
  past runs).

This CR substantially reduces the runtime of repeated tests.

Tested:
* k ut -r 10000000 dpc_tests
  New example print:
  00000:00000>   repeatedly queue the same dpc : PASSED (795499 nSec)  [2021155 / 1100000001]

* k ut -r 10000 all

Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/466816
Original-Revision: 2c3e42d5b7213b1b312e9407a6957590539ec7fa
GitOrigin-RevId: b531fb4f120bca1a9ae672ceddf3ed47b4811d11
Change-Id: Id8650fb722fa194f887ecb0f3fbe3715d1ee8c36
1 file changed
tree: fb3012b809439493f4e1ac49789484fc7785815d
  1. garnet/
  2. infra/
  3. peridot/
  4. third_party/
  5. topaz/
  6. zircon/
  7. flower
  8. jiri.lock
  9. minimal
  10. prebuilts
  11. README.md
  12. stem
  13. test_durations
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.

Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance via the IRC channel #fuchsia on Freenode.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.