

        1 - LOOPBACK DRIVER

The driver implements the main logic of the loopback test and provides
sysfs files to configure the test and retrieve the results.
A user could run a test without the need of the test application given
that he understands the sysfs interface of the loopback driver.

The loopback kernel driver needs to be loaded and at least one module
with the loopback feature enabled must be present for the sysfs files to be
created and for the loopback test application to be able to run.

To load the module:
# modprobe gb-loopback


When the module is probed,  New files are available on the sysfs
directory of the detected loopback device.
(typically under "/sys/bus/graybus/devices").

Here is a short summary of the sysfs interface files that should be visible:

* Loopback Configuration Files:
    async - Use asynchronous operations.
    iteration_max - Number of tests iterations to perform.
    size - payload size of the transfer.
    timeout - The number of microseconds to give an individual
              asynchronous request before timing out.
    us_wait - Time to wait between 2 messages
    type - By writing the test type to this file, the test starts.
           Valid tests are:
             0 stop the test
             2 - ping
             3 - transfer
             4 - sink

* Loopback feedback files:
    error - number of errors that have occurred.
    iteration_count - Number of iterations performed.
    requests_completed - Number of requests successfully completed.
    requests_timedout - Number of requests that have timed out.
    timeout_max - Max allowed timeout
    timeout_min - Min allowed timeout.

* Loopback result files:
    apbridge_unipro_latency_avg
    apbridge_unipro_latency_max
    apbridge_unipro_latency_min
    gpbridge_firmware_latency_avg
    gpbridge_firmware_latency_max
    gpbridge_firmware_latency_min
    requests_per_second_avg
    requests_per_second_max
    requests_per_second_min
    latency_avg
    latency_max
    latency_min
    throughput_avg
    throughput_max
    throughput_min



            2 - LOOPBACK TEST APPLICATION

The loopback test application manages and formats the results provided by
the loopback kernel module. The purpose of this application
is to:
    - Start and manage multiple loopback device tests concurrently.
    - Calculate the aggregate results for multiple devices.
    - Gather and format test results (csv or human readable).

The best way to get up to date usage information for the application is
usually to pass the "-h" parameter.
Here is the summary of the available options:

 Mandatory arguments
   -t     must be one of the test names - sink, transfer or ping
   -i     iteration count - the number of iterations to run the test over
 Optional arguments
   -S     sysfs location - location for greybus 'endo' entries default /sys/bus/greybus/devices/
   -D     debugfs location - location for loopback debugfs entries default /sys/kernel/debug/gb_loopback/
   -s     size of data packet to send during test - defaults to zero
   -m     mask - a bit mask of connections to include example: -m 8 = 4th connection -m 9 = 1st and 4th connection etc
                 default is zero which means broadcast to all connections
   -v     verbose output
   -d     debug output
   -r     raw data output - when specified the full list of latency values are included in the output CSV
   -p     porcelain - when specified printout is in a user-friendly non-CSV format. This option suppresses writing to CSV file
   -a     aggregate - show aggregation of all enabled devies
   -l     list found loopback devices and exit.
   -x     Async - Enable async transfers.
   -o     Timeout - Timeout in microseconds for async operations.



             3 - REAL WORLD EXAMPLE USAGES

 3.1 - Using the driver sysfs files to run a test on a single device:

* Run a 1000 transfers of a 100 byte packet. Each transfer is started only
after the previous one finished successfully:
    echo 0 > /sys/bus/greybus/devices/1-2.17/type
    echo 0 > /sys/bus/greybus/devices/1-2.17/async
    echo 2000 > /sys/bus/greybus/devices/1-2.17/us_wait
    echo 100 > /sys/bus/greybus/devices/1-2.17/size
    echo 1000 > /sys/bus/greybus/devices/1-2.17/iteration_max
    echo 0 > /sys/bus/greybus/devices/1-2.17/mask
    echo 200000 > /sys/bus/greybus/devices/1-2.17/timeout
    echo 3 > /sys/bus/greybus/devices/1-2.17/type

* Run a 1000 transfers of a 100 byte packet. Transfers are started without
waiting for the previous one to finish:
    echo 0 > /sys/bus/greybus/devices/1-2.17/type
    echo 3 > /sys/bus/greybus/devices/1-2.17/async
    echo 0 > /sys/bus/greybus/devices/1-2.17/us_wait
    echo 100 > /sys/bus/greybus/devices/1-2.17/size
    echo 1000 > /sys/bus/greybus/devices/1-2.17/iteration_max
    echo 0 > /sys/bus/greybus/devices/1-2.17/mask
    echo 200000 > /sys/bus/greybus/devices/1-2.17/timeout
    echo 3 > /sys/bus/greybus/devices/1-2.17/type

