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: 64+ 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-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
[not found] ` <CA+JonM0HG9kWb6-0iyDQ8UMxTeR-f=+ZL89t5DvvDULDC8Sfyw@mail.gmail.com>
2018-04-10 12:19 ` __GFP_LOW Matthew Wilcox
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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).