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.

Linux/AM5728: About LTP memory test failed

Part Number: AM5728

Tool/software: Linux

Hi Sir 

We used processor SDK to do  LTP memory test tool  in AM5728 GPEVM and found it tested failed in latest SDK.

Below is the information

Linux Kernel    4.14.67+ (2018 LTS) -> 05_01_00_11 SDK (kernel version is 4.14.67) -> Test Failed

Linux Kernel    4.1.13+ (2015 LTS) -> 02.00.01 SDK (kernel version is 4.1.13) -> Test ok 

below is the log message

root@am57xx-evm:~# 
root@am57xx-evm:~# /opt/ltp/runltp -P am57xx-evm -f ddt/memtest -t 60s
INFO: creating /opt/ltp/results directory
INFO: Filtering testscenarios based on am57xx-evm capabilities
Checking for required user/group ids

'nobody' user id and group found.
'bin' user id and group found.
'daemon' user id and group found.
Users group found.
Sys group found.
Required users/groups exist.
If some fields are empty or look unusual you may have an old version.
Compare to the current minimal requirements in Documentation/Changes.
 
ID="arago"
NAME="Arago"
VERSION="2018.08"
VERSION_ID="2018.08"
PRETTY_NAME="Arago 2018.08"
Linux am57xx-evm 4.14.67-gd315a9bb00 #1 SMP PREEMPT Wed Nov 7 15:08:30 CST 2018 armv7l GNU/Linux
 
Gnu C                  gcc (Linaro GCC 7.2-2017.11) 7.2.1 20171011
Gnu make               4.2.1
util-linux             linux 2.30
mount                  linux 2.30 (libmount 2.30.0: btrfs, assert, debug)
modutils               24
e2fsprogs              1.43.5
Linux C Library        > libc.2.25
Dynamic linker (ldd)   2.25
Linux C++ Library      /../lib/libstdc++
Procps                 3.3.12
iproute2               iproute2-ss170501
iputils                'V'
Kbd                    2.0.4
Sh-utils               --v
Modules Loaded         sha512_generic sha512_arm sha256_generic sha1_generic sha1_arm_neon sha1_arm md5 cbc aes_arm_bs crypto_simd cryptd xfrm_user xfk

free reports:
              total        used        free      shared  buff/cache   available
Mem:        1866020      163440     1455108       31928      247472     1645656
Swap:             0           0           0

/proc/cpuinfo
processor       : 0
model name      : ARMv7 Processor rev 2 (v7l)
BogoMIPS        : 18.44
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm 
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x2
CPU part        : 0xc0f
CPU revision    : 2

processor       : 1
model name      : ARMv7 Processor rev 2 (v7l)
BogoMIPS        : 18.44
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm 
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x2
CPU part        : 0xc0f
CPU revision    : 2

Hardware        : Generic DRA74X (Flattened Device Tree)
Revision        : 0000
Serial          : 0800300c317200e2
no big block device was specified on commandline.
Tests which require a big block device are disabled.
You can specify it with option -z
COMMAND:    /opt/ltp/bin/ltp-pan   -e -S  -t 60s -a 2237     -n 2237 -p -f /tmp/ltp-XXXXkzEBhg/alltests -l /tmp/tmp.OWHRCd  -C /opt/ltp/output/LTP_RUN)
failed -T /opt/ltp/output/LTP_RUN_ON-tmp.OWHRCd.tconf
LOG File: /tmp/tmp.OWHRCd
FAILED COMMAND File: /opt/ltp/output/LTP_RUN_ON-tmp.OWHRCd.failed
TCONF COMMAND File: /opt/ltp/output/LTP_RUN_ON-tmp.OWHRCd.tconf
Running tests.......
PAN will run for 60 seconds
<<<test_start>>>
tag=MEMORY_S_FUNC_CHECKSIZE stime=1541648523
cmdline="source 'board_requirements.sh'; get_acceptable[  371.228674] LTP: starting MEMORY_S_FUNC_MEMTESTER_1pct_1time (source 'functions.sh'; run_mem)
_memory_size; min_mem_size=`echo "$expected_memory * 0.95 / 1" |bc`; [ $(free | grep Mem:| awk '{print $2};') -gt $min_mem_size ]"
contacts=""
analysis=exit
<<<test_output>>>
<<<execution_status>>>
initiation_status="ok"
duration=0 termination_type=exited termination_id=1 corefile=no
cutime=2 cstime=0
<<<test_end>>>
<<<test_start>>>
tag=MEMORY_S_FUNC_MEMTESTER_1pct_1time stime=1541648523
cmdline="source 'functions.sh'; run_memtest 1 1"
contacts=""
analysis=exit
<<<test_output>>>
sh2683:1541648523->1541648523(0):: Testing 18M of memory 1 times
memtester version 4.3.0 (32-bit)
Copyright (C) 2001-2012 Charles Cazabon.
Licensed under the GNU General Public License version 2 (only).

