1*49cdfc7eSAndroid Build Coastguard Worker /* SPDX-License-Identifier: GPL-2.0-only 2*49cdfc7eSAndroid Build Coastguard Worker * Copyright (C) 2011 Red Hat, Inc. 3*49cdfc7eSAndroid Build Coastguard Worker * Copyright (C) 2021 Xie Ziyao <[email protected]> 4*49cdfc7eSAndroid Build Coastguard Worker */ 5*49cdfc7eSAndroid Build Coastguard Worker 6*49cdfc7eSAndroid Build Coastguard Worker #ifndef LTP_GETRUSAGE03_H 7*49cdfc7eSAndroid Build Coastguard Worker #define LTP_GETRUSAGE03_H 8*49cdfc7eSAndroid Build Coastguard Worker 9*49cdfc7eSAndroid Build Coastguard Worker #include "tst_test.h" 10*49cdfc7eSAndroid Build Coastguard Worker 11*49cdfc7eSAndroid Build Coastguard Worker #define DELTA_MAX 20480 12*49cdfc7eSAndroid Build Coastguard Worker consume_mb(int consume_nr)13*49cdfc7eSAndroid Build Coastguard Workerstatic void consume_mb(int consume_nr) 14*49cdfc7eSAndroid Build Coastguard Worker { 15*49cdfc7eSAndroid Build Coastguard Worker void *ptr; 16*49cdfc7eSAndroid Build Coastguard Worker size_t size; 17*49cdfc7eSAndroid Build Coastguard Worker unsigned long vmswap_size; 18*49cdfc7eSAndroid Build Coastguard Worker 19*49cdfc7eSAndroid Build Coastguard Worker mlockall(MCL_CURRENT|MCL_FUTURE); 20*49cdfc7eSAndroid Build Coastguard Worker 21*49cdfc7eSAndroid Build Coastguard Worker size = consume_nr * 1024 * 1024; 22*49cdfc7eSAndroid Build Coastguard Worker ptr = SAFE_MALLOC(size); 23*49cdfc7eSAndroid Build Coastguard Worker memset(ptr, 0, size); 24*49cdfc7eSAndroid Build Coastguard Worker 25*49cdfc7eSAndroid Build Coastguard Worker SAFE_FILE_LINES_SCANF("/proc/self/status", "VmSwap: %lu", &vmswap_size); 26*49cdfc7eSAndroid Build Coastguard Worker if (vmswap_size > 0) 27*49cdfc7eSAndroid Build Coastguard Worker tst_brk(TBROK, "VmSwap is not zero"); 28*49cdfc7eSAndroid Build Coastguard Worker } 29*49cdfc7eSAndroid Build Coastguard Worker is_in_delta(long value)30*49cdfc7eSAndroid Build Coastguard Workerstatic int is_in_delta(long value) 31*49cdfc7eSAndroid Build Coastguard Worker { 32*49cdfc7eSAndroid Build Coastguard Worker return (value >= -DELTA_MAX && value <= DELTA_MAX); 33*49cdfc7eSAndroid Build Coastguard Worker } 34*49cdfc7eSAndroid Build Coastguard Worker 35*49cdfc7eSAndroid Build Coastguard Worker #endif //LTP_GETRUSAGE03_H 36