* mmotm 2018-07-10-16-50 uploaded @ 2018-07-10 23:50 akpm 2018-07-11 12:49 ` Michael Ellerman 2018-07-12 6:01 ` Randy Dunlap 0 siblings, 2 replies; 17+ messages in thread From: akpm @ 2018-07-10 23:50 UTC (permalink / raw) To: broonie, mhocko, sfr, linux-next, linux-fsdevel, linux-mm, linux-kernel, mm-commits The mm-of-the-moment snapshot 2018-07-10-16-50 has been uploaded to http://www.ozlabs.org/~akpm/mmotm/ mmotm-readme.txt says README for mm-of-the-moment: http://www.ozlabs.org/~akpm/mmotm/ This is a snapshot of my -mm patch queue. Uploaded at random hopefully more than once a week. You will need quilt to apply these patches to the latest Linus release (4.x or 4.x-rcY). The series file is in broken-out.tar.gz and is duplicated in http://ozlabs.org/~akpm/mmotm/series The file broken-out.tar.gz contains two datestamp files: .DATE and .DATE-yyyy-mm-dd-hh-mm-ss. Both contain the string yyyy-mm-dd-hh-mm-ss, followed by the base kernel version against which this patch series is to be applied. This tree is partially included in linux-next. To see which patches are included in linux-next, consult the `series' file. Only the patches within the #NEXT_PATCHES_START/#NEXT_PATCHES_END markers are included in linux-next. A git tree which contains the memory management portion of this tree is maintained at git://git.kernel.org/pub/scm/linux/kernel/git/mhocko/mm.git by Michal Hocko. It contains the patches which are between the "#NEXT_PATCHES_START mm" and "#NEXT_PATCHES_END" markers, from the series file, http://www.ozlabs.org/~akpm/mmotm/series. A full copy of the full kernel tree with the linux-next and mmotm patches already applied is available through git within an hour of the mmotm release. Individual mmotm releases are tagged. The master branch always points to the latest release, so it's constantly rebasing. http://git.cmpxchg.org/cgit.cgi/linux-mmotm.git/ To develop on top of mmotm git: $ git remote add mmotm git://git.kernel.org/pub/scm/linux/kernel/git/mhocko/mm.git $ git remote update mmotm $ git checkout -b topic mmotm/master <make changes, commit> $ git send-email mmotm/master.. [...] To rebase a branch with older patches to a new mmotm release: $ git remote update mmotm $ git rebase --onto mmotm/master <topic base> topic The directory http://www.ozlabs.org/~akpm/mmots/ (mm-of-the-second) contains daily snapshots of the -mm tree. It is updated more frequently than mmotm, and is untested. A git copy of this tree is available at http://git.cmpxchg.org/cgit.cgi/linux-mmots.git/ and use of this tree is similar to http://git.cmpxchg.org/cgit.cgi/linux-mmotm.git/, described above. This mmotm tree contains the following patches against 4.18-rc4: (patches marked "*" will be included in linux-next) origin.patch i-need-old-gcc.patch * mm-do-not-drop-unused-pages-when-userfaultd-is-running.patch * mm-fix-locked-field-in-proc-pid-smaps.patch * autofs-fix-slab-out-of-bounds-read-in-getname_kernel.patch * mm-allow-arch-to-supply-p_free_tlb-functions.patch * net-9p-clientc-put-refcount-of-trans_mod-in-error-case-in-parse_opts.patch * x86-purgatory-add-missing-force-to-makefile-target.patch * fs-elf-make-sure-to-page-align-bss-in-load_elf_library.patch * memblock-do-not-complain-about-top-down-allocations-for-memory_hotremove.patch * mm-do-not-bug_on-on-incorrect-lenght-in-__mm_populate.patch * kvm-mm-account-shadow-page-tables-to-kmemcg.patch * memcg-remove-memcg_cgroup-id-from-idr-on-mem_cgroup_css_alloc-failure.patch * slub-track-number-of-slabs-irrespective-of-config_slub_debug.patch * kasan-only-select-slub_debug-with-sysfs=y.patch * checkpatch-fix-duplicate-invalid-vsprintf-pointer-extension-%pfoo-messages.patch * reiserfs-fix-buffer-overflow-with-long-warning-messages.patch * mm-fix-vma_is_anonymous-false-positives.patch * maintainers-update-e-mail-address.patch * arm-arch-arm-include-asm-pageh-needs-personalityh.patch * dax-remove-vm_mixedmap-for-fsdax-and-device-dax.patch * prctl-add-pr_et_pdeathsig_proc.patch * spdxcheck-work-with-current-head-licenses-directory.patch * ntfs-dont-disable-interrupts-during-kmap_atomic.patch * ntfs-aops-remove-vla-usage.patch * ntfs-decompress-remove-vla-usage.patch * ntfs-mft-remove-vla-usage.patch * sh-make-use-of-for_each_node_by_type.patch * h8300-correct-signature-of-test_bit.patch * ocfs2-return-erofs-when-filesystem-becomes-read-only.patch * ocfs2-return-erofs-when-filesystem-becomes-read-only-checkpatch-fixes.patch * ocfs2-clean-up-some-unnecessary-code.patch * ocfs2-make-several-functions-and-variables-static-and-some-const.patch * ocfs2-get-rid-of-ocfs2_is_o2cb_active-function.patch * ocfs2-without-quota-support-try-to-avoid-calling-quota-recovery.patch * ocfs2-dont-use-iocb-when-eiocbqueued-returns.patch * ocfs2-fix-a-misuse-a-of-brelse-after-failing-ocfs2_check_dir_entry.patch * ocfs2-dont-put-and-assigning-null-to-bh-allocated-outside.patch * ocfs2-dlmglue-clean-up-timestamp-handling.patch * block-restore-proc-partitions-to-not-display-non-partitionable-removable-devices.patch * fs-9p-adding-new-return-type-vm_fault_t.patch * net-9p-clientc-add-missing-n-at-the-end-of-p9_debug.patch * dentry-fix-kmemcheck-splat-at-take_dentry_name_snapshot.patch * namei-allow-restricted-o_creat-of-fifos-and-regular-files.patch * vfs-discard-attr_attr_flag.patch * vfs-simplify-seq_file-iteration-code-and-interface.patch * vfs-simplify-seq_file-iteration-code-and-interface-fix.patch mm.patch * mm-convert-return-type-of-handle_mm_fault-caller-to-vm_fault_t.patch * mm-skip-invalid-pages-block-at-a-time-in-zero_resv_unresv.patch * thp-use-mm_file_counter-to-determine-update-which-rss-counter.patch * tools-modifying-page-types-to-include-shared-map-counts.patch * tools-modifying-page-types-to-include-shared-map-counts-checkpatch-fixes.patch * tools-modifying-page-types-to-include-shared-map-counts-fix.patch * tools-modifying-page-types-to-include-shared-map-counts-fix-checkpatch-fixes.patch * tools-adding-support-for-idle-page-tracking-to-tool.patch * tools-adding-support-for-idle-page-tracking-to-tool-fix.patch * tools-adding-support-for-idle-page-tracking-to-tool-fix-2.patch * mm-page_alloc-actually-ignore-mempolicies-for-high-priority-allocations.patch * shmem-use-monotonic-time-for-i_generation.patch * mm-page_ext-drop-definition-of-unused-page_ext_debug_poison.patch * mm-page_ext-constify-lookup_page_ext-argument.patch * mm-condense-scan_control.patch * mm-mempool-remove-unused-argument-in-kasan_unpoison_element-and-remove_element.patch * mm-thp-register-mm-for-khugepaged-when-merging-vma-for-shmem-v3.patch * mm-thp-inc-counter-for-collapsed-shmem-thp.patch * mpage-add-argument-structure-for-do_mpage_readpage.patch * mpage-mpage_readpages-should-submit-io-as-read-ahead.patch * btrfs-readpages-should-submit-io-as-read-ahead.patch * ext4-readpages-should-submit-io-as-read-ahead.patch * mm-clear_huge_page-move-order-algorithm-into-a-separate-function.patch * mm-huge-page-copy-target-sub-page-last-when-copy-huge-page.patch * mm-hugetlbfs-rename-address-to-haddr-in-hugetlb_cow.patch * mm-hugetlbfs-pass-fault-address-to-cow-handler.patch * mm-drop-vm_bug_on-from-__get_free_pages.patch * mm-drop-vm_bug_on-from-__get_free_pages-fix.patch * mm-workingset-remove-local_irq_disable-from-count_shadow_nodes.patch * mm-workingset-make-shadow_lru_isolate-use-locking-suffix.patch * mm-list_lruc-fold-__list_lru_count_one-into-its-caller.patch * mm-memory_hotplug-make-add_memory_resource-use-__try_online_node.patch * mm-memory_hotplug-call-register_mem_sect_under_node.patch * mm-memory_hotplug-make-register_mem_sect_under_node-a-cb-of-walk_memory_range.patch * mm-memory_hotplug-drop-unnecessary-checks-from-register_mem_sect_under_node.patch * mm-provide-a-fallback-for-page_kernel_ro-for-architectures.patch * mm-provide-a-fallback-for-page_kernel_exec-for-architectures.patch * mm-introduce-mem_cgroup_put-helper.patch * fs-fsnotify-account-fsnotify-metadata-to-kmemcg.patch * fs-fsnotify-account-fsnotify-metadata-to-kmemcg-fix.patch * fs-mm-account-buffer_head-to-kmemcg.patch * fs-mm-account-buffer_head-to-kmemcgpatchfix.patch * writeback-update-stale-account_page_redirty-comment.patch * mm-memblock-add-missing-include-linux-bootmemh.patch * mm-zsmalloc-make-several-functions-and-a-struct-static.patch * mm-zsmalloc-make-several-functions-and-a-struct-static-fix.patch * mm-swap-make-swap_slots_cache_mutex-and-swap_slots_cache_enable_mutex-static.patch * mm-fadvise-fix-signed-overflow-ubsan-complaint.patch * mm-fadvise-fix-signed-overflow-ubsan-complaint-fix.patch * mm-thp-passing-correct-vm_flags-to-hugepage_vma_check.patch * kernel-memremap-kasan-make-zone_device-with-work-with-kasan.patch * mm-make-deferred_struct_page_init-explicitly-depend-on-sparsemem.patch * memcg-oom-move-out_of_memory-back-to-the-charge-path.patch * mm-sparse-make-sparse_init_one_section-void-and-remove-check.patch * mm-sparse-make-sparse_init_one_section-void-and-remove-check-fix.patch * mm-sparse-make-sparse_init_one_section-void-and-remove-check-fix-2.patch * mm-memblock-replace-u64-with-phys_addr_t-where-appropriate.patch * list_lru-combine-code-under-the-same-define.patch * mm-introduce-config_memcg_kmem-as-combination-of-config_memcg-config_slob.patch * mm-assign-id-to-every-memcg-aware-shrinker.patch * mm-assign-id-to-every-memcg-aware-shrinker-v9.patch * memcg-move-up-for_each_mem_cgroup-_tree-defines.patch * mm-assign-memcg-aware-shrinkers-bitmap-to-memcg.patch * mm-assign-memcg-aware-shrinkers-bitmap-to-memcg-v9.patch * mm-refactoring-in-workingset_init.patch * mm-refactoring-in-workingset_init-v9.patch * fs-refactoring-in-alloc_super.patch * fs-propagate-shrinker-id-to-list_lru.patch * list_lru-add-memcg-argument-to-list_lru_from_kmem.patch * list_lru-pass-dst_memcg-argument-to-memcg_drain_list_lru_node.patch * list_lru-pass-lru-argument-to-memcg_drain_list_lru_node.patch * mm-export-mem_cgroup_is_root.patch * mm-set-bit-in-memcg-shrinker-bitmap-on-first-list_lru-item-apearance.patch * mm-set-bit-in-memcg-shrinker-bitmap-on-first-list_lru-item-apearance-v9.patch * mm-iterate-only-over-charged-shrinkers-during-memcg-shrink_slab.patch * mm-iterate-only-over-charged-shrinkers-during-memcg-shrink_slab-v9.patch * mm-generalize-shrink_slab-calls-in-shrink_node.patch * mm-add-shrink_empty-shrinker-methods-return-value.patch * mm-clear-shrinker-bit-if-there-are-no-objects-related-to-memcg.patch * mm-clear-shrinker-bit-if-there-are-no-objects-related-to-memcg-v9.patch * mm-sparse-add-a-static-variable-nr_present_sections.patch * mm-sparsemem-defer-the-ms-section_mem_map-clearing.patch * mm-sparsemem-defer-the-ms-section_mem_map-clearing-fix.patch * mm-sparse-add-a-new-parameter-data_unit_size-for-alloc_usemap_and_memmap.patch * mm-sparse-optimize-memmap-allocation-during-sparse_init.patch * mm-sparse-optimize-memmap-allocation-during-sparse_init-checkpatch-fixes.patch * mm-sparse-remove-config_sparsemem_alloc_mem_map_together.patch * mm-oom-fix-unnecessary-killing-of-additional-processes.patch * revert-mm-always-flush-vma-ranges-affected-by-zap_page_range.patch * arm-arm64-introduce-config_have_memblock_pfn_valid.patch * mm-page_alloc-remain-memblock_next_valid_pfn-on-arm-arm64.patch * mm-page_alloc-reduce-unnecessary-binary-search-in-memblock_next_valid_pfn.patch * mm-memblock-introduce-memblock_search_pfn_regions.patch * mm-memblock-introduce-pfn_valid_region.patch * mm-page_alloc-reduce-unnecessary-binary-search-in-early_pfn_valid.patch * z3fold-fix-wrong-handling-of-headless-pages.patch * mm-cma-remove-unsupported-gfp_mask-parameter-from-cma_alloc.patch * dma-remove-unsupported-gfp_mask-parameter-from-dma_alloc_from_contiguous.patch * mm-oom-remove-sleep-from-under-oom_lock.patch * mm-drop-unneeded-vm_ops-checks.patch * mm-swap-fix-race-between-swapoff-and-some-swap-operations.patch * mm-swap-fix-race-between-swapoff-and-some-swap-operations-v6.patch * mm-fix-race-between-swapoff-and-mincore.patch * list_lru-prefetch-neighboring-list-entries-before-acquiring-lock.patch * list_lru-prefetch-neighboring-list-entries-before-acquiring-lock-fix.patch * mm-oom-refactor-the-oom_kill_process-function.patch * mm-implement-mem_cgroup_scan_tasks-for-the-root-memory-cgroup.patch * mm-oom-cgroup-aware-oom-killer.patch * mm-oom-cgroup-aware-oom-killer-fix.patch * mm-oom-cgroup-aware-oom-killer-fix-2.patch * mm-oom-cgroup-aware-oom-killer-fix-3.patch * mm-oom-introduce-memoryoom_group.patch * mm-oom-introduce-memoryoom_group-fix.patch * mm-oom-add-cgroup-v2-mount-option-for-cgroup-aware-oom-killer.patch * mm-oom-docs-describe-the-cgroup-aware-oom-killer.patch * mm-oom-docs-describe-the-cgroup-aware-oom-killer-fix.patch * mm-oom-docs-describe-the-cgroup-aware-oom-killer-fix-2.patch * mm-oom-docs-describe-the-cgroup-aware-oom-killer-fix-2-fix.patch * cgroup-list-groupoom-in-cgroup-features.patch * mm-add-strictlimit-knob-v2.patch * mm-dont-expose-page-to-fast-gup-before-its-ready.patch * mm-page_owner-align-with-pageblock_nr_pages.patch * mm-page_owner-align-with-pageblock_nr-pages.patch * proc-fixup-pde-allocation-bloat.patch * proc-fixup-pde-allocation-bloat-fix.patch * procfs-uptime-use-ktime_get_boottime_ts64.patch * proc-test-proc-self-symlink.patch * proc-test-proc-thread-self-symlink.patch * proc-smaller-readlock-section-in-readdir-proc.patch * proc-put-task-earlier-in-proc-fail-nth.patch * proc-save-2-atomic-ops-on-write-to-proc-attr.patch * proc-use-macro-in-proc-latency-hook.patch * proc-spread-const-a-bit.patch * proc-use-unsigned-int-in-proc-stat-hook.patch * proc-use-%02u-format.patch * fs-proc-adding-new-typedef-vm_fault_t.patch * include-asm-generic-bugh-clarify-valid-uses-of-warn.patch * kernelh-documentation-for-roundup-vs-round_up.patch * crash-print-timestamp-using-time64_t.patch * kernel-hung_taskc-allow-to-set-checking-interval-separately-from-timeout.patch * kernel-hung_taskc-allow-to-set-checking-interval-separately-from-timeout-fix.patch * iomap-use-non-raw-io-functions-for-ioreadwritexxbe.patch * parisc-iomap-introduce-ioreadwrite64.patch * iomap-introduce-ioreadwrite64_lo_hihi_lo.patch * io-64-nonatomic-add-ioreadwrite64_lo_hi_hi_lo-macros.patch * ntb-ntb_hw_intel-use-io-64-nonatomic-instead-of-in-driver-hacks.patch * crypto-caam-cleanup-config_64bit-ifdefs-when-using-ioreadwrite64.patch * ntb-ntb_hw_switchtec-cleanup-64bit-io-defines-to-use-the-common-header.patch * spellingtxt-add-more-spellings-to-spellingtxt.patch * arch-enable-relative-relocations-for-arm64-power-and-x86.patch * module-allow-symbol-exports-to-be-disabled.patch * module-use-relative-references-for-__ksymtab-entries.patch * init-allow-initcall-tables-to-be-emitted-using-relative-references.patch * pci-add-support-for-relative-addressing-in-quirk-tables.patch * kernel-tracepoints-add-support-for-relative-references.patch * bitmap-drop-unnecessary-0-check-for-u32-array-operations.patch * bitops-introduce-bits_per_type.patch * lib-make-struct-pointer-foo-static.patch * checkpatch-add-a-strict-test-for-structs-with-bool-member-definitions.patch * checkpatch-add-fix-for-concatenated_string-and-string_fragments.patch * checkpatch-improve-runtime-execution-speed-a-little.patch * checkpatch-update-section-keywords.patch * sparse-remove-uneffective-sparse-disabling.patch * autofs-fix-directory-and-symlink-access.patch * autofs-fix-inconsistent-use-of-now-variable.patch * autofs-fix-clearing-autofs_exp_leaves-in-autofs_expire_indirect.patch * autofs-make-autofs_expire_direct-static.patch * autofs-make-autofs_expire_indirect-static.patch * autofs-make-expire-flags-usage-consistent-with-v5-params.patch * autofs-add-autofs_exp_forced-flag.patch * nilfs2-use-64-bit-superblock-timstamps.patch * fs-nilfs2-adding-new-return-type-vm_fault_t.patch * hfsplus-dont-return-0-when-fill_super-failed.patch * hfsplus-prevent-crash-on-exit-from-failed-search.patch * hfs-prevent-crash-on-exit-from-failed-search.patch * hfsplus-avoid-deadlock-on-file-truncation.patch * reiserfs-use-monotonic-time-for-j_trans_start_time.patch * reiserfs-remove-obsolete-print_time-function.patch * reiserfs-change-j_timestamp-type-to-time64_t.patch * fat-add-fitrim-ioctl-for-fat-file-system.patch * fat-propagate-64-bit-inode-timestamps.patch * signal-make-force_sigsegv-void.patch * signal-make-kill_as_cred_perm-return-bool.patch * signal-make-may_ptrace_stop-return-bool.patch * signal-make-do_sigpending-void.patch * signal-simplify-rt_sigaction.patch * signal-make-kill_ok_by_cred-return-bool.patch * signal-make-sig_handler_ignored-return-bool.patch * signal-make-sig_task_ignored-return-bool.patch * signal-make-sig_ignored-return-bool.patch * signal-make-has_pending_signals-return-bool.patch * signal-make-recalc_sigpending_tsk-return-bool.patch * signal-make-unhandled_signal-return-bool.patch * signal-make-flush_sigqueue_mask-void.patch * signal-make-wants_signal-return-bool.patch * signal-make-legacy_queue-return-bool.patch * signal-make-sigkill_pending-return-bool.patch * signal-make-get_signal-return-bool.patch * fork-dont-copy-inconsistent-signal-handler-state-to-child.patch * sysctl-fix-typos-in-comments.patch * adfs-use-timespec64-for-time-conversion.patch * bfs-add-sanity-check-at-bfs_fill_super.patch * ipc-reorganize-initialization-of-kern_ipc_permid.patch * ipc-reorganize-initialization-of-kern_ipc_permseq.patch * ipc-utilc-use-ipc_rcu_putref-for-failues-in-ipc_addid.patch * ipc-rename-ipcctl_pre_down_nolock.patch * ipc-utilc-correct-comment-in-ipc_obtain_object_check.patch * ipc-rename-ipc_lock-to-ipc_lock_idr.patch * ipc_idr_alloc-refactoring.patch * lib-rhashtable-simplify-bucket_table_alloc.patch * lib-rhashtable-guarantee-initial-hashtable-allocation.patch * ipc-get-rid-of-ids-tables_initialized-hack.patch * ipc-simplify-ipc-initialization.patch * ipc-utilc-further-ipc_idr_alloc-cleanups.patch linux-next.patch linux-next-rejects.patch * hwtracing-intel_th-change-return-type-to-vm_fault_t.patch * fs-nfs-adding-new-return-type-vm_fault_t.patch * fs-afs-adding-new-return-type-vm_fault_t.patch * treewide-correct-differenciate-and-instanciate-typos.patch * vmcore-hide-vmcoredd_mmap_dumps-for-nommu-builds.patch * locking-lockdep-dump-state-of-percpu_rwsem-upon-hung-up.patch * fix-read-buffer-overflow-in-delta-ipc.patch make-sure-nobodys-leaking-resources.patch releasing-resources-with-children.patch mutex-subsystem-synchro-test-module.patch kernel-forkc-export-kernel_thread-to-modules.patch slab-leaks3-default-y.patch workaround-for-a-pci-restoring-bug.patch ^ permalink raw reply [flat|nested] 17+ messages in thread
* Boot failures with "mm/sparse: Remove CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER" on powerpc (was Re: mmotm 2018-07-10-16-50 uploaded) 2018-07-10 23:50 mmotm 2018-07-10-16-50 uploaded akpm @ 2018-07-11 12:49 ` Michael Ellerman 2018-07-12 6:01 ` Randy Dunlap 1 sibling, 0 replies; 17+ messages in thread From: Michael Ellerman @ 2018-07-11 12:49 UTC (permalink / raw) To: akpm, broonie, mhocko, sfr, linux-next, linux-fsdevel, linux-mm, linux-kernel, mm-commits, linuxppc-dev, bhe, pasha.tatashin, Aneesh Kumar K.V, Anshuman Khandual akpm@linux-foundation.org writes: > The mm-of-the-moment snapshot 2018-07-10-16-50 has been uploaded to > > http://www.ozlabs.org/~akpm/mmotm/ ... > * mm-sparse-add-a-static-variable-nr_present_sections.patch > * mm-sparsemem-defer-the-ms-section_mem_map-clearing.patch > * mm-sparsemem-defer-the-ms-section_mem_map-clearing-fix.patch > * mm-sparse-add-a-new-parameter-data_unit_size-for-alloc_usemap_and_memmap.patch > * mm-sparse-optimize-memmap-allocation-during-sparse_init.patch > * mm-sparse-optimize-memmap-allocation-during-sparse_init-checkpatch-fixes.patch > * mm-sparse-remove-config_sparsemem_alloc_mem_map_together.patch This seems to be breaking my powerpc pseries qemu boots. The boot log with some extra debug shows eg: $ make pseries_le_defconfig $ qemu-system-ppc64 -nographic -vga none -M pseries -m 2G -kernel vmlinux ... vmemmap_populate f000000000000000..f000000000004000, node 0 * f000000000000000..f000000001000000 allocated at c00000007e000000 hash__vmemmap_create_mapping: start 0xf000000000000000 size 0x1000000 phys 0x7e000000 vmemmap_populate f000000000000000..f000000000008000, node 0 * f000000000000000..f000000001000000 allocated at c00000007d000000 hash__vmemmap_create_mapping: start 0xf000000000000000 size 0x1000000 phys 0x7d000000 vmemmap_populate f000000000000000..f00000000000c000, node 0 * f000000000000000..f000000001000000 allocated at c00000007c000000 hash__vmemmap_create_mapping: start 0xf000000000000000 size 0x1000000 phys 0x7c000000 vmemmap_populate f000000000000000..f000000000010000, node 0 * f000000000000000..f000000001000000 allocated at c00000007b000000 hash__vmemmap_create_mapping: start 0xf000000000000000 size 0x1000000 phys 0x7b000000 vmemmap_populate f000000000000000..f000000000014000, node 0 * f000000000000000..f000000001000000 allocated at c00000007a000000 hash__vmemmap_create_mapping: start 0xf000000000000000 size 0x1000000 phys 0x7a000000 vmemmap_populate f000000000000000..f000000000018000, node 0 * f000000000000000..f000000001000000 allocated at c000000079000000 hash__vmemmap_create_mapping: start 0xf000000000000000 size 0x1000000 phys 0x79000000 vmemmap_populate f000000000000000..f00000000001c000, node 0 * f000000000000000..f000000001000000 allocated at c000000078000000 hash__vmemmap_create_mapping: start 0xf000000000000000 size 0x1000000 phys 0x78000000 vmemmap_populate f000000000000000..f000000000020000, node 0 * f000000000000000..f000000001000000 allocated at c000000077000000 hash__vmemmap_create_mapping: start 0xf000000000000000 size 0x1000000 phys 0x77000000 vmemmap_populate f000000000000000..f000000000024000, node 0 * f000000000000000..f000000001000000 allocated at c000000076000000 hash__vmemmap_create_mapping: start 0xf000000000000000 size 0x1000000 phys 0x76000000 hash__vmemmap_create_mapping: failed -1 <repeated many times> Then there's lots of other warnings about bad page states and eventually a NULL deref and we panic(). The problem seems to be that we're calling down into hash__vmemmap_create_mapping() for every call to vmemmap_populate(), whereas previously we would only call hash__vmemmap_create_mapping() once because our vmemmap_populated() would return true. There's actually a comment in sparse_init() that says: * powerpc need to call sparse_init_one_section right after each * sparse_early_mem_map_alloc, so allocate usemap_map at first. So changing that behaviour does seem to be the problem. I assume that comment is talking about the fact that we use pfn_valid() in vmemmap_populated(). I'm not clear on how to fix it though. Any ideas? cheers ^ permalink raw reply [flat|nested] 17+ messages in thread
* Boot failures with "mm/sparse: Remove CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER" on powerpc (was Re: mmotm 2018-07-10-16-50 uploaded) @ 2018-07-11 12:49 ` Michael Ellerman 0 siblings, 0 replies; 17+ messages in thread From: Michael Ellerman @ 2018-07-11 12:49 UTC (permalink / raw) To: akpm, broonie, mhocko, sfr, linux-next, linux-fsdevel, linux-mm, linux-kernel, mm-commits, linuxppc-dev, bhe, pasha.tatashin, Aneesh Kumar K.V, Anshuman Khandual akpm@linux-foundation.org writes: > The mm-of-the-moment snapshot 2018-07-10-16-50 has been uploaded to > > http://www.ozlabs.org/~akpm/mmotm/ ... > * mm-sparse-add-a-static-variable-nr_present_sections.patch > * mm-sparsemem-defer-the-ms-section_mem_map-clearing.patch > * mm-sparsemem-defer-the-ms-section_mem_map-clearing-fix.patch > * mm-sparse-add-a-new-parameter-data_unit_size-for-alloc_usemap_and_memmap.patch > * mm-sparse-optimize-memmap-allocation-during-sparse_init.patch > * mm-sparse-optimize-memmap-allocation-during-sparse_init-checkpatch-fixes.patch > * mm-sparse-remove-config_sparsemem_alloc_mem_map_together.patch This seems to be breaking my powerpc pseries qemu boots. The boot log with some extra debug shows eg: $ make pseries_le_defconfig $ qemu-system-ppc64 -nographic -vga none -M pseries -m 2G -kernel vmlinux ... vmemmap_populate f000000000000000..f000000000004000, node 0 * f000000000000000..f000000001000000 allocated at c00000007e000000 hash__vmemmap_create_mapping: start 0xf000000000000000 size 0x1000000 phys 0x7e000000 vmemmap_populate f000000000000000..f000000000008000, node 0 * f000000000000000..f000000001000000 allocated at c00000007d000000 hash__vmemmap_create_mapping: start 0xf000000000000000 size 0x1000000 phys 0x7d000000 vmemmap_populate f000000000000000..f00000000000c000, node 0 * f000000000000000..f000000001000000 allocated at c00000007c000000 hash__vmemmap_create_mapping: start 0xf000000000000000 size 0x1000000 phys 0x7c000000 vmemmap_populate f000000000000000..f000000000010000, node 0 * f000000000000000..f000000001000000 allocated at c00000007b000000 hash__vmemmap_create_mapping: start 0xf000000000000000 size 0x1000000 phys 0x7b000000 vmemmap_populate f000000000000000..f000000000014000, node 0 * f000000000000000..f000000001000000 allocated at c00000007a000000 hash__vmemmap_create_mapping: start 0xf000000000000000 size 0x1000000 phys 0x7a000000 vmemmap_populate f000000000000000..f000000000018000, node 0 * f000000000000000..f000000001000000 allocated at c000000079000000 hash__vmemmap_create_mapping: start 0xf000000000000000 size 0x1000000 phys 0x79000000 vmemmap_populate f000000000000000..f00000000001c000, node 0 * f000000000000000..f000000001000000 allocated at c000000078000000 hash__vmemmap_create_mapping: start 0xf000000000000000 size 0x1000000 phys 0x78000000 vmemmap_populate f000000000000000..f000000000020000, node 0 * f000000000000000..f000000001000000 allocated at c000000077000000 hash__vmemmap_create_mapping: start 0xf000000000000000 size 0x1000000 phys 0x77000000 vmemmap_populate f000000000000000..f000000000024000, node 0 * f000000000000000..f000000001000000 allocated at c000000076000000 hash__vmemmap_create_mapping: start 0xf000000000000000 size 0x1000000 phys 0x76000000 hash__vmemmap_create_mapping: failed -1 <repeated many times> Then there's lots of other warnings about bad page states and eventually a NULL deref and we panic(). The problem seems to be that we're calling down into hash__vmemmap_create_mapping() for every call to vmemmap_populate(), whereas previously we would only call hash__vmemmap_create_mapping() once because our vmemmap_populated() would return true. There's actually a comment in sparse_init() that says: * powerpc need to call sparse_init_one_section right after each * sparse_early_mem_map_alloc, so allocate usemap_map at first. So changing that behaviour does seem to be the problem. I assume that comment is talking about the fact that we use pfn_valid() in vmemmap_populated(). I'm not clear on how to fix it though. Any ideas? cheers ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Boot failures with "mm/sparse: Remove CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER" on powerpc (was Re: mmotm 2018-07-10-16-50 uploaded) 2018-07-11 12:49 ` Michael Ellerman (?) @ 2018-07-11 13:12 ` Baoquan He 2018-07-12 4:29 ` Michael Ellerman -1 siblings, 1 reply; 17+ messages in thread From: Baoquan He @ 2018-07-11 13:12 UTC (permalink / raw) To: Michael Ellerman Cc: akpm, broonie, mhocko, sfr, linux-next, linux-fsdevel, linux-mm, linux-kernel, mm-commits, linuxppc-dev, pasha.tatashin, Aneesh Kumar K.V, Anshuman Khandual Hi Michael, On 07/11/18 at 10:49pm, Michael Ellerman wrote: > akpm@linux-foundation.org writes: > > The mm-of-the-moment snapshot 2018-07-10-16-50 has been uploaded to > > > > http://www.ozlabs.org/~akpm/mmotm/ > ... > > > * mm-sparse-add-a-static-variable-nr_present_sections.patch > > * mm-sparsemem-defer-the-ms-section_mem_map-clearing.patch > > * mm-sparsemem-defer-the-ms-section_mem_map-clearing-fix.patch > > * mm-sparse-add-a-new-parameter-data_unit_size-for-alloc_usemap_and_memmap.patch > > * mm-sparse-optimize-memmap-allocation-during-sparse_init.patch > > * mm-sparse-optimize-memmap-allocation-during-sparse_init-checkpatch-fixes.patch > > > * mm-sparse-remove-config_sparsemem_alloc_mem_map_together.patch > > This seems to be breaking my powerpc pseries qemu boots. > > The boot log with some extra debug shows eg: > > $ make pseries_le_defconfig > $ qemu-system-ppc64 -nographic -vga none -M pseries -m 2G -kernel vmlinux > vmemmap_populate f000000000000000..f000000000024000, node 0 > * f000000000000000..f000000001000000 allocated at c000000076000000 > hash__vmemmap_create_mapping: start 0xf000000000000000 size 0x1000000 phys 0x76000000 > hash__vmemmap_create_mapping: failed -1 > > <repeated many times> > > Then there's lots of other warnings about bad page states and eventually > a NULL deref and we panic(). > > > The problem seems to be that we're calling down into > hash__vmemmap_create_mapping() for every call to vmemmap_populate(), > whereas previously we would only call hash__vmemmap_create_mapping() > once because our vmemmap_populated() would return true. > > There's actually a comment in sparse_init() that says: > > * powerpc need to call sparse_init_one_section right after each > * sparse_early_mem_map_alloc, so allocate usemap_map at first. > > So changing that behaviour does seem to be the problem. > > I assume that comment is talking about the fact that we use pfn_valid() > in vmemmap_populated(). > > I'm not clear on how to fix it though. Have you tried reverting that patch and building kernel to test again? Does it work? ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Boot failures with "mm/sparse: Remove CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER" on powerpc (was Re: mmotm 2018-07-10-16-50 uploaded) 2018-07-11 13:12 ` Baoquan He @ 2018-07-12 4:29 ` Michael Ellerman 0 siblings, 0 replies; 17+ messages in thread From: Michael Ellerman @ 2018-07-12 4:29 UTC (permalink / raw) To: Baoquan He Cc: akpm, broonie, mhocko, sfr, linux-next, linux-fsdevel, linux-mm, linux-kernel, mm-commits, linuxppc-dev, pasha.tatashin, Aneesh Kumar K.V, Anshuman Khandual Baoquan He <bhe@redhat.com> writes: > On 07/11/18 at 10:49pm, Michael Ellerman wrote: >> akpm@linux-foundation.org writes: >> > The mm-of-the-moment snapshot 2018-07-10-16-50 has been uploaded to >> > >> > http://www.ozlabs.org/~akpm/mmotm/ >> ... >> >> > * mm-sparse-add-a-static-variable-nr_present_sections.patch >> > * mm-sparsemem-defer-the-ms-section_mem_map-clearing.patch >> > * mm-sparsemem-defer-the-ms-section_mem_map-clearing-fix.patch >> > * mm-sparse-add-a-new-parameter-data_unit_size-for-alloc_usemap_and_memmap.patch >> > * mm-sparse-optimize-memmap-allocation-during-sparse_init.patch >> > * mm-sparse-optimize-memmap-allocation-during-sparse_init-checkpatch-fixes.patch >> >> > * mm-sparse-remove-config_sparsemem_alloc_mem_map_together.patch >> >> This seems to be breaking my powerpc pseries qemu boots. ... > > Have you tried reverting that patch and building kernel to test again? > Does it work? Yes. Reverting that patch on top of 98be45067040799a801e6ce52d8bf4659a153893 works as before. cheers ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Boot failures with "mm/sparse: Remove CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER" on powerpc (was Re: mmotm 2018-07-10-16-50 uploaded) 2018-07-11 12:49 ` Michael Ellerman (?) (?) @ 2018-07-11 13:37 ` Oscar Salvador 2018-07-11 13:55 ` Pavel Tatashin 2018-07-12 4:36 ` Michael Ellerman -1 siblings, 2 replies; 17+ messages in thread From: Oscar Salvador @ 2018-07-11 13:37 UTC (permalink / raw) To: Michael Ellerman Cc: akpm, broonie, mhocko, sfr, linux-next, linux-fsdevel, linux-mm, linux-kernel, mm-commits, linuxppc-dev, bhe, pasha.tatashin, Aneesh Kumar K.V, Anshuman Khandual On Wed, Jul 11, 2018 at 10:49:58PM +1000, Michael Ellerman wrote: > akpm@linux-foundation.org writes: > > The mm-of-the-moment snapshot 2018-07-10-16-50 has been uploaded to > > > > http://www.ozlabs.org/~akpm/mmotm/ > ... > > > * mm-sparse-add-a-static-variable-nr_present_sections.patch > > * mm-sparsemem-defer-the-ms-section_mem_map-clearing.patch > > * mm-sparsemem-defer-the-ms-section_mem_map-clearing-fix.patch > > * mm-sparse-add-a-new-parameter-data_unit_size-for-alloc_usemap_and_memmap.patch > > * mm-sparse-optimize-memmap-allocation-during-sparse_init.patch > > * mm-sparse-optimize-memmap-allocation-during-sparse_init-checkpatch-fixes.patch > > > * mm-sparse-remove-config_sparsemem_alloc_mem_map_together.patch > > This seems to be breaking my powerpc pseries qemu boots. > > The boot log with some extra debug shows eg: > > $ make pseries_le_defconfig Could you please share the config? I was not able to find such config in the kernel tree. -- Oscar Salvador SUSE L3 ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Boot failures with "mm/sparse: Remove CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER" on powerpc (was Re: mmotm 2018-07-10-16-50 uploaded) 2018-07-11 13:37 ` Oscar Salvador @ 2018-07-11 13:55 ` Pavel Tatashin 2018-07-11 15:13 ` Oscar Salvador 2018-07-11 21:13 ` Andrew Morton 2018-07-12 4:36 ` Michael Ellerman 1 sibling, 2 replies; 17+ messages in thread From: Pavel Tatashin @ 2018-07-11 13:55 UTC (permalink / raw) To: osalvador Cc: mpe, Andrew Morton, broonie, mhocko, Stephen Rothwell, linux-next, linux-fsdevel, Linux Memory Management List, LKML, mm-commits, linuxppc-dev, bhe, aneesh.kumar, khandual I am OK, if this patch is removed from Baoquan's series. But, I would still like to get rid of CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER, I can work on this in my sparse_init re-write series. ppc64 should really fallback safely to small chunks allocs, and if it does not there is some existing bug. Michael please send the config that you used. Thank you, Pavel On Wed, Jul 11, 2018 at 9:37 AM Oscar Salvador <osalvador@techadventures.net> wrote: > > On Wed, Jul 11, 2018 at 10:49:58PM +1000, Michael Ellerman wrote: > > akpm@linux-foundation.org writes: > > > The mm-of-the-moment snapshot 2018-07-10-16-50 has been uploaded to > > > > > > http://www.ozlabs.org/~akpm/mmotm/ > > ... > > > > > * mm-sparse-add-a-static-variable-nr_present_sections.patch > > > * mm-sparsemem-defer-the-ms-section_mem_map-clearing.patch > > > * mm-sparsemem-defer-the-ms-section_mem_map-clearing-fix.patch > > > * mm-sparse-add-a-new-parameter-data_unit_size-for-alloc_usemap_and_memmap.patch > > > * mm-sparse-optimize-memmap-allocation-during-sparse_init.patch > > > * mm-sparse-optimize-memmap-allocation-during-sparse_init-checkpatch-fixes.patch > > > > > * mm-sparse-remove-config_sparsemem_alloc_mem_map_together.patch > > > > This seems to be breaking my powerpc pseries qemu boots. > > > > The boot log with some extra debug shows eg: > > > > $ make pseries_le_defconfig > > Could you please share the config? > I was not able to find such config in the kernel tree. > -- > Oscar Salvador > SUSE L3 > ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Boot failures with "mm/sparse: Remove CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER" on powerpc (was Re: mmotm 2018-07-10-16-50 uploaded) 2018-07-11 13:55 ` Pavel Tatashin @ 2018-07-11 15:13 ` Oscar Salvador 2018-07-12 5:24 ` Michael Ellerman 2018-07-11 21:13 ` Andrew Morton 1 sibling, 1 reply; 17+ messages in thread From: Oscar Salvador @ 2018-07-11 15:13 UTC (permalink / raw) To: Pavel Tatashin Cc: mpe, Andrew Morton, broonie, mhocko, Stephen Rothwell, linux-next, linux-fsdevel, Linux Memory Management List, LKML, mm-commits, linuxppc-dev, bhe, aneesh.kumar, khandual [-- Attachment #1: Type: text/plain, Size: 2108 bytes --] El dc., 11 jul. 2018 , 15:56, Pavel Tatashin <pasha.tatashin@oracle.com> va escriure: > I am OK, if this patch is removed from Baoquan's series. But, I would > still like to get rid of CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER, I > can work on this in my sparse_init re-write series. ppc64 should > really fallback safely to small chunks allocs, and if it does not > there is some existing bug. Michael please send the config that you > used. > > Thank you, > Pavel > On Wed, Jul 11, 2018 at 9:37 AM Oscar Salvador > <osalvador@techadventures.net> wrote: > > > > On Wed, Jul 11, 2018 at 10:49:58PM +1000, Michael Ellerman wrote: > > > akpm@linux-foundation.org writes: > > > > The mm-of-the-moment snapshot 2018-07-10-16-50 has been uploaded to > > > > > > > > http://www.ozlabs.org/~akpm/mmotm/ > > > ... > > > > > > > * mm-sparse-add-a-static-variable-nr_present_sections.patch > > > > * mm-sparsemem-defer-the-ms-section_mem_map-clearing.patch > > > > * mm-sparsemem-defer-the-ms-section_mem_map-clearing-fix.patch > > > > * > mm-sparse-add-a-new-parameter-data_unit_size-for-alloc_usemap_and_memmap.patch > > > > * mm-sparse-optimize-memmap-allocation-during-sparse_init.patch > > > > * > mm-sparse-optimize-memmap-allocation-during-sparse_init-checkpatch-fixes.patch > > > > > > > * mm-sparse-remove-config_sparsemem_alloc_mem_map_together.patch > > > > > > This seems to be breaking my powerpc pseries qemu boots. > > > > > > The boot log with some extra debug shows eg: > > > > > > $ make pseries_le_defconfig > > > > Could you please share the config? > > I was not able to find such config in the kernel tree. > > -- > > Oscar Salvador > > SUSE L3 > > > > > > > I just roughly check, but if I checked the right place, vmemmap_populated() checks for the section to contain the flags we are setting in sparse_init_one_section(). But with this patch, we populate first everything, and then we call sparse_init_one_section() in sparse_init(). As I said I could be mistaken because I just checked the surface. I plan to further look into it tomorrow. (Sorry I dont know how to disable html in gmail) [-- Attachment #2: Type: text/html, Size: 3668 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Boot failures with "mm/sparse: Remove CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER" on powerpc (was Re: mmotm 2018-07-10-16-50 uploaded) 2018-07-11 15:13 ` Oscar Salvador @ 2018-07-12 5:24 ` Michael Ellerman 2018-07-12 9:50 ` Oscar Salvador 0 siblings, 1 reply; 17+ messages in thread From: Michael Ellerman @ 2018-07-12 5:24 UTC (permalink / raw) To: Oscar Salvador, Pavel Tatashin Cc: Andrew Morton, broonie, mhocko, Stephen Rothwell, linux-next, linux-fsdevel, Linux Memory Management List, LKML, mm-commits, linuxppc-dev, bhe, aneesh.kumar, khandual Oscar Salvador <osalvador.vilardaga@gmail.com> writes: > El dc., 11 jul. 2018 , 15:56, Pavel Tatashin <pasha.tatashin@oracle.com> va > escriure: > >> I am OK, if this patch is removed from Baoquan's series. But, I would >> still like to get rid of CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER, I >> can work on this in my sparse_init re-write series. ppc64 should >> really fallback safely to small chunks allocs, and if it does not >> there is some existing bug. Michael please send the config that you >> used. >> >> Thank you, >> Pavel >> On Wed, Jul 11, 2018 at 9:37 AM Oscar Salvador >> <osalvador@techadventures.net> wrote: >> > >> > On Wed, Jul 11, 2018 at 10:49:58PM +1000, Michael Ellerman wrote: >> > > akpm@linux-foundation.org writes: >> > > > The mm-of-the-moment snapshot 2018-07-10-16-50 has been uploaded to >> > > > >> > > > http://www.ozlabs.org/~akpm/mmotm/ >> > > ... >> > > >> > > > * mm-sparse-add-a-static-variable-nr_present_sections.patch >> > > > * mm-sparsemem-defer-the-ms-section_mem_map-clearing.patch >> > > > * mm-sparsemem-defer-the-ms-section_mem_map-clearing-fix.patch >> > > > * >> mm-sparse-add-a-new-parameter-data_unit_size-for-alloc_usemap_and_memmap.patch >> > > > * mm-sparse-optimize-memmap-allocation-during-sparse_init.patch >> > > > * >> mm-sparse-optimize-memmap-allocation-during-sparse_init-checkpatch-fixes.patch >> > > >> > > > * mm-sparse-remove-config_sparsemem_alloc_mem_map_together.patch >> > > >> > > This seems to be breaking my powerpc pseries qemu boots. >> > > >> > > The boot log with some extra debug shows eg: >> > > >> > > $ make pseries_le_defconfig >> > >> > Could you please share the config? >> > I was not able to find such config in the kernel tree. >> >> > I just roughly check, but if I checked the right place, > vmemmap_populated() checks for the section to contain the flags we are > setting in sparse_init_one_section(). Yes. > But with this patch, we populate first everything, and then we call > sparse_init_one_section() in sparse_init(). > As I said I could be mistaken because I just checked the surface. Yeah I think that's correct. This might just be a bug in our code, let me look at it a bit. cheers ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Boot failures with "mm/sparse: Remove CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER" on powerpc (was Re: mmotm 2018-07-10-16-50 uploaded) 2018-07-12 5:24 ` Michael Ellerman @ 2018-07-12 9:50 ` Oscar Salvador 2018-07-12 15:09 ` Pavel Tatashin 0 siblings, 1 reply; 17+ messages in thread From: Oscar Salvador @ 2018-07-12 9:50 UTC (permalink / raw) To: Michael Ellerman Cc: Oscar Salvador, Pavel Tatashin, Andrew Morton, broonie, mhocko, Stephen Rothwell, linux-next, linux-fsdevel, Linux Memory Management List, LKML, mm-commits, linuxppc-dev, bhe, aneesh.kumar, khandual > > I just roughly check, but if I checked the right place, > > vmemmap_populated() checks for the section to contain the flags we are > > setting in sparse_init_one_section(). > > Yes. > > > But with this patch, we populate first everything, and then we call > > sparse_init_one_section() in sparse_init(). > > As I said I could be mistaken because I just checked the surface. > > Yeah I think that's correct. > > This might just be a bug in our code, let me look at it a bit. I wonder if something like this could make the trick: diff --git a/arch/powerpc/mm/init_64.c b/arch/powerpc/mm/init_64.c index 51ce091914f9..e281651f50cd 100644 --- a/arch/powerpc/mm/init_64.c +++ b/arch/powerpc/mm/init_64.c @@ -177,6 +177,8 @@ static __meminit void vmemmap_list_populate(unsigned long phys, vmemmap_list = vmem_back; } +static unsigned long last_addr_populated = 0; + int __meminit vmemmap_populate(unsigned long start, unsigned long end, int node, struct vmem_altmap *altmap) { @@ -191,7 +193,7 @@ int __meminit vmemmap_populate(unsigned long start, unsigned long end, int node, void *p; int rc; - if (vmemmap_populated(start, page_size)) + if (start + page_size <= last_addr_populated) continue; if (altmap) @@ -212,6 +214,7 @@ int __meminit vmemmap_populate(unsigned long start, unsigned long end, int node, __func__, rc); return -EFAULT; } + last_addr_populated = start + page_size; } I know it looks hacky, and chances are that are wrong, but could you give it a try? I will try to grab a ppc server and try it out too. Thanks -- Oscar Salvador SUSE L3 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: Boot failures with "mm/sparse: Remove CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER" on powerpc (was Re: mmotm 2018-07-10-16-50 uploaded) 2018-07-12 9:50 ` Oscar Salvador @ 2018-07-12 15:09 ` Pavel Tatashin 0 siblings, 0 replies; 17+ messages in thread From: Pavel Tatashin @ 2018-07-12 15:09 UTC (permalink / raw) To: osalvador Cc: mpe, osalvador.vilardaga, Andrew Morton, broonie, mhocko, Stephen Rothwell, linux-next, linux-fsdevel, Linux Memory Management List, LKML, mm-commits, linuxppc-dev, bhe, aneesh.kumar, khandual On Thu, Jul 12, 2018 at 5:50 AM Oscar Salvador <osalvador@techadventures.net> wrote: > > > > I just roughly check, but if I checked the right place, > > > vmemmap_populated() checks for the section to contain the flags we are > > > setting in sparse_init_one_section(). > > > > Yes. > > > > > But with this patch, we populate first everything, and then we call > > > sparse_init_one_section() in sparse_init(). > > > As I said I could be mistaken because I just checked the surface. Yes, this is right, sparse_init_one_section() is needed after every populate call on ppc64. I am adding this to my sparse_init re-write, and it actually simplifies code, as it avoids one extra loop, and makes ppc64 to work. Pavel ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Boot failures with "mm/sparse: Remove CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER" on powerpc (was Re: mmotm 2018-07-10-16-50 uploaded) 2018-07-11 13:55 ` Pavel Tatashin 2018-07-11 15:13 ` Oscar Salvador @ 2018-07-11 21:13 ` Andrew Morton 2018-07-11 23:47 ` Stephen Rothwell 1 sibling, 1 reply; 17+ messages in thread From: Andrew Morton @ 2018-07-11 21:13 UTC (permalink / raw) To: Pavel Tatashin Cc: osalvador, mpe, broonie, mhocko, Stephen Rothwell, linux-next, linux-fsdevel, Linux Memory Management List, LKML, mm-commits, linuxppc-dev, bhe, aneesh.kumar, khandual On Wed, 11 Jul 2018 09:55:59 -0400 Pavel Tatashin <pasha.tatashin@oracle.com> wrote: > On Wed, Jul 11, 2018 at 9:37 AM Oscar Salvador > <osalvador@techadventures.net> wrote: > > > > On Wed, Jul 11, 2018 at 10:49:58PM +1000, Michael Ellerman wrote: > > > akpm@linux-foundation.org writes: > > > > The mm-of-the-moment snapshot 2018-07-10-16-50 has been uploaded to > > > > > > > > http://www.ozlabs.org/~akpm/mmotm/ > > > ... > > > > > > > * mm-sparse-add-a-static-variable-nr_present_sections.patch > > > > * mm-sparsemem-defer-the-ms-section_mem_map-clearing.patch > > > > * mm-sparsemem-defer-the-ms-section_mem_map-clearing-fix.patch > > > > * mm-sparse-add-a-new-parameter-data_unit_size-for-alloc_usemap_and_memmap.patch > > > > * mm-sparse-optimize-memmap-allocation-during-sparse_init.patch > > > > * mm-sparse-optimize-memmap-allocation-during-sparse_init-checkpatch-fixes.patch > > > > > > > * mm-sparse-remove-config_sparsemem_alloc_mem_map_together.patch > > > > > > This seems to be breaking my powerpc pseries qemu boots. > > > > > > The boot log with some extra debug shows eg: > > > > > > $ make pseries_le_defconfig > > > > Could you please share the config? > > I was not able to find such config in the kernel tree. (top-posting repaired so I can reply to your email, add other people and not confuse the heck out of them. Please don't) > I am OK, if this patch is removed from Baoquan's series. But, I would > still like to get rid of CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER, I > can work on this in my sparse_init re-write series. ppc64 should > really fallback safely to small chunks allocs, and if it does not > there is some existing bug. Michael please send the config that you > used. OK, I shall drop mm-sparse-remove-config_sparsemem_alloc_mem_map_together.patch for now. ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Boot failures with "mm/sparse: Remove CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER" on powerpc (was Re: mmotm 2018-07-10-16-50 uploaded) 2018-07-11 21:13 ` Andrew Morton @ 2018-07-11 23:47 ` Stephen Rothwell 2018-07-12 6:55 ` Stephen Rothwell 0 siblings, 1 reply; 17+ messages in thread From: Stephen Rothwell @ 2018-07-11 23:47 UTC (permalink / raw) To: Andrew Morton Cc: Pavel Tatashin, osalvador, mpe, broonie, mhocko, linux-next, linux-fsdevel, Linux Memory Management List, LKML, mm-commits, linuxppc-dev, bhe, aneesh.kumar, khandual [-- Attachment #1: Type: text/plain, Size: 304 bytes --] Hi Andrew, On Wed, 11 Jul 2018 14:13:44 -0700 Andrew Morton <akpm@linux-foundation.org> wrote: > > OK, I shall drop > mm-sparse-remove-config_sparsemem_alloc_mem_map_together.patch for now. I have dropped it from linux-next today (in case you don't get time). -- Cheers, Stephen Rothwell [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Boot failures with "mm/sparse: Remove CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER" on powerpc (was Re: mmotm 2018-07-10-16-50 uploaded) 2018-07-11 23:47 ` Stephen Rothwell @ 2018-07-12 6:55 ` Stephen Rothwell 0 siblings, 0 replies; 17+ messages in thread From: Stephen Rothwell @ 2018-07-12 6:55 UTC (permalink / raw) To: Andrew Morton Cc: Pavel Tatashin, osalvador, mpe, broonie, mhocko, linux-next, linux-fsdevel, Linux Memory Management List, LKML, mm-commits, linuxppc-dev, bhe, aneesh.kumar, khandual [-- Attachment #1: Type: text/plain, Size: 500 bytes --] Hi all, On Thu, 12 Jul 2018 09:47:29 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote: > > On Wed, 11 Jul 2018 14:13:44 -0700 Andrew Morton <akpm@linux-foundation.org> wrote: > > > > OK, I shall drop > > mm-sparse-remove-config_sparsemem_alloc_mem_map_together.patch for now. > > I have dropped it from linux-next today (in case you don't get time). I am certain I did drop it, but some how it is still in there :-( I will drop it for tomorrow. -- Cheers, Stephen Rothwell [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Boot failures with "mm/sparse: Remove CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER" on powerpc (was Re: mmotm 2018-07-10-16-50 uploaded) 2018-07-11 13:37 ` Oscar Salvador 2018-07-11 13:55 ` Pavel Tatashin @ 2018-07-12 4:36 ` Michael Ellerman 1 sibling, 0 replies; 17+ messages in thread From: Michael Ellerman @ 2018-07-12 4:36 UTC (permalink / raw) To: Oscar Salvador Cc: akpm, broonie, mhocko, sfr, linux-next, linux-fsdevel, linux-mm, linux-kernel, mm-commits, linuxppc-dev, bhe, pasha.tatashin, Aneesh Kumar K.V, Anshuman Khandual Oscar Salvador <osalvador@techadventures.net> writes: > On Wed, Jul 11, 2018 at 10:49:58PM +1000, Michael Ellerman wrote: >> akpm@linux-foundation.org writes: >> > The mm-of-the-moment snapshot 2018-07-10-16-50 has been uploaded to >> > >> > http://www.ozlabs.org/~akpm/mmotm/ >> ... >> >> > * mm-sparse-add-a-static-variable-nr_present_sections.patch >> > * mm-sparsemem-defer-the-ms-section_mem_map-clearing.patch >> > * mm-sparsemem-defer-the-ms-section_mem_map-clearing-fix.patch >> > * mm-sparse-add-a-new-parameter-data_unit_size-for-alloc_usemap_and_memmap.patch >> > * mm-sparse-optimize-memmap-allocation-during-sparse_init.patch >> > * mm-sparse-optimize-memmap-allocation-during-sparse_init-checkpatch-fixes.patch >> >> > * mm-sparse-remove-config_sparsemem_alloc_mem_map_together.patch >> >> This seems to be breaking my powerpc pseries qemu boots. >> >> The boot log with some extra debug shows eg: >> >> $ make pseries_le_defconfig > > Could you please share the config? > I was not able to find such config in the kernel tree. It's a generated config, see: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/powerpc/Makefile?commit=021c91791a5e7e85c567452f1be3e4c2c6cb6063#n315 It's based on pseries_defconfig, which is an actual file in the tree, but with the endian flipped. You can see the generated result from a recent build here: http://kisskb.ellerman.id.au/kisskb/buildresult/13428803/config/ cheers ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: mmotm 2018-07-10-16-50 uploaded (gpio: gpio-mt721.c) 2018-07-10 23:50 mmotm 2018-07-10-16-50 uploaded akpm @ 2018-07-12 6:01 ` Randy Dunlap 2018-07-12 6:01 ` Randy Dunlap 1 sibling, 0 replies; 17+ messages in thread From: Randy Dunlap @ 2018-07-12 6:01 UTC (permalink / raw) To: akpm, broonie, mhocko, sfr, linux-next, linux-kernel, Stephen Rothwell, Gabor Juhos, John Crispin On 07/10/2018 04:50 PM, akpm@linux-foundation.org wrote: > The mm-of-the-moment snapshot 2018-07-10-16-50 has been uploaded to > > http://www.ozlabs.org/~akpm/mmotm/ > > mmotm-readme.txt says > > README for mm-of-the-moment: > > http://www.ozlabs.org/~akpm/mmotm/ > > This is a snapshot of my -mm patch queue. Uploaded at random hopefully > more than once a week. from linux-next.patch: on x86_64: when CONFIG_OF is not enabled: ../drivers/gpio/gpio-mt7621.c: In function 'mediatek_gpio_bank_probe': ../drivers/gpio/gpio-mt7621.c:228:10: error: 'struct gpio_chip' has no member named 'of_node' rg->chip.of_node = node; ^ ../drivers/gpio/gpio-mt7621.c:243:10: error: 'struct gpio_chip' has no member named 'of_gpio_n_cells' rg->chip.of_gpio_n_cells = 2; ^ ../drivers/gpio/gpio-mt7621.c:244:10: error: 'struct gpio_chip' has no member named 'of_xlate' rg->chip.of_xlate = mediatek_gpio_xlate; ^ -- ~Randy ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: mmotm 2018-07-10-16-50 uploaded (gpio: gpio-mt721.c) @ 2018-07-12 6:01 ` Randy Dunlap 0 siblings, 0 replies; 17+ messages in thread From: Randy Dunlap @ 2018-07-12 6:01 UTC (permalink / raw) To: akpm, broonie, mhocko, sfr, linux-next, linux-kernel On 07/10/2018 04:50 PM, akpm@linux-foundation.org wrote: > The mm-of-the-moment snapshot 2018-07-10-16-50 has been uploaded to > > http://www.ozlabs.org/~akpm/mmotm/ > > mmotm-readme.txt says > > README for mm-of-the-moment: > > http://www.ozlabs.org/~akpm/mmotm/ > > This is a snapshot of my -mm patch queue. Uploaded at random hopefully > more than once a week. from linux-next.patch: on x86_64: when CONFIG_OF is not enabled: ../drivers/gpio/gpio-mt7621.c: In function 'mediatek_gpio_bank_probe': ../drivers/gpio/gpio-mt7621.c:228:10: error: 'struct gpio_chip' has no member named 'of_node' rg->chip.of_node = node; ^ ../drivers/gpio/gpio-mt7621.c:243:10: error: 'struct gpio_chip' has no member named 'of_gpio_n_cells' rg->chip.of_gpio_n_cells = 2; ^ ../drivers/gpio/gpio-mt7621.c:244:10: error: 'struct gpio_chip' has no member named 'of_xlate' rg->chip.of_xlate = mediatek_gpio_xlate; ^ -- ~Randy ^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2018-07-12 15:10 UTC | newest] Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2018-07-10 23:50 mmotm 2018-07-10-16-50 uploaded akpm 2018-07-11 12:49 ` Boot failures with "mm/sparse: Remove CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER" on powerpc (was Re: mmotm 2018-07-10-16-50 uploaded) Michael Ellerman 2018-07-11 12:49 ` Michael Ellerman 2018-07-11 13:12 ` Baoquan He 2018-07-12 4:29 ` Michael Ellerman 2018-07-11 13:37 ` Oscar Salvador 2018-07-11 13:55 ` Pavel Tatashin 2018-07-11 15:13 ` Oscar Salvador 2018-07-12 5:24 ` Michael Ellerman 2018-07-12 9:50 ` Oscar Salvador 2018-07-12 15:09 ` Pavel Tatashin 2018-07-11 21:13 ` Andrew Morton 2018-07-11 23:47 ` Stephen Rothwell 2018-07-12 6:55 ` Stephen Rothwell 2018-07-12 4:36 ` Michael Ellerman 2018-07-12 6:01 ` mmotm 2018-07-10-16-50 uploaded (gpio: gpio-mt721.c) Randy Dunlap 2018-07-12 6:01 ` Randy Dunlap
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.