pagesize is 4096
pagesizemask is 0xfffff000
want 18MB (18874368 bytes)
got  18MB (18874368 bytes), trying mlock ...locked.
Loop 1/1:
  Stuck Address       : ok         
  Random Value        : ok
  Compare XOR         : ok
  Compare SUB         : ok
  Compare MUL         : ok
  Compare DIV         : ok
  Compare OR          : ok
  Compare AND         : ok
  Sequential Increment: ok
  Solid Bits          : ok         
  Block Sequential    : ok         
  Checkerboard        : ok         
  Bit Spread          : ok         
  Bit Flip            : ok         
  Walking Ones        : ok         
  Walking Zeroes      : ok         

Done.
sh2683:1541648523->1541648550(27):: killed cpuloadgen
sh2683:1541648523->1541648552(29):: killed memtest
[  400.616014] LTP: starting MEMORY_M_FUNC_MEMTESTER_10pct_1time (source 'functions.sh'; run_memtest 10 1)
<<<execution_status>>>
initiation_status="ok"
duration=29 termination_type=exited termination_id=0 corefile=no
cutime=2212 cstime=16
<<<test_end>>>
<<<test_start>>>
tag=MEMORY_M_FUNC_MEMTESTER_10pct_1time stime=1541648552
cmdline="source 'functions.sh'; run_memtest 10 1"
contacts=""
analysis=exit
<<<test_output>>>
sh2722:1541648552->1541648552(0):: Testing 182M of memory 1 times
memtester version 4.3.0 (32-bit)
Copyright (C) 2001-2012 Charles Cazabon.
Licensed under the GNU General Public License version 2 (only).

pagesize is 4096
pagesizemask is 0xfffff000
want 182MB (190840832 bytes)
got  182MB (190840832 bytes), trying mlock ...locked.
Loop 1/1:
  Stuck Address       : ok         
  Random Value        : ok
  Compare XOR         : ok
  Compare SUB         : ok
  Compare MUL         : ok
  Compare DIV         : ok
  Compare OR          : ok
  Compare AND         : ok
  Sequential Increment: ok
  Solid Bits          : ok         
  Block Sequential    : setting   4PAN stop Alarm was received
/opt/ltp/testcases/bin/ddt/common/functions.sh: line 346:  2741 Alarm clock             memtester $m$m2 $2
sh2722:1541648552->1541648588(36):: killed cpuloadgen
sh2722:1541648552->1541648590(38):: killed memtest
<<<execution_status>>>
initiation_status="ok"
duration=38 termination_type=driver_interrupt termination_id=14 corefile=no
cutime=3016 cstime=49
<<<test_end>>>
INFO: ltp-pan reported all tests PASS
LTP Version: 20180118
        
       ###############################################################"
        
            Done executing testcases."
            LTP Version:  20180118
            Result log is in the /tmp/tmp.OWHRCd "
       ###############################################################"
       
Test Start Time: Thu Nov  8 03:42:03 2018
-----------------------------------------
Testcase                       Result     Exit Value
--------                       ------     ----------
MEMORY_S_FUNC_CHECKSIZE        FAIL       1    
MEMORY_S_FUNC_MEMTESTER_1pct_1 PASS       0    
MEMORY_M_FUNC_MEMTESTER_10pct_ FAIL       14   

-----------------------------------------------
Total Tests: 13
Total Skipped Tests: 0
Total Failures: 2
Kernel Version: 4.14.67-gd315a9bb00
Machine Architecture: armv7l
Hostname: am57xx-evm

***************************************************************
***************************************************************

 _____                    _____           _         _   
|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_ 
|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|  
              |___|                    |___|            

Arago Project http://arago-project.org am57xx-evm /dev/ttyO2

Arago 2015.12 am57xx-evm /dev/ttyO2

