This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM62P: AM62P

Part Number: AM62P

Tool/software:

Hi, 

Referring to the performance guide link of SDK version 09_02_01_10 and SDK version 10_00_07_04.

https://software-dl.ti.com/processor-sdk-linux-rt/esd/AM62PX/09_02_01_10/exports/docs/devices/AM62PX/linux/Linux_Performance_Guide.html#id1

https://software-dl.ti.com/processor-sdk-linux/esd/AM62PX/10_00_07_04/exports/docs/devices/AM62PX/linux/Linux_Performance_Guide.html#emmc-driver

We would like to know the details on benchmark test application and the procedure used for evaluating the emmc read/write performance and also OSPI NOR flash read/write performance. 

Regards, 

Prabhu

  • Hello,

    These are the commands used to trigger the test for eMMC. Please note these commands are only available in default filesystem.

    cd /opt/ltp
    ./runltp -P am62pxx_sk-fs -f ddt/emmc_perf_ext4 -s "EMMC_L_PERF_EXT4_FIO_1G ",timeout=3600,perf_metrics_file=LSP/A-PCI/fio_parser.rb

    Attached are the sample test logs collected on TI AM62P HSFS board

    root@am62pxx-evm:~# cd /opt/ltp/
    root@am62pxx-evm:/opt/ltp# ./runltp -P am62pxx_sk-fs -f ddt/emmc_perf_ext4 -s "EMMC_L_PERF_EXT4_FIO_1G ",timeout=3600,perf_metrics_file=LSP/A-PCI/fio_parser.rb
    ...
    <<<test_start>>>
    tag=EMMC_L_PERF_EXT4_FIO_1G stime=170
    cmdline="source 'common.sh'; install_modules.sh "emmc"; do_cmd 'blk_device_filesystem_perf_test.sh -p "fio" -f "ext4" -s 1g -B "4m 1m 256k 4k" -d "emmc" '"
    contacts=""
    analysis=exit
    <<<test_output>>>
    incrementing stop
    |TRACE LOG|Inside do_cmd:CMD=blk_device_filesystem_perf_test.sh -p "fio" -f "ext4" -s 1g -B "4m 1m 256k 4k" -d "emmc" |
    ls -al /dev/disk/by-id
    total 0
    drwxr-xr-x 2 root root 160 Jan  1 00:00 .
    drwxr-xr-x 7 root root 140 Jan  1 00:00 ..
    lrwxrwxrwx 1 root root  13 Jan  1 00:00 mmc-G1M15L_0x2dc165d1 -> ../../mmcblk0
    lrwxrwxrwx 1 root root  15 Jan  1 00:00 mmc-G1M15L_0x2dc165d1-part1 -> ../../mmcblk0p1
    lrwxrwxrwx 1 root root  15 Jan  1 00:00 mmc-G1M15L_0x2dc165d1-part2 -> ../../mmcblk0p2
    lrwxrwxrwx 1 root root  13 Jan  1 00:00 mmc-SC16G_0x568ab999 -> ../../mmcblk1
    lrwxrwxrwx 1 root root  15 Jan  1 00:00 mmc-SC16G_0x568ab999-part1 -> ../../mmcblk1p1
    lrwxrwxrwx 1 root root  15 Jan  1 00:00 mmc-SC16G_0x568ab999-part2 -> ../../mmcblk1p2
    ls -al /dev/disk/by-path
    total 0
    drwxr-xr-x 2 root root 200 Jan  1 00:00 .
    drwxr-xr-x 7 root root 140 Jan  1 00:00 ..
    lrwxrwxrwx 1 root root  13 Jan  1 00:00 platform-fa00000.mmc -> ../../mmcblk1
    lrwxrwxrwx 1 root root  15 Jan  1 00:00 platform-fa00000.mmc-part1 -> ../../mmcblk1p1
    lrwxrwxrwx 1 root root  15 Jan  1 00:00 platform-fa00000.mmc-part2 -> ../../mmcblk1p2
    lrwxrwxrwx 1 root root  13 Jan  1 00:00 platform-fa10000.mmc -> ../../mmcblk0
    lrwxrwxrwx 1 root root  18 Jan  1 00:00 platform-fa10000.mmc-boot0 -> ../../mmcblk0boot0
    lrwxrwxrwx 1 root root  18 Jan  1 00:00 platform-fa10000.mmc-boot1 -> ../../mmcblk0boot1
    lrwxrwxrwx 1 root root  15 Jan  1 00:00 platform-fa10000.mmc-part1 -> ../../mmcblk0p1
    lrwxrwxrwx 1 root root  15 Jan  1 00:00 platform-fa10000.mmc-part2 -> ../../mmcblk0p2
    |TRACE LOG|DEV_NODE return from get_blk_device_node is: /dev/mmcblk0p2|
    |TRACE LOG|STARTING FILE SYSTEM PERFORMANCE Test for emmc|
    |TRACE LOG|FS_TYPE:ext4|
    |TRACE LOG|DEV_NODE:/dev/mmcblk0p2|
    |TRACE LOG|MOUNT POINT:/mnt/partition_emmc|
    |TRACE LOG|BUFFER SIZES:4m 1m 256k 4k|
    |TRACE LOG|FILE SIZE:1gMB|
    |TRACE LOG|SRCFILE SIZE:10MB|
    |TRACE LOG|DEVICE_TYPE:emmc|
    |TRACE LOG|Inside do_cmd:CMD=printout_model /dev/mmcblk0p2 emmc|
    |TRACE LOG|model info is not available for non scsi devices.|
    |TRACE LOG|Inside do_cmd:CMD=printout_mmc_ios|
    |TRACE LOG|===== printout of mmc ios =====|
    |TRACE LOG|Inside do_cmd:CMD=cat /sys/kernel/debug//mmc0/ios|
    clock:          200000000 Hz
    actual clock:   200000000 Hz
    vdd:            7 (1.65 - 1.95 V)
    bus mode:       2 (push-pull)
    chip select:    0 (don't care)
    power mode:     2 (on)
    bus width:      3 (8 bits)
    timing spec:    10 (mmc HS400)
    signal voltage: 1 (1.80 V)
    driver type:    0 (driver type B)
    |TRACE LOG|Inside do_cmd:CMD=cat /sys/kernel/debug//mmc1/ios|
    clock:          200000000 Hz
    actual clock:   200000000 Hz
    vdd:            21 (3.3 ~ 3.4 V)
    bus mode:       2 (push-pull)
    chip select:    0 (don't care)
    power mode:     2 (on)
    bus width:      2 (4 bits)
    timing spec:    6 (sd uhs SDR104)
    signal voltage: 1 (1.80 V)
    driver type:    0 (driver type B)
    |TRACE LOG|===== end of mmc ios =====|
    |TRACE LOG|Device Partition Size is 22159 MB|
    /opt/ltp/testcases/bin/ddt/blk/blk_device_filesystem_perf_test.sh: line 186: [: 1g: integer expression expected
    |TRACE LOG|Inside do_cmd:CMD=mkdir -p /mnt/partition_emmc|
    |TRACE LOG|Inside do_cmd:CMD=blk_device_prepare_format.sh -d emmc -n /dev/mmcblk0p2 -f ext4 -m /mnt/partition_emmc -o async|
    |TRACE LOG|DEV_NODE: /dev/mmcblk0p2|
    |TRACE LOG|MNT_POINT: /mnt/partition_emmc|
    |TRACE LOG|FS_TYPE: ext4|
    |TRACE LOG|MNT_MODE: async|
    |TRACE LOG|Erasing/Formatting this partition and then mount it|
    |TRACE LOG|Inside do_cmd:CMD=blk_device_erase_format_part.sh -d emmc -n /dev/mmcblk0p2 -f ext4 -m /mnt/partition_emmc|
    |TRACE LOG|DEVICE TYPE: emmc|
    |TRACE LOG|DEVICE NODE: /dev/mmcblk0p2|
    |TRACE LOG|FS TYPE: ext4|
    |TRACE LOG|Umount /dev/mmcblk0p2 or /dev/mmcblk0 if it is mounted|
    /dev/mmcblk0p2 on /run/media/mmcblk0p2 type ext4 (rw,relatime)
    |TRACE LOG|Inside do_cmd:CMD=umount /dev/mmcblk0p2|
    [  225.579004] EXT4-fs (mmcblk0p2): unmounting filesystem.
    |TRACE LOG|Inside do_cmd:CMD=mkfs.ext4 -E lazy_itable_init=1,lazy_journal_init=1 -F  /dev/mmcblk0p2|
    mke2fs 1.46.5 (30-Dec-2021)
    /dev/mmcblk0p2 contains a ext4 file system
            last mounted on /mnt/partition_emmc on Thu Jan  1 00:00:14 1970
    Discarding device blocks: done
    Creating filesystem with 5672704 4k blocks and 1419840 inodes
    Filesystem UUID: b255230c-952f-4a02-889b-d876c022f9e0
    Superblock backups stored on blocks:
            32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
            4096000
    
    Allocating group tables: done
    Writing inode tables: done
    Creating journal (32768 blocks): done
    Writing superblocks and filesystem accounting information: done
    
    |TRACE LOG|Inside do_cmd:CMD=blk_device_do_mount.sh -n /dev/mmcblk0p2 -f ext4 -d emmc -m /mnt/partition_emmc -o async|
    |TRACE LOG|Umount /mnt/partition_emmc if it is mounted|
    |TRACE LOG|Mounting the partition|
    |TRACE LOG|Inside do_cmd:CMD=mount -t ext4 -o async /dev/mmcblk0p2 /mnt/partition_emmc|
    [  231.220650] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Quota mode: none.
    |TRACE LOG|Inside do_cmd:CMD=mount | grep /mnt/partition_emmc|
    /dev/mmcblk0p2 on /mnt/partition_emmc type ext4 (rw,relatime)
    |TRACE LOG|BUFFER SIZE = 4m|
    |TRACE LOG|Inside do_cmd:CMD=fio --name emmc_TEST --directory=/mnt/partition_emmc --size=1g --rw=write --blocksize=4m --ioengine=libaio --iodepth=4 --numjobs=1 --direct=1 --group_reportin|
    |TRACE LOG|Inside do_cmd:CMD=sleep 5|
    emmc_TEST: (g=0): rw=write, bs=(R) 4096KiB-4096KiB, (W) 4096KiB-4096KiB, (T) 4096KiB-4096KiB, ioengine=libaio, iodepth=4
    fio-3.30
    Starting 1 process
    emmc_TEST: Laying out IO file (1 file / 1024MiB)
    |TRACE LOG|Inside do_cmd:CMD=wait|
    
    emmc_TEST: (groupid=0, jobs=1): err= 0: pid=2324: Thu Jan  1 00:04:57 1970
      write: IOPS=22, BW=90.5MiB/s (94.9MB/s)(5440MiB/60135msec); 0 zone resets
        slat (usec): min=571, max=131328, avg=4630.99, stdev=7924.73
        clat (msec): min=36, max=4259, avg=172.09, stdev=205.33
         lat (msec): min=71, max=4261, avg=176.73, stdev=205.02
        clat percentiles (msec):
         |  1.00th=[  106],  5.00th=[  150], 10.00th=[  150], 20.00th=[  153],
         | 30.00th=[  159], 40.00th=[  163], 50.00th=[  163], 60.00th=[  163],
         | 70.00th=[  165], 80.00th=[  165], 90.00th=[  167], 95.00th=[  169],
         | 99.00th=[  201], 99.50th=[  236], 99.90th=[ 4212], 99.95th=[ 4245],
         | 99.99th=[ 4245]
       bw (  KiB/s): min= 8192, max=106496, per=100.00%, avg=98358.92, stdev=9635.52, samples=113
       iops        : min=    2, max=   26, avg=23.93, stdev= 2.36, samples=113
      lat (msec)   : 50=0.07%, 100=0.88%, 250=98.68%, >=2000=0.37%
      cpu          : usr=1.99%, sys=2.60%, ctx=11075, majf=0, minf=22
      IO depths    : 1=0.1%, 2=0.1%, 4=99.8%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
         submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
         complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
         issued rwts: total=0,1360,0,0 short=0,0,0,0 dropped=0,0,0,0
         latency   : target=0, window=0, percentile=100.00%, depth=4
    
    Run status group 0 (all jobs):
      WRITE: bw=90.5MiB/s (94.9MB/s), 90.5MiB/s-90.5MiB/s (94.9MB/s-94.9MB/s), io=5440MiB (5704MB), run=60135-60135msec
    ...
    

    Regards,

    Prashant

  • Query is created in Private forum. Please, ignore this query. 

  • Hi, I have installed runltp and now I want to run the emmc performance test. 

    ./runltp -P am62pxx_sk-fs -f ddt/emmc_perf_ext4 -s "EMMC_L_PERF_EXT4_FIO_1G ",timeout=3600,perf_metrics_file=LSP/A-PCI/fio_parser.rb

    From the commands you mentioned, please let me know where do I find these file -f ddt/emmc_perf_ext4

  • Please note these commands are only available in default filesystem.

    As conveyed previously, anything required for the test is part of the default filesystem.