Re: [PATCH 1/2] mm, page_alloc: don't convert pfn to idx when merging

From: kbuild test robot
Date: Fri Dec 09 2016 - 07:15:02 EST


Hi Vlastimil,

[auto build test ERROR on mmotm/master]
[also build test ERROR on v4.9-rc8 next-20161208]
[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/Vlastimil-Babka/mm-page_alloc-don-t-convert-pfn-to-idx-when-merging/20161209-192634
base: git://git.cmpxchg.org/linux-mmotm.git master
config: i386-randconfig-s1-201649 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
# save the attached .config to linux build tree
make ARCH=i386

All errors (new ones prefixed by >>):

mm/page_isolation.c: In function 'unset_migratetype_isolate':
>> mm/page_isolation.c:106:16: error: implicit declaration of function '__find_buddy_index' [-Werror=implicit-function-declaration]
buddy_idx = __find_buddy_index(page_idx, order);
^~~~~~~~~~~~~~~~~~
Cyclomatic Complexity 5 include/linux/compiler.h:__read_once_size
Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:variable_test_bit
Cyclomatic Complexity 1 include/linux/list.h:hlist_empty
Cyclomatic Complexity 1 include/linux/cpumask.h:cpumask_check
Cyclomatic Complexity 1 include/linux/cpumask.h:cpumask_test_cpu
Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_read
Cyclomatic Complexity 2 arch/x86/include/asm/jump_label.h:arch_static_branch
Cyclomatic Complexity 1 include/linux/jump_label.h:static_key_false
Cyclomatic Complexity 5 arch/x86/include/asm/preempt.h:__preempt_count_add
Cyclomatic Complexity 5 arch/x86/include/asm/preempt.h:__preempt_count_sub
Cyclomatic Complexity 1 include/linux/spinlock.h:spinlock_check
Cyclomatic Complexity 1 include/linux/spinlock.h:spin_unlock_irqrestore
Cyclomatic Complexity 1 include/linux/nodemask.h:node_state
Cyclomatic Complexity 1 include/linux/rcupdate.h:rcu_read_lock_sched_notrace
Cyclomatic Complexity 1 include/linux/rcupdate.h:rcu_read_unlock_sched_notrace
Cyclomatic Complexity 2 include/linux/notifier.h:notifier_to_errno
Cyclomatic Complexity 1 arch/x86/include/asm/topology.h:numa_node_id
Cyclomatic Complexity 1 include/linux/topology.h:numa_mem_id
Cyclomatic Complexity 1 include/linux/gfp.h:gfp_zonelist
Cyclomatic Complexity 1 include/linux/gfp.h:node_zonelist
Cyclomatic Complexity 1 include/linux/gfp.h:__alloc_pages
Cyclomatic Complexity 2 include/linux/gfp.h:__alloc_pages_node
Cyclomatic Complexity 2 include/linux/gfp.h:alloc_pages_node
Cyclomatic Complexity 1 include/linux/page-flags.h:PageHighMem
Cyclomatic Complexity 1 include/linux/page-flags.h:PageHWPoison
Cyclomatic Complexity 1 include/linux/page-flags.h:PageHuge
Cyclomatic Complexity 1 include/linux/page-flags.h:PageBuddy
Cyclomatic Complexity 1 include/linux/mm.h:page_zonenum
Cyclomatic Complexity 1 include/linux/mm.h:page_zone
Cyclomatic Complexity 2 include/linux/vmstat.h:__mod_zone_freepage_state
Cyclomatic Complexity 1 include/linux/page-isolation.h:is_migrate_isolate_page
Cyclomatic Complexity 1 include/linux/memory.h:memory_isolate_notify
Cyclomatic Complexity 1 mm/internal.h:page_order
Cyclomatic Complexity 6 include/trace/events/page_isolation.h:trace_test_pages_isolated
Cyclomatic Complexity 1 include/linux/seq_buf.h:seq_buf_has_overflowed
Cyclomatic Complexity 3 include/linux/trace_seq.h:trace_seq_has_overflowed
Cyclomatic Complexity 1 arch/x86/include/asm/stacktrace.h:caller_frame_pointer
Cyclomatic Complexity 1 include/linux/perf_event.h:perf_fetch_caller_regs
Cyclomatic Complexity 1 include/linux/trace_events.h:trace_handle_return
Cyclomatic Complexity 5 include/linux/trace_events.h:trace_trigger_soft_disabled
Cyclomatic Complexity 1 include/trace/events/page_isolation.h:trace_event_get_offsets_test_pages_isolated
Cyclomatic Complexity 2 mm/page_isolation.c:__first_valid_page
Cyclomatic Complexity 5 mm/page_isolation.c:__test_page_isolated_in_pageblock
Cyclomatic Complexity 4 include/trace/events/page_isolation.h:trace_event_define_fields_test_pages_isolated
Cyclomatic Complexity 6 include/trace/events/page_isolation.h:perf_trace_test_pages_isolated
Cyclomatic Complexity 3 include/trace/events/page_isolation.h:trace_event_raw_event_test_pages_isolated
Cyclomatic Complexity 3 include/trace/events/page_isolation.h:trace_raw_output_test_pages_isolated
Cyclomatic Complexity 5 mm/page_isolation.c:set_migratetype_isolate
Cyclomatic Complexity 7 mm/page_isolation.c:unset_migratetype_isolate
Cyclomatic Complexity 5 mm/page_isolation.c:start_isolate_page_range
Cyclomatic Complexity 4 mm/page_isolation.c:undo_isolate_page_range
Cyclomatic Complexity 6 mm/page_isolation.c:test_pages_isolated
Cyclomatic Complexity 3 mm/page_isolation.c:alloc_migrate_target
cc1: some warnings being treated as errors

vim +/__find_buddy_index +106 mm/page_isolation.c

3c605096 Joonsoo Kim 2014-11-13 100 * these pages to be merged.
3c605096 Joonsoo Kim 2014-11-13 101 */
3c605096 Joonsoo Kim 2014-11-13 102 if (PageBuddy(page)) {
3c605096 Joonsoo Kim 2014-11-13 103 order = page_order(page);
3c605096 Joonsoo Kim 2014-11-13 104 if (order >= pageblock_order) {
3c605096 Joonsoo Kim 2014-11-13 105 page_idx = page_to_pfn(page) & ((1 << MAX_ORDER) - 1);
3c605096 Joonsoo Kim 2014-11-13 @106 buddy_idx = __find_buddy_index(page_idx, order);
3c605096 Joonsoo Kim 2014-11-13 107 buddy = page + (buddy_idx - page_idx);
3c605096 Joonsoo Kim 2014-11-13 108
1ae7013d Hui Zhu 2015-05-14 109 if (pfn_valid_within(page_to_pfn(buddy)) &&

:::::: The code at line 106 was first introduced by commit
:::::: 3c605096d3158216ba9326a16266f6ba128c2c8d mm/page_alloc: restrict max order of merging on isolated pageblock

:::::: TO: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip