All of lore.kernel.org
 help / color / mirror / Atom feed
* mmotm 2015-01-22-15-04 uploaded
@ 2015-01-22 23:05 ` akpm
  0 siblings, 0 replies; 67+ messages in thread
From: akpm @ 2015-01-22 23:05 UTC (permalink / raw)
  To: mm-commits, linux-kernel, linux-mm, linux-fsdevel, linux-next,
	sfr, mhocko

The mm-of-the-moment snapshot 2015-01-22-15-04 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 (3.x
or 3.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/?p=linux-mmotm.git;a=summary

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/?p=linux-mmots.git;a=summary

and use of this tree is similar to
http://git.cmpxchg.org/?p=linux-mmotm.git, described above.


This mmotm tree contains the following patches against 3.19-rc5:
(patches marked "*" will be included in linux-next)

  origin.patch
  i-need-old-gcc.patch
  arch-alpha-kernel-systblss-remove-debug-check.patch
* mm-page_alloc-embed-oom-killing-naturally-into-allocation-slowpath.patch
* x86-build-replace-perl-script-with-shell-script.patch
* memcg-remove-extra-newlines-from-memcg-oom-kill-log.patch
* mm-vmscan-fix-highidx-argument-type.patch
* printk-add-dummy-routine-for-when-config_printk=n.patch
* rtc-s5m-terminate-s5m_rtc_id-array-with-empty-element.patch
* mm-pagewalk-call-pte_hole-for-vm_pfnmap-during-walk_page_range.patch
* jffs2-bugfix-of-summary-length.patch
* fanotify-only-destroy-mark-when-both-mask-and-ignored_mask-are-cleared.patch
* fanotify-dont-recalculate-a-marks-mask-if-only-the-ignored-mask-changed.patch
* fanotify-dont-recalculate-a-marks-mask-if-only-the-ignored-mask-changed-checkpatch-fixes.patch
* fanotify-dont-set-fan_ondir-implicitly-on-a-marks-ignored-mask.patch
* fanotify-dont-set-fan_ondir-implicitly-on-a-marks-ignored-mask-checkpatch-fixes.patch
* input-route-kbd-leds-through-the-generic-leds-layer.patch
* build-superh-without-config_expert.patch
* fs-ext4-fsyncc-generic_file_fsync-call-based-on-barrier-flag.patch
* ocfs2-dlm-add-missing-dlm_lock_put-when-recovery-master-down.patch
* ocfs2-remove-unnecessary-else-in-ocfs2_set_acl.patch
* ocfs2-fix-uninitialized-variable-access.patch
* ocfs2-fix-wrong-comment.patch
* ocfs2-fix-snprintf-format-specifier-in-dlmdebugc.patch
* ocfs2-xattr-remove-unused-function.patch
* ocfs2-quota_local-remove-unused-function.patch
* ocfs2-dlm-dlmdomain-remove-unused-function.patch
* ocfs2-fix-journal-commit-deadlock-in-ocfs2_convert_inline_data_to_extents.patch
* ocfs2-add-a-mount-option-journal_async_commit-on-ocfs2-filesystem.patch
* ocfs2-remove-pointless-assignment-from-ocfs2_calc_refcount_meta_credits.patch
* o2dlm-fix-null-pointer-dereference-in-o2dlm_blocking_ast_wrapper.patch
* ocfs2-call-ocfs2_journal_access_di-before-ocfs2_journal_dirty-in-ocfs2_write_end_nolock.patch
* ocfs2-avoid-access-invalid-address-when-read-o2dlm-debug-messages.patch
* block-restore-proc-partitions-to-not-display-non-partitionable-removable-devices.patch
* fs-make-generic_block_fiemap-sig-tolerant.patch
* fs-make-generic_block_fiemap-sig-tolerant-fix.patch
  mm.patch
* mm-slub-optimize-alloc-free-fastpath-by-removing-preemption-on-off.patch
* mm-slub-optimize-alloc-free-fastpath-by-removing-preemption-on-off-v3.patch
* mm-dont-use-compound_head-in-virt_to_head_page.patch
* mm-dont-use-compound_head-in-virt_to_head_page-v3.patch
* mm-slub-fix-typo.patch
* mm-vmstatc-fix-cleanup-ifdefs.patch
* mm-vmstatc-fix-cleanup-ifdefs-fix-2.patch
* mm-replace-remap_file_pages-syscall-with-emulation.patch
* mm-drop-support-of-non-linear-mapping-from-unmap-zap-codepath.patch
* mm-drop-support-of-non-linear-mapping-from-fault-codepath.patch
* mm-drop-vm_ops-remap_pages-and-generic_file_remap_pages-stub.patch
* mm-drop-vm_ops-remap_pages-and-generic_file_remap_pages-stub-fix.patch
* proc-drop-handling-non-linear-mappings.patch
* rmap-drop-support-of-non-linear-mappings.patch
* mm-replace-vma-shareadlinear-with-vma-shared.patch
* mm-remove-rest-usage-of-vm_nonlinear-and-pte_file.patch
* asm-generic-drop-unused-pte_file-helpers.patch
* alpha-drop-_page_file-and-pte_file-related-helpers.patch
* arc-drop-_page_file-and-pte_file-related-helpers.patch
* arc-drop-_page_file-and-pte_file-related-helpers-fix.patch
* arm64-drop-pte_file-and-pte_file-related-helpers.patch
* arm-drop-l_pte_file-and-pte_file-related-helpers.patch
* avr32-drop-_page_file-and-pte_file-related-helpers.patch
* blackfin-drop-pte_file.patch
* c6x-drop-pte_file.patch
* cris-drop-_page_file-and-pte_file-related-helpers.patch
* frv-drop-_page_file-and-pte_file-related-helpers.patch
* hexagon-drop-_page_file-and-pte_file-related-helpers.patch
* ia64-drop-_page_file-and-pte_file-related-helpers.patch
* m32r-drop-_page_file-and-pte_file-related-helpers.patch
* m68k-drop-_page_file-and-pte_file-related-helpers.patch
* metag-drop-_page_file-and-pte_file-related-helpers.patch
* microblaze-drop-_page_file-and-pte_file-related-helpers.patch
* mips-drop-_page_file-and-pte_file-related-helpers.patch
* mn10300-drop-_page_file-and-pte_file-related-helpers.patch
* nios2-drop-_page_file-and-pte_file-related-helpers.patch
* openrisc-drop-_page_file-and-pte_file-related-helpers.patch
* parisc-drop-_page_file-and-pte_file-related-helpers.patch
* powerpc-drop-_page_file-and-pte_file-related-helpers.patch
* s390-drop-pte_file-related-helpers.patch
* score-drop-_page_file-and-pte_file-related-helpers.patch
* sh-drop-_page_file-and-pte_file-related-helpers.patch
* sparc-drop-pte_file-related-helpers.patch
* tile-drop-pte_file-related-helpers.patch
* um-drop-_page_file-and-pte_file-related-helpers.patch
* unicore32-drop-pte_file-related-helpers.patch
* x86-drop-_page_file-and-pte_file-related-helpers.patch
* xtensa-drop-_page_file-and-pte_file-related-helpers.patch
* mm-memory-remove-vm_file-check-on-shared-writable-vmas.patch
* mm-memory-merge-shared-writable-dirtying-branches-in-do_wp_page.patch
* hugetlb-sysctl-pass-extra1-=-null-rather-then-extra1-=-zero.patch
* mm-hugetlb-fix-type-of-hugetlb_treat_as_movable-variable.patch
* mm-page_alloc-place-zone_id-check-before-vm_bug_on_page-check.patch
* memcg-zap-__memcg_chargeuncharge_slab.patch
* memcg-zap-memcg_name-argument-of-memcg_create_kmem_cache.patch
* memcg-zap-memcg_slab_caches-and-memcg_slab_mutex.patch
* mm-add-fields-for-compound-destructor-and-order-into-struct-page.patch
* mm-add-vm_bug_on_page-for-page_mapcount.patch
* mm-add-kpf_zero_page-flag-for-proc-kpageflags.patch
* oom-dont-count-on-mm-less-current-process.patch
* oom-make-sure-that-tif_memdie-is-set-under-task_lock.patch
* swap-remove-unused-mem_cgroup_uncharge_swapcache-declaration.patch
* mm-memcontrol-track-move_lock-state-internally.patch
* mm-memcontrol-track-move_lock-state-internally-fix.patch
* mm-page_allocc-__alloc_pages_nodemask-dont-alter-arg-gfp_mask.patch
* kmemcheck-move-hook-into-__alloc_pages_nodemask-for-the-page-allocator.patch
* mm-fix-a-typo-of-migrate_reserve-in-comment.patch
* mm-vmscan-wake-up-all-pfmemalloc-throttled-processes-at-once.patch
* mm-hugetlb-reduce-arch-dependent-code-around-follow_huge_.patch
* mm-hugetlb-reduce-arch-dependent-code-around-follow_huge_-fix.patch
* mm-hugetlb-pmd_huge-returns-true-for-non-present-hugepage.patch
* mm-hugetlb-take-page-table-lock-in-follow_huge_pmd.patch
* mm-hugetlb-fix-getting-refcount-0-page-in-hugetlb_fault.patch
* mm-hugetlb-add-migration-hwpoisoned-entry-check-in-hugetlb_change_protection.patch
* mm-hugetlb-add-migration-entry-check-in-__unmap_hugepage_range.patch
* mm-hugetlb-fix-suboptimal-migration-hwpoisoned-entry-check.patch
* mm-hugetlb-cleanup-and-rename-is_hugetlb_entry_migrationhwpoisoned.patch
* sparc32-fix-broken-set_pte.patch
* mm-numa-do-not-dereference-pmd-outside-of-the-lock-during-numa-hinting-fault.patch
* mm-add-p-protnone-helpers-for-use-by-numa-balancing.patch
* mm-convert-p_numa-users-to-p_protnone_numa.patch
* ppc64-add-paranoid-warnings-for-unexpected-dsisr_protfault.patch
* mm-convert-p_mknonnuma-and-remaining-page-table-manipulations.patch
* mm-remove-remaining-references-to-numa-hinting-bits-and-helpers.patch
* mm-numa-do-not-trap-faults-on-the-huge-zero-page.patch
* x86-mm-restore-original-pte_special-check.patch
* mm-numa-add-paranoid-check-around-pte_protnone_numa.patch
* mm-numa-avoid-unnecessary-tlb-flushes-when-setting-numa-hinting-entries.patch
* mm-set-page-pfmemalloc-in-prep_new_page.patch
* mm-page_alloc-reduce-number-of-alloc_pages-functions-parameters.patch
* mm-reduce-try_to_compact_pages-parameters.patch
* mm-microoptimize-zonelist-operations.patch
* list_lru-introduce-list_lru_shrink_countwalk.patch
* fs-consolidate-nrfree_cached_objects-args-in-shrink_control.patch
* vmscan-per-memory-cgroup-slab-shrinkers.patch
* memcg-rename-some-cache-id-related-variables.patch
* memcg-add-rwsem-to-synchronize-against-memcg_caches-arrays-relocation.patch
* list_lru-get-rid-of-active_nodes.patch
* list_lru-organize-all-list_lrus-to-list.patch
* list_lru-introduce-per-memcg-lists.patch
* fs-make-shrinker-memcg-aware.patch
* mm-page_allocc-drop-dead-destroy_compound_page.patch
* mm-more-checks-on-free_pages_prepare-for-tail-pages.patch
* mm-more-checks-on-free_pages_prepare-for-tail-pages-fix-2.patch
* vmscan-force-scan-offline-memory-cgroups.patch
* vmscan-force-scan-offline-memory-cgroups-fix.patch
* memcg-add-build_bug_on-for-string-tables.patch
* mm-use-correct-format-specifiers-when-printing-address-ranges.patch
* mm-page_counter-pull-1-handling-out-of-page_counter_memparse.patch
* mm-memcontrol-default-hierarchy-interface-for-memory.patch
* mm-memcontrol-fold-move_anon-and-move_file.patch
* mm-memcontrol-fold-move_anon-and-move_file-fix.patch
* oom-add-helpers-for-setting-and-clearing-tif_memdie.patch
* oom-thaw-the-oom-victim-if-it-is-frozen.patch
* pm-convert-printk-to-pr_-equivalent.patch
* sysrq-convert-printk-to-pr_-equivalent.patch
* oom-pm-make-oom-detection-in-the-freezer-path-raceless.patch
* mm-cma-fix-totalcma_pages-to-include-dt-defined-cma-regions.patch
* mm-memcontrol-remove-unnecessary-soft-limit-tree-node-test.patch
* mm-memcontrol-consolidate-memory-controller-initialization.patch
* mm-memcontrol-consolidate-swap-controller-code.patch
* fs-shrinker-always-scan-at-least-one-object-of-each-type.patch
* fs-shrinker-always-scan-at-least-one-object-of-each-type-fix.patch
* mm-pagemap-limit-scan-to-virtual-region-being-asked.patch
* mm-make-first_user_address-unsigned-long-on-all-archs.patch
* mm-asm-generic-define-pud_shift-in-asm-generic-4level-fixuph.patch
* arm-define-__pagetable_pmd_folded-for-lpae.patch
* mm-account-pmd-page-tables-to-the-process.patch
* page_writeback-put-account_page_redirty-after-set_page_dirty.patch
* mm-compaction-change-tracepoint-format-from-decimal-to-hexadecimal.patch
* mm-compaction-enhance-tracepoint-output-for-compaction-begin-end.patch
* mm-compaction-enhance-tracepoint-output-for-compaction-begin-end-v4.patch
* mm-compaction-print-current-range-where-compaction-work.patch
* mm-compaction-more-trace-to-understand-when-why-compaction-start-finish.patch
* mm-compaction-add-tracepoint-to-observe-behaviour-of-compaction-defer.patch
* mm-compaction-add-tracepoint-to-observe-behaviour-of-compaction-defer-v4.patch
* mm-vmscan-fix-the-page-state-calculation-in-too_many_isolated.patch
* mm-vmscan-fix-the-page-state-calculation-in-too_many_isolated-fix.patch
* mm-thp-allocate-transparent-hugepages-on-local-node.patch
* mm-thp-allocate-transparent-hugepages-on-local-node-fix.patch
* mm-page_isolation-check-pfn-validity-before-access.patch
* mm-fix-invalid-use-of-pfn_valid_within-in-test_pages_in_a_zone.patch
* fs-mpagec-forgotten-write_sync-in-case-of-data-integrity-write.patch
* mm-support-madvisemadv_free.patch
* mm-support-madvisemadv_free-fix.patch
* x86-add-pmd_-for-thp.patch
* x86-add-pmd_-for-thp-fix.patch
* sparc-add-pmd_-for-thp.patch
* sparc-add-pmd_-for-thp-fix.patch
* powerpc-add-pmd_-for-thp.patch
* arm-add-pmd_mkclean-for-thp.patch
* arm64-add-pmd_-for-thp.patch
* mm-dont-split-thp-page-when-syscall-is-called.patch
* mm-dont-split-thp-page-when-syscall-is-called-fix.patch
* mm-dont-split-thp-page-when-syscall-is-called-fix-2.patch
* zram-clean-up-zram_meta_alloc.patch
* mm-zpool-add-name-argument-to-create-zpool.patch
* mm-zsmalloc-add-statistics-support.patch
* arch-frv-mm-extablec-remove-unused-function.patch
* task_mmu-add-user-space-support-for-resetting-mm-hiwater_rss-peak-rss.patch
* fs-proc-use-the-pde-to-to-get-proc_dir_entry.patch
* documentation-proc-add-proc-pid-numa_maps-interface-explanation-snippet.patch
* fs-proc-task_mmu-show-page-size-in-proc-pid-numa_maps.patch
* fs-proc-task_mmu-show-page-size-in-proc-pid-numa_maps-fix.patch
* fs-proc-arrayc-convert-to-use-string_escape_str.patch
* all-arches-signal-move-restart_block-to-struct-task_struct.patch
* all-arches-signal-move-restart_block-to-struct-task_struct-fix.patch
* linux-typesh-always-use-unsigned-long-for-pgoff_t.patch
* printk-correct-timeout-comment-neaten-module_parm_desc.patch
* lib-vsprintfc-consume-p-in-format_decode.patch
* lib-vsprintfc-improve-sanity-check-in-vsnprintf.patch
* lib-vsprintfc-replace-while-with-do-while-in-skip_atoi.patch
* lib-vsprintf-add-%pt-format-specifier.patch
* lib-string_get_size-remove-redundant-prefixes.patch
* lib-string_get_size-use-32-bit-arithmetic-when-possible.patch
* lib-string_get_size-return-void.patch
* lib-bitmap-more-signed-unsigned-conversions.patch
* linux-nodemaskh-update-bitmap-wrappers-to-take-unsigned-int.patch
* linux-cpumaskh-update-bitmap-wrappers-to-take-unsigned-int.patch
* lib-bitmap-update-bitmap_onto-to-unsigned.patch
* lib-bitmap-update-bitmap_onto-to-unsigned-checkpatch-fixes.patch
* lib-bitmap-change-parameters-of-bitmap_fold-to-unsigned.patch
* lib-bitmap-change-parameters-of-bitmap_fold-to-unsigned-fix.patch
* lib-bitmap-simplify-bitmap_pos_to_ord.patch
* lib-bitmap-simplify-bitmap_ord_to_pos.patch
* lib-bitmap-make-the-bits-parameter-of-bitmap_remap-unsigned.patch
* lib-remove-strnicmp.patch
* lib-genallocc-fix-the-end-addr-check-in-addr_in_gen_pool.patch
* hexdump-introduce-test-suite.patch
* hexdump-fix-ascii-column-for-the-tail-of-a-dump.patch
* hexdump-do-few-calculations-ahead.patch
* hexdump-makes-it-return-amount-of-bytes-placed-in-buffer.patch
* hexdump-makes-it-return-amount-of-bytes-placed-in-buffer-fix.patch
* lib-interval_treec-simplify-includes.patch
* lib-sortc-use-simpler-includes.patch
* lib-dynamic_queue_limitsc-simplify-includes.patch
* lib-halfmd4c-simplify-includes.patch
* lib-idrc-remove-redundant-include.patch
* lib-genallocc-remove-redundant-include.patch
* lib-list_sortc-rearrange-includes.patch
* lib-md5c-simplify-include.patch
* lib-llistc-remove-redundant-include.patch
* lib-kobject_ueventc-remove-redundant-include.patch
* lib-nlattrc-remove-redundant-include.patch
* lib-plistc-remove-redundant-include.patch
* lib-radix-treec-change-to-simpler-include.patch
* lib-show_memc-remove-redundant-include.patch
* lib-sortc-move-include-inside-if-0.patch
* lib-stmp_devicec-replace-moduleh-include.patch
* lib-strncpy_from_userc-replace-moduleh-include.patch
* lib-percpu_idac-remove-redundant-includes.patch
* lib-lcmc-replace-include.patch
* lib-bitmapc-change-prototype-of-bitmap_copy_le.patch
* lib-bitmapc-elide-bitmap_copy_le-on-little-endian.patch
* lib-bitmap-change-bitmap_shift_right-to-take-unsigned-parameters.patch
* lib-bitmap-eliminate-branch-in-__bitmap_shift_right.patch
* lib-bitmap-remove-redundant-code-from-__bitmap_shift_right.patch
* lib-bitmap-yet-another-simplification-in-__bitmap_shift_right.patch
* lib-bitmap-change-bitmap_shift_left-to-take-unsigned-parameters.patch
* lib-bitmap-eliminate-branch-in-__bitmap_shift_left.patch
* lib-bitmap-remove-redundant-code-from-__bitmap_shift_left.patch
* lib-crc32-constify-crc32-lookup-table.patch
* mm-util-add-kstrdup_const.patch
* kernfs-convert-node-name-allocation-to-kstrdup_const.patch
* kernfs-remove-kernfs_static_name.patch
* clk-convert-clock-name-allocations-to-kstrdup_const.patch
* mm-slab-convert-cache-name-allocations-to-kstrdup_const.patch
* mm-slab-convert-cache-name-allocations-to-kstrdup_const-fix.patch
* fs-namespace-convert-devname-allocation-to-kstrdup_const.patch
* lib-stringc-improve-strrchr.patch
* genalloc-check-result-of-devres_alloc.patch
* mm-utilc-add-kstrimdup.patch
* lib-add-crc64-ecma-module.patch
* checkpatch-emit-an-error-when-using-predefined-timestamp-macros.patch
* checkpatch-improve-octal-permissions-tests.patch
* checkpatch-ignore-__pure-attribute.patch
* checkpatch-fix-unnecessary_kern_level-false-positive.patch
* checkpatch-add-check-for-keyword-boolean-in-kconfig-definitions.patch
* checkpatch-allow-comments-in-macros-tested-for-single-statements.patch
* checkpatch-update-git-commit-message.patch
* checkpatch-add-likely-unlikely-comparison-misuse-test.patch
* checkpatch-add-ability-to-coalesce-commit-descriptions-on-multiple-lines.patch
* checkpatch-add-types-for-other-os-typedefs.patch
* init-remove-config_init_fallback.patch
* rtc-rtc-pfc2123-add-support-for-devicetree.patch
* drivers-rtc-interfacec-check-the-error-after-__rtc_read_time.patch
* rtc-rtc-isl12057-add-alarm-support-to-intersil-isl12057-rtc-driver.patch
* rtc-rtc-isl12057-add-alarm-support-to-intersil-isl12057-rtc-driver-update.patch
* rtc-rtc-isl12057-add-isilirq2-can-wakeup-machine-property-for-in-tree-users.patch
* arm-mvebu-isl12057-rtc-chip-can-now-wake-up-rn102-rn102-and-rn2120.patch
* rtc-imx-dryice-trivial-clean-up-code.patch
* rtc-imx-dryice-add-more-known-register-bits.patch
* rtc-at91sam9-constify-struct-regmap_config.patch
* rtc-isl12057-constify-struct-regmap_config.patch
* rtc-rk808-fix-the-rtc-time-reading-issue.patch
* rtc-rk808-fix-the-rtc-time-reading-issue-fix.patch
* of-add-vendor-prefix-for-abracon-corporation.patch
* rtc-add-support-for-abracon-ab-rtcmc-32768khz-b5ze-s3-i2c-rtc-chip.patch
* rtc-add-support-for-abracon-ab-rtcmc-32768khz-b5ze-s3-i2c-rtc-chip-v2.patch
* rtc-rtc-ab-b5ze-s3-add-sub-minute-alarm-support.patch
* rtc-restore-alarm-after-resume.patch
* fs-befs-linuxvfsc-remove-unnecessary-casting.patch
* fs-befs-linuxvfsc-remove-unnecessary-casting-fix.patch
* fs-coda-dirc-forward-declaration-clean-up.patch
* fs-ufs-superc-remove-unnecessary-casting.patch
* fs-reiserfs-inodec-replace-0-by-null-for-pointers.patch
* fs-fat-use-msdos_sb-macro-to-get-msdos_sb_info.patch
* fat-add-fat_fallocate-operation.patch
* fat-skip-cluster-allocation-on-fallocated-region.patch
* fat-permit-to-return-phy-block-number-by-fibmap-in-fallocated-region.patch
* documentation-filesystems-vfattxt-update-the-limitation-for-fat-fallocate.patch
* ptrace-remove-linux-compath-inclusion-under-config_compat.patch
* signal-use-current-state-helpers.patch
* kexec-remove-never-used-member-destination-in-kimage.patch
* kexec-fix-a-typo-in-comment.patch
* kexec-fix-make-headers_check.patch
* kexec-simplify-conditional.patch
* kexec-add-bit-definitions-for-kimage-entry-flags.patch
* kexec-add-ind_flags-macro.patch
* vmcore-fix-pt_note-n_namesz-n_descsz-overflow-issue.patch
* kdump-vmcoreinfo-report-actual-value-of-phys_base.patch
* rbtree-fix-typo-in-comment.patch
* eventfd-dont-take-the-spinlock-in-eventfd_poll.patch
* fs-affs-fix-casting-in-printed-messages.patch
* fs-affs-filec-replace-if-bug-by-bug_on.patch
* fs-affs-filec-fix-direct-io-writes-beyond-eof.patch
* fs-affs-superc-destroy-sbi-mutex-in-affs_kill_sb.patch
* ipcsem-use-current-state-helpers.patch
  linux-next.patch
  linux-next-rejects.patch
* drivers-gpio-gpio-zevioc-fix-build.patch
* viro-fix.patch
* rtc-isl12022-deprecate-use-of-isl-in-compatible-string-for-isil.patch
* rtc-isl12057-deprecate-use-of-isl-in-compatible-string-for-isil.patch
* staging-iio-isl29028-deprecate-use-of-isl-in-compatible-string-for-isil.patch
* arm-dts-zynq-update-isl9305-compatible-string-to-use-isil-vendor-prefix.patch
* maintainers-add-git-url-entry-for-uio.patch
* mm-fix-xip-fault-vs-truncate-race.patch
* mm-fix-xip-fault-vs-truncate-race-fix.patch
* mm-fix-xip-fault-vs-truncate-race-fix-fix.patch
* mm-allow-page-fault-handlers-to-perform-the-cow.patch
* mm-allow-page-fault-handlers-to-perform-the-cow-fix.patch
* mm-allow-page-fault-handlers-to-perform-the-cow-fix-fix-3.patch
* mm-allow-page-fault-handlers-to-perform-the-cow-fix-fix.patch
* vfsext2-introduce-is_daxinode.patch
* daxext2-replace-xip-read-and-write-with-dax-i-o.patch
* daxext2-replace-ext2_clear_xip_target-with-dax_clear_blocks.patch
* daxext2-replace-the-xip-page-fault-handler-with-the-dax-page-fault-handler.patch
* daxext2-replace-the-xip-page-fault-handler-with-the-dax-page-fault-handler-fix.patch
* daxext2-replace-the-xip-page-fault-handler-with-the-dax-page-fault-handler-fix-2.patch
* daxext2-replace-the-xip-page-fault-handler-with-the-dax-page-fault-handler-fix-3.patch
* daxext2-replace-xip_truncate_page-with-dax_truncate_page.patch
* dax-replace-xip-documentation-with-dax-documentation.patch
* vfs-remove-get_xip_mem.patch
* ext2-remove-ext2_xip_verify_sb.patch
* ext2-remove-ext2_use_xip.patch
* ext2-remove-xipc-and-xiph.patch
* vfsext2-remove-config_ext2_fs_xip-and-rename-config_fs_xip-to-config_fs_dax.patch
* ext2-remove-ext2_aops_xip.patch
* ext2-get-rid-of-most-mentions-of-xip-in-ext2.patch
* dax-add-dax_zero_page_range.patch
* dax-add-dax_zero_page_range-fix.patch
* ext4-add-dax-functionality.patch
* ext4-add-dax-functionality-fix.patch
* brd-rename-xip-to-dax.patch
* maintainers-fixed-spelling-mistake-removed-trailing-ws.patch
* ocfs2-eliminate-the-static-flag-of-some-functions.patch
* ocfs2-add-functions-to-add-and-remove-inode-in-orphan-dir.patch
* ocfs2-add-orphan-recovery-types-in-ocfs2_recover_orphans.patch
* ocfs2-implement-ocfs2_direct_io_write.patch
* ocfs2-implement-ocfs2_direct_io_write-fix.patch
* ocfs2-allocate-blocks-in-ocfs2_direct_io_get_blocks.patch
* ocfs2-do-not-fallback-to-buffer-i-o-write-if-appending.patch
* ocfs2-do-not-fallback-to-buffer-i-o-write-if-fill-holes.patch
* ocfs2-fix-leftover-orphan-entry-caused-by-append-o_direct-write-crash.patch
* w1-call-put_device-if-device_register-fails.patch
* mm-add-strictlimit-knob-v2.patch
  do_shared_fault-check-that-mmap_sem-is-held.patch
  make-sure-nobodys-leaking-resources.patch
  journal_add_journal_head-debug.patch
  journal_add_journal_head-debug-fix.patch
  releasing-resources-with-children.patch
  make-frame_pointer-default=y.patch
  kernel-forkc-export-kernel_thread-to-modules.patch
  mutex-subsystem-synchro-test-module.patch
  slab-leaks3-default-y.patch
  add-debugging-aid-for-memory-initialisation-problems.patch
  workaround-for-a-pci-restoring-bug.patch

^ permalink raw reply	[flat|nested] 67+ messages in thread

* mmotm 2015-01-22-15-04 uploaded
@ 2015-01-22 23:05 ` akpm
  0 siblings, 0 replies; 67+ messages in thread
From: akpm @ 2015-01-22 23:05 UTC (permalink / raw)
  To: mm-commits, linux-kernel, linux-mm, linux-fsdevel, linux-next,
	sfr, mhocko

