From cbe2b2149df099cfbeb67f7f462cc02d0f75fd2e Mon Sep 17 00:00:00 2001 From: Masamichi Takagi Date: Tue, 16 Jun 2020 04:34:40 +0900 Subject: [PATCH] Revert "sysinfo, procfs: Support memory info partially" This reverts commit 8f74888f8736d88f09d6775fdb984b91682c3916. Change-Id: I65530dd8a4e1af2ca47cb02c02f5c54a9b4595a5 --- arch/arm64/kernel/include/syscall_list.h | 1 - arch/x86_64/kernel/include/syscall_list.h | 1 - executer/kernel/mcctrl/procfs.c | 1 - kernel/include/rusage_private.h | 36 ---------- kernel/include/syscall.h | 16 ----- kernel/procfs.c | 23 ------ kernel/syscall.c | 21 ------ test/issues/1389/C1389.sh | 43 ----------- test/issues/1389/C1389T01.c | 65 ----------------- test/issues/1389/C1389T02.sh | 88 ----------------------- test/issues/1389/Makefile | 11 --- test/issues/1389/README | 46 ------------ test/issues/1389/aarch64_result.log | 77 -------------------- test/issues/1389/x86_64_result.log | 77 -------------------- 14 files changed, 506 deletions(-) delete mode 100755 test/issues/1389/C1389.sh delete mode 100644 test/issues/1389/C1389T01.c delete mode 100755 test/issues/1389/C1389T02.sh delete mode 100644 test/issues/1389/Makefile delete mode 100644 test/issues/1389/README delete mode 100644 test/issues/1389/aarch64_result.log delete mode 100644 test/issues/1389/x86_64_result.log diff --git a/arch/arm64/kernel/include/syscall_list.h b/arch/arm64/kernel/include/syscall_list.h index b8eb0158..850d3635 100644 --- a/arch/arm64/kernel/include/syscall_list.h +++ b/arch/arm64/kernel/include/syscall_list.h @@ -83,7 +83,6 @@ SYSCALL_HANDLED(175, geteuid) SYSCALL_HANDLED(176, getgid) SYSCALL_HANDLED(177, getegid) SYSCALL_HANDLED(178, gettid) -SYSCALL_HANDLED(179, sysinfo) SYSCALL_DELEGATED(188, msgrcv) SYSCALL_DELEGATED(189, msgsnd) SYSCALL_DELEGATED(192, semtimedop) diff --git a/arch/x86_64/kernel/include/syscall_list.h b/arch/x86_64/kernel/include/syscall_list.h index e401427a..b6bf4d55 100644 --- a/arch/x86_64/kernel/include/syscall_list.h +++ b/arch/x86_64/kernel/include/syscall_list.h @@ -74,7 +74,6 @@ SYSCALL_DELEGATED(89, readlink) SYSCALL_HANDLED(96, gettimeofday) SYSCALL_HANDLED(97, getrlimit) SYSCALL_HANDLED(98, getrusage) -SYSCALL_HANDLED(99, sysinfo) SYSCALL_HANDLED(100, times) SYSCALL_HANDLED(101, ptrace) SYSCALL_HANDLED(102, getuid) diff --git a/executer/kernel/mcctrl/procfs.c b/executer/kernel/mcctrl/procfs.c index dbc3e381..b9c3683e 100644 --- a/executer/kernel/mcctrl/procfs.c +++ b/executer/kernel/mcctrl/procfs.c @@ -1130,7 +1130,6 @@ static const struct procfs_entry base_entry_stuff[] = { // PROC_REG("cpuinfo", S_IRUGO, NULL), #endif /* POSTK_DEBUG_ARCH_DEP_42 */ // PROC_REG("meminfo", S_IRUGO, NULL), - PROC_REG("meminfo", S_IRUGO, &mckernel_buff_io), // PROC_REG("pagetypeinfo",S_IRUGO, NULL), // PROC_REG("softirq", S_IRUGO, NULL), PROC_REG("stat", 0444, &mckernel_buff_io), diff --git a/kernel/include/rusage_private.h b/kernel/include/rusage_private.h index 70235eda..d5fc8aad 100644 --- a/kernel/include/rusage_private.h +++ b/kernel/include/rusage_private.h @@ -56,24 +56,6 @@ rusage_total_memory_add(unsigned long size) #endif } -static inline unsigned long -rusage_get_total_memory() -{ - return rusage.total_memory; -} - -static inline unsigned long -rusage_get_free_memory() -{ - return rusage.total_memory - rusage.total_memory_usage; -} - -static inline unsigned long -rusage_get_usage_memory() -{ - return rusage.total_memory_usage; -} - static inline void rusage_rss_add(unsigned long size) { @@ -417,24 +399,6 @@ rusage_rss_add(unsigned long size) { } -static inline unsigned long -rusage_get_total_memory() -{ - return 0; -} - -static inline unsigned long -rusage_get_free_memory() -{ - return 0; -} - -static inline unsigned long -rusage_get_usage_memory() -{ - return 0; -} - static inline void rusage_rss_sub(unsigned long size) { diff --git a/kernel/include/syscall.h b/kernel/include/syscall.h index da8f33ee..02f1c569 100644 --- a/kernel/include/syscall.h +++ b/kernel/include/syscall.h @@ -443,22 +443,6 @@ struct rusage { long ru_nivcsw; }; -struct sysinfo { - long uptime; /* Seconds since boot */ - unsigned long loads[3]; /* 1, 5, and 15 minute load averages */ - unsigned long totalram; /* Total usable main memory size */ - unsigned long freeram; /* Available memory size */ - unsigned long sharedram; /* Amount of shared memory */ - unsigned long bufferram; /* Memory used by buffers */ - unsigned long totalswap; /* Total swap space size */ - unsigned long freeswap; /* swap space still available */ - unsigned short procs; /* Number of current processes */ - unsigned long totalhigh; /* Total high memory size */ - unsigned long freehigh; /* Available high memory size */ - unsigned int mem_unit; /* Memory unit size in bytes */ - char _f[20-2*sizeof(long)-sizeof(int)]; /* Padding for libc5 */ -}; - extern void terminate(int, int); struct tod_data_s { diff --git a/kernel/procfs.c b/kernel/procfs.c index a7297b38..ca91a8dd 100644 --- a/kernel/procfs.c +++ b/kernel/procfs.c @@ -26,7 +26,6 @@ #include #include #include -#include //#define DEBUG_PRINT_PROCFS @@ -360,28 +359,6 @@ static int _process_procfs_request(struct ikc_scd_packet *rpacket, int *result) goto end; } #endif /* POSTK_DEBUG_ARCH_DEP_42 */ - else if (!strcmp(p, "meminfo")) { - ans = snprintf(buf, count, - "MemTotal: %10d kB\n" - "MemFree: %10d kB\n" - "SwapTotal: %10d kB\n" - "SwapFree: %10d kB\n" - "CommitLimit: %10d kB\n" - "Committed_AS: %10d kB\n", - rusage_get_total_memory() >> 10, - rusage_get_free_memory() >> 10, - 0, 0, - rusage_get_free_memory() >> 10, - rusage_get_usage_memory() >> 10); - - if (ans < 0 || ans > count || - buf_add(&buf_top, &buf_cur, buf, ans) < 0) { - goto err; - } - - ans = 0; - goto end; - } else { kprintf("unsupported procfs entry: %s\n", p); goto end; diff --git a/kernel/syscall.c b/kernel/syscall.c index b1c28740..99f8df93 100644 --- a/kernel/syscall.c +++ b/kernel/syscall.c @@ -6685,27 +6685,6 @@ SYSCALL_DECLARE(getrusage) return 0; } -SYSCALL_DECLARE(sysinfo) -{ - struct sysinfo *sysinfo = (struct sysinfo *)ihk_mc_syscall_arg0(ctx); - struct sysinfo __sysinfo; - int ret = 0; - - memset(&__sysinfo, '\0', sizeof(struct sysinfo)); - - __sysinfo.totalram = rusage_get_total_memory(); - __sysinfo.freeram = rusage_get_free_memory(); - __sysinfo.mem_unit = 1; // always one unit for McKernel - - if (copy_to_user(sysinfo, &__sysinfo, sizeof(struct sysinfo))) { - ret = -EFAULT; - goto out; - } - -out: - return ret; -} - extern int ptrace_traceme(void); extern void set_single_step(struct thread *thread); diff --git a/test/issues/1389/C1389.sh b/test/issues/1389/C1389.sh deleted file mode 100755 index 695c8ec7..00000000 --- a/test/issues/1389/C1389.sh +++ /dev/null @@ -1,43 +0,0 @@ -#/bin/sh - -USELTP=1 -USEOSTEST=0 - -BOOTPARAM="-c 1-7 -m 10G@0,10G@1 -O" -. ../../common.sh - -issue="1389" -tid=01 - -for tsuf in "01" "02.sh" -do - tname=`printf "C${issue}T%02d" ${tid}` - echo "*** ${tname} start *******************************" - ${MCEXEC} ./C1389T${tsuf} - - if [ $? -eq 0 ]; then - echo "*** ${tname} PASSED ******************************" - else - echo "*** ${tname} FAILED ******************************" - fi - let tid++ - echo "" -done - -for tp in "mtest01 -p80" "mtest01 -p80 -w" "mem01" -do - tname=`printf "C${issue}T%02d" ${tid}` - echo "*** ${tname} start *******************************" -echo ${tp} - sudo $MCEXEC $LTPBIN/$tp 2>&1 | tee ${tname}.txt - ok=`grep PASS ${tname}.txt | wc -l` - ng=`grep FAIL ${tname}.txt | wc -l` - if [ $ng = 0 ]; then - echo "*** ${tname} PASSED ($ok)" - else - echo "*** ${tname} FAILED (ok=$ok ng=$ng)" - fi - let tid++ - echo "" -done - diff --git a/test/issues/1389/C1389T01.c b/test/issues/1389/C1389T01.c deleted file mode 100644 index 2c67dfe3..00000000 --- a/test/issues/1389/C1389T01.c +++ /dev/null @@ -1,65 +0,0 @@ -#include -#include -#include -#include -#include - -int main(void) -{ - struct sysinfo *info; - int ret = 0, rc = 0; - unsigned long assigned_mem = (20UL << 30); - unsigned long _totalram, _freeram; - unsigned int _mem_unit; - - info = malloc(sizeof(struct sysinfo)); - rc = sysinfo(info); - if (rc) { - perror("sysinfo fail: "); - ret = -1; - goto out; - } - - _totalram = info->totalram; - _freeram = info->freeram; - _mem_unit = info->mem_unit; - - // Check totalram - if (0.95 * assigned_mem < _totalram && - _totalram < assigned_mem) { - printf("[OK] totalram: %ld\n", _totalram); - } - else { - printf("[NG] unexpected totalram: %ld\n", _totalram); - printf(" expected range: %ld - %ld\n", - (unsigned long)(0.95 * assigned_mem), - assigned_mem); - ret = -1; - goto out; - } - - // Check freeram - if (0.95 * _totalram < _freeram && - _freeram < _totalram) { - printf("[OK] freeram: %ld\n", _freeram); - } - else { - printf("[NG] unexpected freeram: %ld\n", _freeram); - ret = -1; - goto out; - } - - // Check mem_unit - if (_mem_unit == 1) { - printf("[OK] mem_unit: %ld\n", _mem_unit); - } - else { - printf("[NG] unexpected mem_unit: %ld\n", _mem_unit); - ret = -1; - goto out; - } - - free(info); -out: - return ret; -} diff --git a/test/issues/1389/C1389T02.sh b/test/issues/1389/C1389T02.sh deleted file mode 100755 index 48ce748c..00000000 --- a/test/issues/1389/C1389T02.sh +++ /dev/null @@ -1,88 +0,0 @@ -#!/bin/sh - -ASSIGNED_MEM=`echo '1024 * 1024 * 1024 * 20' | bc` -cat /proc/meminfo > ./cur_meminfo.txt - -# Check MemTotal -MemTotalTxt=`cat ./cur_meminfo.txt | grep MemTotal | awk '{print $(NF-1)}'` -MemTotal=`echo "1024 * ${MemTotalTxt}" | bc` - -lower_limit=`echo "${ASSIGNED_MEM} * 0.95" | bc` -lower_limit=${lower_limit%.*} -upper_limit=${ASSIGNED_MEM} -tgt=${MemTotal} - -if [ ${tgt} -ge ${lower_limit} -a ${tgt} -lt ${upper_limit} ]; then - echo "[OK] MemTotal: ${tgt}" -else - echo "[NG] unexpected MemTotal: ${tgt}" - exit 1 -fi - -# Check MemFree -MemFreeTxt=`cat ./cur_meminfo.txt | grep MemFree | awk '{print $(NF-1)}'` -MemFree=`echo "1024 * ${MemFreeTxt}" | bc` - -lower_limit=`echo "${MemTotal} * 0.95" | bc` -lower_limit=${lower_limit%.*} -upper_limit=${MemTotal} -tgt=${MemFree} - -if [ ${tgt} -ge ${lower_limit} -a ${tgt} -lt ${upper_limit} ]; then - echo "[OK] MemFree: ${tgt}" -else - echo "[NG] unexpected MemFree: ${tgt}" - exit 1 -fi - -# Check SwapTotal -SwapTotalTxt=`cat ./cur_meminfo.txt | grep SwapTotal | awk '{print $(NF-1)}'` -SwapTotal=`echo "1024 * ${SwapTotalTxt}" | bc` - -tgt=${SwapTotal} - -if [ ${tgt} -eq 0 ]; then - echo "[OK] SwapTotal: ${tgt}" -else - echo "[NG] unexpected SwapTotal: ${tgt}" - exit 1 -fi - -# Check SwapFree -SwapFreeTxt=`cat ./cur_meminfo.txt | grep SwapFree | awk '{print $(NF-1)}'` -SwapFree=`echo "1024 * ${SwapFreeTxt}" | bc` - -tgt=${SwapFree} - -if [ ${tgt} -eq 0 ]; then - echo "[OK] SwapFree: ${tgt}" -else - echo "[NG] unexpected SwapFree: ${tgt}" - exit 1 -fi - -# Check CommitLimit -CommitLimitTxt=`cat ./cur_meminfo.txt | grep CommitLimit | awk '{print $(NF-1)}'` -CommitLimit=`echo "1024 * ${CommitLimitTxt}" | bc` - -tgt=${CommitLimit} - -if [ ${tgt} -eq ${MemFree} ]; then - echo "[OK] CommitLimit: ${tgt}" -else - echo "[NG] unexpected CommitLimit: ${tgt}" - exit 1 -fi - -# Check Committed_AS -Committed_ASTxt=`cat ./cur_meminfo.txt | grep Committed_AS | awk '{print $(NF-1)}'` -Committed_AS=`echo "1024 * ${Committed_ASTxt}" | bc` - -tgt=${Committed_AS} - -if [ ${tgt} -eq $((${MemTotal} - ${MemFree})) ]; then - echo "[OK] Committed_AS: ${tgt}" -else - echo "[NG] unexpected Committed_AS: ${tgt}" - exit 1 -fi diff --git a/test/issues/1389/Makefile b/test/issues/1389/Makefile deleted file mode 100644 index e75ede36..00000000 --- a/test/issues/1389/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -CFLAGS=-g -LDFLAGS= - -TARGET=C1389T01 - -all: $(TARGET) - -test: all - sh ./C1389.sh -clean: - rm -f $(TARGET) *.o *.txt diff --git a/test/issues/1389/README b/test/issues/1389/README deleted file mode 100644 index 9cca353e..00000000 --- a/test/issues/1389/README +++ /dev/null @@ -1,46 +0,0 @@ -【Issue#1389 動作確認】 -□ テスト内容 -本Issueの対応で、sysinfo()と/proc/meminfo の下記項目においてMcKernelの情報を -返すようにした。 -[sysinfo] - totalram : rusage_global の total_memory - freeram : rusage_global の total_memory - usage_memory - mem_unit : 常に1 -[/proc/meminfo] - MemTotal : rusage_global の total_memory - MemFree : rusage_global の total_memory - usage_memory - SwapTotal : 常に0 - SwapFree : 常に0 - CommitLimit : rusage_global の total_memory - usage_memory - Committed_AS : rusage_global の usage_memory - -1. 本Issueで対応したsysinfo() と /proc/meminfo の値が想定どおりとなっていることを確認 -McKernelへのメモリ割り当てを 10G@0,10G@1 とした状態で下記プログラムを実行 -C1389T01: sysinfo() で取得される値が下記のとおりであることを確認 - totalram : 20GiB * 0.95 以上、20GiB 未満であること - freeram : totralram * 0.95 以上、totalram 未満であること - mem_unit : 1 であること -C1389T02: /proc/meminfo から取得される値が下記のとおりであることを確認 - MemTotal : 20GiB * 0.95 以上、20GiB 未満であること - MemFree : MemTotal * 0.95 以上、MemTotal 未満であること - SwapTotal : 0 であること - SwapFree : 0 であること - CommitLimit : MemFreeと同値であること - Committed_AS : MemTotal - MemFree と同値であること - -2. 本Issueで対応したsysinfo() の項目を利用する以下のLTPを実行し、PASSすることを確認 - - mtest01 -p80 - - mtest01 -p80 -w - - mem01 - -□ 実行手順 -$ make test - -McKernelのインストール先や、OSTEST, LTPの配置場所は、 -$HOME/.mck_test_config を参照している -.mck_test_config は、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを -$HOMEにコピーし、適宜編集する - -□ 実行結果 -x86_64_result.log aarch64_result.log 参照。 -すべての項目をPASSしていることを確認。 diff --git a/test/issues/1389/aarch64_result.log b/test/issues/1389/aarch64_result.log deleted file mode 100644 index dded9a0b..00000000 --- a/test/issues/1389/aarch64_result.log +++ /dev/null @@ -1,77 +0,0 @@ -sh ./C1389.sh -mcstop+release.sh ... done -mcreboot.sh -c 1-7 -m 10G@0,10G@1 -O ... done -*** C1389T01 start ******************************* -[OK] totalram: 21472215040 -[OK] freeram: 21461794816 -[OK] mem_unit: 1 -*** C1389T01 PASSED ****************************** - -*** C1389T02 start ******************************* -[OK] MemTotal: 21472215040 -[OK] MemFree: 21452750848 -[OK] SwapTotal: 0 -[OK] SwapFree: 0 -[OK] CommitLimit: 21452750848 -[OK] Committed_AS: 19464192 -*** C1389T02 PASSED ****************************** - -*** C1389T03 start ******************************* -mtest01 -p80 -tst_test.c:1096: INFO: Timeout per run is 0h 05m 00s -mtest01.c:134: INFO: Filling up 80% of free ram which is 16760729 kbytes -mtest01.c:149: INFO: ... child 50935 starting -mtest01.c:149: INFO: ... child 50944 starting -mtest01.c:149: INFO: ... child 50953 starting -mtest01.c:149: INFO: ... child 50962 starting -mtest01.c:149: INFO: ... child 50971 starting -mtest01.c:149: INFO: ... child 50980 starting -mtest01.c:169: INFO: ... [t=300] 1434451968 bytes allocated only in child 50980 -mtest01.c:169: INFO: ... [t=299] 3145728000 bytes allocated only in child 50935 -mtest01.c:169: INFO: ... [t=299] 3145728000 bytes allocated only in child 50944 -mtest01.c:169: INFO: ... [t=299] 3145728000 bytes allocated only in child 50953 -mtest01.c:169: INFO: ... [t=299] 3145728000 bytes allocated only in child 50962 -mtest01.c:169: INFO: ... [t=299] 3145728000 bytes allocated only in child 50971 -mtest01.c:221: PASS: 16760729 kbytes allocated - -Summary: -passed 1 -failed 0 -skipped 0 -warnings 0 -*** C1389T03 PASSED (1) - -*** C1389T04 start ******************************* -mtest01 -p80 -w -tst_test.c:1096: INFO: Timeout per run is 0h 05m 00s -mtest01.c:134: INFO: Filling up 80% of free ram which is 16759654 kbytes -mtest01.c:149: INFO: ... child 51017 starting -mtest01.c:149: INFO: ... child 51026 starting -mtest01.c:149: INFO: ... child 51035 starting -mtest01.c:149: INFO: ... child 51044 starting -mtest01.c:149: INFO: ... child 51053 starting -mtest01.c:149: INFO: ... child 51062 starting -mtest01.c:166: INFO: ... [t=300] 1433403392 bytes allocated and used in child 51062 -mtest01.c:166: INFO: ... [t=299] 3145728000 bytes allocated and used in child 51017 -mtest01.c:166: INFO: ... [t=299] 3145728000 bytes allocated and used in child 51026 -mtest01.c:166: INFO: ... [t=299] 3145728000 bytes allocated and used in child 51035 -mtest01.c:166: INFO: ... [t=299] 3145728000 bytes allocated and used in child 51044 -mtest01.c:166: INFO: ... [t=299] 3145728000 bytes allocated and used in child 51053 -mtest01.c:221: PASS: 16759654 kbytes allocated (and written to) - -Summary: -passed 1 -failed 0 -skipped 0 -warnings 0 -*** C1389T04 PASSED (1) - -*** C1389T05 start ******************************* -mem01 -mem01 0 TINFO : Free Mem: 20465 Mb -mem01 0 TINFO : Free Swap: 0 Mb -mem01 0 TINFO : Total Free: 20465 Mb -mem01 0 TINFO : Total Tested: 3056 Mb -mem01 0 TINFO : touching 3056MB of malloc'ed memory (linear) -mem01 1 TPASS : malloc - alloc of 3056MB succeeded -*** C1389T05 PASSED (1) diff --git a/test/issues/1389/x86_64_result.log b/test/issues/1389/x86_64_result.log deleted file mode 100644 index 62fd9c2d..00000000 --- a/test/issues/1389/x86_64_result.log +++ /dev/null @@ -1,77 +0,0 @@ -sh ./C1389.sh -mcstop+release.sh ... done -mcreboot.sh -c 1-7 -m 10G@0,10G@1 -O ... done -*** C1389T01 start ******************************* -[OK] totalram: 21463240704 -[OK] freeram: 21459673088 -[OK] mem_unit: 1 -*** C1389T01 PASSED ****************************** - -*** C1389T02 start ******************************* -[OK] MemTotal: 21463240704 -[OK] MemFree: 21453983744 -[OK] SwapTotal: 0 -[OK] SwapFree: 0 -[OK] CommitLimit: 21453983744 -[OK] Committed_AS: 9256960 -*** C1389T02 PASSED ****************************** - -*** C1389T03 start ******************************* -mtest01 -p80 -tst_test.c:1096: INFO: Timeout per run is 0h 05m 00s -mtest01.c:134: INFO: Filling up 80% of free ram which is 16762396 kbytes -mtest01.c:149: INFO: ... child 20718 starting -mtest01.c:149: INFO: ... child 20727 starting -mtest01.c:149: INFO: ... child 20736 starting -mtest01.c:149: INFO: ... child 20745 starting -mtest01.c:149: INFO: ... child 20754 starting -mtest01.c:149: INFO: ... child 20763 starting -mtest01.c:169: INFO: ... [t=300] 1436549120 bytes allocated only in child 20763 -mtest01.c:169: INFO: ... [t=299] 3145728000 bytes allocated only in child 20718 -mtest01.c:169: INFO: ... [t=299] 3145728000 bytes allocated only in child 20727 -mtest01.c:169: INFO: ... [t=299] 3145728000 bytes allocated only in child 20736 -mtest01.c:169: INFO: ... [t=299] 3145728000 bytes allocated only in child 20745 -mtest01.c:169: INFO: ... [t=299] 3145728000 bytes allocated only in child 20754 -mtest01.c:221: PASS: 16762396 kbytes allocated - -Summary: -passed 1 -failed 0 -skipped 0 -warnings 0 -*** C1389T03 PASSED (1) - -*** C1389T04 start ******************************* -mtest01 -p80 -w -tst_test.c:1096: INFO: Timeout per run is 0h 05m 00s -mtest01.c:134: INFO: Filling up 80% of free ram which is 16761132 kbytes -mtest01.c:149: INFO: ... child 20802 starting -mtest01.c:149: INFO: ... child 20811 starting -mtest01.c:149: INFO: ... child 20820 starting -mtest01.c:149: INFO: ... child 20829 starting -mtest01.c:149: INFO: ... child 20838 starting -mtest01.c:149: INFO: ... child 20847 starting -mtest01.c:166: INFO: ... [t=300] 1435500544 bytes allocated and used in child 20847 -mtest01.c:166: INFO: ... [t=299] 3145728000 bytes allocated and used in child 20802 -mtest01.c:166: INFO: ... [t=299] 3145728000 bytes allocated and used in child 20811 -mtest01.c:166: INFO: ... [t=299] 3145728000 bytes allocated and used in child 20820 -mtest01.c:166: INFO: ... [t=299] 3145728000 bytes allocated and used in child 20829 -mtest01.c:166: INFO: ... [t=299] 3145728000 bytes allocated and used in child 20838 -mtest01.c:221: PASS: 16761132 kbytes allocated (and written to) - -Summary: -passed 1 -failed 0 -skipped 0 -warnings 0 -*** C1389T04 PASSED (1) - -*** C1389T05 start ******************************* -mem01 -mem01 0 TINFO : Free Mem: 20463 Mb -mem01 0 TINFO : Free Swap: 0 Mb -mem01 0 TINFO : Total Free: 20463 Mb -mem01 0 TINFO : Total Tested: 3056 Mb -mem01 0 TINFO : touching 3056MB of malloc'ed memory (linear) -mem01 1 TPASS : malloc - alloc of 3056MB succeeded -*** C1389T05 PASSED (1)