am57xx-evm login: root
root@am57xx-evm:~#
root@am57xx-evm:~#
root@am57xx-evm:~#
root@am57xx-evm:~# /opt/ltp/runltp -P am57xx-evm -f ddt/memtest -t 60s
INFO: creating /opt/ltp/output directory
INFO: creating /opt/ltp/results directory
INFO: Filtering testscenarios based on am57xx-evm capabilities
Checking for required user/group ids

'nobody' user id and group found.
'bin' user id and group found.
'daemon' user id and group found.
Users group found.
Sys group found.
Required users/groups exist.
If some fields are empty or look unusual you may have an old version.
Compare to the current minimal requirements in Documentation/Changes.
 
/etc/issue:
 _____                    _____           _         _   
|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_ 
|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|  
              |___|                    |___|            

Arago Project http://arago-project.org \n \l

Arago 2015.12 \n \l

Linux am57xx-evm 4.1.13-g8dc6617 #1 SMP PREEMPT Thu Jan 28 14:18:18 EST 2016 armv7l GNU/Linux
 
Gnu C                  gcc (Linaro GCC 4.9-2015.03) 4.9.3 20150311 (prerelease)
Gnu make               4.1
util-linux             linux 2.25.2
mount                  linux 2.25.2 (libmount 2.25.0: assert, debug)
modutils               19
e2fsprogs              1.42.9
/opt/ltp/ver_linux: line 50: ldd: command not found
awk: cmd. line:2: (FILENAME=- FNR=1) fatal: attempt to access field -1
/opt/ltp/ver_linux: line 54: ldd: command not found
Linux C++ Library      /../lib/libstdc++
Procps                 '--version'
iproute2              iproute2-ss141009
Kbd                    2.0.2
Sh-utils               8.23
Modules Loaded         bluetooth ipv6 gdbserverproxy cryptodev cmemk xhci_plat_hcd xhci_hcd usbcore rpmsg_rpc dwc3 virtio_rpmsg_bus udc_core ahci_platg

free reports:
             total         used         free       shared      buffers
Mem:       1869864       320176      1549688         9292        11620
-/+ buffers:             308556      1561308
Swap:            0            0            0

/proc/cpuinfo
processor       : 0
model name      : ARMv7 Processor rev 2 (v7l)
BogoMIPS        : 14.45
Features        : half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm 
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x2
CPU part        : 0xc0f
CPU revision    : 2

processor       : 1
model name      : ARMv7 Processor rev 2 (v7l)
BogoMIPS        : 14.45
Features        : half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm 
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x2
CPU part        : 0xc0f
CPU revision    : 2

Hardware        : Generic DRA74X (Flattened Device Tree)
Revision        : 0000
Serial          : 0000000000000000
no big block device was specified on commandline.
Tests which require a big block device are disabled.
You can specify it with option -z
COMMAND:    /opt/ltp/bin/ltp-pan  -e -S  -t 60s -a 1176     -n 1176  -p  -f /tmp/ltp-WYMf6kSDZZ/alltests -l /tmp/tmp.VXJeYPcXg8  -C /opt/ltp/output/LTf
LOG File: /tmp/tmp.VXJeYPcXg8
FAILED COMMAND File: /opt/ltp/output/LTP_RUN_ON-tmp.VXJeYPcXg8.failed
TCONF COMMAND File: /opt/ltp/output/LTP_RUN_ON-tmp.VXJeYPcXg8.tconf
Running tests.......
PAN will run for 60 seconds
<<<test_start>>>
tag=MEMORY_S_FUNC_MEMTESTER_1pct_1time stime=1454015998
cmdline="source 'functions.sh'; run_memtest 1 1"
contacts=""
analysis=exit
<<<test_output>>>
sh1589:1454015998->1454015999(1):: Testing 18M of memory 1 times
memtester version 4.1.3 (32-bit)
Copyright (C) 2010 Charles Cazabon.
Licensed under the GNU General Public License version 2 (only).

pagesize is 4096
pagesizemask is 0xfffff000
want 18MB (18874368 bytes)
got  18MB (18874368 bytes), trying mlock ...locked.
Loop 1/1:
  Stuck Address       : ok         
  Random Value        : ok
  Compare XOR         : ok
  Compare SUB         : ok
  Compare MUL         : ok
  Compare DIV         : ok
  Compare OR          : ok
  Compare AND         : ok
  Sequential Increment: ok
  Solid Bits          : ok         
  Block Sequential    : ok         
  Checkerboard        : ok         
  Bit Spread          : ok         
  Bit Flip            : ok         
  Walking Ones        : ok         
  Walking Zeroes      : ok         