The mm-of-the-moment snapshot 2015-01-22-15-04 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 (3.x
or 3.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/?p=linux-mmotm.git;a=summary

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/?p=linux-mmots.git;a=summary

and use of this tree is similar to
http://git.cmpxchg.org/?p=linux-mmotm.git, described above.


This mmotm tree contains the following patches against 3.19-rc5:
(patches marked "*" will be included in linux-next)

  origin.patch
  i-need-old-gcc.patch
  arch-alpha-kernel-systblss-remove-debug-check.patch
* mm-page_alloc-embed-oom-killing-naturally-into-allocation-slowpath.patch
* x86-build-replace-perl-script-with-shell-script.patch
* memcg-remove-extra-newlines-from-memcg-oom-kill-log.patch
* mm-vmscan-fix-highidx-argument-type.patch
* printk-add-dummy-routine-for-when-config_printk=n.patch
* rtc-s5m-terminate-s5m_rtc_id-array-with-empty-element.patch
* mm-pagewalk-call-pte_hole-for-vm_pfnmap-during-walk_page_range.patch
* jffs2-bugfix-of-summary-length.patch
* fanotify-only-destroy-mark-when-both-mask-and-ignored_mask-are-cleared.patch
* fanotify-dont-recalculate-a-marks-mask-if-only-the-ignored-mask-changed.patch
* fanotify-dont-recalculate-a-marks-mask-if-only-the-ignored-mask-changed-checkpatch-fixes.patch
* fanotify-dont-set-fan_ondir-implicitly-on-a-marks-ignored-mask.patch
* fanotify-dont-set-fan_ondir-implicitly-on-a-marks-ignored-mask-checkpatch-fixes.patch
* input-route-kbd-leds-through-the-generic-leds-layer.patch
* build-superh-without-config_expert.patch
* fs-ext4-fsyncc-generic_file_fsync-call-based-on-barrier-flag.patch
* ocfs2-dlm-add-missing-dlm_lock_put-when-recovery-master-down.patch
* ocfs2-remove-unnecessary-else-in-ocfs2_set_acl.patch
* ocfs2-fix-uninitialized-variable-access.patch
* ocfs2-fix-wrong-comment.patch
* ocfs2-fix-snprintf-format-specifier-in-dlmdebugc.patch
* ocfs2-xattr-remove-unused-function.patch
* ocfs2-quota_local-remove-unused-function.patch
* ocfs2-dlm-dlmdomain-remove-unused-function.patch
* ocfs2-fix-journal-commit-deadlock-in-ocfs2_convert_inline_data_to_extents.patch
* ocfs2-add-a-mount-option-journal_async_commit-on-ocfs2-filesystem.patch
* ocfs2-remove-pointless-assignment-from-ocfs2_calc_refcount_meta_credits.patch
* o2dlm-fix-null-pointer-dereference-in-o2dlm_blocking_ast_wrapper.patch
* ocfs2-call-ocfs2_journal_access_di-before-ocfs2_journal_dirty-in-ocfs2_write_end_nolock.patch
* ocfs2-avoid-access-invalid-address-when-read-o2dlm-debug-messages.patch
* block-restore-proc-partitions-to-not-display-non-partitionable-removable-devices.patch
* fs-make-generic_block_fiemap-sig-tolerant.patch
* fs-make-generic_block_fiemap-sig-tolerant-fix.patch
  mm.patch
* mm-slub-optimize-alloc-free-fastpath-by-removing-preemption-on-off.patch
* mm-slub-optimize-alloc-free-fastpath-by-removing-preemption-on-off-v3.patch
* mm-dont-use-compound_head-in-virt_to_head_page.patch
* mm-dont-use-compound_head-in-virt_to_head_page-v3.patch
* mm-slub-fix-typo.patch
* mm-vmstatc-fix-cleanup-ifdefs.patch
* mm-vmstatc-fix-cleanup-ifdefs-fix-2.patch
* mm-replace-remap_file_pages-syscall-with-emulation.patch
* mm-drop-support-of-non-linear-mapping-from-unmap-zap-codepath.patch
* mm-drop-support-of-non-linear-mapping-from-fault-codepath.patch
* mm-drop-vm_ops-remap_pages-and-generic_file_remap_pages-stub.patch
* mm-drop-vm_ops-remap_pages-and-generic_file_remap_pages-stub-fix.patch
* proc-drop-handling-non-linear-mappings.patch
* rmap-drop-support-of-non-linear-mappings.patch
* mm-replace-vma-shareadlinear-with-vma-shared.patch
* mm-remove-rest-usage-of-vm_nonlinear-and-pte_file.patch
* asm-generic-drop-unused-pte_file-helpers.patch
* alpha-drop-_page_file-and-pte_file-related-helpers.patch
* arc-drop-_page_file-and-pte_file-related-helpers.patch
* arc-drop-_page_file-and-pte_file-related-helpers-fix.patch
* arm64-drop-pte_file-and-pte_file-related-helpers.patch
* arm-drop-l_pte_file-and-pte_file-related-helpers.patch
* avr32-drop-_page_file-and-pte_file-related-helpers.patch
* blackfin-drop-pte_file.patch
* c6x-drop-pte_file.patch
* cris-drop-_page_file-and-pte_file-related-helpers.patch
* frv-drop-_page_file-and-pte_file-related-helpers.patch
* hexagon-drop-_page_file-and-pte_file-related-helpers.patch
* ia64-drop-_page_file-and-pte_file-related-helpers.patch
* m32r-drop-_page_file-and-pte_file-related-helpers.patch
* m68k-drop-_page_file-and-pte_file-related-helpers.patch
* metag-drop-_page_file-and-pte_file-related-helpers.patch
* microblaze-drop-_page_file-and-pte_file-related-helpers.patch
* mips-drop-_page_file-and-pte_file-related-helpers.patch
* mn10300-drop-_page_file-and-pte_file-related-helpers.patch
* nios2-drop-_page_file-and-pte_file-related-helpers.patch
* openrisc-drop-_page_file-and-pte_file-related-helpers.patch
* parisc-drop-_page_file-and-pte_file-related-helpers.patch
* powerpc-drop-_page_file-and-pte_file-related-helpers.patch
* s390-drop-pte_file-related-helpers.patch
* score-drop-_page_file-and-pte_file-related-helpers.patch
* sh-drop-_page_file-and-pte_file-related-helpers.patch
* sparc-drop-pte_file-related-helpers.patch
* tile-drop-pte_file-related-helpers.patch
* um-drop-_page_file-and-pte_file-related-helpers.patch
* unicore32-drop-pte_file-related-helpers.patch
* x86-drop-_page_file-and-pte_file-related-helpers.patch
* xtensa-drop-_page_file-and-pte_file-related-helpers.patch
* mm-memory-remove-vm_file-check-on-shared-writable-vmas.patch
* mm-memory-merge-shared-writable-dirtying-branches-in-do_wp_page.patch
* hugetlb-sysctl-pass-extra1-=-null-rather-then-extra1-=-zero.patch
* mm-hugetlb-fix-type-of-hugetlb_treat_as_movable-variable.patch
* mm-page_alloc-place-zone_id-check-before-vm_bug_on_page-check.patch
* memcg-zap-__memcg_chargeuncharge_slab.patch
* memcg-zap-memcg_name-argument-of-memcg_create_kmem_cache.patch
* memcg-zap-memcg_slab_caches-and-memcg_slab_mutex.patch
* mm-add-fields-for-compound-destructor-and-order-into-struct-page.patch
* mm-add-vm_bug_on_page-for-page_mapcount.patch
* mm-add-kpf_zero_page-flag-for-proc-kpageflags.patch
* oom-dont-count-on-mm-less-current-process.patch
* oom-make-sure-that-tif_memdie-is-set-under-task_lock.patch
* swap-remove-unused-mem_cgroup_uncharge_swapcache-declaration.patch
* mm-memcontrol-track-move_lock-state-internally.patch
* mm-memcontrol-track-move_lock-state-internally-fix.patch
* mm-page_allocc-__alloc_pages_nodemask-dont-alter-arg-gfp_mask.patch
* kmemcheck-move-hook-into-__alloc_pages_nodemask-for-the-page-allocator.patch
* mm-fix-a-typo-of-migrate_reserve-in-comment.patch
* mm-vmscan-wake-up-all-pfmemalloc-throttled-processes-at-once.patch
* mm-hugetlb-reduce-arch-dependent-code-around-follow_huge_.patch
* mm-hugetlb-reduce-arch-dependent-code-around-follow_huge_-fix.patch
* mm-hugetlb-pmd_huge-returns-true-for-non-present-hugepage.patch
* mm-hugetlb-take-page-table-lock-in-follow_huge_pmd.patch
* mm-hugetlb-fix-getting-refcount-0-page-in-hugetlb_fault.patch
* mm-hugetlb-add-migration-hwpoisoned-entry-check-in-hugetlb_change_protection.patch
* mm-hugetlb-add-migration-entry-check-in-__unmap_hugepage_range.patch
* mm-hugetlb-fix-suboptimal-migration-hwpoisoned-entry-check.patch
* mm-hugetlb-cleanup-and-rename-is_hugetlb_entry_migrationhwpoisoned.patch
* sparc32-fix-broken-set_pte.patch
* mm-numa-do-not-dereference-pmd-outside-of-the-lock-during-numa-hinting-fault.patch
* mm-add-p-protnone-helpers-for-use-by-numa-balancing.patch
* mm-convert-p_numa-users-to-p_protnone_numa.patch
* ppc64-add-paranoid-warnings-for-unexpected-dsisr_protfault.patch
* mm-convert-p_mknonnuma-and-remaining-page-table-manipulations.patch
* mm-remove-remaining-references-to-numa-hinting-bits-and-helpers.patch
* mm-numa-do-not-trap-faults-on-the-huge-zero-page.patch
* x86-mm-restore-original-pte_special-check.patch
* mm-numa-add-paranoid-check-around-pte_protnone_numa.patch
* mm-numa-avoid-unnecessary-tlb-flushes-when-setting-numa-hinting-entries.patch
* mm-set-page-pfmemalloc-in-prep_new_page.patch
* mm-page_alloc-reduce-number-of-alloc_pages-functions-parameters.patch
* mm-reduce-try_to_compact_pages-parameters.patch
* mm-microoptimize-zonelist-operations.patch
* list_lru-introduce-list_lru_shrink_countwalk.patch
* fs-consolidate-nrfree_cached_objects-args-in-shrink_control.patch
* vmscan-per-memory-cgroup-slab-shrinkers.patch
* memcg-rename-some-cache-id-related-variables.patch
* memcg-add-rwsem-to-synchronize-against-memcg_caches-arrays-relocation.patch
* list_lru-get-rid-of-active_nodes.patch
* list_lru-organize-all-list_lrus-to-list.patch
* list_lru-introduce-per-memcg-lists.patch
* fs-make-shrinker-memcg-aware.patch
* mm-page_allocc-drop-dead-destroy_compound_page.patch
* mm-more-checks-on-free_pages_prepare-for-tail-pages.patch
* mm-more-checks-on-free_pages_prepare-for-tail-pages-fix-2.patch
* vmscan-force-scan-offline-memory-cgroups.patch
* vmscan-force-scan-offline-memory-cgroups-fix.patch
* memcg-add-build_bug_on-for-string-tables.patch
* mm-use-correct-format-specifiers-when-printing-address-ranges.patch
* mm-page_counter-pull-1-handling-out-of-page_counter_memparse.patch
* mm-memcontrol-default-hierarchy-interface-for-memory.patch
* mm-memcontrol-fold-move_anon-and-move_file.patch
* mm-memcontrol-fold-move_anon-and-move_file-fix.patch
* oom-add-helpers-for-setting-and-clearing-tif_memdie.patch
* oom-thaw-the-oom-victim-if-it-is-frozen.patch
* pm-convert-printk-to-pr_-equivalent.patch
* sysrq-convert-printk-to-pr_-equivalent.patch
* oom-pm-make-oom-detection-in-the-freezer-path-raceless.patch
* mm-cma-fix-totalcma_pages-to-include-dt-defined-cma-regions.patch
* mm-memcontrol-remove-unnecessary-soft-limit-tree-node-test.patch
* mm-memcontrol-consolidate-memory-controller-initialization.patch
* mm-memcontrol-consolidate-swap-controller-code.patch
* fs-shrinker-always-scan-at-least-one-object-of-each-type.patch
* fs-shrinker-always-scan-at-least-one-object-of-each-type-fix.patch
* mm-pagemap-limit-scan-to-virtual-region-being-asked.patch
* mm-make-first_user_address-unsigned-long-on-all-archs.patch
* mm-asm-generic-define-pud_shift-in-asm-generic-4level-fixuph.patch
* arm-define-__pagetable_pmd_folded-for-lpae.patch
* mm-account-pmd-page-tables-to-the-process.patch
* page_writeback-put-account_page_redirty-after-set_page_dirty.patch
* mm-compaction-change-tracepoint-format-from-decimal-to-hexadecimal.patch
* mm-compaction-enhance-tracepoint-output-for-compaction-begin-end.patch
* mm-compaction-enhance-tracepoint-output-for-compaction-begin-end-v4.patch
* mm-compaction-print-current-range-where-compaction-work.patch
* mm-compaction-more-trace-to-understand-when-why-compaction-start-finish.patch
* mm-compaction-add-tracepoint-to-observe-behaviour-of-compaction-defer.patch
* mm-compaction-add-tracepoint-to-observe-behaviour-of-compaction-defer-v4.patch
* mm-vmscan-fix-the-page-state-calculation-in-too_many_isolated.patch
* mm-vmscan-fix-the-page-state-calculation-in-too_many_isolated-fix.patch
* mm-thp-allocate-transparent-hugepages-on-local-node.patch
* mm-thp-allocate-transparent-hugepages-on-local-node-fix.patch
* mm-page_isolation-check-pfn-validity-before-access.patch
* mm-fix-invalid-use-of-pfn_valid_within-in-test_pages_in_a_zone.patch
* fs-mpagec-forgotten-write_sync-in-case-of-data-integrity-write.patch
* mm-support-madvisemadv_free.patch
* mm-support-madvisemadv_free-fix.patch
* x86-add-pmd_-for-thp.patch
* x86-add-pmd_-for-thp-fix.patch
* sparc-add-pmd_-for-thp.patch
* sparc-add-pmd_-for-thp-fix.patch
* powerpc-add-pmd_-for-thp.patch
* arm-add-pmd_mkclean-for-thp.patch
* arm64-add-pmd_-for-thp.patch
* mm-dont-split-thp-page-when-syscall-is-called.patch
* mm-dont-split-thp-page-when-syscall-is-called-fix.patch
* mm-dont-split-thp-page-when-syscall-is-called-fix-2.patch
* zram-clean-up-zram_meta_alloc.patch
* mm-zpool-add-name-argument-to-create-zpool.patch
* mm-zsmalloc-add-statistics-support.patch
* arch-frv-mm-extablec-remove-unused-function.patch
* task_mmu-add-user-space-support-for-resetting-mm-hiwater_rss-peak-rss.patch
* fs-proc-use-the-pde-to-to-get-proc_dir_entry.patch
* documentation-proc-add-proc-pid-numa_maps-interface-explanation-snippet.patch
* fs-proc-task_mmu-show-page-size-in-proc-pid-numa_maps.patch
* fs-proc-task_mmu-show-page-size-in-proc-pid-numa_maps-fix.patch
* fs-proc-arrayc-convert-to-use-string_escape_str.patch
* all-arches-signal-move-restart_block-to-struct-task_struct.patch
* all-arches-signal-move-restart_block-to-struct-task_struct-fix.patch
* linux-typesh-always-use-unsigned-long-for-pgoff_t.patch
* printk-correct-timeout-comment-neaten-module_parm_desc.patch
* lib-vsprintfc-consume-p-in-format_decode.patch
* lib-vsprintfc-improve-sanity-check-in-vsnprintf.patch
* lib-vsprintfc-replace-while-with-do-while-in-skip_atoi.patch
* lib-vsprintf-add-%pt-format-specifier.patch
* lib-string_get_size-remove-redundant-prefixes.patch
* lib-string_get_size-use-32-bit-arithmetic-when-possible.patch
* lib-string_get_size-return-void.patch
* lib-bitmap-more-signed-unsigned-conversions.patch
* linux-nodemaskh-update-bitmap-wrappers-to-take-unsigned-int.patch
* linux-cpumaskh-update-bitmap-wrappers-to-take-unsigned-int.patch
* lib-bitmap-update-bitmap_onto-to-unsigned.patch
* lib-bitmap-update-bitmap_onto-to-unsigned-checkpatch-fixes.patch
* lib-bitmap-change-parameters-of-bitmap_fold-to-unsigned.patch
* lib-bitmap-change-parameters-of-bitmap_fold-to-unsigned-fix.patch
* lib-bitmap-simplify-bitmap_pos_to_ord.patch
* lib-bitmap-simplify-bitmap_ord_to_pos.patch
* lib-bitmap-make-the-bits-parameter-of-bitmap_remap-unsigned.patch
* lib-remove-strnicmp.patch
* lib-genallocc-fix-the-end-addr-check-in-addr_in_gen_pool.patch
* hexdump-introduce-test-suite.patch
* hexdump-fix-ascii-column-for-the-tail-of-a-dump.patch
* hexdump-do-few-calculations-ahead.patch
* hexdump-makes-it-return-amount-of-bytes-placed-in-buffer.patch
* hexdump-makes-it-return-amount-of-bytes-placed-in-buffer-fix.patch
* lib-interval_treec-simplify-includes.patch
* lib-sortc-use-simpler-includes.patch
* lib-dynamic_queue_limitsc-simplify-includes.patch
* lib-halfmd4c-simplify-includes.patch
* lib-idrc-remove-redundant-include.patch
* lib-genallocc-remove-redundant-include.patch
* lib-list_sortc-rearrange-includes.patch
* lib-md5c-simplify-include.patch
* lib-llistc-remove-redundant-include.patch
* lib-kobject_ueventc-remove-redundant-include.patch
* lib-nlattrc-remove-redundant-include.patch
* lib-plistc-remove-redundant-include.patch
* lib-radix-treec-change-to-simpler-include.patch
* lib-show_memc-remove-redundant-include.patch
* lib-sortc-move-include-inside-if-0.patch
* lib-stmp_devicec-replace-moduleh-include.patch
* lib-strncpy_from_userc-replace-moduleh-include.patch
* lib-percpu_idac-remove-redundant-includes.patch
* lib-lcmc-replace-include.patch
* lib-bitmapc-change-prototype-of-bitmap_copy_le.patch
* lib-bitmapc-elide-bitmap_copy_le-on-little-endian.patch
* lib-bitmap-change-bitmap_shift_right-to-take-unsigned-parameters.patch
* lib-bitmap-eliminate-branch-in-__bitmap_shift_right.patch
* lib-bitmap-remove-redundant-code-from-__bitmap_shift_right.patch
* lib-bitmap-yet-another-simplification-in-__bitmap_shift_right.patch
* lib-bitmap-change-bitmap_shift_left-to-take-unsigned-parameters.patch
* lib-bitmap-eliminate-branch-in-__bitmap_shift_left.patch
* lib-bitmap-remove-redundant-code-from-__bitmap_shift_left.patch
* lib-crc32-constify-crc32-lookup-table.patch
* mm-util-add-kstrdup_const.patch
* kernfs-convert-node-name-allocation-to-kstrdup_const.patch
* kernfs-remove-kernfs_static_name.patch
* clk-convert-clock-name-allocations-to-kstrdup_const.patch
* mm-slab-convert-cache-name-allocations-to-kstrdup_const.patch
* mm-slab-convert-cache-name-allocations-to-kstrdup_const-fix.patch
* fs-namespace-convert-devname-allocation-to-kstrdup_const.patch
* lib-stringc-improve-strrchr.patch
* genalloc-check-result-of-devres_alloc.patch
* mm-utilc-add-kstrimdup.patch
* lib-add-crc64-ecma-module.patch
* checkpatch-emit-an-error-when-using-predefined-timestamp-macros.patch
* checkpatch-improve-octal-permissions-tests.patch
* checkpatch-ignore-__pure-attribute.patch
* checkpatch-fix-unnecessary_kern_level-false-positive.patch
* checkpatch-add-check-for-keyword-boolean-in-kconfig-definitions.patch
* checkpatch-allow-comments-in-macros-tested-for-single-statements.patch
* checkpatch-update-git-commit-message.patch
* checkpatch-add-likely-unlikely-comparison-misuse-test.patch
* checkpatch-add-ability-to-coalesce-commit-descriptions-on-multiple-lines.patch
* checkpatch-add-types-for-other-os-typedefs.patch
* init-remove-config_init_fallback.patch
* rtc-rtc-pfc2123-add-support-for-devicetree.patch
* drivers-rtc-interfacec-check-the-error-after-__rtc_read_time.patch
* rtc-rtc-isl12057-add-alarm-support-to-intersil-isl12057-rtc-driver.patch
* rtc-rtc-isl12057-add-alarm-support-to-intersil-isl12057-rtc-driver-update.patch
* rtc-rtc-isl12057-add-isilirq2-can-wakeup-machine-property-for-in-tree-users.patch
* arm-mvebu-isl12057-rtc-chip-can-now-wake-up-rn102-rn102-and-rn2120.patch
* rtc-imx-dryice-trivial-clean-up-code.patch
* rtc-imx-dryice-add-more-known-register-bits.patch
* rtc-at91sam9-constify-struct-regmap_config.patch
* rtc-isl12057-constify-struct-regmap_config.patch
* rtc-rk808-fix-the-rtc-time-reading-issue.patch
* rtc-rk808-fix-the-rtc-time-reading-issue-fix.patch
* of-add-vendor-prefix-for-abracon-corporation.patch
* rtc-add-support-for-abracon-ab-rtcmc-32768khz-b5ze-s3-i2c-rtc-chip.patch
* rtc-add-support-for-abracon-ab-rtcmc-32768khz-b5ze-s3-i2c-rtc-chip-v2.patch
* rtc-rtc-ab-b5ze-s3-add-sub-minute-alarm-support.patch
* rtc-restore-alarm-after-resume.patch
* fs-befs-linuxvfsc-remove-unnecessary-casting.patch
* fs-befs-linuxvfsc-remove-unnecessary-casting-fix.patch
* fs-coda-dirc-forward-declaration-clean-up.patch
* fs-ufs-superc-remove-unnecessary-casting.patch
* fs-reiserfs-inodec-replace-0-by-null-for-pointers.patch
* fs-fat-use-msdos_sb-macro-to-get-msdos_sb_info.patch
* fat-add-fat_fallocate-operation.patch
* fat-skip-cluster-allocation-on-fallocated-region.patch
* fat-permit-to-return-phy-block-number-by-fibmap-in-fallocated-region.patch
* documentation-filesystems-vfattxt-update-the-limitation-for-fat-fallocate.patch
* ptrace-remove-linux-compath-inclusion-under-config_compat.patch
* signal-use-current-state-helpers.patch
* kexec-remove-never-used-member-destination-in-kimage.patch
* kexec-fix-a-typo-in-comment.patch
* kexec-fix-make-headers_check.patch
* kexec-simplify-conditional.patch
* kexec-add-bit-definitions-for-kimage-entry-flags.patch
* kexec-add-ind_flags-macro.patch
* vmcore-fix-pt_note-n_namesz-n_descsz-overflow-issue.patch
* kdump-vmcoreinfo-report-actual-value-of-phys_base.patch
* rbtree-fix-typo-in-comment.patch
* eventfd-dont-take-the-spinlock-in-eventfd_poll.patch
* fs-affs-fix-casting-in-printed-messages.patch
* fs-affs-filec-replace-if-bug-by-bug_on.patch
* fs-affs-filec-fix-direct-io-writes-beyond-eof.patch
* fs-affs-superc-destroy-sbi-mutex-in-affs_kill_sb.patch
* ipcsem-use-current-state-helpers.patch
  linux-next.patch
  linux-next-rejects.patch
* drivers-gpio-gpio-zevioc-fix-build.patch
* viro-fix.patch
* rtc-isl12022-deprecate-use-of-isl-in-compatible-string-for-isil.patch
* rtc-isl12057-deprecate-use-of-isl-in-compatible-string-for-isil.patch
* staging-iio-isl29028-deprecate-use-of-isl-in-compatible-string-for-isil.patch
* arm-dts-zynq-update-isl9305-compatible-string-to-use-isil-vendor-prefix.patch
* maintainers-add-git-url-entry-for-uio.patch
* mm-fix-xip-fault-vs-truncate-race.patch
* mm-fix-xip-fault-vs-truncate-race-fix.patch
* mm-fix-xip-fault-vs-truncate-race-fix-fix.patch
* mm-allow-page-fault-handlers-to-perform-the-cow.patch
* mm-allow-page-fault-handlers-to-perform-the-cow-fix.patch
* mm-allow-page-fault-handlers-to-perform-the-cow-fix-fix-3.patch
* mm-allow-page-fault-handlers-to-perform-the-cow-fix-fix.patch
* vfsext2-introduce-is_daxinode.patch
* daxext2-replace-xip-read-and-write-with-dax-i-o.patch
* daxext2-replace-ext2_clear_xip_target-with-dax_clear_blocks.patch
* daxext2-replace-the-xip-page-fault-handler-with-the-dax-page-fault-handler.patch
* daxext2-replace-the-xip-page-fault-handler-with-the-dax-page-fault-handler-fix.patch
* daxext2-replace-the-xip-page-fault-handler-with-the-dax-page-fault-handler-fix-2.patch
* daxext2-replace-the-xip-page-fault-handler-with-the-dax-page-fault-handler-fix-3.patch
* daxext2-replace-xip_truncate_page-with-dax_truncate_page.patch
* dax-replace-xip-documentation-with-dax-documentation.patch
* vfs-remove-get_xip_mem.patch
* ext2-remove-ext2_xip_verify_sb.patch
* ext2-remove-ext2_use_xip.patch
* ext2-remove-xipc-and-xiph.patch
* vfsext2-remove-config_ext2_fs_xip-and-rename-config_fs_xip-to-config_fs_dax.patch
* ext2-remove-ext2_aops_xip.patch
* ext2-get-rid-of-most-mentions-of-xip-in-ext2.patch
* dax-add-dax_zero_page_range.patch
* dax-add-dax_zero_page_range-fix.patch
* ext4-add-dax-functionality.patch
* ext4-add-dax-functionality-fix.patch
* brd-rename-xip-to-dax.patch
* maintainers-fixed-spelling-mistake-removed-trailing-ws.patch
* ocfs2-eliminate-the-static-flag-of-some-functions.patch
* ocfs2-add-functions-to-add-and-remove-inode-in-orphan-dir.patch
* ocfs2-add-orphan-recovery-types-in-ocfs2_recover_orphans.patch
* ocfs2-implement-ocfs2_direct_io_write.patch
* ocfs2-implement-ocfs2_direct_io_write-fix.patch
* ocfs2-allocate-blocks-in-ocfs2_direct_io_get_blocks.patch
* ocfs2-do-not-fallback-to-buffer-i-o-write-if-appending.patch
* ocfs2-do-not-fallback-to-buffer-i-o-write-if-fill-holes.patch
* ocfs2-fix-leftover-orphan-entry-caused-by-append-o_direct-write-crash.patch
* w1-call-put_device-if-device_register-fails.patch
* mm-add-strictlimit-knob-v2.patch
  do_shared_fault-check-that-mmap_sem-is-held.patch
  make-sure-nobodys-leaking-resources.patch
  journal_add_journal_head-debug.patch
  journal_add_journal_head-debug-fix.patch
  releasing-resources-with-children.patch
  make-frame_pointer-default=y.patch
  kernel-forkc-export-kernel_thread-to-modules.patch
  mutex-subsystem-synchro-test-module.patch
  slab-leaks3-default-y.patch
  add-debugging-aid-for-memory-initialisation-problems.patch
  workaround-for-a-pci-restoring-bug.patch

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* mmotm 2015-01-22-15-04: qemu failures due to 'mm: account pmd page tables to the process'
  2015-01-22 23:05 ` akpm
@ 2015-01-23  5:04   ` Guenter Roeck
  -1 siblings, 0 replies; 67+ messages in thread
From: Guenter Roeck @ 2015-01-23  5:04 UTC (permalink / raw)
  To: akpm
  Cc: mm-commits, linux-kernel, linux-mm, linux-fsdevel, linux-next,
	sfr, mhocko, Kirill A. Shutemov

On Thu, Jan 22, 2015 at 03:05:17PM -0800, akpm@linux-foundation.org wrote:
> The mm-of-the-moment snapshot 2015-01-22-15-04 has been uploaded to
> 
>    http://www.ozlabs.org/~akpm/mmotm/
> 
qemu:sh fails to shut down.

bisect log:

# bad: [03586ad04b2170ee816e6936981cc7cd2aeba129] pci: test for unexpectedly disabled bridges
# good: [ec6f34e5b552fb0a52e6aae1a5afbbb1605cc6cc] Linux 3.19-rc5
git bisect start 'HEAD' 'v3.19-rc5'
# bad: [d113ba21d15c7d3615fd88490d1197615bb39fc0] mm: remove lock validation check for MADV_FREE
git bisect bad d113ba21d15c7d3615fd88490d1197615bb39fc0
# good: [17351d1625a5030fa16f1346b77064c03b51f107] mm:add KPF_ZERO_PAGE flag for /proc/kpageflags
git bisect good 17351d1625a5030fa16f1346b77064c03b51f107
# good: [ad18ad1fce6f241a9cbd4adfd6b16c9283181e39] memcg: add BUILD_BUG_ON() for string tables
git bisect good ad18ad1fce6f241a9cbd4adfd6b16c9283181e39
# bad: [aa7e7cbfa43b74f6faef04ff730b5098544a4f77] mm/compaction: enhance tracepoint output for compaction begin/end
git bisect bad aa7e7cbfa43b74f6faef04ff730b5098544a4f77
# good: [a40d0d2cf21e2714e9a6c842085148c938bf36ab] mm: memcontrol: remove unnecessary soft limit tree node test
git bisect good a40d0d2cf21e2714e9a6c842085148c938bf36ab
# good: [4ec4aa2e07c1d6eee61f6cace29401c6febcb6c5] mm: make FIRST_USER_ADDRESS unsigned long on all archs
git bisect good 4ec4aa2e07c1d6eee61f6cace29401c6febcb6c5
# bad: [22310c209483224a64436a6e815a86feda681659] mm: account pmd page tables to the process
git bisect bad 22310c209483224a64436a6e815a86feda681659
# good: [19a41261b1dcd8d12372d9c57c2035144608a599] arm: define __PAGETABLE_PMD_FOLDED for !LPAE
git bisect good 19a41261b1dcd8d12372d9c57c2035144608a599
# first bad commit: [22310c209483224a64436a6e815a86feda681659] mm: account pmd page tables to the process

---

qemu:microblaze generates warnings to the console.

WARNING: CPU: 0 PID: 32 at mm/mmap.c:2858 exit_mmap+0x184/0x1a4()

with various call stacks. See
http://server.roeck-us.net:8010/builders/qemu-microblaze-mmotm/builds/15/steps/qemubuildcommand/logs/stdio
for details.

bisect log:

# bad: [03586ad04b2170ee816e6936981cc7cd2aeba129] pci: test for unexpectedly disabled bridges
# good: [ec6f34e5b552fb0a52e6aae1a5afbbb1605cc6cc] Linux 3.19-rc5
git bisect start 'HEAD' 'v3.19-rc5'
# bad: [d113ba21d15c7d3615fd88490d1197615bb39fc0] mm: remove lock validation check for MADV_FREE
git bisect bad d113ba21d15c7d3615fd88490d1197615bb39fc0
# good: [17351d1625a5030fa16f1346b77064c03b51f107] mm:add KPF_ZERO_PAGE flag for /proc/kpageflags
git bisect good 17351d1625a5030fa16f1346b77064c03b51f107
# good: [ad18ad1fce6f241a9cbd4adfd6b16c9283181e39] memcg: add BUILD_BUG_ON() for string tables
git bisect good ad18ad1fce6f241a9cbd4adfd6b16c9283181e39
# bad: [aa7e7cbfa43b74f6faef04ff730b5098544a4f77] mm/compaction: enhance tracepoint output for compaction begin/end
git bisect bad aa7e7cbfa43b74f6faef04ff730b5098544a4f77
# good: [a40d0d2cf21e2714e9a6c842085148c938bf36ab] mm: memcontrol: remove unnecessary soft limit tree node test
git bisect good a40d0d2cf21e2714e9a6c842085148c938bf36ab
# good: [4ec4aa2e07c1d6eee61f6cace29401c6febcb6c5] mm: make FIRST_USER_ADDRESS unsigned long on all archs
git bisect good 4ec4aa2e07c1d6eee61f6cace29401c6febcb6c5
# bad: [22310c209483224a64436a6e815a86feda681659] mm: account pmd page tables to the process
git bisect bad 22310c209483224a64436a6e815a86feda681659
# good: [19a41261b1dcd8d12372d9c57c2035144608a599] arm: define __PAGETABLE_PMD_FOLDED for !LPAE
git bisect good 19a41261b1dcd8d12372d9c57c2035144608a599
# first bad commit: [22310c209483224a64436a6e815a86feda681659] mm: account pmd page tables to the process

If there is anything I can do to help debugging, please let me know.

Guenter

^ permalink raw reply	[flat|nested] 67+ messages in thread

* mmotm 2015-01-22-15-04: qemu failures due to 'mm: account pmd page tables to the process'
@ 2015-01-23  5:04   ` Guenter Roeck
  0 siblings, 0 replies; 67+ messages in thread
From: Guenter Roeck @ 2015-01-23  5:04 UTC (permalink / raw)
  To: akpm
  Cc: mm-commits, linux-kernel, linux-mm, linux-fsdevel, linux-next,
	sfr, mhocko, Kirill A. Shutemov

On Thu, Jan 22, 2015 at 03:05:17PM -0800, akpm@linux-foundation.org wrote:
> The mm-of-the-moment snapshot 2015-01-22-15-04 has been uploaded to
> 
>    http://www.ozlabs.org/~akpm/mmotm/
> 
qemu:sh fails to shut down.

bisect log:

# bad: [03586ad04b2170ee816e6936981cc7cd2aeba129] pci: test for unexpectedly disabled bridges
# good: [ec6f34e5b552fb0a52e6aae1a5afbbb1605cc6cc] Linux 3.19-rc5
git bisect start 'HEAD' 'v3.19-rc5'
# bad: [d113ba21d15c7d3615fd88490d1197615bb39fc0] mm: remove lock validation check for MADV_FREE
git bisect bad d113ba21d15c7d3615fd88490d1197615bb39fc0
# good: [17351d1625a5030fa16f1346b77064c03b51f107] mm:add KPF_ZERO_PAGE flag for /proc/kpageflags
git bisect good 17351d1625a5030fa16f1346b77064c03b51f107
# good: [ad18ad1fce6f241a9cbd4adfd6b16c9283181e39] memcg: add BUILD_BUG_ON() for string tables
git bisect good ad18ad1fce6f241a9cbd4adfd6b16c9283181e39
# bad: [aa7e7cbfa43b74f6faef04ff730b5098544a4f77] mm/compaction: enhance tracepoint output for compaction begin/end
git bisect bad aa7e7cbfa43b74f6faef04ff730b5098544a4f77
# good: [a40d0d2cf21e2714e9a6c842085148c938bf36ab] mm: memcontrol: remove unnecessary soft limit tree node test
git bisect good a40d0d2cf21e2714e9a6c842085148c938bf36ab
# good: [4ec4aa2e07c1d6eee61f6cace29401c6febcb6c5] mm: make FIRST_USER_ADDRESS unsigned long on all archs
git bisect good 4ec4aa2e07c1d6eee61f6cace29401c6febcb6c5
# bad: [22310c209483224a64436a6e815a86feda681659] mm: account pmd page tables to the process
git bisect bad 22310c209483224a64436a6e815a86feda681659
# good: [19a41261b1dcd8d12372d9c57c2035144608a599] arm: define __PAGETABLE_PMD_FOLDED for !LPAE
git bisect good 19a41261b1dcd8d12372d9c57c2035144608a599
# first bad commit: [22310c209483224a64436a6e815a86feda681659] mm: account pmd page tables to the process

---

qemu:microblaze generates warnings to the console.

WARNING: CPU: 0 PID: 32 at mm/mmap.c:2858 exit_mmap+0x184/0x1a4()

with various call stacks. See
http://server.roeck-us.net:8010/builders/qemu-microblaze-mmotm/builds/15/steps/qemubuildcommand/logs/stdio
for details.

bisect log:

# bad: [03586ad04b2170ee816e6936981cc7cd2aeba129] pci: test for unexpectedly disabled bridges
# good: [ec6f34e5b552fb0a52e6aae1a5afbbb1605cc6cc] Linux 3.19-rc5
git bisect start 'HEAD' 'v3.19-rc5'
# bad: [d113ba21d15c7d3615fd88490d1197615bb39fc0] mm: remove lock validation check for MADV_FREE
git bisect bad d113ba21d15c7d3615fd88490d1197615bb39fc0
# good: [17351d1625a5030fa16f1346b77064c03b51f107] mm:add KPF_ZERO_PAGE flag for /proc/kpageflags
git bisect good 17351d1625a5030fa16f1346b77064c03b51f107
# good: [ad18ad1fce6f241a9cbd4adfd6b16c9283181e39] memcg: add BUILD_BUG_ON() for string tables
git bisect good ad18ad1fce6f241a9cbd4adfd6b16c9283181e39
# bad: [aa7e7cbfa43b74f6faef04ff730b5098544a4f77] mm/compaction: enhance tracepoint output for compaction begin/end
git bisect bad aa7e7cbfa43b74f6faef04ff730b5098544a4f77
# good: [a40d0d2cf21e2714e9a6c842085148c938bf36ab] mm: memcontrol: remove unnecessary soft limit tree node test
git bisect good a40d0d2cf21e2714e9a6c842085148c938bf36ab
# good: [4ec4aa2e07c1d6eee61f6cace29401c6febcb6c5] mm: make FIRST_USER_ADDRESS unsigned long on all archs
git bisect good 4ec4aa2e07c1d6eee61f6cace29401c6febcb6c5
# bad: [22310c209483224a64436a6e815a86feda681659] mm: account pmd page tables to the process
git bisect bad 22310c209483224a64436a6e815a86feda681659
# good: [19a41261b1dcd8d12372d9c57c2035144608a599] arm: define __PAGETABLE_PMD_FOLDED for !LPAE
git bisect good 19a41261b1dcd8d12372d9c57c2035144608a599
# first bad commit: [22310c209483224a64436a6e815a86feda681659] mm: account pmd page tables to the process

If there is anything I can do to help debugging, please let me know.

Guenter

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* mmotm 2015-01-22-15-04: qemu failure due to 'mm: memcontrol: remove unnecessary soft limit tree node test'
  2015-01-22 23:05 ` akpm
@ 2015-01-23  5:08   ` Guenter Roeck
  -1 siblings, 0 replies; 67+ messages in thread
From: Guenter Roeck @ 2015-01-23  5:08 UTC (permalink / raw)
  To: akpm
  Cc: mm-commits, linux-kernel, linux-mm, linux-fsdevel, linux-next,
	sfr, mhocko, Johannes Weiner

On Thu, Jan 22, 2015 at 03:05:17PM -0800, akpm@linux-foundation.org wrote:
> The mm-of-the-moment snapshot 2015-01-22-15-04 has been uploaded to
> 
>    http://www.ozlabs.org/~akpm/mmotm/
> 
qemu test for ppc64 fails with

Unable to handle kernel paging request for data at address 0x0000af50
Faulting instruction address: 0xc00000000089d5d4
Oops: Kernel access of bad area, sig: 11 [#1]

with the following call stack:

Call Trace:
[c00000003d32f920] [c00000000089d588] .__slab_alloc.isra.44+0x7c/0x6f4
(unreliable)
[c00000003d32fa90] [c00000000020cf8c] .kmem_cache_alloc_node_trace+0x12c/0x3b0
[c00000003d32fb60] [c000000000bceeb4] .mem_cgroup_init+0x128/0x1b0
[c00000003d32fbf0] [c00000000000a2b4] .do_one_initcall+0xd4/0x260
[c00000003d32fce0] [c000000000ba26a8] .kernel_init_freeable+0x244/0x32c
[c00000003d32fdb0] [c00000000000ac24] .kernel_init+0x24/0x140
[c00000003d32fe30] [c000000000009564] .ret_from_kernel_thread+0x58/0x74

bisect log:

# bad: [03586ad04b2170ee816e6936981cc7cd2aeba129] pci: test for unexpectedly disabled bridges
# good: [ec6f34e5b552fb0a52e6aae1a5afbbb1605cc6cc] Linux 3.19-rc5
git bisect start 'HEAD' 'v3.19-rc5'
# bad: [d113ba21d15c7d3615fd88490d1197615bb39fc0] mm: remove lock validation check for MADV_FREE
git bisect bad d113ba21d15c7d3615fd88490d1197615bb39fc0
# good: [17351d1625a5030fa16f1346b77064c03b51f107] mm:add KPF_ZERO_PAGE flag for /proc/kpageflags
git bisect good 17351d1625a5030fa16f1346b77064c03b51f107
# good: [ad18ad1fce6f241a9cbd4adfd6b16c9283181e39] memcg: add BUILD_BUG_ON() for string tables
git bisect good ad18ad1fce6f241a9cbd4adfd6b16c9283181e39
# bad: [aa7e7cbfa43b74f6faef04ff730b5098544a4f77] mm/compaction: enhance tracepoint output for compaction begin/end
git bisect bad aa7e7cbfa43b74f6faef04ff730b5098544a4f77
# bad: [a40d0d2cf21e2714e9a6c842085148c938bf36ab] mm: memcontrol: remove unnecessary soft limit tree node test
git bisect bad a40d0d2cf21e2714e9a6c842085148c938bf36ab
# good: [e987aa804213c2d0c7f583639d868c7629ae479e] oom: add helpers for setting and clearing TIF_MEMDIE
git bisect good e987aa804213c2d0c7f583639d868c7629ae479e
# good: [af52cb6dc98bd833d4d15fe8eafc4a3e1f17951d] sysrq: convert printk to pr_* equivalent
git bisect good af52cb6dc98bd833d4d15fe8eafc4a3e1f17951d
# good: [61e257724ea22eb85488e7209f594106ca57258a] mm: cma: fix totalcma_pages to include DT defined CMA regions
git bisect good 61e257724ea22eb85488e7209f594106ca57258a
# first bad commit: [a40d0d2cf21e2714e9a6c842085148c938bf36ab] mm: memcontrol: remove unnecessary soft limit tree node test

If there is anything I can do to help debugging, please let me know.

Guenter

^ permalink raw reply	[flat|nested] 67+ messages in thread

* mmotm 2015-01-22-15-04: qemu failure due to 'mm: memcontrol: remove unnecessary soft limit tree node test'
@ 2015-01-23  5:08   ` Guenter Roeck
  0 siblings, 0 replies; 67+ messages in thread
From: Guenter Roeck @ 2015-01-23  5:08 UTC (permalink / raw)
  To: akpm
  Cc: mm-commits, linux-kernel, linux-mm, linux-fsdevel, linux-next,
	sfr, mhocko, Johannes Weiner

On Thu, Jan 22, 2015 at 03:05:17PM -0800, akpm@linux-foundation.org wrote:
> The mm-of-the-moment snapshot 2015-01-22-15-04 has been uploaded to
> 
>    http://www.ozlabs.org/~akpm/mmotm/
> 
qemu test for ppc64 fails with

Unable to handle kernel paging request for data at address 0x0000af50
Faulting instruction address: 0xc00000000089d5d4
Oops: Kernel access of bad area, sig: 11 [#1]

with the following call stack:

Call Trace:
[c00000003d32f920] [c00000000089d588] .__slab_alloc.isra.44+0x7c/0x6f4
(unreliable)
[c00000003d32fa90] [c00000000020cf8c] .kmem_cache_alloc_node_trace+0x12c/0x3b0
[c00000003d32fb60] [c000000000bceeb4] .mem_cgroup_init+0x128/0x1b0
[c00000003d32fbf0] [c00000000000a2b4] .do_one_initcall+0xd4/0x260
[c00000003d32fce0] [c000000000ba26a8] .kernel_init_freeable+0x244/0x32c
[c00000003d32fdb0] [c00000000000ac24] .kernel_init+0x24/0x140
[c00000003d32fe30] [c000000000009564] .ret_from_kernel_thread+0x58/0x74

bisect log:

# bad: [03586ad04b2170ee816e6936981cc7cd2aeba129] pci: test for unexpectedly disabled bridges
# good: [ec6f34e5b552fb0a52e6aae1a5afbbb1605cc6cc] Linux 3.19-rc5
git bisect start 'HEAD' 'v3.19-rc5'
# bad: [d113ba21d15c7d3615fd88490d1197615bb39fc0] mm: remove lock validation check for MADV_FREE
git bisect bad d113ba21d15c7d3615fd88490d1197615bb39fc0
# good: [17351d1625a5030fa16f1346b77064c03b51f107] mm:add KPF_ZERO_PAGE flag for /proc/kpageflags
git bisect good 17351d1625a5030fa16f1346b77064c03b51f107
# good: [ad18ad1fce6f241a9cbd4adfd6b16c9283181e39] memcg: add BUILD_BUG_ON() for string tables
git bisect good ad18ad1fce6f241a9cbd4adfd6b16c9283181e39
# bad: [aa7e7cbfa43b74f6faef04ff730b5098544a4f77] mm/compaction: enhance tracepoint output for compaction begin/end
git bisect bad aa7e7cbfa43b74f6faef04ff730b5098544a4f77
# bad: [a40d0d2cf21e2714e9a6c842085148c938bf36ab] mm: memcontrol: remove unnecessary soft limit tree node test
git bisect bad a40d0d2cf21e2714e9a6c842085148c938bf36ab
# good: [e987aa804213c2d0c7f583639d868c7629ae479e] oom: add helpers for setting and clearing TIF_MEMDIE
git bisect good e987aa804213c2d0c7f583639d868c7629ae479e
# good: [af52cb6dc98bd833d4d15fe8eafc4a3e1f17951d] sysrq: convert printk to pr_* equivalent
git bisect good af52cb6dc98bd833d4d15fe8eafc4a3e1f17951d
# good: [61e257724ea22eb85488e7209f594106ca57258a] mm: cma: fix totalcma_pages to include DT defined CMA regions
git bisect good 61e257724ea22eb85488e7209f594106ca57258a
# first bad commit: [a40d0d2cf21e2714e9a6c842085148c938bf36ab] mm: memcontrol: remove unnecessary soft limit tree node test

If there is anything I can do to help debugging, please let me know.

Guenter

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failures due to 'mm: account pmd page tables to the process'
  2015-01-23  5:04   ` Guenter Roeck
  (?)
@ 2015-01-23 11:13     ` Kirill A. Shutemov
  -1 siblings, 0 replies; 67+ messages in thread
From: Kirill A. Shutemov @ 2015-01-23 11:13 UTC (permalink / raw)
  To: Guenter Roeck
  Cc: akpm, mm-commits, linux-kernel, linux-mm, linux-fsdevel,
	linux-next, sfr, mhocko, Kirill A. Shutemov

On Thu, Jan 22, 2015 at 09:04:45PM -0800, Guenter Roeck wrote:
> On Thu, Jan 22, 2015 at 03:05:17PM -0800, akpm@linux-foundation.org wrote:
> > The mm-of-the-moment snapshot 2015-01-22-15-04 has been uploaded to
> > 
> >    http://www.ozlabs.org/~akpm/mmotm/
> > 
> qemu:sh fails to shut down.
> 
> bisect log:
> 
> # bad: [03586ad04b2170ee816e6936981cc7cd2aeba129] pci: test for unexpectedly disabled bridges
> # good: [ec6f34e5b552fb0a52e6aae1a5afbbb1605cc6cc] Linux 3.19-rc5
> git bisect start 'HEAD' 'v3.19-rc5'
> # bad: [d113ba21d15c7d3615fd88490d1197615bb39fc0] mm: remove lock validation check for MADV_FREE
> git bisect bad d113ba21d15c7d3615fd88490d1197615bb39fc0
> # good: [17351d1625a5030fa16f1346b77064c03b51f107] mm:add KPF_ZERO_PAGE flag for /proc/kpageflags
> git bisect good 17351d1625a5030fa16f1346b77064c03b51f107
> # good: [ad18ad1fce6f241a9cbd4adfd6b16c9283181e39] memcg: add BUILD_BUG_ON() for string tables
> git bisect good ad18ad1fce6f241a9cbd4adfd6b16c9283181e39
> # bad: [aa7e7cbfa43b74f6faef04ff730b5098544a4f77] mm/compaction: enhance tracepoint output for compaction begin/end
> git bisect bad aa7e7cbfa43b74f6faef04ff730b5098544a4f77
> # good: [a40d0d2cf21e2714e9a6c842085148c938bf36ab] mm: memcontrol: remove unnecessary soft limit tree node test
> git bisect good a40d0d2cf21e2714e9a6c842085148c938bf36ab
> # good: [4ec4aa2e07c1d6eee61f6cace29401c6febcb6c5] mm: make FIRST_USER_ADDRESS unsigned long on all archs
> git bisect good 4ec4aa2e07c1d6eee61f6cace29401c6febcb6c5
> # bad: [22310c209483224a64436a6e815a86feda681659] mm: account pmd page tables to the process
> git bisect bad 22310c209483224a64436a6e815a86feda681659
> # good: [19a41261b1dcd8d12372d9c57c2035144608a599] arm: define __PAGETABLE_PMD_FOLDED for !LPAE
> git bisect good 19a41261b1dcd8d12372d9c57c2035144608a599
> # first bad commit: [22310c209483224a64436a6e815a86feda681659] mm: account pmd page tables to the process
> 
> ---
> 
> qemu:microblaze generates warnings to the console.
> 
> WARNING: CPU: 0 PID: 32 at mm/mmap.c:2858 exit_mmap+0x184/0x1a4()
> 
> with various call stacks. See
> http://server.roeck-us.net:8010/builders/qemu-microblaze-mmotm/builds/15/steps/qemubuildcommand/logs/stdio
> for details.

Could you try patch below? Completely untested.

>From b584bb8d493794f67484c0b57c161d61c02599bc Mon Sep 17 00:00:00 2001
From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Date: Fri, 23 Jan 2015 13:08:26 +0200
Subject: [PATCH] microblaze: define __PAGETABLE_PMD_FOLDED

Microblaze uses custom implementation of PMD folding, but doesn't define
__PAGETABLE_PMD_FOLDED, which generic code expects to see. Let's fix it.

Defining __PAGETABLE_PMD_FOLDED will drop out unused __pmd_alloc().
It also fixes problems with recently-introduced pmd accounting.

Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Reported-by: Guenter Roeck <linux@roeck-us.net>
---
 arch/microblaze/include/asm/pgtable.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/microblaze/include/asm/pgtable.h b/arch/microblaze/include/asm/pgtable.h
index 46637bb090eb..e53b8532353c 100644
--- a/arch/microblaze/include/asm/pgtable.h
+++ b/arch/microblaze/include/asm/pgtable.h
@@ -61,6 +61,8 @@ extern int mem_init_done;
 
 #include <asm-generic/4level-fixup.h>
 
+#define __PAGETABLE_PMD_FOLDED
+
 #ifdef __KERNEL__
 #ifndef __ASSEMBLY__
 
-- 
 Kirill A. Shutemov

^ permalink raw reply related	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failures due to 'mm: account pmd page tables to the process'
@ 2015-01-23 11:13     ` Kirill A. Shutemov
  0 siblings, 0 replies; 67+ messages in thread
From: Kirill A. Shutemov @ 2015-01-23 11:13 UTC (permalink / raw)
  To: Guenter Roeck
  Cc: akpm, mm-commits, linux-kernel, linux-mm, linux-fsdevel,
	linux-next, sfr, mhocko, Kirill A. Shutemov

On Thu, Jan 22, 2015 at 09:04:45PM -0800, Guenter Roeck wrote:
> On Thu, Jan 22, 2015 at 03:05:17PM -0800, akpm@linux-foundation.org wrote:
> > The mm-of-the-moment snapshot 2015-01-22-15-04 has been uploaded to
> > 
> >    http://www.ozlabs.org/~akpm/mmotm/
> > 
> qemu:sh fails to shut down.
> 
> bisect log:
> 
> # bad: [03586ad04b2170ee816e6936981cc7cd2aeba129] pci: test for unexpectedly disabled bridges
> # good: [ec6f34e5b552fb0a52e6aae1a5afbbb1605cc6cc] Linux 3.19-rc5
> git bisect start 'HEAD' 'v3.19-rc5'
> # bad: [d113ba21d15c7d3615fd88490d1197615bb39fc0] mm: remove lock validation check for MADV_FREE
> git bisect bad d113ba21d15c7d3615fd88490d1197615bb39fc0
> # good: [17351d1625a5030fa16f1346b77064c03b51f107] mm:add KPF_ZERO_PAGE flag for /proc/kpageflags
> git bisect good 17351d1625a5030fa16f1346b77064c03b51f107
> # good: [ad18ad1fce6f241a9cbd4adfd6b16c9283181e39] memcg: add BUILD_BUG_ON() for string tables
> git bisect good ad18ad1fce6f241a9cbd4adfd6b16c9283181e39
> # bad: [aa7e7cbfa43b74f6faef04ff730b5098544a4f77] mm/compaction: enhance tracepoint output for compaction begin/end
> git bisect bad aa7e7cbfa43b74f6faef04ff730b5098544a4f77
> # good: [a40d0d2cf21e2714e9a6c842085148c938bf36ab] mm: memcontrol: remove unnecessary soft limit tree node test
> git bisect good a40d0d2cf21e2714e9a6c842085148c938bf36ab
> # good: [4ec4aa2e07c1d6eee61f6cace29401c6febcb6c5] mm: make FIRST_USER_ADDRESS unsigned long on all archs
> git bisect good 4ec4aa2e07c1d6eee61f6cace29401c6febcb6c5
> # bad: [22310c209483224a64436a6e815a86feda681659] mm: account pmd page tables to the process
> git bisect bad 22310c209483224a64436a6e815a86feda681659
> # good: [19a41261b1dcd8d12372d9c57c2035144608a599] arm: define __PAGETABLE_PMD_FOLDED for !LPAE
> git bisect good 19a41261b1dcd8d12372d9c57c2035144608a599
> # first bad commit: [22310c209483224a64436a6e815a86feda681659] mm: account pmd page tables to the process
> 
> ---
> 
> qemu:microblaze generates warnings to the console.
> 
> WARNING: CPU: 0 PID: 32 at mm/mmap.c:2858 exit_mmap+0x184/0x1a4()
> 
> with various call stacks. See
> http://server.roeck-us.net:8010/builders/qemu-microblaze-mmotm/builds/15/steps/qemubuildcommand/logs/stdio
> for details.

Could you try patch below? Completely untested.

>From b584bb8d493794f67484c0b57c161d61c02599bc Mon Sep 17 00:00:00 2001
From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Date: Fri, 23 Jan 2015 13:08:26 +0200
Subject: [PATCH] microblaze: define __PAGETABLE_PMD_FOLDED

Microblaze uses custom implementation of PMD folding, but doesn't define
__PAGETABLE_PMD_FOLDED, which generic code expects to see. Let's fix it.

Defining __PAGETABLE_PMD_FOLDED will drop out unused __pmd_alloc().
It also fixes problems with recently-introduced pmd accounting.

Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Reported-by: Guenter Roeck <linux@roeck-us.net>
---
 arch/microblaze/include/asm/pgtable.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/microblaze/include/asm/pgtable.h b/arch/microblaze/include/asm/pgtable.h
index 46637bb090eb..e53b8532353c 100644
--- a/arch/microblaze/include/asm/pgtable.h
+++ b/arch/microblaze/include/asm/pgtable.h
@@ -61,6 +61,8 @@ extern int mem_init_done;
 
 #include <asm-generic/4level-fixup.h>
 
+#define __PAGETABLE_PMD_FOLDED
+
 #ifdef __KERNEL__
 #ifndef __ASSEMBLY__
 
-- 
 Kirill A. Shutemov

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply related	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failures due to 'mm: account pmd page tables to the process'
@ 2015-01-23 11:13     ` Kirill A. Shutemov
  0 siblings, 0 replies; 67+ messages in thread
From: Kirill A. Shutemov @ 2015-01-23 11:13 UTC (permalink / raw)
  To: Guenter Roeck
  Cc: akpm, mm-commits, linux-kernel, linux-mm, linux-fsdevel,
	linux-next, sfr, mhocko, Kirill A. Shutemov

On Thu, Jan 22, 2015 at 09:04:45PM -0800, Guenter Roeck wrote:
> On Thu, Jan 22, 2015 at 03:05:17PM -0800, akpm@linux-foundation.org wrote:
> > The mm-of-the-moment snapshot 2015-01-22-15-04 has been uploaded to
> > 
> >    http://www.ozlabs.org/~akpm/mmotm/
> > 
> qemu:sh fails to shut down.
> 
> bisect log:
> 
> # bad: [03586ad04b2170ee816e6936981cc7cd2aeba129] pci: test for unexpectedly disabled bridges
> # good: [ec6f34e5b552fb0a52e6aae1a5afbbb1605cc6cc] Linux 3.19-rc5
> git bisect start 'HEAD' 'v3.19-rc5'
> # bad: [d113ba21d15c7d3615fd88490d1197615bb39fc0] mm: remove lock validation check for MADV_FREE
> git bisect bad d113ba21d15c7d3615fd88490d1197615bb39fc0
> # good: [17351d1625a5030fa16f1346b77064c03b51f107] mm:add KPF_ZERO_PAGE flag for /proc/kpageflags
> git bisect good 17351d1625a5030fa16f1346b77064c03b51f107
> # good: [ad18ad1fce6f241a9cbd4adfd6b16c9283181e39] memcg: add BUILD_BUG_ON() for string tables
> git bisect good ad18ad1fce6f241a9cbd4adfd6b16c9283181e39
> # bad: [aa7e7cbfa43b74f6faef04ff730b5098544a4f77] mm/compaction: enhance tracepoint output for compaction begin/end
> git bisect bad aa7e7cbfa43b74f6faef04ff730b5098544a4f77
> # good: [a40d0d2cf21e2714e9a6c842085148c938bf36ab] mm: memcontrol: remove unnecessary soft limit tree node test
> git bisect good a40d0d2cf21e2714e9a6c842085148c938bf36ab
> # good: [4ec4aa2e07c1d6eee61f6cace29401c6febcb6c5] mm: make FIRST_USER_ADDRESS unsigned long on all archs
> git bisect good 4ec4aa2e07c1d6eee61f6cace29401c6febcb6c5
> # bad: [22310c209483224a64436a6e815a86feda681659] mm: account pmd page tables to the process
> git bisect bad 22310c209483224a64436a6e815a86feda681659
> # good: [19a41261b1dcd8d12372d9c57c2035144608a599] arm: define __PAGETABLE_PMD_FOLDED for !LPAE
> git bisect good 19a41261b1dcd8d12372d9c57c2035144608a599
> # first bad commit: [22310c209483224a64436a6e815a86feda681659] mm: account pmd page tables to the process
> 
> ---
> 
> qemu:microblaze generates warnings to the console.
> 
> WARNING: CPU: 0 PID: 32 at mm/mmap.c:2858 exit_mmap+0x184/0x1a4()
> 
> with various call stacks. See
> http://server.roeck-us.net:8010/builders/qemu-microblaze-mmotm/builds/15/steps/qemubuildcommand/logs/stdio
> for details.

Could you try patch below? Completely untested.

^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failure due to 'mm: memcontrol: remove unnecessary soft limit tree node test'
  2015-01-23  5:08   ` Guenter Roeck
@ 2015-01-23 14:18     ` Johannes Weiner
  -1 siblings, 0 replies; 67+ messages in thread
From: Johannes Weiner @ 2015-01-23 14:18 UTC (permalink / raw)
  To: Guenter Roeck
  Cc: akpm, mm-commits, linux-kernel, linux-mm, linux-fsdevel,
	linux-next, sfr, mhocko, cl

Hi Guenter,

CC'ing Christoph for slub-stuff:

On Thu, Jan 22, 2015 at 09:08:02PM -0800, Guenter Roeck wrote:
> On Thu, Jan 22, 2015 at 03:05:17PM -0800, akpm@linux-foundation.org wrote:
> > The mm-of-the-moment snapshot 2015-01-22-15-04 has been uploaded to
> > 
> >    http://www.ozlabs.org/~akpm/mmotm/
> > 
> qemu test for ppc64 fails with
> 
> Unable to handle kernel paging request for data at address 0x0000af50
> Faulting instruction address: 0xc00000000089d5d4
> Oops: Kernel access of bad area, sig: 11 [#1]
> 
> with the following call stack:
> 
> Call Trace:
> [c00000003d32f920] [c00000000089d588] .__slab_alloc.isra.44+0x7c/0x6f4
> (unreliable)
> [c00000003d32fa90] [c00000000020cf8c] .kmem_cache_alloc_node_trace+0x12c/0x3b0
> [c00000003d32fb60] [c000000000bceeb4] .mem_cgroup_init+0x128/0x1b0
> [c00000003d32fbf0] [c00000000000a2b4] .do_one_initcall+0xd4/0x260
> [c00000003d32fce0] [c000000000ba26a8] .kernel_init_freeable+0x244/0x32c
> [c00000003d32fdb0] [c00000000000ac24] .kernel_init+0x24/0x140
> [c00000003d32fe30] [c000000000009564] .ret_from_kernel_thread+0x58/0x74
> 
> bisect log:

[...]

> # first bad commit: [a40d0d2cf21e2714e9a6c842085148c938bf36ab] mm: memcontrol: remove unnecessary soft limit tree node test

The change in question is this:

    mm: memcontrol: remove unnecessary soft limit tree node test
    
    kzalloc_node() automatically falls back to nodes with suitable memory.
    
    Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
    Acked-by: Michal Hocko <mhocko@suse.cz>
    Reviewed-by: Vladimir Davydov <vdavydov@parallels.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index fb9788af4a3e..10db4a654d68 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -4539,13 +4539,10 @@ static void __init mem_cgroup_soft_limit_tree_init(void)
 {
        struct mem_cgroup_tree_per_node *rtpn;
        struct mem_cgroup_tree_per_zone *rtpz;
-       int tmp, node, zone;
+       int node, zone;
 
        for_each_node(node) {
-               tmp = node;
-               if (!node_state(node, N_NORMAL_MEMORY))
-                       tmp = -1;
-               rtpn = kzalloc_node(sizeof(*rtpn), GFP_KERNEL, tmp);
+               rtpn = kzalloc_node(sizeof(*rtpn), GFP_KERNEL, node);
                BUG_ON(!rtpn);
 
                soft_limit_tree.rb_tree_per_node[node] = rtpn;

--

Is the assumption of this patch wrong?  Does the specified node have
to be online for the fallback to work?

Thanks

^ permalink raw reply related	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failure due to 'mm: memcontrol: remove unnecessary soft limit tree node test'
@ 2015-01-23 14:18     ` Johannes Weiner
  0 siblings, 0 replies; 67+ messages in thread
From: Johannes Weiner @ 2015-01-23 14:18 UTC (permalink / raw)
  To: Guenter Roeck
  Cc: akpm, mm-commits, linux-kernel, linux-mm, linux-fsdevel,
	linux-next, sfr, mhocko, cl

Hi Guenter,

CC'ing Christoph for slub-stuff:

On Thu, Jan 22, 2015 at 09:08:02PM -0800, Guenter Roeck wrote:
> On Thu, Jan 22, 2015 at 03:05:17PM -0800, akpm@linux-foundation.org wrote:
> > The mm-of-the-moment snapshot 2015-01-22-15-04 has been uploaded to
> > 
> >    http://www.ozlabs.org/~akpm/mmotm/
> > 
> qemu test for ppc64 fails with
> 
> Unable to handle kernel paging request for data at address 0x0000af50
> Faulting instruction address: 0xc00000000089d5d4
> Oops: Kernel access of bad area, sig: 11 [#1]
> 
> with the following call stack:
> 
> Call Trace:
> [c00000003d32f920] [c00000000089d588] .__slab_alloc.isra.44+0x7c/0x6f4
> (unreliable)
> [c00000003d32fa90] [c00000000020cf8c] .kmem_cache_alloc_node_trace+0x12c/0x3b0
> [c00000003d32fb60] [c000000000bceeb4] .mem_cgroup_init+0x128/0x1b0
> [c00000003d32fbf0] [c00000000000a2b4] .do_one_initcall+0xd4/0x260
> [c00000003d32fce0] [c000000000ba26a8] .kernel_init_freeable+0x244/0x32c
> [c00000003d32fdb0] [c00000000000ac24] .kernel_init+0x24/0x140
> [c00000003d32fe30] [c000000000009564] .ret_from_kernel_thread+0x58/0x74
> 
> bisect log:

[...]

> # first bad commit: [a40d0d2cf21e2714e9a6c842085148c938bf36ab] mm: memcontrol: remove unnecessary soft limit tree node test

The change in question is this:

    mm: memcontrol: remove unnecessary soft limit tree node test
    
    kzalloc_node() automatically falls back to nodes with suitable memory.
    
    Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
    Acked-by: Michal Hocko <mhocko@suse.cz>
    Reviewed-by: Vladimir Davydov <vdavydov@parallels.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index fb9788af4a3e..10db4a654d68 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -4539,13 +4539,10 @@ static void __init mem_cgroup_soft_limit_tree_init(void)
 {
        struct mem_cgroup_tree_per_node *rtpn;
        struct mem_cgroup_tree_per_zone *rtpz;
-       int tmp, node, zone;
+       int node, zone;
 
        for_each_node(node) {
-               tmp = node;
-               if (!node_state(node, N_NORMAL_MEMORY))
-                       tmp = -1;
-               rtpn = kzalloc_node(sizeof(*rtpn), GFP_KERNEL, tmp);
+               rtpn = kzalloc_node(sizeof(*rtpn), GFP_KERNEL, node);
                BUG_ON(!rtpn);
 
                soft_limit_tree.rb_tree_per_node[node] = rtpn;

--

Is the assumption of this patch wrong?  Does the specified node have
to be online for the fallback to work?

Thanks

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply related	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failures due to 'mm: account pmd page tables to the process'
  2015-01-23 11:13     ` Kirill A. Shutemov
@ 2015-01-23 15:07       ` Guenter Roeck
  -1 siblings, 0 replies; 67+ messages in thread
From: Guenter Roeck @ 2015-01-23 15:07 UTC (permalink / raw)
  To: Kirill A. Shutemov
  Cc: akpm, mm-commits, linux-kernel, linux-mm, linux-fsdevel,
	linux-next, sfr, mhocko, Kirill A. Shutemov

On 01/23/2015 03:13 AM, Kirill A. Shutemov wrote:
> On Thu, Jan 22, 2015 at 09:04:45PM -0800, Guenter Roeck wrote:
>> On Thu, Jan 22, 2015 at 03:05:17PM -0800, akpm@linux-foundation.org wrote:
>>> The mm-of-the-moment snapshot 2015-01-22-15-04 has been uploaded to
>>>
>>>     http://www.ozlabs.org/~akpm/mmotm/
>>>
>> qemu:sh fails to shut down.
>>
>> bisect log:
>>
>> # bad: [03586ad04b2170ee816e6936981cc7cd2aeba129] pci: test for unexpectedly disabled bridges
>> # good: [ec6f34e5b552fb0a52e6aae1a5afbbb1605cc6cc] Linux 3.19-rc5
>> git bisect start 'HEAD' 'v3.19-rc5'
>> # bad: [d113ba21d15c7d3615fd88490d1197615bb39fc0] mm: remove lock validation check for MADV_FREE
>> git bisect bad d113ba21d15c7d3615fd88490d1197615bb39fc0
>> # good: [17351d1625a5030fa16f1346b77064c03b51f107] mm:add KPF_ZERO_PAGE flag for /proc/kpageflags
>> git bisect good 17351d1625a5030fa16f1346b77064c03b51f107
>> # good: [ad18ad1fce6f241a9cbd4adfd6b16c9283181e39] memcg: add BUILD_BUG_ON() for string tables
>> git bisect good ad18ad1fce6f241a9cbd4adfd6b16c9283181e39
>> # bad: [aa7e7cbfa43b74f6faef04ff730b5098544a4f77] mm/compaction: enhance tracepoint output for compaction begin/end
>> git bisect bad aa7e7cbfa43b74f6faef04ff730b5098544a4f77
>> # good: [a40d0d2cf21e2714e9a6c842085148c938bf36ab] mm: memcontrol: remove unnecessary soft limit tree node test
>> git bisect good a40d0d2cf21e2714e9a6c842085148c938bf36ab
>> # good: [4ec4aa2e07c1d6eee61f6cace29401c6febcb6c5] mm: make FIRST_USER_ADDRESS unsigned long on all archs
>> git bisect good 4ec4aa2e07c1d6eee61f6cace29401c6febcb6c5
>> # bad: [22310c209483224a64436a6e815a86feda681659] mm: account pmd page tables to the process
>> git bisect bad 22310c209483224a64436a6e815a86feda681659
>> # good: [19a41261b1dcd8d12372d9c57c2035144608a599] arm: define __PAGETABLE_PMD_FOLDED for !LPAE
>> git bisect good 19a41261b1dcd8d12372d9c57c2035144608a599
>> # first bad commit: [22310c209483224a64436a6e815a86feda681659] mm: account pmd page tables to the process
>>
>> ---
>>
>> qemu:microblaze generates warnings to the console.
>>
>> WARNING: CPU: 0 PID: 32 at mm/mmap.c:2858 exit_mmap+0x184/0x1a4()
>>
>> with various call stacks. See
>> http://server.roeck-us.net:8010/builders/qemu-microblaze-mmotm/builds/15/steps/qemubuildcommand/logs/stdio
>> for details.
>
> Could you try patch below? Completely untested.
>
>>From b584bb8d493794f67484c0b57c161d61c02599bc Mon Sep 17 00:00:00 2001
> From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
> Date: Fri, 23 Jan 2015 13:08:26 +0200
> Subject: [PATCH] microblaze: define __PAGETABLE_PMD_FOLDED
>
> Microblaze uses custom implementation of PMD folding, but doesn't define
> __PAGETABLE_PMD_FOLDED, which generic code expects to see. Let's fix it.
>
> Defining __PAGETABLE_PMD_FOLDED will drop out unused __pmd_alloc().
> It also fixes problems with recently-introduced pmd accounting.
>
> Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
> Reported-by: Guenter Roeck <linux@roeck-us.net>

Tested working.

Tested-by: Guenter Roeck <linux@roeck-us.net>

Any idea how to fix the sh problem ?

Thanks,
Guenter


^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failures due to 'mm: account pmd page tables to the process'
@ 2015-01-23 15:07       ` Guenter Roeck
  0 siblings, 0 replies; 67+ messages in thread
From: Guenter Roeck @ 2015-01-23 15:07 UTC (permalink / raw)
  To: Kirill A. Shutemov
  Cc: akpm, mm-commits, linux-kernel, linux-mm, linux-fsdevel,
	linux-next, sfr, mhocko, Kirill A. Shutemov

On 01/23/2015 03:13 AM, Kirill A. Shutemov wrote:
> On Thu, Jan 22, 2015 at 09:04:45PM -0800, Guenter Roeck wrote:
>> On Thu, Jan 22, 2015 at 03:05:17PM -0800, akpm@linux-foundation.org wrote:
>>> The mm-of-the-moment snapshot 2015-01-22-15-04 has been uploaded to
>>>
>>>     http://www.ozlabs.org/~akpm/mmotm/
>>>
>> qemu:sh fails to shut down.
>>
>> bisect log:
>>
>> # bad: [03586ad04b2170ee816e6936981cc7cd2aeba129] pci: test for unexpectedly disabled bridges
>> # good: [ec6f34e5b552fb0a52e6aae1a5afbbb1605cc6cc] Linux 3.19-rc5
>> git bisect start 'HEAD' 'v3.19-rc5'
>> # bad: [d113ba21d15c7d3615fd88490d1197615bb39fc0] mm: remove lock validation check for MADV_FREE
>> git bisect bad d113ba21d15c7d3615fd88490d1197615bb39fc0
>> # good: [17351d1625a5030fa16f1346b77064c03b51f107] mm:add KPF_ZERO_PAGE flag for /proc/kpageflags
>> git bisect good 17351d1625a5030fa16f1346b77064c03b51f107
>> # good: [ad18ad1fce6f241a9cbd4adfd6b16c9283181e39] memcg: add BUILD_BUG_ON() for string tables
>> git bisect good ad18ad1fce6f241a9cbd4adfd6b16c9283181e39
>> # bad: [aa7e7cbfa43b74f6faef04ff730b5098544a4f77] mm/compaction: enhance tracepoint output for compaction begin/end
>> git bisect bad aa7e7cbfa43b74f6faef04ff730b5098544a4f77
>> # good: [a40d0d2cf21e2714e9a6c842085148c938bf36ab] mm: memcontrol: remove unnecessary soft limit tree node test
>> git bisect good a40d0d2cf21e2714e9a6c842085148c938bf36ab
>> # good: [4ec4aa2e07c1d6eee61f6cace29401c6febcb6c5] mm: make FIRST_USER_ADDRESS unsigned long on all archs
>> git bisect good 4ec4aa2e07c1d6eee61f6cace29401c6febcb6c5
>> # bad: [22310c209483224a64436a6e815a86feda681659] mm: account pmd page tables to the process
>> git bisect bad 22310c209483224a64436a6e815a86feda681659
>> # good: [19a41261b1dcd8d12372d9c57c2035144608a599] arm: define __PAGETABLE_PMD_FOLDED for !LPAE
>> git bisect good 19a41261b1dcd8d12372d9c57c2035144608a599
>> # first bad commit: [22310c209483224a64436a6e815a86feda681659] mm: account pmd page tables to the process
>>
>> ---
>>
>> qemu:microblaze generates warnings to the console.
>>
>> WARNING: CPU: 0 PID: 32 at mm/mmap.c:2858 exit_mmap+0x184/0x1a4()
>>
>> with various call stacks. See
>> http://server.roeck-us.net:8010/builders/qemu-microblaze-mmotm/builds/15/steps/qemubuildcommand/logs/stdio
>> for details.
>
> Could you try patch below? Completely untested.
>
>>From b584bb8d493794f67484c0b57c161d61c02599bc Mon Sep 17 00:00:00 2001
> From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
> Date: Fri, 23 Jan 2015 13:08:26 +0200
> Subject: [PATCH] microblaze: define __PAGETABLE_PMD_FOLDED
>
> Microblaze uses custom implementation of PMD folding, but doesn't define
> __PAGETABLE_PMD_FOLDED, which generic code expects to see. Let's fix it.
>
> Defining __PAGETABLE_PMD_FOLDED will drop out unused __pmd_alloc().
> It also fixes problems with recently-introduced pmd accounting.
>
> Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
> Reported-by: Guenter Roeck <linux@roeck-us.net>

Tested working.

Tested-by: Guenter Roeck <linux@roeck-us.net>

Any idea how to fix the sh problem ?

Thanks,
Guenter

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failure due to 'mm: memcontrol: remove unnecessary soft limit tree node test'
  2015-01-23 14:18     ` Johannes Weiner
@ 2015-01-23 15:17       ` Christoph Lameter
  -1 siblings, 0 replies; 67+ messages in thread
From: Christoph Lameter @ 2015-01-23 15:17 UTC (permalink / raw)
  To: Johannes Weiner
  Cc: Guenter Roeck, akpm, mm-commits, linux-kernel, linux-mm,
	linux-fsdevel, linux-next, Stephen Rothwell, mhocko

On Fri, 23 Jan 2015, Johannes Weiner wrote:

> Is the assumption of this patch wrong?  Does the specified node have
> to be online for the fallback to work?

Nodes that are offline have no control structures allocated and thus
allocations will likely segfault when the address of the controls
structure for the node is accessed.

If we wanted to prevent that then every allocation would have to add a
check to see if the nodes are online which would impact performance.



^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failure due to 'mm: memcontrol: remove unnecessary soft limit tree node test'
@ 2015-01-23 15:17       ` Christoph Lameter
  0 siblings, 0 replies; 67+ messages in thread
From: Christoph Lameter @ 2015-01-23 15:17 UTC (permalink / raw)
  To: Johannes Weiner
  Cc: Guenter Roeck, akpm, mm-commits, linux-kernel, linux-mm,
	linux-fsdevel, linux-next, Stephen Rothwell, mhocko

On Fri, 23 Jan 2015, Johannes Weiner wrote:

> Is the assumption of this patch wrong?  Does the specified node have
> to be online for the fallback to work?

Nodes that are offline have no control structures allocated and thus
allocations will likely segfault when the address of the controls
structure for the node is accessed.

If we wanted to prevent that then every allocation would have to add a
check to see if the nodes are online which would impact performance.


--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failure due to 'mm: memcontrol: remove unnecessary soft limit tree node test'
  2015-01-23 14:18     ` Johannes Weiner
@ 2015-01-23 15:46       ` Guenter Roeck
  -1 siblings, 0 replies; 67+ messages in thread
From: Guenter Roeck @ 2015-01-23 15:46 UTC (permalink / raw)
  To: Johannes Weiner
  Cc: akpm, mm-commits, linux-kernel, linux-mm, linux-fsdevel,
	linux-next, sfr, mhocko, cl

On 01/23/2015 06:18 AM, Johannes Weiner wrote:
> Hi Guenter,
>
> CC'ing Christoph for slub-stuff:
>
> On Thu, Jan 22, 2015 at 09:08:02PM -0800, Guenter Roeck wrote:
>> On Thu, Jan 22, 2015 at 03:05:17PM -0800, akpm@linux-foundation.org wrote:
>>> The mm-of-the-moment snapshot 2015-01-22-15-04 has been uploaded to
>>>
>>>     http://www.ozlabs.org/~akpm/mmotm/
>>>
>> qemu test for ppc64 fails with
>>
>> Unable to handle kernel paging request for data at address 0x0000af50
>> Faulting instruction address: 0xc00000000089d5d4
>> Oops: Kernel access of bad area, sig: 11 [#1]
>>
>> with the following call stack:
>>
>> Call Trace:
>> [c00000003d32f920] [c00000000089d588] .__slab_alloc.isra.44+0x7c/0x6f4
>> (unreliable)
>> [c00000003d32fa90] [c00000000020cf8c] .kmem_cache_alloc_node_trace+0x12c/0x3b0
>> [c00000003d32fb60] [c000000000bceeb4] .mem_cgroup_init+0x128/0x1b0
>> [c00000003d32fbf0] [c00000000000a2b4] .do_one_initcall+0xd4/0x260
>> [c00000003d32fce0] [c000000000ba26a8] .kernel_init_freeable+0x244/0x32c
>> [c00000003d32fdb0] [c00000000000ac24] .kernel_init+0x24/0x140
>> [c00000003d32fe30] [c000000000009564] .ret_from_kernel_thread+0x58/0x74
>>
>> bisect log:
>
> [...]
>
>> # first bad commit: [a40d0d2cf21e2714e9a6c842085148c938bf36ab] mm: memcontrol: remove unnecessary soft limit tree node test
>
> The change in question is this:
>
>      mm: memcontrol: remove unnecessary soft limit tree node test
>
>      kzalloc_node() automatically falls back to nodes with suitable memory.
>
>      Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
>      Acked-by: Michal Hocko <mhocko@suse.cz>
>      Reviewed-by: Vladimir Davydov <vdavydov@parallels.com>
>      Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
>
> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> index fb9788af4a3e..10db4a654d68 100644
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -4539,13 +4539,10 @@ static void __init mem_cgroup_soft_limit_tree_init(void)
>   {
>          struct mem_cgroup_tree_per_node *rtpn;
>          struct mem_cgroup_tree_per_zone *rtpz;
> -       int tmp, node, zone;
> +       int node, zone;
>
>          for_each_node(node) {
> -               tmp = node;
> -               if (!node_state(node, N_NORMAL_MEMORY))
> -                       tmp = -1;
> -               rtpn = kzalloc_node(sizeof(*rtpn), GFP_KERNEL, tmp);
> +               rtpn = kzalloc_node(sizeof(*rtpn), GFP_KERNEL, node);
>                  BUG_ON(!rtpn);
>
>                  soft_limit_tree.rb_tree_per_node[node] = rtpn;
>
> --
>
> Is the assumption of this patch wrong?  Does the specified node have
> to be online for the fallback to work?
>

I added some debugging. First, the problem is only seen with SMP disabled.
Second, there is only one online node.

Without your patch:

Node 0 online 1 high 1 memory 1 cpu 0 normal 1 tmp 0 rtpn c00000003d240600
Node 1 online 0 high 0 memory 0 cpu 0 normal 0 tmp -1 rtpn c00000003d240640
Node 2 online 0 high 0 memory 0 cpu 0 normal 0 tmp -1 rtpn c00000003d240680

[ and so on up to node 255 ]

With your patch:

Node 0 online 1 high 1 memory 1 cpu 0 normal 1 rtpn c00000003d240600
Unable to handle kernel paging request for data at address 0x0000af50
Faulting instruction address: 0xc000000000895a3c
Oops: Kernel access of bad area, sig: 11 [#1]

The log message is after the call to kzalloc_node.

So it doesn't look like the fallback is working, at least not with ppc64
in non-SMP mode.

Guenter


^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failure due to 'mm: memcontrol: remove unnecessary soft limit tree node test'
@ 2015-01-23 15:46       ` Guenter Roeck
  0 siblings, 0 replies; 67+ messages in thread
From: Guenter Roeck @ 2015-01-23 15:46 UTC (permalink / raw)
  To: Johannes Weiner
  Cc: akpm, mm-commits, linux-kernel, linux-mm, linux-fsdevel,
	linux-next, sfr, mhocko, cl

On 01/23/2015 06:18 AM, Johannes Weiner wrote:
> Hi Guenter,
>
> CC'ing Christoph for slub-stuff:
>
> On Thu, Jan 22, 2015 at 09:08:02PM -0800, Guenter Roeck wrote:
>> On Thu, Jan 22, 2015 at 03:05:17PM -0800, akpm@linux-foundation.org wrote:
>>> The mm-of-the-moment snapshot 2015-01-22-15-04 has been uploaded to
>>>
>>>     http://www.ozlabs.org/~akpm/mmotm/
>>>
>> qemu test for ppc64 fails with
>>
>> Unable to handle kernel paging request for data at address 0x0000af50
>> Faulting instruction address: 0xc00000000089d5d4
>> Oops: Kernel access of bad area, sig: 11 [#1]
>>
>> with the following call stack:
>>
>> Call Trace:
>> [c00000003d32f920] [c00000000089d588] .__slab_alloc.isra.44+0x7c/0x6f4
>> (unreliable)
>> [c00000003d32fa90] [c00000000020cf8c] .kmem_cache_alloc_node_trace+0x12c/0x3b0
>> [c00000003d32fb60] [c000000000bceeb4] .mem_cgroup_init+0x128/0x1b0
>> [c00000003d32fbf0] [c00000000000a2b4] .do_one_initcall+0xd4/0x260
>> [c00000003d32fce0] [c000000000ba26a8] .kernel_init_freeable+0x244/0x32c
>> [c00000003d32fdb0] [c00000000000ac24] .kernel_init+0x24/0x140
>> [c00000003d32fe30] [c000000000009564] .ret_from_kernel_thread+0x58/0x74
>>
>> bisect log:
>
> [...]
>
>> # first bad commit: [a40d0d2cf21e2714e9a6c842085148c938bf36ab] mm: memcontrol: remove unnecessary soft limit tree node test
>
> The change in question is this:
>
>      mm: memcontrol: remove unnecessary soft limit tree node test
>
>      kzalloc_node() automatically falls back to nodes with suitable memory.
>
>      Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
>      Acked-by: Michal Hocko <mhocko@suse.cz>
>      Reviewed-by: Vladimir Davydov <vdavydov@parallels.com>
>      Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
>
> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> index fb9788af4a3e..10db4a654d68 100644
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -4539,13 +4539,10 @@ static void __init mem_cgroup_soft_limit_tree_init(void)
>   {
>          struct mem_cgroup_tree_per_node *rtpn;
>          struct mem_cgroup_tree_per_zone *rtpz;
> -       int tmp, node, zone;
> +       int node, zone;
>
>          for_each_node(node) {
> -               tmp = node;
> -               if (!node_state(node, N_NORMAL_MEMORY))
> -                       tmp = -1;
> -               rtpn = kzalloc_node(sizeof(*rtpn), GFP_KERNEL, tmp);
> +               rtpn = kzalloc_node(sizeof(*rtpn), GFP_KERNEL, node);
>                  BUG_ON(!rtpn);
>
>                  soft_limit_tree.rb_tree_per_node[node] = rtpn;
>
> --
>
> Is the assumption of this patch wrong?  Does the specified node have
> to be online for the fallback to work?
>

I added some debugging. First, the problem is only seen with SMP disabled.
Second, there is only one online node.

Without your patch:

Node 0 online 1 high 1 memory 1 cpu 0 normal 1 tmp 0 rtpn c00000003d240600
Node 1 online 0 high 0 memory 0 cpu 0 normal 0 tmp -1 rtpn c00000003d240640
Node 2 online 0 high 0 memory 0 cpu 0 normal 0 tmp -1 rtpn c00000003d240680

[ and so on up to node 255 ]

With your patch:

Node 0 online 1 high 1 memory 1 cpu 0 normal 1 rtpn c00000003d240600
Unable to handle kernel paging request for data at address 0x0000af50
Faulting instruction address: 0xc000000000895a3c
Oops: Kernel access of bad area, sig: 11 [#1]

The log message is after the call to kzalloc_node.

So it doesn't look like the fallback is working, at least not with ppc64
in non-SMP mode.

Guenter

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failure due to 'mm: memcontrol: remove unnecessary soft limit tree node test'
  2015-01-23 15:17       ` Christoph Lameter
@ 2015-01-23 16:02         ` Johannes Weiner
  -1 siblings, 0 replies; 67+ messages in thread
From: Johannes Weiner @ 2015-01-23 16:02 UTC (permalink / raw)
  To: Christoph Lameter
  Cc: Guenter Roeck, akpm, mm-commits, linux-kernel, linux-mm,
	linux-fsdevel, linux-next, Stephen Rothwell, mhocko

On Fri, Jan 23, 2015 at 09:17:44AM -0600, Christoph Lameter wrote:
> On Fri, 23 Jan 2015, Johannes Weiner wrote:
> 
> > Is the assumption of this patch wrong?  Does the specified node have
> > to be online for the fallback to work?
> 
> Nodes that are offline have no control structures allocated and thus
> allocations will likely segfault when the address of the controls
> structure for the node is accessed.
> 
> If we wanted to prevent that then every allocation would have to add a
> check to see if the nodes are online which would impact performance.

Okay, that makes sense, thank you.

Andrew, can you please drop this patch?

^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failure due to 'mm: memcontrol: remove unnecessary soft limit tree node test'
@ 2015-01-23 16:02         ` Johannes Weiner
  0 siblings, 0 replies; 67+ messages in thread
From: Johannes Weiner @ 2015-01-23 16:02 UTC (permalink / raw)
  To: Christoph Lameter
  Cc: Guenter Roeck, akpm, mm-commits, linux-kernel, linux-mm,
	linux-fsdevel, linux-next, Stephen Rothwell, mhocko

On Fri, Jan 23, 2015 at 09:17:44AM -0600, Christoph Lameter wrote:
> On Fri, 23 Jan 2015, Johannes Weiner wrote:
> 
> > Is the assumption of this patch wrong?  Does the specified node have
> > to be online for the fallback to work?
> 
> Nodes that are offline have no control structures allocated and thus
> allocations will likely segfault when the address of the controls
> structure for the node is accessed.
> 
> If we wanted to prevent that then every allocation would have to add a
> check to see if the nodes are online which would impact performance.

Okay, that makes sense, thank you.

Andrew, can you please drop this patch?

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failure due to 'mm: memcontrol: remove unnecessary soft limit tree node test'
  2015-01-23 15:46       ` Guenter Roeck
@ 2015-01-23 16:03         ` Johannes Weiner
  -1 siblings, 0 replies; 67+ messages in thread
From: Johannes Weiner @ 2015-01-23 16:03 UTC (permalink / raw)
  To: Guenter Roeck
  Cc: akpm, mm-commits, linux-kernel, linux-mm, linux-fsdevel,
	linux-next, sfr, mhocko, cl

On Fri, Jan 23, 2015 at 07:46:43AM -0800, Guenter Roeck wrote:
> I added some debugging. First, the problem is only seen with SMP disabled.
> Second, there is only one online node.
> 
> Without your patch:
> 
> Node 0 online 1 high 1 memory 1 cpu 0 normal 1 tmp 0 rtpn c00000003d240600
> Node 1 online 0 high 0 memory 0 cpu 0 normal 0 tmp -1 rtpn c00000003d240640
> Node 2 online 0 high 0 memory 0 cpu 0 normal 0 tmp -1 rtpn c00000003d240680
> 
> [ and so on up to node 255 ]
> 
> With your patch:
> 
> Node 0 online 1 high 1 memory 1 cpu 0 normal 1 rtpn c00000003d240600
> Unable to handle kernel paging request for data at address 0x0000af50
> Faulting instruction address: 0xc000000000895a3c
> Oops: Kernel access of bad area, sig: 11 [#1]
> 
> The log message is after the call to kzalloc_node.
> 
> So it doesn't look like the fallback is working, at least not with ppc64
> in non-SMP mode.

Yep, and Christoph confirmed that it's not meant to work like that.
The patch is flawed.

Thanks for testing and sorry for breaking your setup.

^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failure due to 'mm: memcontrol: remove unnecessary soft limit tree node test'
@ 2015-01-23 16:03         ` Johannes Weiner
  0 siblings, 0 replies; 67+ messages in thread
From: Johannes Weiner @ 2015-01-23 16:03 UTC (permalink / raw)
  To: Guenter Roeck
  Cc: akpm, mm-commits, linux-kernel, linux-mm, linux-fsdevel,
	linux-next, sfr, mhocko, cl

On Fri, Jan 23, 2015 at 07:46:43AM -0800, Guenter Roeck wrote:
> I added some debugging. First, the problem is only seen with SMP disabled.
> Second, there is only one online node.
> 
> Without your patch:
> 
> Node 0 online 1 high 1 memory 1 cpu 0 normal 1 tmp 0 rtpn c00000003d240600
> Node 1 online 0 high 0 memory 0 cpu 0 normal 0 tmp -1 rtpn c00000003d240640
> Node 2 online 0 high 0 memory 0 cpu 0 normal 0 tmp -1 rtpn c00000003d240680
> 
> [ and so on up to node 255 ]
> 
> With your patch:
> 
> Node 0 online 1 high 1 memory 1 cpu 0 normal 1 rtpn c00000003d240600
> Unable to handle kernel paging request for data at address 0x0000af50
> Faulting instruction address: 0xc000000000895a3c
> Oops: Kernel access of bad area, sig: 11 [#1]
> 
> The log message is after the call to kzalloc_node.
> 
> So it doesn't look like the fallback is working, at least not with ppc64
> in non-SMP mode.

Yep, and Christoph confirmed that it's not meant to work like that.
The patch is flawed.

Thanks for testing and sorry for breaking your setup.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failure due to 'mm: memcontrol: remove unnecessary soft limit tree node test'
  2015-01-23 16:02         ` Johannes Weiner
@ 2015-01-23 16:59           ` Guenter Roeck
  -1 siblings, 0 replies; 67+ messages in thread
From: Guenter Roeck @ 2015-01-23 16:59 UTC (permalink / raw)
  To: Johannes Weiner, Christoph Lameter
  Cc: akpm, mm-commits, linux-kernel, linux-mm, linux-fsdevel,
	linux-next, Stephen Rothwell, mhocko

On 01/23/2015 08:02 AM, Johannes Weiner wrote:
> On Fri, Jan 23, 2015 at 09:17:44AM -0600, Christoph Lameter wrote:
>> On Fri, 23 Jan 2015, Johannes Weiner wrote:
>>
>>> Is the assumption of this patch wrong?  Does the specified node have
>>> to be online for the fallback to work?
>>
>> Nodes that are offline have no control structures allocated and thus
>> allocations will likely segfault when the address of the controls
>> structure for the node is accessed.
>>
>> If we wanted to prevent that then every allocation would have to add a
>> check to see if the nodes are online which would impact performance.
>
> Okay, that makes sense, thank you.
>
> Andrew, can you please drop this patch?
>
Problem is that there are three patches.

2537ffb mm: memcontrol: consolidate swap controller code
2f9b346 mm: memcontrol: consolidate memory controller initialization
a40d0d2 mm: memcontrol: remove unnecessary soft limit tree node test

Reverting (or dropping) a40d0d2 alone is not possible since it modifies
mem_cgroup_soft_limit_tree_init which is removed by 2f9b346.

Guenter


^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failure due to 'mm: memcontrol: remove unnecessary soft limit tree node test'
@ 2015-01-23 16:59           ` Guenter Roeck
  0 siblings, 0 replies; 67+ messages in thread
From: Guenter Roeck @ 2015-01-23 16:59 UTC (permalink / raw)
  To: Johannes Weiner, Christoph Lameter
  Cc: akpm, mm-commits, linux-kernel, linux-mm, linux-fsdevel,
	linux-next, Stephen Rothwell, mhocko

On 01/23/2015 08:02 AM, Johannes Weiner wrote:
> On Fri, Jan 23, 2015 at 09:17:44AM -0600, Christoph Lameter wrote:
>> On Fri, 23 Jan 2015, Johannes Weiner wrote:
>>
>>> Is the assumption of this patch wrong?  Does the specified node have
>>> to be online for the fallback to work?
>>
>> Nodes that are offline have no control structures allocated and thus
>> allocations will likely segfault when the address of the controls
>> structure for the node is accessed.
>>
>> If we wanted to prevent that then every allocation would have to add a
>> check to see if the nodes are online which would impact performance.
>
> Okay, that makes sense, thank you.
>
> Andrew, can you please drop this patch?
>
Problem is that there are three patches.

2537ffb mm: memcontrol: consolidate swap controller code
2f9b346 mm: memcontrol: consolidate memory controller initialization
a40d0d2 mm: memcontrol: remove unnecessary soft limit tree node test

Reverting (or dropping) a40d0d2 alone is not possible since it modifies
mem_cgroup_soft_limit_tree_init which is removed by 2f9b346.

Guenter

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failure due to 'mm: memcontrol: remove unnecessary soft limit tree node test'
  2015-01-23 16:59           ` Guenter Roeck
@ 2015-01-23 17:36             ` Johannes Weiner
  -1 siblings, 0 replies; 67+ messages in thread
From: Johannes Weiner @ 2015-01-23 17:36 UTC (permalink / raw)
  To: Guenter Roeck
  Cc: Christoph Lameter, akpm, mm-commits, linux-kernel, linux-mm,
	linux-fsdevel, linux-next, Stephen Rothwell, mhocko

On Fri, Jan 23, 2015 at 08:59:51AM -0800, Guenter Roeck wrote:
> On 01/23/2015 08:02 AM, Johannes Weiner wrote:
> >On Fri, Jan 23, 2015 at 09:17:44AM -0600, Christoph Lameter wrote:
> >>On Fri, 23 Jan 2015, Johannes Weiner wrote:
> >>
> >>>Is the assumption of this patch wrong?  Does the specified node have
> >>>to be online for the fallback to work?
> >>
> >>Nodes that are offline have no control structures allocated and thus
> >>allocations will likely segfault when the address of the controls
> >>structure for the node is accessed.
> >>
> >>If we wanted to prevent that then every allocation would have to add a
> >>check to see if the nodes are online which would impact performance.
> >
> >Okay, that makes sense, thank you.
> >
> >Andrew, can you please drop this patch?
> >
> Problem is that there are three patches.
> 
> 2537ffb mm: memcontrol: consolidate swap controller code
> 2f9b346 mm: memcontrol: consolidate memory controller initialization
> a40d0d2 mm: memcontrol: remove unnecessary soft limit tree node test
> 
> Reverting (or dropping) a40d0d2 alone is not possible since it modifies
> mem_cgroup_soft_limit_tree_init which is removed by 2f9b346.

("mm: memcontrol: consolidate swap controller code") gave me no issues
when rebasing, but ("mm: memcontrol: consolidate memory controller
initialization") needs updating.

So how about this one to replace ("mm: memcontrol: remove unnecessary
soft limit tree node test"):

---
From: Johannes Weiner <hannes@cmpxchg.org>
Subject: [patch] mm: memcontrol: simplify soft limit tree init code

- No need to test the node for N_MEMORY.  node_online() is enough for
  node fallback to work in slab, use NUMA_NO_NODE for everything else.

- Remove the BUG_ON() for allocation failure.  A NULL pointer crash is
  just as descriptive, and the absent return value check is obvious.

- Move local variables to the inner-most blocks.

- Point to the tree structure after its initialized, not before, it's
  just more logical that way.

Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
---
 mm/memcontrol.c | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index fb9788af4a3e..88c67303d141 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -4537,24 +4537,23 @@ EXPORT_SYMBOL(parent_mem_cgroup);
 
 static void __init mem_cgroup_soft_limit_tree_init(void)
 {
-	struct mem_cgroup_tree_per_node *rtpn;
-	struct mem_cgroup_tree_per_zone *rtpz;
-	int tmp, node, zone;
+	int node;
 
 	for_each_node(node) {
-		tmp = node;
-		if (!node_state(node, N_NORMAL_MEMORY))
-			tmp = -1;
-		rtpn = kzalloc_node(sizeof(*rtpn), GFP_KERNEL, tmp);
-		BUG_ON(!rtpn);
+		struct mem_cgroup_tree_per_node *rtpn;
+		int zone;
 
-		soft_limit_tree.rb_tree_per_node[node] = rtpn;
+		rtpn = kzalloc_node(sizeof(*rtpn), GFP_KERNEL,
+				    node_online(node) ? node : NUMA_NO_NODE);
 
 		for (zone = 0; zone < MAX_NR_ZONES; zone++) {
+			struct mem_cgroup_tree_per_zone *rtpz;
+
 			rtpz = &rtpn->rb_tree_per_zone[zone];
 			rtpz->rb_root = RB_ROOT;
 			spin_lock_init(&rtpz->lock);
 		}
+		soft_limit_tree.rb_tree_per_node[node] = rtpn;
 	}
 }
 
-- 
2.2.2

^ permalink raw reply related	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failure due to 'mm: memcontrol: remove unnecessary soft limit tree node test'
@ 2015-01-23 17:36             ` Johannes Weiner
  0 siblings, 0 replies; 67+ messages in thread
From: Johannes Weiner @ 2015-01-23 17:36 UTC (permalink / raw)
  To: Guenter Roeck
  Cc: Christoph Lameter, akpm, mm-commits, linux-kernel, linux-mm,
	linux-fsdevel, linux-next, Stephen Rothwell, mhocko

On Fri, Jan 23, 2015 at 08:59:51AM -0800, Guenter Roeck wrote:
> On 01/23/2015 08:02 AM, Johannes Weiner wrote:
> >On Fri, Jan 23, 2015 at 09:17:44AM -0600, Christoph Lameter wrote:
> >>On Fri, 23 Jan 2015, Johannes Weiner wrote:
> >>
> >>>Is the assumption of this patch wrong?  Does the specified node have
> >>>to be online for the fallback to work?
> >>
> >>Nodes that are offline have no control structures allocated and thus
> >>allocations will likely segfault when the address of the controls
> >>structure for the node is accessed.
> >>
> >>If we wanted to prevent that then every allocation would have to add a
> >>check to see if the nodes are online which would impact performance.
> >
> >Okay, that makes sense, thank you.
> >
> >Andrew, can you please drop this patch?
> >
> Problem is that there are three patches.
> 
> 2537ffb mm: memcontrol: consolidate swap controller code
> 2f9b346 mm: memcontrol: consolidate memory controller initialization
> a40d0d2 mm: memcontrol: remove unnecessary soft limit tree node test
> 
> Reverting (or dropping) a40d0d2 alone is not possible since it modifies
> mem_cgroup_soft_limit_tree_init which is removed by 2f9b346.

("mm: memcontrol: consolidate swap controller code") gave me no issues
when rebasing, but ("mm: memcontrol: consolidate memory controller
initialization") needs updating.

So how about this one to replace ("mm: memcontrol: remove unnecessary
soft limit tree node test"):

---
From: Johannes Weiner <hannes@cmpxchg.org>
Subject: [patch] mm: memcontrol: simplify soft limit tree init code

- No need to test the node for N_MEMORY.  node_online() is enough for
  node fallback to work in slab, use NUMA_NO_NODE for everything else.

- Remove the BUG_ON() for allocation failure.  A NULL pointer crash is
  just as descriptive, and the absent return value check is obvious.

- Move local variables to the inner-most blocks.

- Point to the tree structure after its initialized, not before, it's
  just more logical that way.

Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
---
 mm/memcontrol.c | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index fb9788af4a3e..88c67303d141 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -4537,24 +4537,23 @@ EXPORT_SYMBOL(parent_mem_cgroup);
 
 static void __init mem_cgroup_soft_limit_tree_init(void)
 {
-	struct mem_cgroup_tree_per_node *rtpn;
-	struct mem_cgroup_tree_per_zone *rtpz;
-	int tmp, node, zone;
+	int node;
 
 	for_each_node(node) {
-		tmp = node;
-		if (!node_state(node, N_NORMAL_MEMORY))
-			tmp = -1;
-		rtpn = kzalloc_node(sizeof(*rtpn), GFP_KERNEL, tmp);
-		BUG_ON(!rtpn);
+		struct mem_cgroup_tree_per_node *rtpn;
+		int zone;
 
-		soft_limit_tree.rb_tree_per_node[node] = rtpn;
+		rtpn = kzalloc_node(sizeof(*rtpn), GFP_KERNEL,
+				    node_online(node) ? node : NUMA_NO_NODE);
 
 		for (zone = 0; zone < MAX_NR_ZONES; zone++) {
+			struct mem_cgroup_tree_per_zone *rtpz;
+
 			rtpz = &rtpn->rb_tree_per_zone[zone];
 			rtpz->rb_root = RB_ROOT;
 			spin_lock_init(&rtpz->lock);
 		}
+		soft_limit_tree.rb_tree_per_node[node] = rtpn;
 	}
 }
 
-- 
2.2.2

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply related	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failure due to 'mm: memcontrol: remove unnecessary soft limit tree node test'
  2015-01-23 17:36             ` Johannes Weiner
@ 2015-01-23 17:38               ` Johannes Weiner
  -1 siblings, 0 replies; 67+ messages in thread
From: Johannes Weiner @ 2015-01-23 17:38 UTC (permalink / raw)
  To: Guenter Roeck
  Cc: Christoph Lameter, akpm, mm-commits, linux-kernel, linux-mm,
	linux-fsdevel, linux-next, Stephen Rothwell, mhocko

On Fri, Jan 23, 2015 at 12:36:59PM -0500, Johannes Weiner wrote:
> ("mm: memcontrol: consolidate swap controller code") gave me no issues
> when rebasing, but ("mm: memcontrol: consolidate memory controller
> initialization") needs updating.

And this as the refreshed version of ("mm: memcontrol: consolidate
memory controller initialization"):

---
From: Johannes Weiner <hannes@cmpxchg.org>
Subject: [patch] mm: memcontrol: consolidate memory controller initialization

The initialization code for the per-cpu charge stock and the soft
limit tree is compact enough to inline it into mem_cgroup_init().

Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
Acked-by: Michal Hocko <mhocko@suse.cz>
Reviewed-by: Vladimir Davydov <vdavydov@parallels.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
 mm/memcontrol.c | 60 ++++++++++++++++++++++++---------------------------------
 1 file changed, 25 insertions(+), 35 deletions(-)

diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 88c67303d141..2ad11e5c95c3 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -2150,17 +2150,6 @@ static void drain_local_stock(struct work_struct *dummy)
 	clear_bit(FLUSHING_CACHED_CHARGE, &stock->flags);
 }
 
-static void __init memcg_stock_init(void)
-{
-	int cpu;
-
-	for_each_possible_cpu(cpu) {
-		struct memcg_stock_pcp *stock =
-					&per_cpu(memcg_stock, cpu);
-		INIT_WORK(&stock->work, drain_local_stock);
-	}
-}
-
 /*
  * Cache charges(val) to local per_cpu area.
  * This will be consumed by consume_stock() function, later.
@@ -4535,28 +4524,6 @@ struct mem_cgroup *parent_mem_cgroup(struct mem_cgroup *memcg)
 }
 EXPORT_SYMBOL(parent_mem_cgroup);
 
-static void __init mem_cgroup_soft_limit_tree_init(void)
-{
-	int node;
-
-	for_each_node(node) {
-		struct mem_cgroup_tree_per_node *rtpn;
-		int zone;
-
-		rtpn = kzalloc_node(sizeof(*rtpn), GFP_KERNEL,
-				    node_online(node) ? node : NUMA_NO_NODE);
-
-		for (zone = 0; zone < MAX_NR_ZONES; zone++) {
-			struct mem_cgroup_tree_per_zone *rtpz;
-
-			rtpz = &rtpn->rb_tree_per_zone[zone];
-			rtpz->rb_root = RB_ROOT;
-			spin_lock_init(&rtpz->lock);
-		}
-		soft_limit_tree.rb_tree_per_node[node] = rtpn;
-	}
-}
-
 static struct cgroup_subsys_state * __ref
 mem_cgroup_css_alloc(struct cgroup_subsys_state *parent_css)
 {
@@ -5934,10 +5901,33 @@ void mem_cgroup_migrate(struct page *oldpage, struct page *newpage,
  */
 static int __init mem_cgroup_init(void)
 {
+	int cpu, node;
+
 	hotcpu_notifier(memcg_cpu_hotplug_callback, 0);
+
+	for_each_possible_cpu(cpu)
+		INIT_WORK(&per_cpu_ptr(&memcg_stock, cpu)->work,
+			  drain_local_stock);
+
+	for_each_node(node) {
+		struct mem_cgroup_tree_per_node *rtpn;
+		int zone;
+
+		rtpn = kzalloc_node(sizeof(*rtpn), GFP_KERNEL,
+				    node_online(node) ? node : NUMA_NO_NODE);
+
+		for (zone = 0; zone < MAX_NR_ZONES; zone++) {
+			struct mem_cgroup_tree_per_zone *rtpz;
+
+			rtpz = &rtpn->rb_tree_per_zone[zone];
+			rtpz->rb_root = RB_ROOT;
+			spin_lock_init(&rtpz->lock);
+		}
+		soft_limit_tree.rb_tree_per_node[node] = rtpn;
+	}
+
 	enable_swap_cgroup();
-	mem_cgroup_soft_limit_tree_init();
-	memcg_stock_init();
+
 	return 0;
 }
 subsys_initcall(mem_cgroup_init);
-- 
2.2.2

^ permalink raw reply related	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failure due to 'mm: memcontrol: remove unnecessary soft limit tree node test'
@ 2015-01-23 17:38               ` Johannes Weiner
  0 siblings, 0 replies; 67+ messages in thread
From: Johannes Weiner @ 2015-01-23 17:38 UTC (permalink / raw)
  To: Guenter Roeck
  Cc: Christoph Lameter, akpm, mm-commits, linux-kernel, linux-mm,
	linux-fsdevel, linux-next, Stephen Rothwell, mhocko

On Fri, Jan 23, 2015 at 12:36:59PM -0500, Johannes Weiner wrote:
> ("mm: memcontrol: consolidate swap controller code") gave me no issues
> when rebasing, but ("mm: memcontrol: consolidate memory controller
> initialization") needs updating.

And this as the refreshed version of ("mm: memcontrol: consolidate
memory controller initialization"):

---
From: Johannes Weiner <hannes@cmpxchg.org>
Subject: [patch] mm: memcontrol: consolidate memory controller initialization

The initialization code for the per-cpu charge stock and the soft
limit tree is compact enough to inline it into mem_cgroup_init().

Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
Acked-by: Michal Hocko <mhocko@suse.cz>
Reviewed-by: Vladimir Davydov <vdavydov@parallels.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
 mm/memcontrol.c | 60 ++++++++++++++++++++++++---------------------------------
 1 file changed, 25 insertions(+), 35 deletions(-)

diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 88c67303d141..2ad11e5c95c3 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -2150,17 +2150,6 @@ static void drain_local_stock(struct work_struct *dummy)
 	clear_bit(FLUSHING_CACHED_CHARGE, &stock->flags);
 }
 
-static void __init memcg_stock_init(void)
-{
-	int cpu;
-
-	for_each_possible_cpu(cpu) {
-		struct memcg_stock_pcp *stock =
-					&per_cpu(memcg_stock, cpu);
-		INIT_WORK(&stock->work, drain_local_stock);
-	}
-}
-
 /*
  * Cache charges(val) to local per_cpu area.
  * This will be consumed by consume_stock() function, later.
@@ -4535,28 +4524,6 @@ struct mem_cgroup *parent_mem_cgroup(struct mem_cgroup *memcg)
 }
 EXPORT_SYMBOL(parent_mem_cgroup);
 
-static void __init mem_cgroup_soft_limit_tree_init(void)
-{
-	int node;
-
-	for_each_node(node) {
-		struct mem_cgroup_tree_per_node *rtpn;
-		int zone;
-
-		rtpn = kzalloc_node(sizeof(*rtpn), GFP_KERNEL,
-				    node_online(node) ? node : NUMA_NO_NODE);
-
-		for (zone = 0; zone < MAX_NR_ZONES; zone++) {
-			struct mem_cgroup_tree_per_zone *rtpz;
-
-			rtpz = &rtpn->rb_tree_per_zone[zone];
-			rtpz->rb_root = RB_ROOT;
-			spin_lock_init(&rtpz->lock);
-		}
-		soft_limit_tree.rb_tree_per_node[node] = rtpn;
-	}
-}
-
 static struct cgroup_subsys_state * __ref
 mem_cgroup_css_alloc(struct cgroup_subsys_state *parent_css)
 {
@@ -5934,10 +5901,33 @@ void mem_cgroup_migrate(struct page *oldpage, struct page *newpage,
  */
 static int __init mem_cgroup_init(void)
 {
+	int cpu, node;
+
 	hotcpu_notifier(memcg_cpu_hotplug_callback, 0);
+
+	for_each_possible_cpu(cpu)
+		INIT_WORK(&per_cpu_ptr(&memcg_stock, cpu)->work,
+			  drain_local_stock);
+
+	for_each_node(node) {
+		struct mem_cgroup_tree_per_node *rtpn;
+		int zone;
+
+		rtpn = kzalloc_node(sizeof(*rtpn), GFP_KERNEL,
+				    node_online(node) ? node : NUMA_NO_NODE);
+
+		for (zone = 0; zone < MAX_NR_ZONES; zone++) {
+			struct mem_cgroup_tree_per_zone *rtpz;
+
+			rtpz = &rtpn->rb_tree_per_zone[zone];
+			rtpz->rb_root = RB_ROOT;
+			spin_lock_init(&rtpz->lock);
+		}
+		soft_limit_tree.rb_tree_per_node[node] = rtpn;
+	}
+
 	enable_swap_cgroup();
-	mem_cgroup_soft_limit_tree_init();
-	memcg_stock_init();
+
 	return 0;
 }
 subsys_initcall(mem_cgroup_init);
-- 
2.2.2

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply related	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failure due to 'mm: memcontrol: remove unnecessary soft limit tree node test'
  2015-01-23 14:18     ` Johannes Weiner
@ 2015-01-23 20:20       ` Christoph Lameter
  -1 siblings, 0 replies; 67+ messages in thread
From: Christoph Lameter @ 2015-01-23 20:20 UTC (permalink / raw)
  To: Johannes Weiner
  Cc: Guenter Roeck, akpm, mm-commits, linux-kernel, linux-mm,
	linux-fsdevel, linux-next, sfr, mhocko

On Fri, 23 Jan 2015, Johannes Weiner wrote:

>         struct mem_cgroup_tree_per_node *rtpn;
>         struct mem_cgroup_tree_per_zone *rtpz;
> -       int tmp, node, zone;
> +       int node, zone;
>
>         for_each_node(node) {

Do for_each_online_node(node) {

instead?

> -               tmp = node;
> -               if (!node_state(node, N_NORMAL_MEMORY))
> -                       tmp = -1;
> -               rtpn = kzalloc_node(sizeof(*rtpn), GFP_KERNEL, tmp);
> +               rtpn = kzalloc_node(sizeof(*rtpn), GFP_KERNEL, node);
>                 BUG_ON(!rtpn);
>
>                 soft_limit_tree.rb_tree_per_node[node] = rtpn;
>
> --
>
> Is the assumption of this patch wrong?  Does the specified node have
> to be online for the fallback to work?
>
> Thanks
>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failure due to 'mm: memcontrol: remove unnecessary soft limit tree node test'
@ 2015-01-23 20:20       ` Christoph Lameter
  0 siblings, 0 replies; 67+ messages in thread
From: Christoph Lameter @ 2015-01-23 20:20 UTC (permalink / raw)
  To: Johannes Weiner
  Cc: Guenter Roeck, akpm, mm-commits, linux-kernel, linux-mm,
	linux-fsdevel, linux-next, sfr, mhocko

On Fri, 23 Jan 2015, Johannes Weiner wrote:

>         struct mem_cgroup_tree_per_node *rtpn;
>         struct mem_cgroup_tree_per_zone *rtpz;
> -       int tmp, node, zone;
> +       int node, zone;
>
>         for_each_node(node) {

Do for_each_online_node(node) {

instead?

> -               tmp = node;
> -               if (!node_state(node, N_NORMAL_MEMORY))
> -                       tmp = -1;
> -               rtpn = kzalloc_node(sizeof(*rtpn), GFP_KERNEL, tmp);
> +               rtpn = kzalloc_node(sizeof(*rtpn), GFP_KERNEL, node);
>                 BUG_ON(!rtpn);
>
>                 soft_limit_tree.rb_tree_per_node[node] = rtpn;
>
> --
>
> Is the assumption of this patch wrong?  Does the specified node have
> to be online for the fallback to work?
>
> Thanks
>

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failure due to 'mm: memcontrol: remove unnecessary soft limit tree node test'
  2015-01-23 20:20       ` Christoph Lameter
@ 2015-01-23 20:33         ` Guenter Roeck
  -1 siblings, 0 replies; 67+ messages in thread
From: Guenter Roeck @ 2015-01-23 20:33 UTC (permalink / raw)
  To: Christoph Lameter, Johannes Weiner
  Cc: akpm, mm-commits, linux-kernel, linux-mm, linux-fsdevel,
	linux-next, sfr, mhocko

On 01/23/2015 12:20 PM, Christoph Lameter wrote:
> On Fri, 23 Jan 2015, Johannes Weiner wrote:
>
>>          struct mem_cgroup_tree_per_node *rtpn;
>>          struct mem_cgroup_tree_per_zone *rtpz;
>> -       int tmp, node, zone;
>> +       int node, zone;
>>
>>          for_each_node(node) {
>
> Do for_each_online_node(node) {
>
> instead?
>

Wouldn't that have unintended consequences ? So far
rb tree nodes are allocated even if a node not online;
the above would change that. Are you saying it is
unnecessary to initialize rb tree nodes if the node
is not online ?

Not that I have any idea what is correct, it just seems odd
that the existing code would do all this allocation if it is not
necessary.

Guenter


^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failure due to 'mm: memcontrol: remove unnecessary soft limit tree node test'
@ 2015-01-23 20:33         ` Guenter Roeck
  0 siblings, 0 replies; 67+ messages in thread
From: Guenter Roeck @ 2015-01-23 20:33 UTC (permalink / raw)
  To: Christoph Lameter, Johannes Weiner
  Cc: akpm, mm-commits, linux-kernel, linux-mm, linux-fsdevel,
	linux-next, sfr, mhocko

On 01/23/2015 12:20 PM, Christoph Lameter wrote:
> On Fri, 23 Jan 2015, Johannes Weiner wrote:
>
>>          struct mem_cgroup_tree_per_node *rtpn;
>>          struct mem_cgroup_tree_per_zone *rtpz;
>> -       int tmp, node, zone;
>> +       int node, zone;
>>
>>          for_each_node(node) {
>
> Do for_each_online_node(node) {
>
> instead?
>

Wouldn't that have unintended consequences ? So far
rb tree nodes are allocated even if a node not online;
the above would change that. Are you saying it is
unnecessary to initialize rb tree nodes if the node
is not online ?

Not that I have any idea what is correct, it just seems odd
that the existing code would do all this allocation if it is not
necessary.

Guenter

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failure due to 'mm: memcontrol: remove unnecessary soft limit tree node test'
  2015-01-23 20:33         ` Guenter Roeck
@ 2015-01-23 21:09           ` Christoph Lameter
  -1 siblings, 0 replies; 67+ messages in thread
From: Christoph Lameter @ 2015-01-23 21:09 UTC (permalink / raw)
  To: Guenter Roeck
  Cc: Johannes Weiner, akpm, mm-commits, linux-kernel, linux-mm,
	linux-fsdevel, linux-next, sfr, mhocko

On Fri, 23 Jan 2015, Guenter Roeck wrote:

> Wouldn't that have unintended consequences ? So far
> rb tree nodes are allocated even if a node not online;
> the above would change that. Are you saying it is
> unnecessary to initialize rb tree nodes if the node
> is not online ?

It is not advisable to allocate since an offline node means that the
structure cannot be allocated on the node where it would be most
beneficial. Typically subsystems allocate the per node data structures
when the node is brought online.

> Not that I have any idea what is correct, it just seems odd
> that the existing code would do all this allocation if it is not
> necessary.

Not sure how the code there works just guessing from other subsystems.


^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failure due to 'mm: memcontrol: remove unnecessary soft limit tree node test'
@ 2015-01-23 21:09           ` Christoph Lameter
  0 siblings, 0 replies; 67+ messages in thread
From: Christoph Lameter @ 2015-01-23 21:09 UTC (permalink / raw)
  To: Guenter Roeck
  Cc: Johannes Weiner, akpm, mm-commits, linux-kernel, linux-mm,
	linux-fsdevel, linux-next, sfr, mhocko

On Fri, 23 Jan 2015, Guenter Roeck wrote:

> Wouldn't that have unintended consequences ? So far
> rb tree nodes are allocated even if a node not online;
> the above would change that. Are you saying it is
> unnecessary to initialize rb tree nodes if the node
> is not online ?

It is not advisable to allocate since an offline node means that the
structure cannot be allocated on the node where it would be most
beneficial. Typically subsystems allocate the per node data structures
when the node is brought online.

> Not that I have any idea what is correct, it just seems odd
> that the existing code would do all this allocation if it is not
> necessary.

Not sure how the code there works just guessing from other subsystems.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failures due to 'mm: account pmd page tables to the process'
  2015-01-23 15:07       ` Guenter Roeck
@ 2015-01-23 21:55         ` Andrew Morton
  -1 siblings, 0 replies; 67+ messages in thread
From: Andrew Morton @ 2015-01-23 21:55 UTC (permalink / raw)
  To: Guenter Roeck
  Cc: Kirill A. Shutemov, linux-kernel, linux-mm, linux-fsdevel,
	linux-next, sfr, mhocko, Kirill A. Shutemov

On Fri, 23 Jan 2015 07:07:56 -0800 Guenter Roeck <linux@roeck-us.net> wrote:

> >>
> >> qemu:microblaze generates warnings to the console.
> >>
> >> WARNING: CPU: 0 PID: 32 at mm/mmap.c:2858 exit_mmap+0x184/0x1a4()
> >>
> >> with various call stacks. See
> >> http://server.roeck-us.net:8010/builders/qemu-microblaze-mmotm/builds/15/steps/qemubuildcommand/logs/stdio
> >> for details.
> >
> > Could you try patch below? Completely untested.
> >
> >>From b584bb8d493794f67484c0b57c161d61c02599bc Mon Sep 17 00:00:00 2001
> > From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
> > Date: Fri, 23 Jan 2015 13:08:26 +0200
> > Subject: [PATCH] microblaze: define __PAGETABLE_PMD_FOLDED
> >
> > Microblaze uses custom implementation of PMD folding, but doesn't define
> > __PAGETABLE_PMD_FOLDED, which generic code expects to see. Let's fix it.
> >
> > Defining __PAGETABLE_PMD_FOLDED will drop out unused __pmd_alloc().
> > It also fixes problems with recently-introduced pmd accounting.
> >
> > Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
> > Reported-by: Guenter Roeck <linux@roeck-us.net>
> 
> Tested working.
> 
> Tested-by: Guenter Roeck <linux@roeck-us.net>
> 
> Any idea how to fix the sh problem ?

Can you tell us more about it?  All I'm seeing is "qemu:sh fails to
shut down", which isn't very clear.

^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failures due to 'mm: account pmd page tables to the process'
@ 2015-01-23 21:55         ` Andrew Morton
  0 siblings, 0 replies; 67+ messages in thread
From: Andrew Morton @ 2015-01-23 21:55 UTC (permalink / raw)
  To: Guenter Roeck
  Cc: Kirill A. Shutemov, linux-kernel, linux-mm, linux-fsdevel,
	linux-next, sfr, mhocko, Kirill A. Shutemov

On Fri, 23 Jan 2015 07:07:56 -0800 Guenter Roeck <linux@roeck-us.net> wrote:

> >>
> >> qemu:microblaze generates warnings to the console.
> >>
> >> WARNING: CPU: 0 PID: 32 at mm/mmap.c:2858 exit_mmap+0x184/0x1a4()
> >>
> >> with various call stacks. See
> >> http://server.roeck-us.net:8010/builders/qemu-microblaze-mmotm/builds/15/steps/qemubuildcommand/logs/stdio
> >> for details.
> >
> > Could you try patch below? Completely untested.
> >
> >>From b584bb8d493794f67484c0b57c161d61c02599bc Mon Sep 17 00:00:00 2001
> > From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
> > Date: Fri, 23 Jan 2015 13:08:26 +0200
> > Subject: [PATCH] microblaze: define __PAGETABLE_PMD_FOLDED
> >
> > Microblaze uses custom implementation of PMD folding, but doesn't define
> > __PAGETABLE_PMD_FOLDED, which generic code expects to see. Let's fix it.
> >
> > Defining __PAGETABLE_PMD_FOLDED will drop out unused __pmd_alloc().
> > It also fixes problems with recently-introduced pmd accounting.
> >
> > Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
> > Reported-by: Guenter Roeck <linux@roeck-us.net>
> 
> Tested working.
> 
> Tested-by: Guenter Roeck <linux@roeck-us.net>
> 
> Any idea how to fix the sh problem ?

Can you tell us more about it?  All I'm seeing is "qemu:sh fails to
shut down", which isn't very clear.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failure due to 'mm: memcontrol: remove unnecessary soft limit tree node test'
  2015-01-23 17:36             ` Johannes Weiner
@ 2015-01-24  2:02               ` Guenter Roeck
  -1 siblings, 0 replies; 67+ messages in thread
From: Guenter Roeck @ 2015-01-24  2:02 UTC (permalink / raw)
  To: Johannes Weiner
  Cc: Christoph Lameter, akpm, mm-commits, linux-kernel, linux-mm,
	linux-fsdevel, linux-next, Stephen Rothwell, mhocko

On 01/23/2015 09:36 AM, Johannes Weiner wrote:
> On Fri, Jan 23, 2015 at 08:59:51AM -0800, Guenter Roeck wrote:
>> On 01/23/2015 08:02 AM, Johannes Weiner wrote:
>>> On Fri, Jan 23, 2015 at 09:17:44AM -0600, Christoph Lameter wrote:
>>>> On Fri, 23 Jan 2015, Johannes Weiner wrote:
>>>>
>>>>> Is the assumption of this patch wrong?  Does the specified node have
>>>>> to be online for the fallback to work?
>>>>
>>>> Nodes that are offline have no control structures allocated and thus
>>>> allocations will likely segfault when the address of the controls
>>>> structure for the node is accessed.
>>>>
>>>> If we wanted to prevent that then every allocation would have to add a
>>>> check to see if the nodes are online which would impact performance.
>>>
>>> Okay, that makes sense, thank you.
>>>
>>> Andrew, can you please drop this patch?
>>>
>> Problem is that there are three patches.
>>
>> 2537ffb mm: memcontrol: consolidate swap controller code
>> 2f9b346 mm: memcontrol: consolidate memory controller initialization
>> a40d0d2 mm: memcontrol: remove unnecessary soft limit tree node test
>>
>> Reverting (or dropping) a40d0d2 alone is not possible since it modifies
>> mem_cgroup_soft_limit_tree_init which is removed by 2f9b346.
>
> ("mm: memcontrol: consolidate swap controller code") gave me no issues
> when rebasing, but ("mm: memcontrol: consolidate memory controller
> initialization") needs updating.
>
> So how about this one to replace ("mm: memcontrol: remove unnecessary
> soft limit tree node test"):
>
> ---
> From: Johannes Weiner <hannes@cmpxchg.org>
> Subject: [patch] mm: memcontrol: simplify soft limit tree init code
>
> - No need to test the node for N_MEMORY.  node_online() is enough for
>    node fallback to work in slab, use NUMA_NO_NODE for everything else.
>
> - Remove the BUG_ON() for allocation failure.  A NULL pointer crash is
>    just as descriptive, and the absent return value check is obvious.
>
> - Move local variables to the inner-most blocks.
>
> - Point to the tree structure after its initialized, not before, it's
>    just more logical that way.
>
> Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>

The latest version in mmotm passes my ppc64 qemu test, so it works
at least in this context.

Tested-by: Guenter Roeck <linux@roeck-us.net>


^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failure due to 'mm: memcontrol: remove unnecessary soft limit tree node test'
@ 2015-01-24  2:02               ` Guenter Roeck
  0 siblings, 0 replies; 67+ messages in thread
From: Guenter Roeck @ 2015-01-24  2:02 UTC (permalink / raw)
  To: Johannes Weiner
  Cc: Christoph Lameter, akpm, mm-commits, linux-kernel, linux-mm,
	linux-fsdevel, linux-next, Stephen Rothwell, mhocko

On 01/23/2015 09:36 AM, Johannes Weiner wrote:
> On Fri, Jan 23, 2015 at 08:59:51AM -0800, Guenter Roeck wrote:
>> On 01/23/2015 08:02 AM, Johannes Weiner wrote:
>>> On Fri, Jan 23, 2015 at 09:17:44AM -0600, Christoph Lameter wrote:
>>>> On Fri, 23 Jan 2015, Johannes Weiner wrote:
>>>>
>>>>> Is the assumption of this patch wrong?  Does the specified node have
>>>>> to be online for the fallback to work?
>>>>
>>>> Nodes that are offline have no control structures allocated and thus
>>>> allocations will likely segfault when the address of the controls
>>>> structure for the node is accessed.
>>>>
>>>> If we wanted to prevent that then every allocation would have to add a
>>>> check to see if the nodes are online which would impact performance.
>>>
>>> Okay, that makes sense, thank you.
>>>
>>> Andrew, can you please drop this patch?
>>>
>> Problem is that there are three patches.
>>
>> 2537ffb mm: memcontrol: consolidate swap controller code
>> 2f9b346 mm: memcontrol: consolidate memory controller initialization
>> a40d0d2 mm: memcontrol: remove unnecessary soft limit tree node test
>>
>> Reverting (or dropping) a40d0d2 alone is not possible since it modifies
>> mem_cgroup_soft_limit_tree_init which is removed by 2f9b346.
>
> ("mm: memcontrol: consolidate swap controller code") gave me no issues
> when rebasing, but ("mm: memcontrol: consolidate memory controller
> initialization") needs updating.
>
> So how about this one to replace ("mm: memcontrol: remove unnecessary
> soft limit tree node test"):
>
> ---
> From: Johannes Weiner <hannes@cmpxchg.org>
> Subject: [patch] mm: memcontrol: simplify soft limit tree init code
>
> - No need to test the node for N_MEMORY.  node_online() is enough for
>    node fallback to work in slab, use NUMA_NO_NODE for everything else.
>
> - Remove the BUG_ON() for allocation failure.  A NULL pointer crash is
>    just as descriptive, and the absent return value check is obvious.
>
> - Move local variables to the inner-most blocks.
>
> - Point to the tree structure after its initialized, not before, it's
>    just more logical that way.
>
> Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>

The latest version in mmotm passes my ppc64 qemu test, so it works
at least in this context.

Tested-by: Guenter Roeck <linux@roeck-us.net>

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failures due to 'mm: account pmd page tables to the process'
  2015-01-23 21:55         ` Andrew Morton
@ 2015-01-24  2:44           ` Guenter Roeck
  -1 siblings, 0 replies; 67+ messages in thread
From: Guenter Roeck @ 2015-01-24  2:44 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Kirill A. Shutemov, linux-kernel, linux-mm, linux-fsdevel,
	linux-next, sfr, mhocko, Kirill A. Shutemov

On 01/23/2015 01:55 PM, Andrew Morton wrote:
> On Fri, 23 Jan 2015 07:07:56 -0800 Guenter Roeck <linux@roeck-us.net> wrote:
>
>>>>
>>>> qemu:microblaze generates warnings to the console.
>>>>
>>>> WARNING: CPU: 0 PID: 32 at mm/mmap.c:2858 exit_mmap+0x184/0x1a4()
>>>>
>>>> with various call stacks. See
>>>> http://server.roeck-us.net:8010/builders/qemu-microblaze-mmotm/builds/15/steps/qemubuildcommand/logs/stdio
>>>> for details.
>>>
>>> Could you try patch below? Completely untested.
>>>
>>> >From b584bb8d493794f67484c0b57c161d61c02599bc Mon Sep 17 00:00:00 2001
>>> From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
>>> Date: Fri, 23 Jan 2015 13:08:26 +0200
>>> Subject: [PATCH] microblaze: define __PAGETABLE_PMD_FOLDED
>>>
>>> Microblaze uses custom implementation of PMD folding, but doesn't define
>>> __PAGETABLE_PMD_FOLDED, which generic code expects to see. Let's fix it.
>>>
>>> Defining __PAGETABLE_PMD_FOLDED will drop out unused __pmd_alloc().
>>> It also fixes problems with recently-introduced pmd accounting.
>>>
>>> Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
>>> Reported-by: Guenter Roeck <linux@roeck-us.net>
>>
>> Tested working.
>>
>> Tested-by: Guenter Roeck <linux@roeck-us.net>
>>
>> Any idea how to fix the sh problem ?
>
> Can you tell us more about it?  All I'm seeing is "qemu:sh fails to
> shut down", which isn't very clear.
>

qemu command line:

/opt/buildbot/bin/qemu-system-sh4 -M r2d -kernel ./arch/sh/boot/zImage \
         -drive file=rootfs.ext2,if=ide \
         -append "root=/dev/sda console=ttySC1,115200 noiotrap"
         -serial null -serial stdio -net nic,model=rtl8139 -net user
         -nographic -monitor null

--
Poweroff log in mainline (v3.19-rc5-119-gb942c65):

/ # poweroff
The system is going down NOW!
Sent SIGTERM to all processes
Sent SIGKILL to all processes
Requesting system poweroff
sd 0:0:0:0: [sda] Synchronizing SCSI cache
sd 0:0:0:0: [sda] Stopping disk
reboot: Power down

--
Poweroff log in mmotm (v3.19-rc5-417-gc64429b):

/ # poweroff

[ nothing else happens until I kill the qemu session ]

The "halt" command does not work either.

--
The message "The system is going down NOW" is from the init process.
If I use "kill -12 1" instead of "halt" or "poweroff", the system does
shut down as expected. "poweroff -f" also works.

Trying to debug this further, I noticed that the "ps" command hangs
as well, so the problem is not limited to poweroff or halt.

I'll be happy to debug this further, I just have no idea where to start.

Thanks,
Guenter


^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failures due to 'mm: account pmd page tables to the process'
@ 2015-01-24  2:44           ` Guenter Roeck
  0 siblings, 0 replies; 67+ messages in thread
From: Guenter Roeck @ 2015-01-24  2:44 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Kirill A. Shutemov, linux-kernel, linux-mm, linux-fsdevel,
	linux-next, sfr, mhocko, Kirill A. Shutemov

On 01/23/2015 01:55 PM, Andrew Morton wrote:
> On Fri, 23 Jan 2015 07:07:56 -0800 Guenter Roeck <linux@roeck-us.net> wrote:
>
>>>>
>>>> qemu:microblaze generates warnings to the console.
>>>>
>>>> WARNING: CPU: 0 PID: 32 at mm/mmap.c:2858 exit_mmap+0x184/0x1a4()
>>>>
>>>> with various call stacks. See
>>>> http://server.roeck-us.net:8010/builders/qemu-microblaze-mmotm/builds/15/steps/qemubuildcommand/logs/stdio
>>>> for details.
>>>
>>> Could you try patch below? Completely untested.
>>>
>>> >From b584bb8d493794f67484c0b57c161d61c02599bc Mon Sep 17 00:00:00 2001
>>> From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
>>> Date: Fri, 23 Jan 2015 13:08:26 +0200
>>> Subject: [PATCH] microblaze: define __PAGETABLE_PMD_FOLDED
>>>
>>> Microblaze uses custom implementation of PMD folding, but doesn't define
>>> __PAGETABLE_PMD_FOLDED, which generic code expects to see. Let's fix it.
>>>
>>> Defining __PAGETABLE_PMD_FOLDED will drop out unused __pmd_alloc().
>>> It also fixes problems with recently-introduced pmd accounting.
>>>
>>> Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
>>> Reported-by: Guenter Roeck <linux@roeck-us.net>
>>
>> Tested working.
>>
>> Tested-by: Guenter Roeck <linux@roeck-us.net>
>>
>> Any idea how to fix the sh problem ?
>
> Can you tell us more about it?  All I'm seeing is "qemu:sh fails to
> shut down", which isn't very clear.
>

qemu command line:

/opt/buildbot/bin/qemu-system-sh4 -M r2d -kernel ./arch/sh/boot/zImage \
         -drive file=rootfs.ext2,if=ide \
         -append "root=/dev/sda console=ttySC1,115200 noiotrap"
         -serial null -serial stdio -net nic,model=rtl8139 -net user
         -nographic -monitor null

--
Poweroff log in mainline (v3.19-rc5-119-gb942c65):

/ # poweroff
The system is going down NOW!
Sent SIGTERM to all processes
Sent SIGKILL to all processes
Requesting system poweroff
sd 0:0:0:0: [sda] Synchronizing SCSI cache
sd 0:0:0:0: [sda] Stopping disk
reboot: Power down

--
Poweroff log in mmotm (v3.19-rc5-417-gc64429b):

/ # poweroff

[ nothing else happens until I kill the qemu session ]

The "halt" command does not work either.

--
The message "The system is going down NOW" is from the init process.
If I use "kill -12 1" instead of "halt" or "poweroff", the system does
shut down as expected. "poweroff -f" also works.

Trying to debug this further, I noticed that the "ps" command hangs
as well, so the problem is not limited to poweroff or halt.

I'll be happy to debug this further, I just have no idea where to start.

Thanks,
Guenter

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failures due to 'mm: account pmd page tables to the process'
  2015-01-24  2:44           ` Guenter Roeck
@ 2015-01-24  3:05             ` Guenter Roeck
  -1 siblings, 0 replies; 67+ messages in thread
From: Guenter Roeck @ 2015-01-24  3:05 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Kirill A. Shutemov, linux-kernel, linux-mm, linux-fsdevel,
	linux-next, sfr, mhocko, Kirill A. Shutemov

On 01/23/2015 06:44 PM, Guenter Roeck wrote:
> On 01/23/2015 01:55 PM, Andrew Morton wrote:
>> On Fri, 23 Jan 2015 07:07:56 -0800 Guenter Roeck <linux@roeck-us.net> wrote:
>>
>>>>>
>>>>> qemu:microblaze generates warnings to the console.
>>>>>
>>>>> WARNING: CPU: 0 PID: 32 at mm/mmap.c:2858 exit_mmap+0x184/0x1a4()
>>>>>
>>>>> with various call stacks. See
>>>>> http://server.roeck-us.net:8010/builders/qemu-microblaze-mmotm/builds/15/steps/qemubuildcommand/logs/stdio
>>>>> for details.
>>>>
>>>> Could you try patch below? Completely untested.
>>>>
>>>> >From b584bb8d493794f67484c0b57c161d61c02599bc Mon Sep 17 00:00:00 2001
>>>> From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
>>>> Date: Fri, 23 Jan 2015 13:08:26 +0200
>>>> Subject: [PATCH] microblaze: define __PAGETABLE_PMD_FOLDED
>>>>
>>>> Microblaze uses custom implementation of PMD folding, but doesn't define
>>>> __PAGETABLE_PMD_FOLDED, which generic code expects to see. Let's fix it.
>>>>
>>>> Defining __PAGETABLE_PMD_FOLDED will drop out unused __pmd_alloc().
>>>> It also fixes problems with recently-introduced pmd accounting.
>>>>
>>>> Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
>>>> Reported-by: Guenter Roeck <linux@roeck-us.net>
>>>
>>> Tested working.
>>>
>>> Tested-by: Guenter Roeck <linux@roeck-us.net>
>>>
>>> Any idea how to fix the sh problem ?
>>
>> Can you tell us more about it?  All I'm seeing is "qemu:sh fails to
>> shut down", which isn't very clear.
>>
>
> qemu command line:
>
> /opt/buildbot/bin/qemu-system-sh4 -M r2d -kernel ./arch/sh/boot/zImage \
>          -drive file=rootfs.ext2,if=ide \
>          -append "root=/dev/sda console=ttySC1,115200 noiotrap"
>          -serial null -serial stdio -net nic,model=rtl8139 -net user
>          -nographic -monitor null
>
> --
> Poweroff log in mainline (v3.19-rc5-119-gb942c65):
>
> / # poweroff
> The system is going down NOW!
> Sent SIGTERM to all processes
> Sent SIGKILL to all processes
> Requesting system poweroff
> sd 0:0:0:0: [sda] Synchronizing SCSI cache
> sd 0:0:0:0: [sda] Stopping disk
> reboot: Power down
>
> --
> Poweroff log in mmotm (v3.19-rc5-417-gc64429b):
>
> / # poweroff
>
> [ nothing else happens until I kill the qemu session ]
>
> The "halt" command does not work either.
>
> --
> The message "The system is going down NOW" is from the init process.
> If I use "kill -12 1" instead of "halt" or "poweroff", the system does
> shut down as expected. "poweroff -f" also works.
>
> Trying to debug this further, I noticed that the "ps" command hangs
> as well, so the problem is not limited to poweroff or halt.
>
> I'll be happy to debug this further, I just have no idea where to start.
>

Another data point: Reverting commit 22310c209483 does fix the problem.

Guenter


^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failures due to 'mm: account pmd page tables to the process'
@ 2015-01-24  3:05             ` Guenter Roeck
  0 siblings, 0 replies; 67+ messages in thread
From: Guenter Roeck @ 2015-01-24  3:05 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Kirill A. Shutemov, linux-kernel, linux-mm, linux-fsdevel,
	linux-next, sfr, mhocko, Kirill A. Shutemov

On 01/23/2015 06:44 PM, Guenter Roeck wrote:
> On 01/23/2015 01:55 PM, Andrew Morton wrote:
>> On Fri, 23 Jan 2015 07:07:56 -0800 Guenter Roeck <linux@roeck-us.net> wrote:
>>
>>>>>
>>>>> qemu:microblaze generates warnings to the console.
>>>>>
>>>>> WARNING: CPU: 0 PID: 32 at mm/mmap.c:2858 exit_mmap+0x184/0x1a4()
>>>>>
>>>>> with various call stacks. See
>>>>> http://server.roeck-us.net:8010/builders/qemu-microblaze-mmotm/builds/15/steps/qemubuildcommand/logs/stdio
>>>>> for details.
>>>>
>>>> Could you try patch below? Completely untested.
>>>>
>>>> >From b584bb8d493794f67484c0b57c161d61c02599bc Mon Sep 17 00:00:00 2001
>>>> From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
>>>> Date: Fri, 23 Jan 2015 13:08:26 +0200
>>>> Subject: [PATCH] microblaze: define __PAGETABLE_PMD_FOLDED
>>>>
>>>> Microblaze uses custom implementation of PMD folding, but doesn't define
>>>> __PAGETABLE_PMD_FOLDED, which generic code expects to see. Let's fix it.
>>>>
>>>> Defining __PAGETABLE_PMD_FOLDED will drop out unused __pmd_alloc().
>>>> It also fixes problems with recently-introduced pmd accounting.
>>>>
>>>> Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
>>>> Reported-by: Guenter Roeck <linux@roeck-us.net>
>>>
>>> Tested working.
>>>
>>> Tested-by: Guenter Roeck <linux@roeck-us.net>
>>>
>>> Any idea how to fix the sh problem ?
>>
>> Can you tell us more about it?  All I'm seeing is "qemu:sh fails to
>> shut down", which isn't very clear.
>>
>
> qemu command line:
>
> /opt/buildbot/bin/qemu-system-sh4 -M r2d -kernel ./arch/sh/boot/zImage \
>          -drive file=rootfs.ext2,if=ide \
>          -append "root=/dev/sda console=ttySC1,115200 noiotrap"
>          -serial null -serial stdio -net nic,model=rtl8139 -net user
>          -nographic -monitor null
>
> --
> Poweroff log in mainline (v3.19-rc5-119-gb942c65):
>
> / # poweroff
> The system is going down NOW!
> Sent SIGTERM to all processes
> Sent SIGKILL to all processes
> Requesting system poweroff
> sd 0:0:0:0: [sda] Synchronizing SCSI cache
> sd 0:0:0:0: [sda] Stopping disk
> reboot: Power down
>
> --
> Poweroff log in mmotm (v3.19-rc5-417-gc64429b):
>
> / # poweroff
>
> [ nothing else happens until I kill the qemu session ]
>
> The "halt" command does not work either.
>
> --
> The message "The system is going down NOW" is from the init process.
> If I use "kill -12 1" instead of "halt" or "poweroff", the system does
> shut down as expected. "poweroff -f" also works.
>
> Trying to debug this further, I noticed that the "ps" command hangs
> as well, so the problem is not limited to poweroff or halt.
>
> I'll be happy to debug this further, I just have no idea where to start.
>

Another data point: Reverting commit 22310c209483 does fix the problem.

Guenter

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failures due to 'mm: account pmd page tables to the process'
  2015-01-23 21:55         ` Andrew Morton
@ 2015-01-24  5:52           ` Guenter Roeck
  -1 siblings, 0 replies; 67+ messages in thread
From: Guenter Roeck @ 2015-01-24  5:52 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Kirill A. Shutemov, linux-kernel, linux-mm, linux-fsdevel,
	linux-next, sfr, mhocko, Kirill A. Shutemov

On Fri, Jan 23, 2015 at 01:55:19PM -0800, Andrew Morton wrote:
> On Fri, 23 Jan 2015 07:07:56 -0800 Guenter Roeck <linux@roeck-us.net> wrote:
> 
> > >>
> > >> qemu:microblaze generates warnings to the console.
> > >>
> > >> WARNING: CPU: 0 PID: 32 at mm/mmap.c:2858 exit_mmap+0x184/0x1a4()
> > >>
> > >> with various call stacks. See
> > >> http://server.roeck-us.net:8010/builders/qemu-microblaze-mmotm/builds/15/steps/qemubuildcommand/logs/stdio
> > >> for details.
> > >
> > > Could you try patch below? Completely untested.
> > >
> > >>From b584bb8d493794f67484c0b57c161d61c02599bc Mon Sep 17 00:00:00 2001
> > > From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
> > > Date: Fri, 23 Jan 2015 13:08:26 +0200
> > > Subject: [PATCH] microblaze: define __PAGETABLE_PMD_FOLDED
> > >
> > > Microblaze uses custom implementation of PMD folding, but doesn't define
> > > __PAGETABLE_PMD_FOLDED, which generic code expects to see. Let's fix it.
> > >
> > > Defining __PAGETABLE_PMD_FOLDED will drop out unused __pmd_alloc().
> > > It also fixes problems with recently-introduced pmd accounting.
> > >
> > > Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
> > > Reported-by: Guenter Roeck <linux@roeck-us.net>
> > 
> > Tested working.
> > 
> > Tested-by: Guenter Roeck <linux@roeck-us.net>
> > 
> > Any idea how to fix the sh problem ?
> 
> Can you tell us more about it?  All I'm seeing is "qemu:sh fails to
> shut down", which isn't very clear.

Turns out that the include file defining __PAGETABLE_PMD_FOLDED
was not always included where used, resulting in a messed up mm_struct.

The patch below fixes the problem for the sh architecture.
No idea if the patch is correct/acceptable for other architectures.

Guenter

---
>From 2a11491a5d0642c924db1d78f2b8f21985459062 Mon Sep 17 00:00:00 2001
From: Guenter Roeck <linux@roeck-us.net>
Date: Fri, 23 Jan 2015 21:44:06 -0800
Subject: [PATCH] mm_types: include asm/pgtable.h

Commit 22310c209483 ("mm: account pmd page tables to the process") starts using
__PAGETABLE_PMD_FOLDED in mm_types.h. This define is usually declared in
pgtable.h, so pgtable.h neeeds to be included.

Fixes runtime error with sh targets.

Fixes: 22310c209483 ("mm: account pmd page tables to the process")
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
---
 include/linux/mm_types.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
index 79cdf6f..65db573 100644
--- a/include/linux/mm_types.h
+++ b/include/linux/mm_types.h
@@ -13,6 +13,7 @@
 #include <linux/uprobes.h>
 #include <linux/page-flags-layout.h>
 #include <asm/page.h>
+#include <asm/pgtable.h>
 #include <asm/mmu.h>
 
 #ifndef AT_VECTOR_SIZE_ARCH
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failures due to 'mm: account pmd page tables to the process'
@ 2015-01-24  5:52           ` Guenter Roeck
  0 siblings, 0 replies; 67+ messages in thread
From: Guenter Roeck @ 2015-01-24  5:52 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Kirill A. Shutemov, linux-kernel, linux-mm, linux-fsdevel,
	linux-next, sfr, mhocko, Kirill A. Shutemov

On Fri, Jan 23, 2015 at 01:55:19PM -0800, Andrew Morton wrote:
> On Fri, 23 Jan 2015 07:07:56 -0800 Guenter Roeck <linux@roeck-us.net> wrote:
> 
> > >>
> > >> qemu:microblaze generates warnings to the console.
> > >>
> > >> WARNING: CPU: 0 PID: 32 at mm/mmap.c:2858 exit_mmap+0x184/0x1a4()
> > >>
> > >> with various call stacks. See
> > >> http://server.roeck-us.net:8010/builders/qemu-microblaze-mmotm/builds/15/steps/qemubuildcommand/logs/stdio
> > >> for details.
> > >
> > > Could you try patch below? Completely untested.
> > >
> > >>From b584bb8d493794f67484c0b57c161d61c02599bc Mon Sep 17 00:00:00 2001
> > > From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
> > > Date: Fri, 23 Jan 2015 13:08:26 +0200
> > > Subject: [PATCH] microblaze: define __PAGETABLE_PMD_FOLDED
> > >
> > > Microblaze uses custom implementation of PMD folding, but doesn't define
> > > __PAGETABLE_PMD_FOLDED, which generic code expects to see. Let's fix it.
> > >
> > > Defining __PAGETABLE_PMD_FOLDED will drop out unused __pmd_alloc().
> > > It also fixes problems with recently-introduced pmd accounting.
> > >
> > > Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
> > > Reported-by: Guenter Roeck <linux@roeck-us.net>
> > 
> > Tested working.
> > 
> > Tested-by: Guenter Roeck <linux@roeck-us.net>
> > 
> > Any idea how to fix the sh problem ?
> 
> Can you tell us more about it?  All I'm seeing is "qemu:sh fails to
> shut down", which isn't very clear.

Turns out that the include file defining __PAGETABLE_PMD_FOLDED
was not always included where used, resulting in a messed up mm_struct.

The patch below fixes the problem for the sh architecture.
No idea if the patch is correct/acceptable for other architectures.

Guenter

---
>From 2a11491a5d0642c924db1d78f2b8f21985459062 Mon Sep 17 00:00:00 2001
From: Guenter Roeck <linux@roeck-us.net>
Date: Fri, 23 Jan 2015 21:44:06 -0800
Subject: [PATCH] mm_types: include asm/pgtable.h

Commit 22310c209483 ("mm: account pmd page tables to the process") starts using
__PAGETABLE_PMD_FOLDED in mm_types.h. This define is usually declared in
pgtable.h, so pgtable.h neeeds to be included.

Fixes runtime error with sh targets.

Fixes: 22310c209483 ("mm: account pmd page tables to the process")
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
---
 include/linux/mm_types.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
index 79cdf6f..65db573 100644
--- a/include/linux/mm_types.h
+++ b/include/linux/mm_types.h
@@ -13,6 +13,7 @@
 #include <linux/uprobes.h>
 #include <linux/page-flags-layout.h>
 #include <asm/page.h>
+#include <asm/pgtable.h>
 #include <asm/mmu.h>
 
 #ifndef AT_VECTOR_SIZE_ARCH
-- 
2.1.0

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply related	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failure due to 'mm: memcontrol: remove unnecessary soft limit tree node test'
  2015-01-23 21:09           ` Christoph Lameter
@ 2015-01-24  7:16             ` Johannes Weiner
  -1 siblings, 0 replies; 67+ messages in thread
From: Johannes Weiner @ 2015-01-24  7:16 UTC (permalink / raw)
  To: Christoph Lameter
  Cc: Guenter Roeck, akpm, mm-commits, linux-kernel, linux-mm,
	linux-fsdevel, linux-next, sfr, mhocko

On Fri, Jan 23, 2015 at 03:09:20PM -0600, Christoph Lameter wrote:
> On Fri, 23 Jan 2015, Guenter Roeck wrote:
> 
> > Wouldn't that have unintended consequences ? So far
> > rb tree nodes are allocated even if a node not online;
> > the above would change that. Are you saying it is
> > unnecessary to initialize rb tree nodes if the node
> > is not online ?
> 
> It is not advisable to allocate since an offline node means that the
> structure cannot be allocated on the node where it would be most
> beneficial. Typically subsystems allocate the per node data structures
> when the node is brought online.

I would generally agree, but this code, which implements a userspace
interface, is already grotesquely inefficient and heavyhanded.  It's
also superseded in the next release, so we can just keep this simple
at this point.

^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failure due to 'mm: memcontrol: remove unnecessary soft limit tree node test'
@ 2015-01-24  7:16             ` Johannes Weiner
  0 siblings, 0 replies; 67+ messages in thread
From: Johannes Weiner @ 2015-01-24  7:16 UTC (permalink / raw)
  To: Christoph Lameter
  Cc: Guenter Roeck, akpm, mm-commits, linux-kernel, linux-mm,
	linux-fsdevel, linux-next, sfr, mhocko

On Fri, Jan 23, 2015 at 03:09:20PM -0600, Christoph Lameter wrote:
> On Fri, 23 Jan 2015, Guenter Roeck wrote:
> 
> > Wouldn't that have unintended consequences ? So far
> > rb tree nodes are allocated even if a node not online;
> > the above would change that. Are you saying it is
> > unnecessary to initialize rb tree nodes if the node
> > is not online ?
> 
> It is not advisable to allocate since an offline node means that the
> structure cannot be allocated on the node where it would be most
> beneficial. Typically subsystems allocate the per node data structures
> when the node is brought online.

I would generally agree, but this code, which implements a userspace
interface, is already grotesquely inefficient and heavyhanded.  It's
also superseded in the next release, so we can just keep this simple
at this point.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failure due to 'mm: memcontrol: remove unnecessary soft limit tree node test'
  2015-01-24  7:16             ` Johannes Weiner
  (?)
@ 2015-01-25 21:36             ` Valdis.Kletnieks
  2015-01-26 13:37                 ` Johannes Weiner
  -1 siblings, 1 reply; 67+ messages in thread
From: Valdis.Kletnieks @ 2015-01-25 21:36 UTC (permalink / raw)
  To: Johannes Weiner
  Cc: Christoph Lameter, Guenter Roeck, akpm, mm-commits, linux-kernel,
	linux-mm, linux-fsdevel, linux-next, sfr, mhocko

[-- Attachment #1: Type: text/plain, Size: 452 bytes --]

On Sat, 24 Jan 2015 02:16:23 -0500, Johannes Weiner said:

> I would generally agree, but this code, which implements a userspace
> interface, is already grotesquely inefficient and heavyhanded.  It's
> also superseded in the next release, so we can just keep this simple
> at this point.

Wait, what?  Userspace interface that's superceded in the next release?

I *hope* this was intended as "Yes,it's ugly in v4 of the patch, v5 is
a lot cleaner..."

[-- Attachment #2: Type: application/pgp-signature, Size: 848 bytes --]

^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failures due to 'mm: account pmd page tables to the process'
  2015-01-24  5:52           ` Guenter Roeck
@ 2015-01-26 12:29             ` Kirill A. Shutemov
  -1 siblings, 0 replies; 67+ messages in thread
From: Kirill A. Shutemov @ 2015-01-26 12:29 UTC (permalink / raw)
  To: Guenter Roeck
  Cc: Andrew Morton, linux-kernel, linux-mm, linux-fsdevel, linux-next,
	sfr, mhocko, Kirill A. Shutemov

On Fri, Jan 23, 2015 at 09:52:07PM -0800, Guenter Roeck wrote:
> On Fri, Jan 23, 2015 at 01:55:19PM -0800, Andrew Morton wrote:
> > On Fri, 23 Jan 2015 07:07:56 -0800 Guenter Roeck <linux@roeck-us.net> wrote:
> > 
> > > >>
> > > >> qemu:microblaze generates warnings to the console.
> > > >>
> > > >> WARNING: CPU: 0 PID: 32 at mm/mmap.c:2858 exit_mmap+0x184/0x1a4()
> > > >>
> > > >> with various call stacks. See
> > > >> http://server.roeck-us.net:8010/builders/qemu-microblaze-mmotm/builds/15/steps/qemubuildcommand/logs/stdio
> > > >> for details.
> > > >
> > > > Could you try patch below? Completely untested.
> > > >
> > > >>From b584bb8d493794f67484c0b57c161d61c02599bc Mon Sep 17 00:00:00 2001
> > > > From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
> > > > Date: Fri, 23 Jan 2015 13:08:26 +0200
> > > > Subject: [PATCH] microblaze: define __PAGETABLE_PMD_FOLDED
> > > >
> > > > Microblaze uses custom implementation of PMD folding, but doesn't define
> > > > __PAGETABLE_PMD_FOLDED, which generic code expects to see. Let's fix it.
> > > >
> > > > Defining __PAGETABLE_PMD_FOLDED will drop out unused __pmd_alloc().
> > > > It also fixes problems with recently-introduced pmd accounting.
> > > >
> > > > Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
> > > > Reported-by: Guenter Roeck <linux@roeck-us.net>
> > > 
> > > Tested working.
> > > 
> > > Tested-by: Guenter Roeck <linux@roeck-us.net>
> > > 
> > > Any idea how to fix the sh problem ?
> > 
> > Can you tell us more about it?  All I'm seeing is "qemu:sh fails to
> > shut down", which isn't very clear.
> 
> Turns out that the include file defining __PAGETABLE_PMD_FOLDED
> was not always included where used, resulting in a messed up mm_struct.

What means "messed up" here? It should only affect size of mm_struct.
 
> The patch below fixes the problem for the sh architecture.
> No idea if the patch is correct/acceptable for other architectures.

That's pain. Some archs includes <linux/mm_types.h> from <asm/pgtable.h>.
I don't see obvious way to fix this. Urghh.

-- 
 Kirill A. Shutemov

^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failures due to 'mm: account pmd page tables to the process'
@ 2015-01-26 12:29             ` Kirill A. Shutemov
  0 siblings, 0 replies; 67+ messages in thread
From: Kirill A. Shutemov @ 2015-01-26 12:29 UTC (permalink / raw)
  To: Guenter Roeck
  Cc: Andrew Morton, linux-kernel, linux-mm, linux-fsdevel, linux-next,
	sfr, mhocko, Kirill A. Shutemov

On Fri, Jan 23, 2015 at 09:52:07PM -0800, Guenter Roeck wrote:
> On Fri, Jan 23, 2015 at 01:55:19PM -0800, Andrew Morton wrote:
> > On Fri, 23 Jan 2015 07:07:56 -0800 Guenter Roeck <linux@roeck-us.net> wrote:
> > 
> > > >>
> > > >> qemu:microblaze generates warnings to the console.
> > > >>
> > > >> WARNING: CPU: 0 PID: 32 at mm/mmap.c:2858 exit_mmap+0x184/0x1a4()
> > > >>
> > > >> with various call stacks. See
> > > >> http://server.roeck-us.net:8010/builders/qemu-microblaze-mmotm/builds/15/steps/qemubuildcommand/logs/stdio
> > > >> for details.
> > > >
> > > > Could you try patch below? Completely untested.
> > > >
> > > >>From b584bb8d493794f67484c0b57c161d61c02599bc Mon Sep 17 00:00:00 2001
> > > > From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
> > > > Date: Fri, 23 Jan 2015 13:08:26 +0200
> > > > Subject: [PATCH] microblaze: define __PAGETABLE_PMD_FOLDED
> > > >
> > > > Microblaze uses custom implementation of PMD folding, but doesn't define
> > > > __PAGETABLE_PMD_FOLDED, which generic code expects to see. Let's fix it.
> > > >
> > > > Defining __PAGETABLE_PMD_FOLDED will drop out unused __pmd_alloc().
> > > > It also fixes problems with recently-introduced pmd accounting.
> > > >
> > > > Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
> > > > Reported-by: Guenter Roeck <linux@roeck-us.net>
> > > 
> > > Tested working.
> > > 
> > > Tested-by: Guenter Roeck <linux@roeck-us.net>
> > > 
> > > Any idea how to fix the sh problem ?
> > 
> > Can you tell us more about it?  All I'm seeing is "qemu:sh fails to
> > shut down", which isn't very clear.
> 
> Turns out that the include file defining __PAGETABLE_PMD_FOLDED
> was not always included where used, resulting in a messed up mm_struct.

What means "messed up" here? It should only affect size of mm_struct.
 
> The patch below fixes the problem for the sh architecture.
> No idea if the patch is correct/acceptable for other architectures.

That's pain. Some archs includes <linux/mm_types.h> from <asm/pgtable.h>.
I don't see obvious way to fix this. Urghh.

-- 
 Kirill A. Shutemov

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failure due to 'mm: memcontrol: remove unnecessary soft limit tree node test'
  2015-01-25 21:36             ` Valdis.Kletnieks
@ 2015-01-26 13:37                 ` Johannes Weiner
  0 siblings, 0 replies; 67+ messages in thread
From: Johannes Weiner @ 2015-01-26 13:37 UTC (permalink / raw)
  To: Valdis.Kletnieks
  Cc: Christoph Lameter, Guenter Roeck, akpm, mm-commits, linux-kernel,
	linux-mm, linux-fsdevel, linux-next, sfr, mhocko

On Sun, Jan 25, 2015 at 04:36:28PM -0500, Valdis.Kletnieks@vt.edu wrote:
> On Sat, 24 Jan 2015 02:16:23 -0500, Johannes Weiner said:
> 
> > I would generally agree, but this code, which implements a userspace
> > interface, is already grotesquely inefficient and heavyhanded.  It's
> > also superseded in the next release, so we can just keep this simple
> > at this point.
> 
> Wait, what?  Userspace interface that's superceded in the next release?

The existing interface and its implementation are going to remain in
place, obviously, we can't break userspace.  But the semantics are
ill-defined and the implementation bad to a point where we decided to
fix both by adding a second interface and encouraging users to switch.

Now if a user were to report that these off-node allocations are
actually creating problems in real life I would fix it.  But I'm
fairly certain that remote access costs are overshadowed by the
reclaim stalls this mechanism creates.

So what I was trying to say above is that I don't see a point in
complicating the v1 implementation for a questionable minor
optimization when v2 is already being added to address much more
severe shortcomings in v1.

^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failure due to 'mm: memcontrol: remove unnecessary soft limit tree node test'
@ 2015-01-26 13:37                 ` Johannes Weiner
  0 siblings, 0 replies; 67+ messages in thread
From: Johannes Weiner @ 2015-01-26 13:37 UTC (permalink / raw)
  To: Valdis.Kletnieks
  Cc: Christoph Lameter, Guenter Roeck, akpm, mm-commits, linux-kernel,
	linux-mm, linux-fsdevel, linux-next, sfr, mhocko

On Sun, Jan 25, 2015 at 04:36:28PM -0500, Valdis.Kletnieks@vt.edu wrote:
> On Sat, 24 Jan 2015 02:16:23 -0500, Johannes Weiner said:
> 
> > I would generally agree, but this code, which implements a userspace
> > interface, is already grotesquely inefficient and heavyhanded.  It's
> > also superseded in the next release, so we can just keep this simple
> > at this point.
> 
> Wait, what?  Userspace interface that's superceded in the next release?

The existing interface and its implementation are going to remain in
place, obviously, we can't break userspace.  But the semantics are
ill-defined and the implementation bad to a point where we decided to
fix both by adding a second interface and encouraging users to switch.

Now if a user were to report that these off-node allocations are
actually creating problems in real life I would fix it.  But I'm
fairly certain that remote access costs are overshadowed by the
reclaim stalls this mechanism creates.

So what I was trying to say above is that I don't see a point in
complicating the v1 implementation for a questionable minor
optimization when v2 is already being added to address much more
severe shortcomings in v1.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failures due to 'mm: account pmd page tables to the process'
  2015-01-26 12:29             ` Kirill A. Shutemov
@ 2015-01-26 14:03               ` Guenter Roeck
  -1 siblings, 0 replies; 67+ messages in thread
From: Guenter Roeck @ 2015-01-26 14:03 UTC (permalink / raw)
  To: Kirill A. Shutemov
  Cc: Andrew Morton, linux-kernel, linux-mm, linux-fsdevel, linux-next,
	sfr, mhocko, Kirill A. Shutemov

On 01/26/2015 04:29 AM, Kirill A. Shutemov wrote:
> On Fri, Jan 23, 2015 at 09:52:07PM -0800, Guenter Roeck wrote:
>> On Fri, Jan 23, 2015 at 01:55:19PM -0800, Andrew Morton wrote:
>>> On Fri, 23 Jan 2015 07:07:56 -0800 Guenter Roeck <linux@roeck-us.net> wrote:
>>>
>>>>>>
>>>>>> qemu:microblaze generates warnings to the console.
>>>>>>
>>>>>> WARNING: CPU: 0 PID: 32 at mm/mmap.c:2858 exit_mmap+0x184/0x1a4()
>>>>>>
>>>>>> with various call stacks. See
>>>>>> http://server.roeck-us.net:8010/builders/qemu-microblaze-mmotm/builds/15/steps/qemubuildcommand/logs/stdio
>>>>>> for details.
>>>>>
>>>>> Could you try patch below? Completely untested.
>>>>>
>>>>> >From b584bb8d493794f67484c0b57c161d61c02599bc Mon Sep 17 00:00:00 2001
>>>>> From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
>>>>> Date: Fri, 23 Jan 2015 13:08:26 +0200
>>>>> Subject: [PATCH] microblaze: define __PAGETABLE_PMD_FOLDED
>>>>>
>>>>> Microblaze uses custom implementation of PMD folding, but doesn't define
>>>>> __PAGETABLE_PMD_FOLDED, which generic code expects to see. Let's fix it.
>>>>>
>>>>> Defining __PAGETABLE_PMD_FOLDED will drop out unused __pmd_alloc().
>>>>> It also fixes problems with recently-introduced pmd accounting.
>>>>>
>>>>> Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
>>>>> Reported-by: Guenter Roeck <linux@roeck-us.net>
>>>>
>>>> Tested working.
>>>>
>>>> Tested-by: Guenter Roeck <linux@roeck-us.net>
>>>>
>>>> Any idea how to fix the sh problem ?
>>>
>>> Can you tell us more about it?  All I'm seeing is "qemu:sh fails to
>>> shut down", which isn't very clear.
>>
>> Turns out that the include file defining __PAGETABLE_PMD_FOLDED
>> was not always included where used, resulting in a messed up mm_struct.
>
> What means "messed up" here? It should only affect size of mm_struct.
>
Plus the offset of all variables after the #ifndef.

>> The patch below fixes the problem for the sh architecture.
>> No idea if the patch is correct/acceptable for other architectures.
>
> That's pain. Some archs includes <linux/mm_types.h> from <asm/pgtable.h>.
> I don't see obvious way to fix this. Urghh.
>
Does it matter ? Circular includes are normally ok and happen all over the place.
I could run a full build / qemu test cycle for all architectures if that helps.

Guenter


^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failures due to 'mm: account pmd page tables to the process'
@ 2015-01-26 14:03               ` Guenter Roeck
  0 siblings, 0 replies; 67+ messages in thread
From: Guenter Roeck @ 2015-01-26 14:03 UTC (permalink / raw)
  To: Kirill A. Shutemov
  Cc: Andrew Morton, linux-kernel, linux-mm, linux-fsdevel, linux-next,
	sfr, mhocko, Kirill A. Shutemov

On 01/26/2015 04:29 AM, Kirill A. Shutemov wrote:
> On Fri, Jan 23, 2015 at 09:52:07PM -0800, Guenter Roeck wrote:
>> On Fri, Jan 23, 2015 at 01:55:19PM -0800, Andrew Morton wrote:
>>> On Fri, 23 Jan 2015 07:07:56 -0800 Guenter Roeck <linux@roeck-us.net> wrote:
>>>
>>>>>>
>>>>>> qemu:microblaze generates warnings to the console.
>>>>>>
>>>>>> WARNING: CPU: 0 PID: 32 at mm/mmap.c:2858 exit_mmap+0x184/0x1a4()
>>>>>>
>>>>>> with various call stacks. See
>>>>>> http://server.roeck-us.net:8010/builders/qemu-microblaze-mmotm/builds/15/steps/qemubuildcommand/logs/stdio
>>>>>> for details.
>>>>>
>>>>> Could you try patch below? Completely untested.
>>>>>
>>>>> >From b584bb8d493794f67484c0b57c161d61c02599bc Mon Sep 17 00:00:00 2001
>>>>> From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
>>>>> Date: Fri, 23 Jan 2015 13:08:26 +0200
>>>>> Subject: [PATCH] microblaze: define __PAGETABLE_PMD_FOLDED
>>>>>
>>>>> Microblaze uses custom implementation of PMD folding, but doesn't define
>>>>> __PAGETABLE_PMD_FOLDED, which generic code expects to see. Let's fix it.
>>>>>
>>>>> Defining __PAGETABLE_PMD_FOLDED will drop out unused __pmd_alloc().
>>>>> It also fixes problems with recently-introduced pmd accounting.
>>>>>
>>>>> Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
>>>>> Reported-by: Guenter Roeck <linux@roeck-us.net>
>>>>
>>>> Tested working.
>>>>
>>>> Tested-by: Guenter Roeck <linux@roeck-us.net>
>>>>
>>>> Any idea how to fix the sh problem ?
>>>
>>> Can you tell us more about it?  All I'm seeing is "qemu:sh fails to
>>> shut down", which isn't very clear.
>>
>> Turns out that the include file defining __PAGETABLE_PMD_FOLDED
>> was not always included where used, resulting in a messed up mm_struct.
>
> What means "messed up" here? It should only affect size of mm_struct.
>
Plus the offset of all variables after the #ifndef.

>> The patch below fixes the problem for the sh architecture.
>> No idea if the patch is correct/acceptable for other architectures.
>
> That's pain. Some archs includes <linux/mm_types.h> from <asm/pgtable.h>.
> I don't see obvious way to fix this. Urghh.
>
Does it matter ? Circular includes are normally ok and happen all over the place.
I could run a full build / qemu test cycle for all architectures if that helps.

Guenter

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failures due to 'mm: account pmd page tables to the process'
  2015-01-26 14:03               ` Guenter Roeck
@ 2015-01-26 14:17                 ` Guenter Roeck
  -1 siblings, 0 replies; 67+ messages in thread
From: Guenter Roeck @ 2015-01-26 14:17 UTC (permalink / raw)
  To: Kirill A. Shutemov
  Cc: Andrew Morton, linux-kernel, linux-mm, linux-fsdevel, linux-next,
	sfr, mhocko, Kirill A. Shutemov

On 01/26/2015 06:03 AM, Guenter Roeck wrote:
> On 01/26/2015 04:29 AM, Kirill A. Shutemov wrote:
>> On Fri, Jan 23, 2015 at 09:52:07PM -0800, Guenter Roeck wrote:
>>> On Fri, Jan 23, 2015 at 01:55:19PM -0800, Andrew Morton wrote:
>>>> On Fri, 23 Jan 2015 07:07:56 -0800 Guenter Roeck <linux@roeck-us.net> wrote:
>>>>
>>>>>>>
>>>>>>> qemu:microblaze generates warnings to the console.
>>>>>>>
>>>>>>> WARNING: CPU: 0 PID: 32 at mm/mmap.c:2858 exit_mmap+0x184/0x1a4()
>>>>>>>
>>>>>>> with various call stacks. See
>>>>>>> http://server.roeck-us.net:8010/builders/qemu-microblaze-mmotm/builds/15/steps/qemubuildcommand/logs/stdio
>>>>>>> for details.
>>>>>>
>>>>>> Could you try patch below? Completely untested.
>>>>>>
>>>>>> >From b584bb8d493794f67484c0b57c161d61c02599bc Mon Sep 17 00:00:00 2001
>>>>>> From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
>>>>>> Date: Fri, 23 Jan 2015 13:08:26 +0200
>>>>>> Subject: [PATCH] microblaze: define __PAGETABLE_PMD_FOLDED
>>>>>>
>>>>>> Microblaze uses custom implementation of PMD folding, but doesn't define
>>>>>> __PAGETABLE_PMD_FOLDED, which generic code expects to see. Let's fix it.
>>>>>>
>>>>>> Defining __PAGETABLE_PMD_FOLDED will drop out unused __pmd_alloc().
>>>>>> It also fixes problems with recently-introduced pmd accounting.
>>>>>>
>>>>>> Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
>>>>>> Reported-by: Guenter Roeck <linux@roeck-us.net>
>>>>>
>>>>> Tested working.
>>>>>
>>>>> Tested-by: Guenter Roeck <linux@roeck-us.net>
>>>>>
>>>>> Any idea how to fix the sh problem ?
>>>>
>>>> Can you tell us more about it?  All I'm seeing is "qemu:sh fails to
>>>> shut down", which isn't very clear.
>>>
>>> Turns out that the include file defining __PAGETABLE_PMD_FOLDED
>>> was not always included where used, resulting in a messed up mm_struct.
>>
>> What means "messed up" here? It should only affect size of mm_struct.
>>
> Plus the offset of all variables after the #ifndef.
>
>>> The patch below fixes the problem for the sh architecture.
>>> No idea if the patch is correct/acceptable for other architectures.
>>
>> That's pain. Some archs includes <linux/mm_types.h> from <asm/pgtable.h>.
>> I don't see obvious way to fix this. Urghh.
>>
> Does it matter ? Circular includes are normally ok and happen all over the place.

Ah yes, it does, because mm_struct will not see the define in that case
since it comes later. Hmm, that is really tricky. You could of course
just drop the conditional from mm_struct. That would result in an unused
variable for some architectures, but at least it would work.

Guenter


^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failures due to 'mm: account pmd page tables to the process'
@ 2015-01-26 14:17                 ` Guenter Roeck
  0 siblings, 0 replies; 67+ messages in thread
From: Guenter Roeck @ 2015-01-26 14:17 UTC (permalink / raw)
  To: Kirill A. Shutemov
  Cc: Andrew Morton, linux-kernel, linux-mm, linux-fsdevel, linux-next,
	sfr, mhocko, Kirill A. Shutemov

On 01/26/2015 06:03 AM, Guenter Roeck wrote:
> On 01/26/2015 04:29 AM, Kirill A. Shutemov wrote:
>> On Fri, Jan 23, 2015 at 09:52:07PM -0800, Guenter Roeck wrote:
>>> On Fri, Jan 23, 2015 at 01:55:19PM -0800, Andrew Morton wrote:
>>>> On Fri, 23 Jan 2015 07:07:56 -0800 Guenter Roeck <linux@roeck-us.net> wrote:
>>>>
>>>>>>>
>>>>>>> qemu:microblaze generates warnings to the console.
>>>>>>>
>>>>>>> WARNING: CPU: 0 PID: 32 at mm/mmap.c:2858 exit_mmap+0x184/0x1a4()
>>>>>>>
>>>>>>> with various call stacks. See
>>>>>>> http://server.roeck-us.net:8010/builders/qemu-microblaze-mmotm/builds/15/steps/qemubuildcommand/logs/stdio
>>>>>>> for details.
>>>>>>
>>>>>> Could you try patch below? Completely untested.
>>>>>>
>>>>>> >From b584bb8d493794f67484c0b57c161d61c02599bc Mon Sep 17 00:00:00 2001
>>>>>> From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
>>>>>> Date: Fri, 23 Jan 2015 13:08:26 +0200
>>>>>> Subject: [PATCH] microblaze: define __PAGETABLE_PMD_FOLDED
>>>>>>
>>>>>> Microblaze uses custom implementation of PMD folding, but doesn't define
>>>>>> __PAGETABLE_PMD_FOLDED, which generic code expects to see. Let's fix it.
>>>>>>
>>>>>> Defining __PAGETABLE_PMD_FOLDED will drop out unused __pmd_alloc().
>>>>>> It also fixes problems with recently-introduced pmd accounting.
>>>>>>
>>>>>> Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
>>>>>> Reported-by: Guenter Roeck <linux@roeck-us.net>
>>>>>
>>>>> Tested working.
>>>>>
>>>>> Tested-by: Guenter Roeck <linux@roeck-us.net>
>>>>>
>>>>> Any idea how to fix the sh problem ?
>>>>
>>>> Can you tell us more about it?  All I'm seeing is "qemu:sh fails to
>>>> shut down", which isn't very clear.
>>>
>>> Turns out that the include file defining __PAGETABLE_PMD_FOLDED
>>> was not always included where used, resulting in a messed up mm_struct.
>>
>> What means "messed up" here? It should only affect size of mm_struct.
>>
> Plus the offset of all variables after the #ifndef.
>
>>> The patch below fixes the problem for the sh architecture.
>>> No idea if the patch is correct/acceptable for other architectures.
>>
>> That's pain. Some archs includes <linux/mm_types.h> from <asm/pgtable.h>.
>> I don't see obvious way to fix this. Urghh.
>>
> Does it matter ? Circular includes are normally ok and happen all over the place.

Ah yes, it does, because mm_struct will not see the define in that case
since it comes later. Hmm, that is really tricky. You could of course
just drop the conditional from mm_struct. That would result in an unused
variable for some architectures, but at least it would work.

Guenter

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failures due to 'mm: account pmd page tables to the process'
  2015-01-26 14:03               ` Guenter Roeck
  (?)
@ 2015-01-27 16:16                 ` Kirill A. Shutemov
  -1 siblings, 0 replies; 67+ messages in thread
From: Kirill A. Shutemov @ 2015-01-27 16:16 UTC (permalink / raw)
  To: Andrew Morton, Guenter Roeck
  Cc: linux-kernel, linux-mm, linux-fsdevel, linux-next, sfr, mhocko,
	Kirill A. Shutemov

On Mon, Jan 26, 2015 at 06:03:57AM -0800, Guenter Roeck wrote:
> On 01/26/2015 04:29 AM, Kirill A. Shutemov wrote:
> >On Fri, Jan 23, 2015 at 09:52:07PM -0800, Guenter Roeck wrote:
> >>On Fri, Jan 23, 2015 at 01:55:19PM -0800, Andrew Morton wrote:
> >>>On Fri, 23 Jan 2015 07:07:56 -0800 Guenter Roeck <linux@roeck-us.net> wrote:
> >>>
> >>>>>>
> >>>>>>qemu:microblaze generates warnings to the console.
> >>>>>>
> >>>>>>WARNING: CPU: 0 PID: 32 at mm/mmap.c:2858 exit_mmap+0x184/0x1a4()
> >>>>>>
> >>>>>>with various call stacks. See
> >>>>>>http://server.roeck-us.net:8010/builders/qemu-microblaze-mmotm/builds/15/steps/qemubuildcommand/logs/stdio
> >>>>>>for details.
> >>>>>
> >>>>>Could you try patch below? Completely untested.
> >>>>>
> >>>>>>From b584bb8d493794f67484c0b57c161d61c02599bc Mon Sep 17 00:00:00 2001
> >>>>>From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
> >>>>>Date: Fri, 23 Jan 2015 13:08:26 +0200
> >>>>>Subject: [PATCH] microblaze: define __PAGETABLE_PMD_FOLDED
> >>>>>
> >>>>>Microblaze uses custom implementation of PMD folding, but doesn't define
> >>>>>__PAGETABLE_PMD_FOLDED, which generic code expects to see. Let's fix it.
> >>>>>
> >>>>>Defining __PAGETABLE_PMD_FOLDED will drop out unused __pmd_alloc().
> >>>>>It also fixes problems with recently-introduced pmd accounting.
> >>>>>
> >>>>>Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
> >>>>>Reported-by: Guenter Roeck <linux@roeck-us.net>
> >>>>
> >>>>Tested working.
> >>>>
> >>>>Tested-by: Guenter Roeck <linux@roeck-us.net>
> >>>>
> >>>>Any idea how to fix the sh problem ?
> >>>
> >>>Can you tell us more about it?  All I'm seeing is "qemu:sh fails to
> >>>shut down", which isn't very clear.
> >>
> >>Turns out that the include file defining __PAGETABLE_PMD_FOLDED
> >>was not always included where used, resulting in a messed up mm_struct.
> >
> >What means "messed up" here? It should only affect size of mm_struct.
> >
> Plus the offset of all variables after the #ifndef.

Okay, I guess the problem is that different parts of the kernel see
different mm_struct depending on include ordering.

Tried to look for options, but don't see anything better than patch below.
Andrew, is it okay to you?

>From 0f113e16a058d47f3bc63a3b6ced5296afb934a6 Mon Sep 17 00:00:00 2001
From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Date: Tue, 27 Jan 2015 17:59:55 +0200
Subject: [PATCH] mm: add nr_pmds into mm_struct unconditionally

__PAGETABLE_PMD_FOLDED is defined during <asm/pgtable.h> which is not
included into <linux/mm_types.h>. And we cannot include it here since
many of <asm/pgtables> needs <linux/mm_types.h> to define struct page.

I failed to come up with better solution rather than put nr_pmds into
mm_struct unconditionally.

One possible solution would be to expose number of page table levels
architecture has via Kconfig, but that's ugly and requires changes to
all architectures.

Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
---
 include/linux/mm_types.h | 2 --
 1 file changed, 2 deletions(-)

diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
index 79cdf6f5c746..199a03aab8dc 100644
--- a/include/linux/mm_types.h
+++ b/include/linux/mm_types.h
@@ -364,9 +364,7 @@ struct mm_struct {
 	atomic_t mm_users;			/* How many users with user space? */
 	atomic_t mm_count;			/* How many references to "struct mm_struct" (users count as 1) */
 	atomic_long_t nr_ptes;			/* PTE page table pages */
-#ifndef __PAGETABLE_PMD_FOLDED
 	atomic_long_t nr_pmds;			/* PMD page table pages */
-#endif
 	int map_count;				/* number of VMAs */
 
 	spinlock_t page_table_lock;		/* Protects page tables and some counters */
-- 
 Kirill A. Shutemov

^ permalink raw reply related	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failures due to 'mm: account pmd page tables to the process'
@ 2015-01-27 16:16                 ` Kirill A. Shutemov
  0 siblings, 0 replies; 67+ messages in thread
From: Kirill A. Shutemov @ 2015-01-27 16:16 UTC (permalink / raw)
  To: Andrew Morton, Guenter Roeck
  Cc: linux-kernel, linux-mm, linux-fsdevel, linux-next, sfr, mhocko,
	Kirill A. Shutemov

On Mon, Jan 26, 2015 at 06:03:57AM -0800, Guenter Roeck wrote:
> On 01/26/2015 04:29 AM, Kirill A. Shutemov wrote:
> >On Fri, Jan 23, 2015 at 09:52:07PM -0800, Guenter Roeck wrote:
> >>On Fri, Jan 23, 2015 at 01:55:19PM -0800, Andrew Morton wrote:
> >>>On Fri, 23 Jan 2015 07:07:56 -0800 Guenter Roeck <linux@roeck-us.net> wrote:
> >>>
> >>>>>>
> >>>>>>qemu:microblaze generates warnings to the console.
> >>>>>>
> >>>>>>WARNING: CPU: 0 PID: 32 at mm/mmap.c:2858 exit_mmap+0x184/0x1a4()
> >>>>>>
> >>>>>>with various call stacks. See
> >>>>>>http://server.roeck-us.net:8010/builders/qemu-microblaze-mmotm/builds/15/steps/qemubuildcommand/logs/stdio
> >>>>>>for details.
> >>>>>
> >>>>>Could you try patch below? Completely untested.
> >>>>>
> >>>>>>From b584bb8d493794f67484c0b57c161d61c02599bc Mon Sep 17 00:00:00 2001
> >>>>>From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
> >>>>>Date: Fri, 23 Jan 2015 13:08:26 +0200
> >>>>>Subject: [PATCH] microblaze: define __PAGETABLE_PMD_FOLDED
> >>>>>
> >>>>>Microblaze uses custom implementation of PMD folding, but doesn't define
> >>>>>__PAGETABLE_PMD_FOLDED, which generic code expects to see. Let's fix it.
> >>>>>
> >>>>>Defining __PAGETABLE_PMD_FOLDED will drop out unused __pmd_alloc().
> >>>>>It also fixes problems with recently-introduced pmd accounting.
> >>>>>
> >>>>>Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
> >>>>>Reported-by: Guenter Roeck <linux@roeck-us.net>
> >>>>
> >>>>Tested working.
> >>>>
> >>>>Tested-by: Guenter Roeck <linux@roeck-us.net>
> >>>>
> >>>>Any idea how to fix the sh problem ?
> >>>
> >>>Can you tell us more about it?  All I'm seeing is "qemu:sh fails to
> >>>shut down", which isn't very clear.
> >>
> >>Turns out that the include file defining __PAGETABLE_PMD_FOLDED
> >>was not always included where used, resulting in a messed up mm_struct.
> >
> >What means "messed up" here? It should only affect size of mm_struct.
> >
> Plus the offset of all variables after the #ifndef.

Okay, I guess the problem is that different parts of the kernel see
different mm_struct depending on include ordering.

Tried to look for options, but don't see anything better than patch below.
Andrew, is it okay to you?

>From 0f113e16a058d47f3bc63a3b6ced5296afb934a6 Mon Sep 17 00:00:00 2001
From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Date: Tue, 27 Jan 2015 17:59:55 +0200
Subject: [PATCH] mm: add nr_pmds into mm_struct unconditionally

__PAGETABLE_PMD_FOLDED is defined during <asm/pgtable.h> which is not
included into <linux/mm_types.h>. And we cannot include it here since
many of <asm/pgtables> needs <linux/mm_types.h> to define struct page.

I failed to come up with better solution rather than put nr_pmds into
mm_struct unconditionally.

One possible solution would be to expose number of page table levels
architecture has via Kconfig, but that's ugly and requires changes to
all architectures.

Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
---
 include/linux/mm_types.h | 2 --
 1 file changed, 2 deletions(-)

diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
index 79cdf6f5c746..199a03aab8dc 100644
--- a/include/linux/mm_types.h
+++ b/include/linux/mm_types.h
@@ -364,9 +364,7 @@ struct mm_struct {
 	atomic_t mm_users;			/* How many users with user space? */
 	atomic_t mm_count;			/* How many references to "struct mm_struct" (users count as 1) */
 	atomic_long_t nr_ptes;			/* PTE page table pages */
-#ifndef __PAGETABLE_PMD_FOLDED
 	atomic_long_t nr_pmds;			/* PMD page table pages */
-#endif
 	int map_count;				/* number of VMAs */
 
 	spinlock_t page_table_lock;		/* Protects page tables and some counters */
-- 
 Kirill A. Shutemov

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply related	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failures due to 'mm: account pmd page tables to the process'
@ 2015-01-27 16:16                 ` Kirill A. Shutemov
  0 siblings, 0 replies; 67+ messages in thread
From: Kirill A. Shutemov @ 2015-01-27 16:16 UTC (permalink / raw)
  To: Andrew Morton, Guenter Roeck
  Cc: linux-kernel, linux-mm, linux-fsdevel, linux-next, sfr, mhocko,
	Kirill A. Shutemov

On Mon, Jan 26, 2015 at 06:03:57AM -0800, Guenter Roeck wrote:
> On 01/26/2015 04:29 AM, Kirill A. Shutemov wrote:
> >On Fri, Jan 23, 2015 at 09:52:07PM -0800, Guenter Roeck wrote:
> >>On Fri, Jan 23, 2015 at 01:55:19PM -0800, Andrew Morton wrote:
> >>>On Fri, 23 Jan 2015 07:07:56 -0800 Guenter Roeck <linux@roeck-us.net> wrote:
> >>>
> >>>>>>
> >>>>>>qemu:microblaze generates warnings to the console.
> >>>>>>
> >>>>>>WARNING: CPU: 0 PID: 32 at mm/mmap.c:2858 exit_mmap+0x184/0x1a4()
> >>>>>>
> >>>>>>with various call stacks. See
> >>>>>>http://server.roeck-us.net:8010/builders/qemu-microblaze-mmotm/builds/15/steps/qemubuildcommand/logs/stdio
> >>>>>>for details.
> >>>>>
> >>>>>Could you try patch below? Completely untested.
> >>>>>
> >>>>>>From b584bb8d493794f67484c0b57c161d61c02599bc Mon Sep 17 00:00:00 2001
> >>>>>From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
> >>>>>Date: Fri, 23 Jan 2015 13:08:26 +0200
> >>>>>Subject: [PATCH] microblaze: define __PAGETABLE_PMD_FOLDED
> >>>>>
> >>>>>Microblaze uses custom implementation of PMD folding, but doesn't define
> >>>>>__PAGETABLE_PMD_FOLDED, which generic code expects to see. Let's fix it.
> >>>>>
> >>>>>Defining __PAGETABLE_PMD_FOLDED will drop out unused __pmd_alloc().
> >>>>>It also fixes problems with recently-introduced pmd accounting.
> >>>>>
> >>>>>Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
> >>>>>Reported-by: Guenter Roeck <linux@roeck-us.net>
> >>>>
> >>>>Tested working.
> >>>>
> >>>>Tested-by: Guenter Roeck <linux@roeck-us.net>
> >>>>
> >>>>Any idea how to fix the sh problem ?
> >>>
> >>>Can you tell us more about it?  All I'm seeing is "qemu:sh fails to
> >>>shut down", which isn't very clear.
> >>
> >>Turns out that the include file defining __PAGETABLE_PMD_FOLDED
> >>was not always included where used, resulting in a messed up mm_struct.
> >
> >What means "messed up" here? It should only affect size of mm_struct.
> >
> Plus the offset of all variables after the #ifndef.

Okay, I guess the problem is that different parts of the kernel see
different mm_struct depending on include ordering.

Tried to look for options, but don't see anything better than patch below.
Andrew, is it okay to you?

^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failures due to 'mm: account pmd page tables to the process'
  2015-01-27 16:16                 ` Kirill A. Shutemov
@ 2015-01-27 16:24                   ` Guenter Roeck
  -1 siblings, 0 replies; 67+ messages in thread
From: Guenter Roeck @ 2015-01-27 16:24 UTC (permalink / raw)
  To: Kirill A. Shutemov
  Cc: Andrew Morton, linux-kernel, linux-mm, linux-fsdevel, linux-next,
	sfr, mhocko, Kirill A. Shutemov

On Tue, Jan 27, 2015 at 06:16:57PM +0200, Kirill A. Shutemov wrote:
> On Mon, Jan 26, 2015 at 06:03:57AM -0800, Guenter Roeck wrote:
> > On 01/26/2015 04:29 AM, Kirill A. Shutemov wrote:
> > >On Fri, Jan 23, 2015 at 09:52:07PM -0800, Guenter Roeck wrote:
> > >>On Fri, Jan 23, 2015 at 01:55:19PM -0800, Andrew Morton wrote:
> > >>>On Fri, 23 Jan 2015 07:07:56 -0800 Guenter Roeck <linux@roeck-us.net> wrote:
> > >>>
> > >>>>>>
> > >>>>>>qemu:microblaze generates warnings to the console.
> > >>>>>>
> > >>>>>>WARNING: CPU: 0 PID: 32 at mm/mmap.c:2858 exit_mmap+0x184/0x1a4()
> > >>>>>>
> > >>>>>>with various call stacks. See
> > >>>>>>http://server.roeck-us.net:8010/builders/qemu-microblaze-mmotm/builds/15/steps/qemubuildcommand/logs/stdio
> > >>>>>>for details.
> > >>>>>
> > >>>>>Could you try patch below? Completely untested.
> > >>>>>
> > >>>>>>From b584bb8d493794f67484c0b57c161d61c02599bc Mon Sep 17 00:00:00 2001
> > >>>>>From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
> > >>>>>Date: Fri, 23 Jan 2015 13:08:26 +0200
> > >>>>>Subject: [PATCH] microblaze: define __PAGETABLE_PMD_FOLDED
> > >>>>>
> > >>>>>Microblaze uses custom implementation of PMD folding, but doesn't define
> > >>>>>__PAGETABLE_PMD_FOLDED, which generic code expects to see. Let's fix it.
> > >>>>>
> > >>>>>Defining __PAGETABLE_PMD_FOLDED will drop out unused __pmd_alloc().
> > >>>>>It also fixes problems with recently-introduced pmd accounting.
> > >>>>>
> > >>>>>Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
> > >>>>>Reported-by: Guenter Roeck <linux@roeck-us.net>
> > >>>>
> > >>>>Tested working.
> > >>>>
> > >>>>Tested-by: Guenter Roeck <linux@roeck-us.net>
> > >>>>
> > >>>>Any idea how to fix the sh problem ?
> > >>>
> > >>>Can you tell us more about it?  All I'm seeing is "qemu:sh fails to
> > >>>shut down", which isn't very clear.
> > >>
> > >>Turns out that the include file defining __PAGETABLE_PMD_FOLDED
> > >>was not always included where used, resulting in a messed up mm_struct.
> > >
> > >What means "messed up" here? It should only affect size of mm_struct.
> > >
> > Plus the offset of all variables after the #ifndef.
> 
> Okay, I guess the problem is that different parts of the kernel see
> different mm_struct depending on include ordering.
> 
> Tried to look for options, but don't see anything better than patch below.
> Andrew, is it okay to you?
> 
> From 0f113e16a058d47f3bc63a3b6ced5296afb934a6 Mon Sep 17 00:00:00 2001
> From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
> Date: Tue, 27 Jan 2015 17:59:55 +0200
> Subject: [PATCH] mm: add nr_pmds into mm_struct unconditionally
> 
> __PAGETABLE_PMD_FOLDED is defined during <asm/pgtable.h> which is not
> included into <linux/mm_types.h>. And we cannot include it here since
> many of <asm/pgtables> needs <linux/mm_types.h> to define struct page.
> 
> I failed to come up with better solution rather than put nr_pmds into
> mm_struct unconditionally.
> 
> One possible solution would be to expose number of page table levels
> architecture has via Kconfig, but that's ugly and requires changes to
> all architectures.
> 
FWIW, I tried a number of approaches. Ultimately I gave up and concluded
that it has to be either this patch or, as you say here, we would have
to add something like PAGETABLE_PMD_FOLDED as a Kconfig option.

> Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>

Tested working with all builds and all my qemu tests.

Tested-by: Guenter Roeck <linux@roeck-us.net>

Guenter

^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failures due to 'mm: account pmd page tables to the process'
@ 2015-01-27 16:24                   ` Guenter Roeck
  0 siblings, 0 replies; 67+ messages in thread
From: Guenter Roeck @ 2015-01-27 16:24 UTC (permalink / raw)
  To: Kirill A. Shutemov
  Cc: Andrew Morton, linux-kernel, linux-mm, linux-fsdevel, linux-next,
	sfr, mhocko, Kirill A. Shutemov

On Tue, Jan 27, 2015 at 06:16:57PM +0200, Kirill A. Shutemov wrote:
> On Mon, Jan 26, 2015 at 06:03:57AM -0800, Guenter Roeck wrote:
> > On 01/26/2015 04:29 AM, Kirill A. Shutemov wrote:
> > >On Fri, Jan 23, 2015 at 09:52:07PM -0800, Guenter Roeck wrote:
> > >>On Fri, Jan 23, 2015 at 01:55:19PM -0800, Andrew Morton wrote:
> > >>>On Fri, 23 Jan 2015 07:07:56 -0800 Guenter Roeck <linux@roeck-us.net> wrote:
> > >>>
> > >>>>>>
> > >>>>>>qemu:microblaze generates warnings to the console.
> > >>>>>>
> > >>>>>>WARNING: CPU: 0 PID: 32 at mm/mmap.c:2858 exit_mmap+0x184/0x1a4()
> > >>>>>>
> > >>>>>>with various call stacks. See
> > >>>>>>http://server.roeck-us.net:8010/builders/qemu-microblaze-mmotm/builds/15/steps/qemubuildcommand/logs/stdio
> > >>>>>>for details.
> > >>>>>
> > >>>>>Could you try patch below? Completely untested.
> > >>>>>
> > >>>>>>From b584bb8d493794f67484c0b57c161d61c02599bc Mon Sep 17 00:00:00 2001
> > >>>>>From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
> > >>>>>Date: Fri, 23 Jan 2015 13:08:26 +0200
> > >>>>>Subject: [PATCH] microblaze: define __PAGETABLE_PMD_FOLDED
> > >>>>>
> > >>>>>Microblaze uses custom implementation of PMD folding, but doesn't define
> > >>>>>__PAGETABLE_PMD_FOLDED, which generic code expects to see. Let's fix it.
> > >>>>>
> > >>>>>Defining __PAGETABLE_PMD_FOLDED will drop out unused __pmd_alloc().
> > >>>>>It also fixes problems with recently-introduced pmd accounting.
> > >>>>>
> > >>>>>Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
> > >>>>>Reported-by: Guenter Roeck <linux@roeck-us.net>
> > >>>>
> > >>>>Tested working.
> > >>>>
> > >>>>Tested-by: Guenter Roeck <linux@roeck-us.net>
> > >>>>
> > >>>>Any idea how to fix the sh problem ?
> > >>>
> > >>>Can you tell us more about it?  All I'm seeing is "qemu:sh fails to
> > >>>shut down", which isn't very clear.
> > >>
> > >>Turns out that the include file defining __PAGETABLE_PMD_FOLDED
> > >>was not always included where used, resulting in a messed up mm_struct.
> > >
> > >What means "messed up" here? It should only affect size of mm_struct.
> > >
> > Plus the offset of all variables after the #ifndef.
> 
> Okay, I guess the problem is that different parts of the kernel see
> different mm_struct depending on include ordering.
> 
> Tried to look for options, but don't see anything better than patch below.
> Andrew, is it okay to you?
> 
> From 0f113e16a058d47f3bc63a3b6ced5296afb934a6 Mon Sep 17 00:00:00 2001
> From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
> Date: Tue, 27 Jan 2015 17:59:55 +0200
> Subject: [PATCH] mm: add nr_pmds into mm_struct unconditionally
> 
> __PAGETABLE_PMD_FOLDED is defined during <asm/pgtable.h> which is not
> included into <linux/mm_types.h>. And we cannot include it here since
> many of <asm/pgtables> needs <linux/mm_types.h> to define struct page.
> 
> I failed to come up with better solution rather than put nr_pmds into
> mm_struct unconditionally.
> 
> One possible solution would be to expose number of page table levels
> architecture has via Kconfig, but that's ugly and requires changes to
> all architectures.
> 
FWIW, I tried a number of approaches. Ultimately I gave up and concluded
that it has to be either this patch or, as you say here, we would have
to add something like PAGETABLE_PMD_FOLDED as a Kconfig option.

> Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>

Tested working with all builds and all my qemu tests.

Tested-by: Guenter Roeck <linux@roeck-us.net>

Guenter

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failure due to 'mm: memcontrol: remove unnecessary soft limit tree node test'
  2015-01-23 15:17       ` Christoph Lameter
@ 2015-01-27 17:24         ` Michal Hocko
  -1 siblings, 0 replies; 67+ messages in thread
From: Michal Hocko @ 2015-01-27 17:24 UTC (permalink / raw)
  To: Christoph Lameter
  Cc: Johannes Weiner, Guenter Roeck, akpm, mm-commits, linux-kernel,
	linux-mm, linux-fsdevel, linux-next, Stephen Rothwell

On Fri 23-01-15 09:17:44, Christoph Lameter wrote:
> On Fri, 23 Jan 2015, Johannes Weiner wrote:
> 
> > Is the assumption of this patch wrong?  Does the specified node have
> > to be online for the fallback to work?

Admittedly, I was checking only SLAB allocator when reviewing and
assuming SLUB would behave in the same way :/
But maybe I have misinterpreted the slab code as well and
get_node(struct kmem_cache *, int node) returns non-NULL for !online
nodes.

> Nodes that are offline have no control structures allocated and thus
> allocations will likely segfault when the address of the controls
> structure for the node is accessed.
> 
> If we wanted to prevent that then every allocation would have to add a
> check to see if the nodes are online which would impact performance.

I have briefly checked the code and it seems that many users are aware
of this and use the same construct Johannes used in the end or they use
cpu_to_node. But then there are other users doing:
net/openvswitch/flow_table.c:
        /* Initialize the default stat node. */
        stats = kmem_cache_alloc_node(flow_stats_cache,
                                      GFP_KERNEL | __GFP_ZERO, 0);

and this can blow up if Node0 is not online. I haven't checked other
callers but are we sure they all are aware of !online nodes? E.g.
dev_to_node() will return a node which is assigned to a device. I do not
see where exactly this is set to anything else than -1 (I got quickly
lost in set_dev_node callers). E.g. PCI bus sets its affinity from
bus->sysdata which seems to be initialized in pci_acpi_scan_root and
that is checking for an online node. Is it possible that some devices
will get the node from BIOS or by other means?

That being said I have no problem with checking node_online in the memcg
code which was reported to blow up here. I am just thinking whether it
is safe to simply blow up like that.
-- 
Michal Hocko
SUSE Labs

^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failure due to 'mm: memcontrol: remove unnecessary soft limit tree node test'
@ 2015-01-27 17:24         ` Michal Hocko
  0 siblings, 0 replies; 67+ messages in thread
From: Michal Hocko @ 2015-01-27 17:24 UTC (permalink / raw)
  To: Christoph Lameter
  Cc: Johannes Weiner, Guenter Roeck, akpm, mm-commits, linux-kernel,
	linux-mm, linux-fsdevel, linux-next, Stephen Rothwell

On Fri 23-01-15 09:17:44, Christoph Lameter wrote:
> On Fri, 23 Jan 2015, Johannes Weiner wrote:
> 
> > Is the assumption of this patch wrong?  Does the specified node have
> > to be online for the fallback to work?

Admittedly, I was checking only SLAB allocator when reviewing and
assuming SLUB would behave in the same way :/
But maybe I have misinterpreted the slab code as well and
get_node(struct kmem_cache *, int node) returns non-NULL for !online
nodes.

> Nodes that are offline have no control structures allocated and thus
> allocations will likely segfault when the address of the controls
> structure for the node is accessed.
> 
> If we wanted to prevent that then every allocation would have to add a
> check to see if the nodes are online which would impact performance.

I have briefly checked the code and it seems that many users are aware
of this and use the same construct Johannes used in the end or they use
cpu_to_node. But then there are other users doing:
net/openvswitch/flow_table.c:
        /* Initialize the default stat node. */
        stats = kmem_cache_alloc_node(flow_stats_cache,
                                      GFP_KERNEL | __GFP_ZERO, 0);

and this can blow up if Node0 is not online. I haven't checked other
callers but are we sure they all are aware of !online nodes? E.g.
dev_to_node() will return a node which is assigned to a device. I do not
see where exactly this is set to anything else than -1 (I got quickly
lost in set_dev_node callers). E.g. PCI bus sets its affinity from
bus->sysdata which seems to be initialized in pci_acpi_scan_root and
that is checking for an online node. Is it possible that some devices
will get the node from BIOS or by other means?

That being said I have no problem with checking node_online in the memcg
code which was reported to blow up here. I am just thinking whether it
is safe to simply blow up like that.
-- 
Michal Hocko
SUSE Labs

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failures due to 'mm: account pmd page tables to the process'
  2015-01-27 16:24                   ` Guenter Roeck
@ 2015-01-27 21:24                     ` Andrew Morton
  -1 siblings, 0 replies; 67+ messages in thread
From: Andrew Morton @ 2015-01-27 21:24 UTC (permalink / raw)
  To: Guenter Roeck
  Cc: Kirill A. Shutemov, linux-kernel, linux-mm, linux-fsdevel,
	linux-next, sfr, mhocko, Kirill A. Shutemov

On Tue, 27 Jan 2015 08:24:28 -0800 Guenter Roeck <linux@roeck-us.net> wrote:

> > __PAGETABLE_PMD_FOLDED is defined during <asm/pgtable.h> which is not
> > included into <linux/mm_types.h>. And we cannot include it here since
> > many of <asm/pgtables> needs <linux/mm_types.h> to define struct page.
> > 
> > I failed to come up with better solution rather than put nr_pmds into
> > mm_struct unconditionally.
> > 
> > One possible solution would be to expose number of page table levels
> > architecture has via Kconfig, but that's ugly and requires changes to
> > all architectures.
> > 
> FWIW, I tried a number of approaches. Ultimately I gave up and concluded
> that it has to be either this patch or, as you say here, we would have
> to add something like PAGETABLE_PMD_FOLDED as a Kconfig option.

It's certainly a big mess.  Yes, I expect that moving
__PAGETABLE_PMD_FOLDED and probably PAGETABLE_LEVELS into Kconfig logic
would be a good fix.

Adding 8 bytes to the mm_struct (sometimes) isn't a huge issue, but
it does make the kernel just a little bit worse.

Has anyone taken a look at what the Kconfig approach would look like?

Possibly another fix for this would be to move mm_struct into its own
header file, or something along those lines?


^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failures due to 'mm: account pmd page tables to the process'
@ 2015-01-27 21:24                     ` Andrew Morton
  0 siblings, 0 replies; 67+ messages in thread
From: Andrew Morton @ 2015-01-27 21:24 UTC (permalink / raw)
  To: Guenter Roeck
  Cc: Kirill A. Shutemov, linux-kernel, linux-mm, linux-fsdevel,
	linux-next, sfr, mhocko, Kirill A. Shutemov

On Tue, 27 Jan 2015 08:24:28 -0800 Guenter Roeck <linux@roeck-us.net> wrote:

> > __PAGETABLE_PMD_FOLDED is defined during <asm/pgtable.h> which is not
> > included into <linux/mm_types.h>. And we cannot include it here since
> > many of <asm/pgtables> needs <linux/mm_types.h> to define struct page.
> > 
> > I failed to come up with better solution rather than put nr_pmds into
> > mm_struct unconditionally.
> > 
> > One possible solution would be to expose number of page table levels
> > architecture has via Kconfig, but that's ugly and requires changes to
> > all architectures.
> > 
> FWIW, I tried a number of approaches. Ultimately I gave up and concluded
> that it has to be either this patch or, as you say here, we would have
> to add something like PAGETABLE_PMD_FOLDED as a Kconfig option.

It's certainly a big mess.  Yes, I expect that moving
__PAGETABLE_PMD_FOLDED and probably PAGETABLE_LEVELS into Kconfig logic
would be a good fix.

Adding 8 bytes to the mm_struct (sometimes) isn't a huge issue, but
it does make the kernel just a little bit worse.

Has anyone taken a look at what the Kconfig approach would look like?

Possibly another fix for this would be to move mm_struct into its own
header file, or something along those lines?

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failures due to 'mm: account pmd page tables to the process'
  2015-01-27 21:24                     ` Andrew Morton
@ 2015-01-28  6:16                       ` Guenter Roeck
  -1 siblings, 0 replies; 67+ messages in thread
From: Guenter Roeck @ 2015-01-28  6:16 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Kirill A. Shutemov, linux-kernel, linux-mm, linux-fsdevel,
	linux-next, sfr, mhocko, Kirill A. Shutemov

On 01/27/2015 01:24 PM, Andrew Morton wrote:
> On Tue, 27 Jan 2015 08:24:28 -0800 Guenter Roeck <linux@roeck-us.net> wrote:
>
>>> __PAGETABLE_PMD_FOLDED is defined during <asm/pgtable.h> which is not
>>> included into <linux/mm_types.h>. And we cannot include it here since
>>> many of <asm/pgtables> needs <linux/mm_types.h> to define struct page.
>>>
>>> I failed to come up with better solution rather than put nr_pmds into
>>> mm_struct unconditionally.
>>>
>>> One possible solution would be to expose number of page table levels
>>> architecture has via Kconfig, but that's ugly and requires changes to
>>> all architectures.
>>>
>> FWIW, I tried a number of approaches. Ultimately I gave up and concluded
>> that it has to be either this patch or, as you say here, we would have
>> to add something like PAGETABLE_PMD_FOLDED as a Kconfig option.
>
> It's certainly a big mess.  Yes, I expect that moving
> __PAGETABLE_PMD_FOLDED and probably PAGETABLE_LEVELS into Kconfig logic
> would be a good fix.
>
> Adding 8 bytes to the mm_struct (sometimes) isn't a huge issue, but
> it does make the kernel just a little bit worse.
>
> Has anyone taken a look at what the Kconfig approach would look like?
>

We would need something like

config PAGETABLE_PMD_FOLDED (or maybe PAGETABLE_NOPMD)
	def_bool y

for arc, arm64, avr32, cris, hexagon, metag, mips, mn10300, nios2, openrisc,
powerpc, score, sh, tile, um, unicore32, x86, xtensa, arm, m32r, and
microblaze. In several cases it would depend on secondary options,
such as CONFIG_ARM64_PGTABLE_LEVELS for arm64 or PAGETABLE_LEVELS for x86
and sh. PAGETABLE_LEVELS is not a configuration option (yet), so, yes,
that would have to be converted to a configuration option as well.

Overall a lot of complexity. Not really sure if that is worth the gain.
We would have to touch more than 20 Kconfig files plus about 20
source and include files which currently use _PAGETABLE_PMD_FOLDED.

> Possibly another fix for this would be to move mm_struct into its own
> header file, or something along those lines?
>

I suspect that might be just as messy. We would have to find all files
which actually need mm_struct and make sure that the new mm_struct.h
is included.

Not sure which approach is better. Sure, the 8 (or 4) bytes are annoying,
but I am not sure if the situation is bad enough to really bother.

Ultimately it seems there may be other variables in mm_struct which
could be made optional with much less effort, such as uprobes_state
or mmap_legacy_base.

Guenter


^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failures due to 'mm: account pmd page tables to the process'
@ 2015-01-28  6:16                       ` Guenter Roeck
  0 siblings, 0 replies; 67+ messages in thread
From: Guenter Roeck @ 2015-01-28  6:16 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Kirill A. Shutemov, linux-kernel, linux-mm, linux-fsdevel,
	linux-next, sfr, mhocko, Kirill A. Shutemov

On 01/27/2015 01:24 PM, Andrew Morton wrote:
> On Tue, 27 Jan 2015 08:24:28 -0800 Guenter Roeck <linux@roeck-us.net> wrote:
>
>>> __PAGETABLE_PMD_FOLDED is defined during <asm/pgtable.h> which is not
>>> included into <linux/mm_types.h>. And we cannot include it here since
>>> many of <asm/pgtables> needs <linux/mm_types.h> to define struct page.
>>>
>>> I failed to come up with better solution rather than put nr_pmds into
>>> mm_struct unconditionally.
>>>
>>> One possible solution would be to expose number of page table levels
>>> architecture has via Kconfig, but that's ugly and requires changes to
>>> all architectures.
>>>
>> FWIW, I tried a number of approaches. Ultimately I gave up and concluded
>> that it has to be either this patch or, as you say here, we would have
>> to add something like PAGETABLE_PMD_FOLDED as a Kconfig option.
>
> It's certainly a big mess.  Yes, I expect that moving
> __PAGETABLE_PMD_FOLDED and probably PAGETABLE_LEVELS into Kconfig logic
> would be a good fix.
>
> Adding 8 bytes to the mm_struct (sometimes) isn't a huge issue, but
> it does make the kernel just a little bit worse.
>
> Has anyone taken a look at what the Kconfig approach would look like?
>

We would need something like

config PAGETABLE_PMD_FOLDED (or maybe PAGETABLE_NOPMD)
	def_bool y

for arc, arm64, avr32, cris, hexagon, metag, mips, mn10300, nios2, openrisc,
powerpc, score, sh, tile, um, unicore32, x86, xtensa, arm, m32r, and
microblaze. In several cases it would depend on secondary options,
such as CONFIG_ARM64_PGTABLE_LEVELS for arm64 or PAGETABLE_LEVELS for x86
and sh. PAGETABLE_LEVELS is not a configuration option (yet), so, yes,
that would have to be converted to a configuration option as well.

Overall a lot of complexity. Not really sure if that is worth the gain.
We would have to touch more than 20 Kconfig files plus about 20
source and include files which currently use _PAGETABLE_PMD_FOLDED.

> Possibly another fix for this would be to move mm_struct into its own
> header file, or something along those lines?
>

I suspect that might be just as messy. We would have to find all files
which actually need mm_struct and make sure that the new mm_struct.h
is included.

Not sure which approach is better. Sure, the 8 (or 4) bytes are annoying,
but I am not sure if the situation is bad enough to really bother.

Ultimately it seems there may be other variables in mm_struct which
could be made optional with much less effort, such as uprobes_state
or mmap_legacy_base.

Guenter

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failure due to 'mm: memcontrol: remove unnecessary soft limit tree node test'
  2015-01-27 17:24         ` Michal Hocko
@ 2015-01-28 15:03           ` Christoph Lameter
  -1 siblings, 0 replies; 67+ messages in thread
From: Christoph Lameter @ 2015-01-28 15:03 UTC (permalink / raw)
  To: Michal Hocko
  Cc: Johannes Weiner, Guenter Roeck, akpm, mm-commits, linux-kernel,
	linux-mm, linux-fsdevel, linux-next, Stephen Rothwell

On Tue, 27 Jan 2015, Michal Hocko wrote:

> Admittedly, I was checking only SLAB allocator when reviewing and
> assuming SLUB would behave in the same way :/
> But maybe I have misinterpreted the slab code as well and
> get_node(struct kmem_cache *, int node) returns non-NULL for !online
> nodes.

Oh. Just allocate from node 12345 in SLAB and you will also have a strange
failure.

> I have briefly checked the code and it seems that many users are aware
> of this and use the same construct Johannes used in the end or they use
> cpu_to_node. But then there are other users doing:
> net/openvswitch/flow_table.c:
>         /* Initialize the default stat node. */
>         stats = kmem_cache_alloc_node(flow_stats_cache,
>                                       GFP_KERNEL | __GFP_ZERO, 0);
>
> and this can blow up if Node0 is not online. I haven't checked other

Node 0 is special in many architectures and is guaranteed to exist.
PowerPC is a notable exception which causes frequent issues with NUMA
changes.

> That being said I have no problem with checking node_online in the memcg
> code which was reported to blow up here. I am just thinking whether it
> is safe to simply blow up like that.

Node numbers must be legitimate in order to be used. Same thing with
processor numbers. We cannot always check if they are online. The numbers
in use must be sane. We have notifier subsystems that do callbacks to
allow subsystems to add and remove new nodes and processors. Those should
be used to ensure that only legitimate node and processor numbers are
used.



^ permalink raw reply	[flat|nested] 67+ messages in thread

* Re: mmotm 2015-01-22-15-04: qemu failure due to 'mm: memcontrol: remove unnecessary soft limit tree node test'
@ 2015-01-28 15:03           ` Christoph Lameter
  0 siblings, 0 replies; 67+ messages in thread
From: Christoph Lameter @ 2015-01-28 15:03 UTC (permalink / raw)
  To: Michal Hocko
  Cc: Johannes Weiner, Guenter Roeck, akpm, mm-commits, linux-kernel,
	linux-mm, linux-fsdevel, linux-next, Stephen Rothwell

On Tue, 27 Jan 2015, Michal Hocko wrote:

> Admittedly, I was checking only SLAB allocator when reviewing and
> assuming SLUB would behave in the same way :/
> But maybe I have misinterpreted the slab code as well and
> get_node(struct kmem_cache *, int node) returns non-NULL for !online
> nodes.

Oh. Just allocate from node 12345 in SLAB and you will also have a strange
failure.

> I have briefly checked the code and it seems that many users are aware
> of this and use the same construct Johannes used in the end or they use
> cpu_to_node. But then there are other users doing:
> net/openvswitch/flow_table.c:
>         /* Initialize the default stat node. */
>         stats = kmem_cache_alloc_node(flow_stats_cache,
>                                       GFP_KERNEL | __GFP_ZERO, 0);
>
> and this can blow up if Node0 is not online. I haven't checked other

Node 0 is special in many architectures and is guaranteed to exist.
PowerPC is a notable exception which causes frequent issues with NUMA
changes.

> That being said I have no problem with checking node_online in the memcg
> code which was reported to blow up here. I am just thinking whether it
> is safe to simply blow up like that.

Node numbers must be legitimate in order to be used. Same thing with
processor numbers. We cannot always check if they are online. The numbers
in use must be sane. We have notifier subsystems that do callbacks to
allow subsystems to add and remove new nodes and processors. Those should
be used to ensure that only legitimate node and processor numbers are
used.


--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 67+ messages in thread

end of thread, other threads:[~2015-01-29  5:36 UTC | newest]

Thread overview: 67+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-22 23:05 mmotm 2015-01-22-15-04 uploaded akpm
2015-01-22 23:05 ` akpm
2015-01-23  5:04 ` mmotm 2015-01-22-15-04: qemu failures due to 'mm: account pmd page tables to the process' Guenter Roeck
2015-01-23  5:04   ` Guenter Roeck
2015-01-23 11:13   ` Kirill A. Shutemov
2015-01-23 11:13     ` Kirill A. Shutemov
2015-01-23 11:13     ` Kirill A. Shutemov
2015-01-23 15:07     ` Guenter Roeck
2015-01-23 15:07       ` Guenter Roeck
2015-01-23 21:55       ` Andrew Morton
2015-01-23 21:55         ` Andrew Morton
2015-01-24  2:44         ` Guenter Roeck
2015-01-24  2:44           ` Guenter Roeck
2015-01-24  3:05           ` Guenter Roeck
2015-01-24  3:05             ` Guenter Roeck
2015-01-24  5:52         ` Guenter Roeck
2015-01-24  5:52           ` Guenter Roeck
2015-01-26 12:29           ` Kirill A. Shutemov
2015-01-26 12:29             ` Kirill A. Shutemov
2015-01-26 14:03             ` Guenter Roeck
2015-01-26 14:03               ` Guenter Roeck
2015-01-26 14:17               ` Guenter Roeck
2015-01-26 14:17                 ` Guenter Roeck
2015-01-27 16:16               ` Kirill A. Shutemov
2015-01-27 16:16                 ` Kirill A. Shutemov
2015-01-27 16:16                 ` Kirill A. Shutemov
2015-01-27 16:24                 ` Guenter Roeck
2015-01-27 16:24                   ` Guenter Roeck
2015-01-27 21:24                   ` Andrew Morton
2015-01-27 21:24                     ` Andrew Morton
2015-01-28  6:16                     ` Guenter Roeck
2015-01-28  6:16                       ` Guenter Roeck
2015-01-23  5:08 ` mmotm 2015-01-22-15-04: qemu failure due to 'mm: memcontrol: remove unnecessary soft limit tree node test' Guenter Roeck
2015-01-23  5:08   ` Guenter Roeck
2015-01-23 14:18   ` Johannes Weiner
2015-01-23 14:18     ` Johannes Weiner
2015-01-23 15:17     ` Christoph Lameter
2015-01-23 15:17       ` Christoph Lameter
2015-01-23 16:02       ` Johannes Weiner
2015-01-23 16:02         ` Johannes Weiner
2015-01-23 16:59         ` Guenter Roeck
2015-01-23 16:59           ` Guenter Roeck
2015-01-23 17:36           ` Johannes Weiner
2015-01-23 17:36             ` Johannes Weiner
2015-01-23 17:38             ` Johannes Weiner
2015-01-23 17:38               ` Johannes Weiner
2015-01-24  2:02             ` Guenter Roeck
2015-01-24  2:02               ` Guenter Roeck
2015-01-27 17:24       ` Michal Hocko
2015-01-27 17:24         ` Michal Hocko
2015-01-28 15:03         ` Christoph Lameter
2015-01-28 15:03           ` Christoph Lameter
2015-01-23 15:46     ` Guenter Roeck
2015-01-23 15:46       ` Guenter Roeck
2015-01-23 16:03       ` Johannes Weiner
2015-01-23 16:03         ` Johannes Weiner
2015-01-23 20:20     ` Christoph Lameter
2015-01-23 20:20       ` Christoph Lameter
2015-01-23 20:33       ` Guenter Roeck
2015-01-23 20:33         ` Guenter Roeck
2015-01-23 21:09         ` Christoph Lameter
2015-01-23 21:09           ` Christoph Lameter
2015-01-24  7:16           ` Johannes Weiner
2015-01-24  7:16             ` Johannes Weiner
2015-01-25 21:36             ` Valdis.Kletnieks
2015-01-26 13:37               ` Johannes Weiner
2015-01-26 13:37                 ` Johannes Weiner

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.