3
0
mirror of https://github.com/Qortal/Brooklyn.git synced 2025-02-07 06:44:18 +00:00
Brooklyn/tools/perf/tests/attr
Scare Crowe 7d3018da4c First of all. T3Q is a fucking slut whore. Next, Core 2.0 optimizations
* NVME, SATA NAND Security added
* Qortal Core exception fetcher is now redone.
* Update DT overlays for firmware
* Fix for bvb clockj settings
* Fix for no audio for sissy desktop porn watchers -_- ( thanks crowetic for watching gay porn and reporting me that bug asshat )
* Normalize the fetch() stream while doing a peer to peer handshake for nodes
* Fix for RNG token editing error while performing a SHA256 encryption
* Now under voltage errors will blink red led constantly for 5 minutes then go solid.
* Improve kernel thread scaling for Qortal 2.0 core
* HDMI circuit is now enabled at power up instead.
* Added KMS
* Added line replication instead of interpolation for VC4 GPU resulting in slightly better frame rates
* Fix for long and doubles
* Backplane clock is now set at standard rate
* Capped HVEC clocks
* Add support for Creative Cinema webcam for donkers who like sharing dick pics.  *looks at crowetic*
* More scanline XGA modes for people who have weird ass monitors of all sorts.
* TX/RX flow control support is now 100% stable. No lags over 1Gbps ethernet. ( Hello Qortal 3.0 )
* Using flush cache instead of fetch for QC 2.0 resulting in performance gains
* VC4 clock is now enforced for desktop oriented images.
* Ondemand governor now waits for 2 seconds instead of 0.5ms to scale down to the lowest safest clock freq preventing lags to the core.
* Timeout of OC set at 35ms from 90ms resulting in way better clocks and sync for Qortal 2.0 core
2021-10-20 18:55:35 +05:00
..
base-record T3Q is a slut 2021-10-02 21:09:28 +05:00
base-stat Is there a moose on the loose?! 2021-09-18 19:38:41 +05:00
README initial commit 2021-05-27 00:09:36 +05:00
system-wide-dummy Is there a moose on the loose?! 2021-09-18 19:38:41 +05:00
test-record-basic initial commit 2021-05-27 00:09:36 +05:00
test-record-branch-any initial commit 2021-05-27 00:09:36 +05:00
test-record-branch-filter-any initial commit 2021-05-27 00:09:36 +05:00
test-record-branch-filter-any_call initial commit 2021-05-27 00:09:36 +05:00
test-record-branch-filter-any_ret initial commit 2021-05-27 00:09:36 +05:00
test-record-branch-filter-hv initial commit 2021-05-27 00:09:36 +05:00
test-record-branch-filter-ind_call initial commit 2021-05-27 00:09:36 +05:00
test-record-branch-filter-k initial commit 2021-05-27 00:09:36 +05:00
test-record-branch-filter-u initial commit 2021-05-27 00:09:36 +05:00
test-record-C0 initial commit 2021-05-27 00:09:36 +05:00
test-record-count initial commit 2021-05-27 00:09:36 +05:00
test-record-data initial commit 2021-05-27 00:09:36 +05:00
test-record-freq initial commit 2021-05-27 00:09:36 +05:00
test-record-graph-default initial commit 2021-05-27 00:09:36 +05:00
test-record-graph-dwarf initial commit 2021-05-27 00:09:36 +05:00
test-record-graph-fp initial commit 2021-05-27 00:09:36 +05:00
test-record-group initial commit 2021-05-27 00:09:36 +05:00
test-record-group1 initial commit 2021-05-27 00:09:36 +05:00
test-record-group2 initial commit 2021-05-27 00:09:36 +05:00
test-record-group-sampling initial commit 2021-05-27 00:09:36 +05:00
test-record-no-buffering initial commit 2021-05-27 00:09:36 +05:00
test-record-no-inherit initial commit 2021-05-27 00:09:36 +05:00
test-record-no-samples initial commit 2021-05-27 00:09:36 +05:00
test-record-period initial commit 2021-05-27 00:09:36 +05:00
test-record-pfm-period initial commit 2021-05-27 00:09:36 +05:00
test-record-raw initial commit 2021-05-27 00:09:36 +05:00
test-stat-basic initial commit 2021-05-27 00:09:36 +05:00
test-stat-C0 initial commit 2021-05-27 00:09:36 +05:00
test-stat-default First of all. T3Q is a fucking slut whore. Next, Core 2.0 optimizations 2021-10-20 18:55:35 +05:00
test-stat-detailed-1 First of all. T3Q is a fucking slut whore. Next, Core 2.0 optimizations 2021-10-20 18:55:35 +05:00
test-stat-detailed-2 First of all. T3Q is a fucking slut whore. Next, Core 2.0 optimizations 2021-10-20 18:55:35 +05:00
test-stat-detailed-3 First of all. T3Q is a fucking slut whore. Next, Core 2.0 optimizations 2021-10-20 18:55:35 +05:00
test-stat-group initial commit 2021-05-27 00:09:36 +05:00
test-stat-group1 initial commit 2021-05-27 00:09:36 +05:00
test-stat-no-inherit initial commit 2021-05-27 00:09:36 +05:00

