Hi Juergen, I love your patch! Yet something to improve: [auto build test ERROR on mmotm/master] [also build test ERROR on v4.16-rc1 next-20180216] [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/Juergen-Gross/mm-don-t-defer-struct-page-initialization-for-Xen-pv-guests/20180218-233657 base: git://git.cmpxchg.org/linux-mmotm.git master config: i386-randconfig-x010-201807 (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 errors (new ones prefixed by >>): mm/page_alloc.c: In function 'update_defer_init': >> mm/page_alloc.c:352:6: error: implicit declaration of function 'xen_pv_domain' [-Werror=implicit-function-declaration] if (xen_pv_domain()) ^~~~~~~~~~~~~ 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 1 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:__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:__ffs Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:fls Cyclomatic Complexity 1 arch/x86/include/asm/arch_hweight.h:__arch_hweight32 Cyclomatic Complexity 2 include/linux/bitops.h:hweight_long Cyclomatic Complexity 1 include/linux/bitops.h:fls_long Cyclomatic Complexity 1 include/linux/log2.h:__ilog2_u32 Cyclomatic Complexity 3 include/linux/log2.h:is_power_of_2 Cyclomatic Complexity 1 include/linux/log2.h:__roundup_pow_of_two Cyclomatic Complexity 1 include/linux/log2.h:__rounddown_pow_of_two Cyclomatic Complexity 1 include/linux/list.h:INIT_LIST_HEAD Cyclomatic Complexity 1 include/linux/list.h:__list_del Cyclomatic Complexity 1 include/linux/list.h:list_empty Cyclomatic Complexity 1 arch/x86/include/asm/current.h:get_current Cyclomatic Complexity 3 include/linux/string.h:memset Cyclomatic Complexity 1 arch/x86/include/asm/page_32.h:clear_page Cyclomatic Complexity 1 include/asm-generic/getorder.h:__get_order Cyclomatic Complexity 3 include/linux/bitmap.h:bitmap_weight 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_add Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_sub_and_test Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_dec_and_test 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 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_save Cyclomatic Complexity 1 include/linux/err.h:PTR_ERR Cyclomatic Complexity 1 arch/x86/include/asm/processor.h:rep_nop Cyclomatic Complexity 1 arch/x86/include/asm/processor.h:cpu_relax Cyclomatic Complexity 1 arch/x86/include/asm/processor.h:prefetchw Cyclomatic Complexity 1 arch/x86/include/asm/preempt.h:preempt_count 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 1 include/linux/spinlock.h:spinlock_check Cyclomatic Complexity 1 include/linux/spinlock.h:spin_lock Cyclomatic Complexity 1 include/linux/spinlock.h:spin_unlock Cyclomatic Complexity 1 include/linux/spinlock.h:spin_unlock_irqrestore Cyclomatic Complexity 1 include/linux/nodemask.h:__nodemask_pr_numnodes Cyclomatic Complexity 2 include/linux/nodemask.h:__nodemask_pr_bits Cyclomatic Complexity 1 include/linux/nodemask.h:__nodes_weight Cyclomatic Complexity 1 include/linux/nodemask.h:node_state Cyclomatic Complexity 1 include/linux/nodemask.h:node_set_state Cyclomatic Complexity 1 include/linux/nodemask.h:num_node_state Cyclomatic Complexity 1 include/linux/mmzone.h:zone_end_pfn Cyclomatic Complexity 3 include/linux/mmzone.h:zone_spans_pfn Cyclomatic Complexity 1 include/linux/mmzone.h:zone_is_initialized Cyclomatic Complexity 1 include/linux/mmzone.h:node_lruvec Cyclomatic Complexity 1 include/linux/mmzone.h:pgdat_end_pfn Cyclomatic Complexity 1 include/linux/rcupdate.h:rcu_read_lock_sched_notrace Cyclomatic Complexity 1 include/linux/debugobjects.h:debug_check_no_obj_freed Cyclomatic Complexity 1 include/linux/workqueue.h:__init_work Cyclomatic Complexity 1 include/linux/memory_hotplug.h:pgdat_resize_init Cyclomatic Complexity 1 include/linux/memory_hotplug.h:zone_span_seqbegin Cyclomatic Complexity 1 include/linux/memory_hotplug.h:zone_span_seqretry Cyclomatic Complexity 1 include/linux/memory_hotplug.h:zone_seqlock_init Cyclomatic Complexity 1 include/linux/memory_hotplug.h:movable_node_is_enabled Cyclomatic Complexity 1 include/linux/mmzone.h:managed_zone Cyclomatic Complexity 1 include/linux/mmzone.h:populated_zone Cyclomatic Complexity 1 include/linux/mmzone.h:is_highmem_idx Cyclomatic Complexity 1 include/linux/mmzone.h:is_highmem Cyclomatic Complexity 1 include/linux/mmzone.h:zonelist_zone Cyclomatic Complexity 1 include/linux/mmzone.h:zonelist_zone_idx Cyclomatic Complexity 3 include/linux/mmzone.h:next_zones_zonelist Cyclomatic Complexity 1 include/linux/mmzone.h:first_zones_zonelist Cyclomatic Complexity 1 include/linux/mmzone.h:pfn_to_section_nr Cyclomatic Complexity 2 include/linux/mmzone.h:__nr_to_section Cyclomatic Complexity 1 include/linux/mmzone.h:__section_mem_map_addr Cyclomatic Complexity 3 include/linux/mmzone.h:valid_section Cyclomatic Complexity 1 include/linux/mmzone.h:__pfn_to_section Cyclomatic Complexity 2 include/linux/mmzone.h:pfn_valid 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:arch_free_page Cyclomatic Complexity 1 include/linux/gfp.h:arch_alloc_page Cyclomatic Complexity 1 include/linux/gfp.h:pm_suspended_storage Cyclomatic Complexity 1 include/linux/page-flags.h:PageTail Cyclomatic Complexity 3 include/linux/page-flags.h:PageCompound Cyclomatic Complexity 1 include/linux/page-flags.h:PageLRU Cyclomatic Complexity 1 include/linux/page-flags.h:PageReserved Cyclomatic Complexity 1 include/linux/page-flags.h:SetPageReserved Cyclomatic Complexity 1 include/linux/page-flags.h:ClearPageReserved Cyclomatic Complexity 1 include/linux/page-flags.h:__ClearPageReserved Cyclomatic Complexity 1 include/linux/page-flags.h:PageHighMem Cyclomatic Complexity 1 include/linux/page-flags.h:PageHWPoison vim +/xen_pv_domain +352 mm/page_alloc.c 339 340 /* 341 * Returns false when the remaining initialisation should be deferred until 342 * later in the boot cycle when it can be parallelised. 343 */ 344 static inline bool update_defer_init(pg_data_t *pgdat, 345 unsigned long pfn, unsigned long zone_end, 346 unsigned long *nr_initialised) 347 { 348 /* Always populate low zones for address-constrained allocations */ 349 if (zone_end < pgdat_end_pfn(pgdat)) 350 return true; 351 /* Xen PV domains need page structures early */ > 352 if (xen_pv_domain()) 353 return true; 354 (*nr_initialised)++; 355 if ((*nr_initialised > pgdat->static_init_pgcnt) && 356 (pfn & (PAGES_PER_SECTION - 1)) == 0) { 357 pgdat->first_deferred_pfn = pfn; 358 return false; 359 } 360 361 return true; 362 } 363 #else 364 static inline void reset_deferred_meminit(pg_data_t *pgdat) 365 { 366 } 367 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip