From: kbuild test robot <lkp@intel.com>
To: Zhaoyang Huang <huangzhaoyang@gmail.com>
Cc: kbuild-all@01.org, Steven Rostedt <rostedt@goodmis.org>,
Ingo Molnar <mingo@kernel.org>,
linux-kernel@vger.kernel.org, kernel-patch-test@lists.linaro.org
Subject: Re: [Kernel-patch-test] [PATCH v1] kernel/trace:check the val against the available mem
Date: Fri, 30 Mar 2018 14:54:53 +0800 [thread overview]
Message-ID: <201803301407.HUmjWXO8%fengguang.wu@intel.com> (raw)
In-Reply-To: <1522320104-6573-1-git-send-email-zhaoyang.huang@spreadtrum.com>
[-- Attachment #1: Type: text/plain, Size: 8461 bytes --]
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: x86_64-randconfig-x009-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=x86_64
All errors (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 'global_numa_state'? [-Werror=implicit-function-declaration]
pages[lru] = global_page_state(NR_LRU_BASE + lru);
^~~~~~~~~~~~~~~~~
global_numa_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);
^~~
Cyclomatic Complexity 5 include/linux/compiler.h:__read_once_size
Cyclomatic Complexity 5 include/linux/compiler.h:__write_once_size
Cyclomatic Complexity 2 arch/x86/include/asm/bitops.h:set_bit
Cyclomatic Complexity 2 arch/x86/include/asm/bitops.h:clear_bit
Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:constant_test_bit
Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:variable_test_bit
Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:fls64
Cyclomatic Complexity 1 arch/x86/include/asm/arch_hweight.h:__arch_hweight64
Cyclomatic Complexity 2 include/linux/bitops.h:hweight_long
Cyclomatic Complexity 1 include/linux/log2.h:__ilog2_u64
Cyclomatic Complexity 1 include/linux/list.h:INIT_LIST_HEAD
Cyclomatic Complexity 1 include/linux/list.h:__list_add_valid
Cyclomatic Complexity 1 include/linux/list.h:__list_del_entry_valid
Cyclomatic Complexity 2 include/linux/list.h:__list_add
Cyclomatic Complexity 1 include/linux/list.h:list_add
Cyclomatic Complexity 1 include/linux/list.h:__list_del
Cyclomatic Complexity 2 include/linux/list.h:__list_del_entry
Cyclomatic Complexity 1 include/linux/list.h:list_del
Cyclomatic Complexity 1 arch/x86/include/asm/current.h:get_current
Cyclomatic Complexity 1 include/asm-generic/getorder.h:__get_order
Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_read
Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_set
Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_inc
Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_dec
Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_add_return
Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_cmpxchg
Cyclomatic Complexity 1 arch/x86/include/asm/atomic64_64.h:atomic64_read
Cyclomatic Complexity 1 include/asm-generic/atomic-long.h:atomic_long_read
Cyclomatic Complexity 1 include/linux/jump_label.h:static_key_count
Cyclomatic Complexity 2 include/linux/jump_label.h:static_key_false
Cyclomatic Complexity 1 include/linux/string.h:strnlen
Cyclomatic Complexity 4 include/linux/string.h:strlen
Cyclomatic Complexity 6 include/linux/string.h:strlcpy
Cyclomatic Complexity 3 include/linux/string.h:memset
Cyclomatic Complexity 4 include/linux/string.h:memcpy
Cyclomatic Complexity 2 include/linux/string.h:strcpy
Cyclomatic Complexity 3 include/linux/bitmap.h:bitmap_weight
Cyclomatic Complexity 1 include/linux/cpumask.h:cpumask_check
Cyclomatic Complexity 1 include/linux/cpumask.h:cpumask_set_cpu
Cyclomatic Complexity 1 include/linux/cpumask.h:cpumask_test_cpu
Cyclomatic Complexity 1 include/linux/cpumask.h:cpumask_weight
Cyclomatic Complexity 1 include/linux/cpumask.h:cpumask_available
Cyclomatic Complexity 1 arch/x86/include/asm/paravirt.h:arch_local_save_flags
Cyclomatic Complexity 1 arch/x86/include/asm/paravirt.h:arch_local_irq_restore
Cyclomatic Complexity 1 arch/x86/include/asm/paravirt.h:arch_local_irq_disable
Cyclomatic Complexity 1 arch/x86/include/asm/paravirt.h:arch_local_irq_enable
Cyclomatic Complexity 1 arch/x86/include/asm/paravirt.h:arch_local_irq_save
Cyclomatic Complexity 1 include/linux/err.h:ERR_PTR
Cyclomatic Complexity 1 include/linux/err.h:PTR_ERR
Cyclomatic Complexity 1 arch/x86/include/asm/irqflags.h:arch_irqs_disabled_flags
Cyclomatic Complexity 1 include/linux/thread_info.h:check_object_size
Cyclomatic Complexity 5 include/linux/thread_info.h:check_copy_size
Cyclomatic Complexity 1 arch/x86/include/asm/preempt.h:preempt_count
Cyclomatic Complexity 1 arch/x86/include/asm/preempt.h:test_preempt_need_resched
Cyclomatic Complexity 5 arch/x86/include/asm/preempt.h:__preempt_count_add
Cyclomatic Complexity 1 arch/x86/include/asm/preempt.h:__preempt_count_dec_and_test
Cyclomatic Complexity 1 arch/x86/include/asm/preempt.h:should_resched
Cyclomatic Complexity 3 include/asm-generic/qspinlock.h:queued_spin_trylock
Cyclomatic Complexity 2 include/asm-generic/qspinlock.h:queued_spin_lock
Cyclomatic Complexity 1 include/linux/spinlock.h:spinlock_check
Cyclomatic Complexity 1 include/linux/spinlock.h:spin_unlock_irqrestore
Cyclomatic Complexity 1 include/linux/mutex.h:__mutex_owner
Cyclomatic Complexity 1 include/linux/mutex.h:mutex_is_locked
Cyclomatic Complexity 1 include/linux/topology.h:numa_node_id
Cyclomatic Complexity 1 include/linux/topology.h:cpu_to_node
Cyclomatic Complexity 1 include/linux/topology.h:numa_mem_id
Cyclomatic Complexity 1 include/linux/dcache.h:d_inode
Cyclomatic Complexity 1 include/linux/uidgid.h:__kuid_val
Cyclomatic Complexity 1 include/linux/uidgid.h:from_kuid
Cyclomatic Complexity 2 include/linux/uidgid.h:from_kuid_munged
Cyclomatic Complexity 1 include/linux/fs.h:file_inode
Cyclomatic Complexity 1 include/linux/mm.h:lowmem_page_address
Cyclomatic Complexity 1 include/linux/seq_file.h:seq_user_ns
Cyclomatic Complexity 1 arch/x86/include/asm/smap.h:clac
Cyclomatic Complexity 1 arch/x86/include/asm/smap.h:stac
Cyclomatic Complexity 1 arch/x86/include/asm/uaccess_64.h:copy_user_generic
Cyclomatic Complexity 10 arch/x86/include/asm/uaccess_64.h:raw_copy_from_user
Cyclomatic Complexity 1 include/linux/uaccess.h:__copy_from_user_inatomic
Cyclomatic Complexity 2 include/linux/uaccess.h:copy_from_user
Cyclomatic Complexity 2 include/linux/uaccess.h:copy_to_user
Cyclomatic Complexity 28 include/linux/slab.h:kmalloc_index
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
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 28743 bytes --]
next prev parent reply other threads:[~2018-03-30 6:55 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-29 10:41 [PATCH v1] kernel/trace:check the val against the available mem Zhaoyang Huang
2018-03-29 16:05 ` Steven Rostedt
2018-03-30 3:32 ` Zhaoyang Huang
2018-03-30 14:07 ` Steven Rostedt
2018-03-30 6:53 ` [Kernel-patch-test] " kbuild test robot
2018-03-30 6:54 ` kbuild test robot [this message]
2018-03-30 14:20 ` Steven Rostedt
2018-03-30 16:37 ` Joel Fernandes
2018-03-30 19:10 ` Steven Rostedt
2018-03-30 20:37 ` Joel Fernandes
2018-03-30 20:53 ` Matthew Wilcox
2018-03-30 21:30 ` Steven Rostedt
2018-03-30 21:42 ` Steven Rostedt
2018-03-30 23:38 ` Joel Fernandes
2018-03-31 1:41 ` Steven Rostedt
2018-03-31 2:18 ` Matthew Wilcox
2018-03-31 3:07 ` Steven Rostedt
2018-03-31 5:44 ` Joel Fernandes
2018-04-02 0:52 ` Zhaoyang Huang
2018-04-03 11:06 ` Michal Hocko
2018-04-03 11:51 ` Steven Rostedt
2018-04-03 12:16 ` Michal Hocko
2018-04-03 12:23 ` Steven Rostedt
2018-04-03 12:35 ` Michal Hocko
2018-04-03 13:32 ` Steven Rostedt
2018-04-03 13:56 ` Michal Hocko
2018-04-03 14:17 ` Steven Rostedt
2018-04-03 16:11 ` Michal Hocko
2018-04-03 16:59 ` Steven Rostedt
2018-04-03 22:56 ` Steven Rostedt
2018-04-03 22:56 ` Steven Rostedt
2018-04-04 6:20 ` Michal Hocko
2018-04-04 12:21 ` Joel Fernandes
2018-04-04 12:59 ` Steven Rostedt
2018-04-04 14:10 ` Michal Hocko
2018-04-04 14:25 ` Steven Rostedt
2018-04-04 14:42 ` Michal Hocko
2018-04-04 15:04 ` Steven Rostedt
2018-04-04 15:27 ` Michal Hocko
2018-04-04 15:38 ` Steven Rostedt
2018-04-04 2:58 ` Zhaoyang Huang
2018-04-04 6:23 ` Michal Hocko
2018-04-04 9:29 ` Zhaoyang Huang
2018-04-04 14:11 ` Steven Rostedt
2018-04-04 14:23 ` Michal Hocko
2018-04-04 14:31 ` Steven Rostedt
2018-04-04 14:47 ` Michal Hocko
2018-04-04 15:47 ` Steven Rostedt
2018-04-05 2:58 ` Matthew Wilcox
2018-04-05 4:12 ` Joel Fernandes
2018-04-05 14:22 ` Matthew Wilcox
2018-04-05 14:27 ` Michal Hocko
2018-04-05 14:34 ` Steven Rostedt
2018-04-05 15:13 ` Matthew Wilcox
2018-04-05 15:32 ` Michal Hocko
2018-04-05 16:15 ` Matthew Wilcox
2018-04-05 18:54 ` Michal Hocko
2018-04-05 20:15 ` __GFP_LOW Matthew Wilcox
2018-04-06 6:09 ` __GFP_LOW Michal Hocko
2018-04-08 4:27 ` __GFP_LOW Matthew Wilcox
2018-04-09 7:34 ` __GFP_LOW Michal Hocko
2018-04-09 15:51 ` __GFP_LOW Matthew Wilcox
2018-04-09 18:14 ` __GFP_LOW Michal Hocko
2018-04-10 12:12 ` __GFP_LOW Дмитрий Леонтьев
2018-04-10 12:19 ` __GFP_LOW Matthew Wilcox
2018-04-10 12:19 ` __GFP_LOW Matthew Wilcox
2018-04-10 12:13 ` __GFP_LOW Дмитрий Леонтьев
2018-04-05 14:30 ` [PATCH v1] kernel/trace:check the val against the available mem Steven Rostedt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201803301407.HUmjWXO8%fengguang.wu@intel.com \
--to=lkp@intel.com \
--cc=huangzhaoyang@gmail.com \
--cc=kbuild-all@01.org \
--cc=kernel-patch-test@lists.linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=rostedt@goodmis.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.