The struct perf_event_attr test (attr tests) support
====================================================
This testing support is embedded into perf directly and is governed
by the PERF_TEST_ATTR environment variable and hook inside the
sys_perf_event_open function.

The general idea is to store 'struct perf_event_attr' details for
each event created within single perf command. Each event details
are stored into separate text file. Once perf command is finished
these files are checked for values we expect for command.

The attr tests consist of following parts:

tests/attr.c
------------
This is the sys_perf_event_open hook implementation. The hook
is triggered when the PERF_TEST_ATTR environment variable is
defined. It must contain name of existing directory with access
and write permissions.

For each sys_perf_event_open call event details are stored in
separate file. Besides 'struct perf_event_attr' values we also
store 'fd' and 'group_fd' values to allow checking for groups.

tests/attr.py
-------------
This is the python script that does all the hard work. It reads
the test definition, executes it and checks results.

tests/attr/
-----------
Directory containing all attr test definitions.
Following tests are defined (with perf commands):

  perf record kill                              (test-record-basic)
  perf record -b kill                           (test-record-branch-any)
  perf record -j any kill                       (test-record-branch-filter-any)
  perf record -j any_call kill                  (test-record-branch-filter-any_call)
  perf record -j any_ret kill                   (test-record-branch-filter-any_ret)
  perf record -j hv kill                        (test-record-branch-filter-hv)
  perf record -j ind_call kill                  (test-record-branch-filter-ind_call)
  perf record -j k kill                         (test-record-branch-filter-k)
  perf record -j u kill                         (test-record-branch-filter-u)
  perf record -c 123 kill                       (test-record-count)
  perf record -d kill                           (test-record-data)
  perf record -F 100 kill                       (test-record-freq)
  perf record -g kill                           (test-record-graph-default)
  perf record --call-graph dwarf kill		(test-record-graph-dwarf)
  perf record --call-graph fp kill              (test-record-graph-fp)
  perf record --group -e cycles,instructions kill (test-record-group)
  perf record -e '{cycles,instructions}' kill   (test-record-group1)
  perf record -e '{cycles/period=1/,instructions/period=2/}:S' kill (test-record-group2)
  perf record -D kill                           (test-record-no-delay)
  perf record -i kill                           (test-record-no-inherit)
  perf record -n kill                           (test-record-no-samples)
  perf record -c 100 -P kill                    (test-record-period)
  perf record -c 1 --pfm-events=cycles:period=2 (test-record-pfm-period)
  perf record -R kill                           (test-record-raw)
  perf stat -e cycles kill                      (test-stat-basic)
  perf stat kill                                (test-stat-default)
  perf stat -d kill                             (test-stat-detailed-1)
  perf stat -dd kill                            (test-stat-detailed-2)
  perf stat -ddd kill                           (test-stat-detailed-3)
  perf stat --group -e cycles,instructions kill (test-stat-group)
  perf stat -e '{cycles,instructions}' kill     (test-stat-group1)
  perf stat -i -e cycles kill                   (test-stat-no-inherit)