Done.
sh1589:1454015998->1454016020(22):: killed cpuloadgen
sh1589:1454015998->1454016022(24):: killed memtest
<<<execution_status>>>
initiation_status="ok"
duration=25 termination_type=exited termination_id=0 corefile=no
cutime=1574 cstime=10
<<<test_end>>>
<<<test_start>>>
tag=MEMORY_M_FUNC_MEMTESTER_10pct_1time stime=1454016023
cmdline="source 'functions.sh'; run_memtest 10 1"
contacts=""
analysis=exit
<<<test_output>>>
sh1629:1454016023->1454016023(0):: Testing 182M of memory 1 times
memtester version 4.1.3 (32-bit)
Copyright (C) 2010 Charles Cazabon.
Licensed under the GNU General Public License version 2 (only).

pagesize is 4096
pagesizemask is 0xfffff000
want 182MB (190840832 bytes)
got  182MB (190840832 bytes), trying mlock ...locked.
Loop 1/1:
  Stuck Address       : ok         
  Random Value        : ok
  Compare XOR         : ok
  Compare SUB         : ok
  Compare MUL         : ok
  Compare DIV         : ok
  Compare OR          : ok
  Compare AND         : ok
  Sequential Increment: ok
  Solid Bits          : ok         
  Block Sequential    : testing  59PAN stop Alarm was received
/opt/ltp/testcases/bin/ddt/common/functions.sh: line 340:  1648 Alarm clock             memtester $m$m2 $2
sh1629:1454016023->1454016064(41):: killed cpuloadgen
sh1629:1454016023->1454016066(43):: killed memtest
<<<execution_status>>>
initiation_status="ok"
duration=43 termination_type=driver_interrupt termination_id=14 corefile=no
cutime=3527 cstime=37
<<<test_end>>>
INFO: ltp-pan reported all tests PASS
LTP Version: 20150119
        
       ###############################################################"
        
            Done executing testcases."
            LTP Version:  20150119
            Result log is in the /tmp/tmp.VXJeYPcXg8 "
       ###############################################################"
       
Test Start Time: Thu Jan 28 21:19:58 2016
-----------------------------------------
Testcase                       Result     Exit Value
--------                       ------     ----------
MEMORY_S_FUNC_MEMTESTER_1pct_1 PASS       0    
MEMORY_M_FUNC_MEMTESTER_10pct_ FAIL       14   

-----------------------------------------------
Total Tests: 11
Total Skipped Tests: 0
Total Failures: 1
Kernel Version: 4.1.13-g8dc6617
Machine Architecture: armv7l
Hostname: am57xx-evm

root@am57xx-evm:~# 
96185 bytes read in 33 ms (2.8 MiB/s)

Please advise

BR

Yimin

  • Yimin,

    I've reproduced your results and will be looking into this further. Thanks for reporting it to us.
  • Yimin,

    The test checks that total memory is >= than a minimum defined in board_requirements.sh as below:

    # Return expected memory size (in kB) for running platform

    case $MACHINE in
    omapl138-lcdk)
    expected_memory=123100 ;;
    k2g-ice)
    expected_memory=383992 ;;
    beaglebone-black)
    expected_memory=495788 ;;
    am335x-evm)
    expected_memory=1015116 ;;
    k2hk-evm|k2l-evm)
    expected_memory=1415144 ;;
    am43xx-gpevm|am57*|dra71x*|dra72x*|k2g-evm)
    expected_memory=2065756 ;;
    k2e-evm)
    expected_memory=3494192 ;;
    am65*|dra7xx*|dra76x*)
    expected_memory=4123488 ;;
    esac

    I believe we are carving out some memory for non-Linux usage (most likely for DSP IPC) and hence total memory is less than value defined above.

    This test is not part of our test plan as there is no requirement for specific amount of Linux memory. Different boards have different amounts of memory, for example.

    You can run memtest by specifying the actual test case to avoid running all tests specified in the scenario file which are executed in sequential order.

    A command like the one below should work better:

    /opt/ltp/runltp -P am57xx-evm -f ddt/memtest -s MEMORY_L_FUNC_MEMTESTER_50pct_1time

    Or you could go in and tweak board_requirements.sh with a more appropriate memory size to use.

    I hope this is helpful to you.