* Read the results from sysfs:
    cat /sys/bus/greybus/devices/1-2.17/requests_per_second_min
    cat /sys/bus/greybus/devices/1-2.17/requests_per_second_max
    cat /sys/bus/greybus/devices/1-2.17/requests_per_second_avg

    cat /sys/bus/greybus/devices/1-2.17/latency_min
    cat /sys/bus/greybus/devices/1-2.17/latency_max
    cat /sys/bus/greybus/devices/1-2.17/latency_avg

    cat /sys/bus/greybus/devices/1-2.17/apbridge_unipro_latency_min
    cat /sys/bus/greybus/devices/1-2.17/apbridge_unipro_latency_max
    cat /sys/bus/greybus/devices/1-2.17/apbridge_unipro_latency_avg

    cat /sys/bus/greybus/devices/1-2.17/gpbridge_firmware_latency_min
    cat /sys/bus/greybus/devices/1-2.17/gpbridge_firmware_latency_max
    cat /sys/bus/greybus/devices/1-2.17/gpbridge_firmware_latency_avg

    cat /sys/bus/greybus/devices/1-2.17/error
    cat /sys/bus/greybus/devices/1-2.17/requests_completed
    cat /sys/bus/greybus/devices/1-2.17/requests_timedout


3.2 - using the test application:

* Run a transfer test 10 iterations of size 100 bytes on all available devices
    #/loopback_test -t transfer -i 10 -s 100
    1970-1-1 0:10:7,transfer,1-4.17,100,10,0,443,509,471.700012,66,1963,2256,2124.600098,293,102776,118088,109318.898438,15312,1620,1998,1894.099976,378,56,57,56.799999,1
    1970-1-1 0:10:7,transfer,1-5.17,100,10,0,399,542,463.399994,143,1845,2505,2175.800049,660,92568,125744,107393.296875,33176,1469,2305,1806.500000,836,56,57,56.799999,1


* Show the aggregate results of both devices. ("-a")
    #/loopback_test -t transfer -i 10 -s 100  -a
    1970-1-1 0:10:35,transfer,1-4.17,100,10,0,448,580,494.100006,132,1722,2230,2039.400024,508,103936,134560,114515.703125,30624,1513,1980,1806.900024,467,56,57,57.299999,1
    1970-1-1 0:10:35,transfer,1-5.17,100,10,0,383,558,478.600006,175,1791,2606,2115.199951,815,88856,129456,110919.703125,40600,1457,2246,1773.599976,789,56,57,57.099998,1
    1970-1-1 0:10:35,transfer,aggregate,100,10,0,383,580,486.000000,197,1722,2606,2077.000000,884,88856,134560,112717.000000,45704,1457,2246,1789.000000,789,56,57,57.000000,1

* Example usage of the mask option to select which devices will
  run the test (1st, 2nd, or both devices):
    # /loopback_test -t transfer -i 10 -s 100 -m 1
    1970-1-1 0:11:56,transfer,1-4.17,100,10,0,514,558,544.900024,44,1791,1943,1836.599976,152,119248,129456,126301.296875,10208,1600,1001609,101613.601562,1000009,56,57,56.900002,1
    # /loopback_test -t transfer -i 10 -s 100 -m 2
    1970-1-1 0:12:0,transfer,1-5.17,100,10,0,468,554,539.000000,86,1804,2134,1859.500000,330,108576,128528,124932.500000,19952,1606,1626,1619.300049,20,56,57,57.400002,1
    # /loopback_test -t transfer -i 10 -s 100 -m 3
    1970-1-1 0:12:3,transfer,1-4.17,100,10,0,432,510,469.399994,78,1959,2313,2135.800049,354,100224,118320,108785.296875,18096,1610,2024,1893.500000,414,56,57,57.200001,1
    1970-1-1 0:12:3,transfer,1-5.17,100,10,0,404,542,468.799988,138,1843,2472,2152.500000,629,93728,125744,108646.101562,32016,1504,2247,1853.099976,743,56,57,57.099998,1

* Show output in human readable format ("-p")
    # /loopback_test -t transfer -i 10 -s 100 -m 3 -p

    1970-1-1 0:12:37
    test:                       transfer
    path:                       1-4.17
    size:                       100
    iterations:                 10
    errors:                     0
    async:                      Disabled
    requests per-sec:           min=390, max=547, average=469.299988, jitter=157
    ap-throughput B/s:          min=90480 max=126904 average=108762.101562 jitter=36424
    ap-latency usec:            min=1826 max=2560 average=2146.000000 jitter=734
    apbridge-latency usec:      min=1620 max=1982 average=1882.099976 jitter=362
    gpbridge-latency usec:      min=56 max=57 average=57.099998 jitter=1


    1970-1-1 0:12:37
    test:                       transfer
    path:                       1-5.17
    size:                       100
    iterations:                 10
    errors:                     0
    async:                      Disabled
    requests per-sec:           min=397, max=538, average=461.700012, jitter=141
    ap-throughput B/s:          min=92104 max=124816 average=106998.898438 jitter=32712
    ap-latency usec:            min=1856 max=2514 average=2185.699951 jitter=658
    apbridge-latency usec:      min=1460 max=2296 average=1828.599976 jitter=836
    gpbridge-latency usec:      min=56 max=57 average=57.099998 jitter=1
