Hi Zhaoyang, Thank you for the patch! Yet something to improve:
[auto build test ERROR on tip/perf/core] [also build test ERROR on v4.16-rc7 next-20180329] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Zhaoyang-Huang/kernel-trace-check-the-val-against-the-available-mem/20180330-140917 config: i386-randconfig-x073-201812 (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 All error/warnings (new ones prefixed by >>): kernel/trace/trace.c: In function 'get_available_mem': >> kernel/trace/trace.c:5992:16: error: implicit declaration of function >> 'global_page_state'; did you mean 'zone_page_state'? >> [-Werror=implicit-function-declaration] pages[lru] = global_page_state(NR_LRU_BASE + lru); ^~~~~~~~~~~~~~~~~ zone_page_state In file included from include/asm-generic/bug.h:18:0, from arch/x86/include/asm/bug.h:83, from include/linux/bug.h:5, from include/linux/mmdebug.h:5, from include/linux/mm.h:9, from include/linux/ring_buffer.h:5, from kernel/trace/trace.c:14: include/linux/kernel.h:793:16: warning: comparison of distinct pointer types lacks a cast (void) (&min1 == &min2); \ ^ include/linux/kernel.h:802:2: note: in expansion of macro '__min' __min(typeof(x), typeof(y), \ ^~~~~ >> kernel/trace/trace.c:6004:3: note: in expansion of macro 'min' min(global_page_state(NR_SLAB_RECLAIMABLE) / 2, wmark_low); ^~~ cc1: some warnings being treated as errors vim +5992 kernel/trace/trace.c 5977 5978 static long get_available_mem(void) 5979 { 5980 struct sysinfo i; 5981 long available; 5982 unsigned long pagecache; 5983 unsigned long wmark_low = 0; 5984 unsigned long pages[NR_LRU_LISTS]; 5985 struct zone *zone; 5986 int lru; 5987 5988 si_meminfo(&i); 5989 si_swapinfo(&i); 5990 5991 for (lru = LRU_BASE; lru < NR_LRU_LISTS; lru++) > 5992 pages[lru] = global_page_state(NR_LRU_BASE + lru); 5993 5994 for_each_zone(zone) 5995 wmark_low += zone->watermark[WMARK_LOW]; 5996 5997 available = i.freeram - wmark_low; 5998 5999 pagecache = pages[LRU_ACTIVE_FILE] + pages[LRU_INACTIVE_FILE]; 6000 pagecache -= min(pagecache / 2, wmark_low); 6001 available += pagecache; 6002 6003 available += global_page_state(NR_SLAB_RECLAIMABLE) - > 6004 min(global_page_state(NR_SLAB_RECLAIMABLE) / 2, > wmark_low); 6005 6006 if (available < 0) 6007 available = 0; 6008 return available; 6009 } 6010 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
.config.gz
Description: application/gzip