linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* mmotm 2014-09-22-16-57 uploaded
@ 2014-09-23  0:02 akpm
  2014-09-23  0:39 ` Stephen Rothwell
                   ` (2 more replies)
  0 siblings, 3 replies; 27+ messages in thread
From: akpm @ 2014-09-23  0:02 UTC (permalink / raw)
  To: mm-commits, linux-kernel, linux-mm, linux-fsdevel, linux-next,
	sfr, mhocko

The mm-of-the-moment snapshot 2014-09-22-16-57 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.17-rc6:
(patches marked "*" will be included in linux-next)

  origin.patch
  i-need-old-gcc.patch
  arch-alpha-kernel-systblss-remove-debug-check.patch
  maintainers-akpm-maintenance.patch
* ocfs2-free-vol_lable-in-ocfs2_delete_osb.patch
* nilfs2-fix-data-loss-with-mmap.patch
* nilfs2-fix-data-loss-with-mmap-fix.patch
* ocfs2-dlm-do-not-get-resource-spinlock-if-lockres-is-new.patch
* mm-softdirty-addresses-before-vmas-in-pte-holes-arent-softdirty.patch
* mm-page_alloc-fix-zone-allocation-fairness-on-up.patch
* mn10300-use-kbuild-logic-to-include-asm-generic-sectionsh.patch
* cris-use-kbuild-logic-to-include-asm-generic-sectionsh.patch
* fs-cifs-remove-obsolete-__constant.patch
* fs-cifs-filec-replace-countsize-kzalloc-by-kcalloc.patch
* fs-cifs-smb2filec-replace-countsize-kzalloc-by-kcalloc.patch
* efi-bgrt-add-error-handling-inform-the-user-when-ignoring-the-bgrt.patch
* fs-notify-groupc-make-fsnotify_final_destroy_group-static.patch
* fsnotify-dont-put-user-context-if-it-was-never-assigned.patch
* kernel-posix-timersc-code-clean-up.patch
* kernel-posix-timersc-code-clean-up-checkpatch-fixes.patch
* input-route-kbd-leds-through-the-generic-leds-layer.patch
* input-route-kbd-leds-through-the-generic-leds-layer-fix.patch
* m32r-use-kbuild-logic-to-include-asm-generic-sectionsh.patch
* use-find_get_page_flags-to-mark-page-accessed-as-it-is-no-longer-marked-later-on.patch
* score-use-kbuild-logic-to-include-asm-generic-sectionsh.patch
* fs-ext4-fsyncc-generic_file_fsync-call-based-on-barrier-flag.patch
* fs-ocfs2-stack_userc-fix-typo-in-ocfs2_control_release.patch
* ocfs2-dlm-refactor-error-handling-in-dlm_alloc_ctxt.patch
* ocfs2-fix-shift-left-operations-overflow.patch
* ocfs2-call-o2quo_exit-if-malloc-failed-in-o2net_init.patch
* o2dlm-fix-null-pointer-dereference-in-o2dlm_blocking_ast_wrapper.patch
* o2dlm-fix-null-pointer-dereference-in-o2dlm_blocking_ast_wrapper-checkpatch-fixes.patch
* ocfs2-remove-unused-code-in-dlm_new_lockres.patch
* fs-ocfs2-dlm-dlmdebugc-use-seq_open_private-not-seq_open.patch
* fs-ocfs2-cluster-netdebugc-use-seq_open_private-not-seq_open.patch
* fs-ocfs2-dlmgluec-use-__seq_open_private-not-seq_open.patch
* ocfs2-dont-fire-quorum-before-connection-established.patch
* ocfs2-free-inode-when-i_count-becomes-zero.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
* ocfs2-avoid-access-invalid-address-when-read-o2dlm-debug-messages-v2.patch
* ocfs2-dlm-fix-race-between-dispatched_work-and-dlm_lockres_grab_inflight_worker.patch
* ocfs2-reflink-fix-slow-unlink-for-refcounted-file.patch
* ocfs2-fix-journal-commit-deadlock.patch
* ocfs2-fix-deadlock-between-o2hb-thread-and-o2net_wq.patch
* ocfs2-fix-deadlock-due-to-wrong-locking-order.patch
* bio-integrity-remove-the-needless-fail-handle-of-bip_slab-creating.patch
* block-restore-proc-partitions-to-not-display-non-partitionable-removable-devices.patch
* softlockup-make-detector-be-aware-of-task-switch-of-processes-hogging-cpu.patch
* softlockup-make-detector-be-aware-of-task-switch-of-processes-hogging-cpu-fix.patch
  mm.patch
* fs-proc-task_mmuc-dont-use-task-mm-in-m_start-and-show_map.patch
* fs-proc-task_mmuc-unify-simplify-do_maps_open-and-numa_maps_open.patch
* proc-introduce-proc_mem_open.patch
* fs-proc-task_mmuc-shift-mm_access-from-m_start-to-proc_maps_open.patch
* fs-proc-task_mmuc-shift-mm_access-from-m_start-to-proc_maps_open-checkpatch-fixes.patch
* fs-proc-task_mmuc-simplify-the-vma_stop-logic.patch
* fs-proc-task_mmuc-simplify-the-vma_stop-logic-checkpatch-fixes.patch
* fs-proc-task_mmuc-cleanup-the-tail_vma-horror-in-m_next.patch
* fs-proc-task_mmuc-shift-priv-task-=-null-from-m_start-to-m_stop.patch
* fs-proc-task_mmuc-kill-the-suboptimal-and-confusing-m-version-logic.patch
* fs-proc-task_mmuc-simplify-m_start-to-make-it-readable.patch
* fs-proc-task_mmuc-introduce-m_next_vma-helper.patch
* fs-proc-task_mmuc-reintroduce-m-version-logic.patch
* fs-proc-task_mmuc-update-m-version-in-the-main-loop-in-m_start.patch
* fs-proc-task_nommuc-change-maps_open-to-use-__seq_open_private.patch
* fs-proc-task_nommuc-change-maps_open-to-use-__seq_open_private-fix.patch
* fs-proc-task_nommuc-shift-mm_access-from-m_start-to-proc_maps_open.patch
* fs-proc-task_nommuc-shift-mm_access-from-m_start-to-proc_maps_open-checkpatch-fixes.patch
* fs-proc-task_nommuc-dont-use-priv-task-mm.patch
* proc-maps-replace-proc_maps_private-pid-with-struct-inode-inode.patch
* proc-maps-make-vm_is_stack-logic-namespace-friendly.patch
* not-adding-modules-range-to-kcore-if-its-equal-to-vmcore-range.patch
* not-adding-modules-range-to-kcore-if-its-equal-to-vmcore-range-checkpatch-fixes.patch
* mm-slab_commonc-suppress-warning.patch
* mm-slab_common-move-kmem_cache-definition-to-internal-header.patch
* mm-slab_common-move-kmem_cache-definition-to-internal-header-fix.patch
* mm-slab_common-move-kmem_cache-definition-to-internal-header-fix-2.patch
* mm-slab_common-move-kmem_cache-definition-to-internal-header-fix-2-fix.patch
* mm-slb-always-track-caller-in-kmalloc_node_track_caller.patch
* mm-slab-move-cache_flusharray-out-of-unlikelytext-section.patch
* mm-slab-noinline-__ac_put_obj.patch
* mm-slab-factor-out-unlikely-part-of-cache_free_alien.patch
* slub-disable-tracing-and-failslab-for-merged-slabs.patch
* topology-add-support-for-node_to_mem_node-to-determine-the-fallback-node.patch
* slub-fallback-to-node_to_mem_node-node-if-allocating-on-memoryless-node.patch
* partial-revert-of-81c98869faa5-kthread-ensure-locality-of-task_struct-allocations.patch
* slab-fix-for_each_kmem_cache_node.patch
* mm-slab_common-commonize-slab-merge-logic.patch
* mm-slab_common-commonize-slab-merge-logic-fix.patch
* mm-slab-support-slab-merge.patch
* mm-slab-use-percpu-allocator-for-cpu-cache.patch
* fix-checkpatch-errors-for-mm-mmapc.patch
* memory-hotplug-add-sysfs-zones_online_to-attribute.patch
* memory-hotplug-add-sysfs-zones_online_to-attribute-fix.patch
* memory-hotplug-add-sysfs-zones_online_to-attribute-fix-2.patch
* memory-hotplug-add-sysfs-zones_online_to-attribute-fix-3.patch
* memory-hotplug-add-sysfs-zones_online_to-attribute-fix-3-fix.patch
* memory-hotplug-add-sysfs-zones_online_to-attribute-fix-4.patch
* mm-remove-misleading-arch_uses_numa_prot_none.patch
* lib-genallocc-add-power-aligned-algorithm.patch
* lib-genallocc-add-genpool-range-check-function.patch
* common-dma-mapping-introduce-common-remapping-functions.patch
* common-dma-mapping-introduce-common-remapping-functions-fix.patch
* common-dma-mapping-introduce-common-remapping-functions-fix-2.patch
* common-dma-mapping-introduce-common-remapping-functions-fix-4.patch
* arm-use-genalloc-for-the-atomic-pool.patch
* arm64-add-atomic-pool-for-non-coherent-and-cma-allocations.patch
* mm-cma-adjust-address-limit-to-avoid-hitting-low-high-memory-boundary.patch
* arm-mm-dont-limit-default-cma-region-only-to-low-memory.patch
* mm-page_alloc-determine-migratetype-only-once.patch
* vfs-make-guard_bh_eod-more-generic.patch
* vfs-guard-end-of-device-for-mpage-interface.patch
* block_dev-implement-readpages-to-optimize-sequential-read.patch
* mm-thp-dont-hold-mmap_sem-in-khugepaged-when-allocating-thp.patch
* mm-compaction-defer-each-zone-individually-instead-of-preferred-zone.patch
* mm-compaction-defer-each-zone-individually-instead-of-preferred-zone-fix.patch
* mm-compaction-do-not-count-compact_stall-if-all-zones-skipped-compaction.patch
* mm-compaction-do-not-recheck-suitable_migration_target-under-lock.patch
* mm-compaction-move-pageblock-checks-up-from-isolate_migratepages_range.patch
* mm-compaction-reduce-zone-checking-frequency-in-the-migration-scanner.patch
* mm-compaction-khugepaged-should-not-give-up-due-to-need_resched.patch
* mm-compaction-khugepaged-should-not-give-up-due-to-need_resched-fix.patch
* mm-compaction-periodically-drop-lock-and-restore-irqs-in-scanners.patch
* mm-compaction-skip-rechecks-when-lock-was-already-held.patch
* mm-compaction-remember-position-within-pageblock-in-free-pages-scanner.patch
* mm-compaction-skip-buddy-pages-by-their-order-in-the-migrate-scanner.patch
* mm-rename-allocflags_to_migratetype-for-clarity.patch
* mm-compaction-pass-gfp-mask-to-compact_control.patch
* mm-introduce-check_data_rlimit-helper-v2.patch
* mm-use-may_adjust_brk-helper.patch
* prctl-pr_set_mm-factor-out-mmap_sem-when-update-mm-exe_file.patch
* prctl-pr_set_mm-introduce-pr_set_mm_map-operation-v3.patch
* prctl-pr_set_mm-introduce-pr_set_mm_map-operation-v4.patch
* prctl-pr_set_mm-introduce-pr_set_mm_map-operation-v3-fix.patch
* prctl-pr_set_mm-introduce-pr_set_mm_map-operation-v4-fix.patch
* prctl-pr_set_mm-introduce-pr_set_mm_map-operation-v4-fix-2.patch
* mm-remove-noisy-remainder-of-the-scan_unevictable-interface.patch
* mempolicy-change-alloc_pages_vma-to-use-mpol_cond_put.patch
* mempolicy-change-get_task_policy-to-return-default_policy-rather-than-null.patch
* mempolicy-sanitize-the-usage-of-get_task_policy.patch
* mempolicy-remove-the-task-arg-of-vma_policy_mof-and-simplify-it.patch
* mempolicy-introduce-__get_vma_policy-export-get_task_policy.patch
* mempolicy-fix-show_numa_map-vs-exec-do_set_mempolicy-race.patch
* mempolicy-kill-do_set_mempolicy-down_writemm-mmap_sem.patch
* mempolicy-unexport-get_vma_policy-and-remove-its-task-arg.patch
* include-linux-migrateh-remove-migratepage-define.patch
* mm-use-seq_open_private-instead-of-seq_open.patch
* mm-use-__seq_open_private-instead-of-seq_open.patch
* introduce-dump_vma.patch
* introduce-dump_vma-fix.patch
* introduce-dump_vma-fix-2.patch
* introduce-vm_bug_on_vma.patch
* convert-a-few-vm_bug_on-callers-to-vm_bug_on_vma.patch
* convert-a-few-vm_bug_on-callers-to-vm_bug_on_vma-checkpatch-fixes.patch
* mm-page_alloc-avoid-wakeup-kswapd-on-the-unintended-node.patch
* mm-use-min3-max3-macros-to-avoid-shadow-warnings.patch
* mm-clean-up-zone-flags.patch
* mm-mmapc-clean-up-config_debug_vm_rb-checks.patch
* mm-compaction-fix-warning-of-flags-may-be-used-uninitialized.patch
* mm-clear-__gfp_fs-when-pf_memalloc_noio-is-set.patch
* ocfs2-fix-a-deadlock-while-o2net_wq-doing-direct-memory-reclaim.patch
* mm-page_alloc-make-paranoid-check-in-move_freepages-a-vm_bug_on.patch
* mm-page_alloc-default-node-ordering-on-64-bit-numa-zone-ordering-on-32-bit-v2.patch
* mm-softdirty-enable-write-notifications-on-vmas-after-vm_softdirty-cleared.patch
* mm-softdirty-unmapped-addresses-between-vmas-are-clean.patch
* mm-softdirty-unmapped-addresses-between-vmas-are-clean-v2.patch
* mm-move-debug-code-out-of-page_allocc.patch
* mm-introduce-vm_bug_on_mm.patch
* mm-introduce-vm_bug_on_mm-checkpatch-fixes.patch
* mm-use-vm_bug_on_mm-where-possible.patch
* mm-debugc-use-pr_emerg.patch
* free-the-reserved-memblock-when-free-cma-pages.patch
* memcg-move-memcg_allocfree_cache_params-to-slab_commonc.patch
* memcg-dont-call-memcg_update_all_caches-if-new-cache-id-fits.patch
* memcg-move-memcg_update_cache_size-to-slab_commonc.patch
* mm-dmapool-add-remove-sysfs-file-outside-of-the-pool-lock-lock.patch
* mm-hugetlb-reduce-arch-dependent-code-around-follow_huge_.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
* vmstat-on-demand-vmstat-workers-v8.patch
* vmstat-on-demand-vmstat-workers-v8-fix.patch
* vmstat-on-demand-vmstat-workers-v8-do-not-open-code-alloc_cpumask_var.patch
* vmstat-on-demand-vmstat-workers-v8-fix-2.patch
* mm-introduce-do_shared_fault-and-drop-do_fault-fix-fix.patch
* fs-mpagec-forgotten-write_sync-in-case-of-data-integrity-write.patch
* m68k-call-find_vma-with-the-mmap_sem-held-in-sys_cacheflush.patch
* m68k-call-find_vma-with-the-mmap_sem-held-in-sys_cacheflush-v2.patch
* zsmalloc-move-pages_allocated-to-zs_pool.patch
* zsmalloc-change-return-value-unit-of-zs_get_total_size_bytes.patch
* zram-zram-memory-size-limitation.patch
* zram-zram-memory-size-limitation-fix.patch
* zram-zram-memory-size-limitation-fix-fix.patch
* zram-zram-memory-size-limitation-fix-2.patch
* zram-report-maximum-used-memory.patch
* zram-use-notify_free-to-account-all-free-notifications.patch
* mm-correct-comment-for-fullness-group-computation-in-zsmallocc.patch
* zsmalloc-simplify-init_zspage-free-obj-linking.patch
* zbud-avoid-accessing-in-last-unused-freelist.patch
* do_shared_fault-check-that-mmap_sem-is-held.patch
* frv-remove-unused-cpuinfo_frv-and-friends-to-fix-future-build-error.patch
* alpha-use-kbuild-logic-to-include-asm-generic-sectionsh.patch
* include-kernelh-rewrite-min3-max3-and-clamp-using-min-and-max.patch
* blkdev-use-null-instead-of-zero.patch
* kernel-async-fixed-coding-style-issues.patch
* acct-eliminate-compile-warning.patch
* acct-eliminate-compile-warning-fix.patch
* kernel-fix-for-checkpatch-errors-in-sys-file.patch
* kern-sys-compat-sysinfo-syscall-fix-undefined-behavior.patch
* include-linux-screen_infoh-remove-unused-orig_-macros.patch
* nosave-consolidate-__nosave_beginend-in-asm-sectionsh.patch
* drivers-misc-ti-st-st_corec-fix-null-dereference-on-protocol-type-check.patch
* printk-dont-bother-using-log_cpu_max_buf_shift-on-smp.patch
* lib-vsprintf-add-%pt-format-specifier.patch
* maintainers-assing-systemace-driver-to-xilinx.patch
* remove-non-existent-files-from-maintainerspatch-added-to-mm-tree.patch
* maintainers-linaro-mm-sig-is-moderated.patch
* maintainers-add-entry-for-kernel-selftest-framework.patch
* drivers-video-backlight-backlightc-remove-backlight-sysfs-uevent.patch
* list-include-linux-kernelh.patch
* lib-use-seq_open_private-instead-of-seq_open.patch
* removing-textsearch_put-reference-from-the-comments.patch
* lib-remove-prio_heap.patch
* mm-utilc-add-kstrimdup.patch
* lib-add-crc64-ecma-module.patch
* checkpatch-fix-spello.patch
* checkpatch-remove-debugging-message.patch
* checkpatch-update-allowed_asm_includes-macros-add-rebooth-and-timeh.patch
* checkpatch-enable-whitespace-checks-for-dts-files.patch
* checkpatch-allow-optional-shorter-config-descriptions.patch
* checkpatch-allow-optional-shorter-config-descriptions-v4.patch
* checkpatch-add-strict-test-for-concatenated-string-elements.patch
* checkpatch-remove-unnecessary-after-88.patch
* checkpatch-warn-on-macros-with-flow-control-statements.patch
* checkpatch-look-for-common-misspellings.patch
* binfmt_misc-expand-the-register-format-limit-to-1920-bytes.patch
* binfmt_misc-touch-up-documentation-a-bit.patch
* binfmt_misc-work-around-gcc-49-warning.patch
* kernel-kallsymsc-use-__seq_open_private.patch
* autofs4-allow-rcu-walk-to-walk-through-autofs4.patch
* autofs4-factor-should_expire-out-of-autofs4_expire_indirect.patch
* autofs4-make-autofs4_can_expire-idempotent.patch
* autofs4-avoid-taking-fs_lock-during-rcu-walk.patch
* autofs4-d_manage-should-return-eisdir-when-appropriate-in-rcu-walk-mode.patch
* autofs4-d_manage-should-return-eisdir-when-appropriate-in-rcu-walk-mode-fix.patch
* autofs-the-documentation-i-wanted-to-read.patch
* rtc-use-c99-initializers-in-structures.patch
* rtc-s3c-define-s3c_rtc-structure-to-remove-global-variables.patch
* rtc-s3c-remove-warning-message-when-checking-coding-style-with-checkpatch-script.patch
* rtc-s3c-add-s3c_rtc_data-structure-to-use-variant-data-instead-of-s3c_cpu_type.patch
* rtc-s3c-add-support-for-rtc-of-exynos3250-soc.patch
* arm-dts-fix-wrong-compatible-string-of-exynos3250-rtc-dt-node.patch
* rtc-make-of_device_ids-const.patch
* rtc-rk808-add-rtc-driver-for-rk808.patch
* rtc-rk808-add-rtc-driver-for-rk808-fix.patch
* rtc-rk808-add-rtc-driver-for-rk808-fix-2.patch
* clk-rk808-add-clkout-driver-for-rk808.patch
* documentation-dt-bindings-trickle-charger-dt-binding-document-for-ds1339.patch
* rtc-ds1307-add-trickle-charger-device-tree-binding.patch
* rtc-bq32000-add-trickle-charger-option-with-device-tree-binding.patch
* rtc-bq32000-add-trickle-charger-option-with-device-tree-binding-checkpatch-fixes.patch
* rtc-bq32000-add-trickle-charger-device-tree-binding.patch
* rtc-max77686-allow-the-max77686-rtc-to-wakeup-the-system.patch
* rtc-max77686-remove-dead-code-for-smpl-and-wtsr.patch
* rtc-max77686-fail-to-probe-if-no-rtc-regmap-irqchip-is-set.patch
* rtc-max77686-remove-unneded-info-log.patch
* rtc-max77686-use-ffs-to-calculate-tm_wday.patch
* rtc-max77686-use-ffs-to-calculate-tm_wday-fix.patch
* rtc-add-driver-for-maxim-77802-pmic-real-time-clock.patch
* rtc-add-driver-for-maxim-77802-pmic-real-time-clock-v10.patch
* rtc-add-driver-for-maxim-77802-pmic-real-time-clock-v10-fix.patch
* rtc-pm8xxx-rework-to-support-pm8941-rtc.patch
* rtc-pm8xxx-rework-to-support-pm8941-rtc-checkpatch-fixes.patch
* fs-befs-btreec-remove-typedef-befs_btree_node.patch
* nilfs2-add-missing-blkdev_issue_flush-to-nilfs_sync_fs.patch
* hfsplus-fix-longname-handling.patch
* fs-reiserfs-journalc-fix-sparse-context-imbalance-warning.patch
* try-to-use-automatic-variable-in-kexec-purgatory-makefile.patch
* take-the-segment-adding-out-of-locate_mem_hole-functions.patch
* check-if-crashk_res_low-exists-when-exclude-it-from-crash-mem-ranges.patch
* kexec-remove-the-unused-function-parameter.patch
* kexec-bzimage64-fix-sparse-warnings.patch
* rbtree-add-comment-to-rb_insert_augmented.patch
* kgdb-timeout-if-secondary-cpus-ignore-the-roundup.patch
* x86-optimize-resource-lookups-for-ioremap.patch
* x86-optimize-resource-lookups-for-ioremap-fix.patch
* x86-use-optimized-ioresource-lookup-in-ioremap-function.patch
* init-resolve-shadow-warnings.patch
* init-resolve-shadow-warnings-checkpatch-fixes.patch
* ipc-always-handle-a-new-value-of-auto_msgmni.patch
* ipc-shm-kill-the-historical-wrong-mm-start_stack-check.patch
* ipc-use-__seq_open_private-instead-of-seq_open.patch
* ipc-resolve-shadow-warnings.patch
* build-trivia-scripts-headers_installsh.patch
* scripts-sortextable-suppress-warning-relocs_size-may-be-used-uninitialized.patch
  linux-next.patch
  linux-next-rejects.patch
* drivers-gpio-gpio-zevioc-fix-build.patch
* x86-vdso-fix-vdso2cs-special_pages-error-checking.patch
* arch-x86-kernel-cpu-commonc-fix-unused-symbol-warning.patch
* lib-string-remove-duplicated-function.patch
* lib-string-make-all-calls-to-strnicmp-into-calls-to-strncasecmp.patch
* arm-replace-strnicmp-with-strncasecmp.patch
* block-replace-strnicmp-with-strncasecmp.patch
* netfilter-replace-strnicmp-with-strncasecmp.patch
* video-fbdev-replace-strnicmp-with-strncasecmp.patch
* cifs-replace-strnicmp-with-strncasecmp.patch
* ocfs2-replace-strnicmp-with-strncasecmp.patch
* isofs-replace-strnicmp-with-strncasecmp.patch
* batman-adv-replace-strnicmp-with-strncasecmp.patch
* acpi-battery-replace-strnicmp-with-strncasecmp.patch
* cpufreq-replace-strnicmp-with-strncasecmp.patch
* cpuidle-replace-strnicmp-with-strncasecmp.patch
* scsi-replace-strnicmp-with-strncasecmp.patch
* ib_srpt-replace-strnicmp-with-strncasecmp.patch
* input-edt-ft5x06-replace-strnicmp-with-strncasecmp.patch
* altera-stapl-replace-strnicmp-with-strncasecmp.patch
* thinkpad_acpi-replace-strnicmp-with-strncasecmp.patch
* pnp-replace-strnicmp-with-strncasecmp.patch
* s390-cio-replace-strnicmp-with-strncasecmp.patch
* staging-r8188eu-replace-strnicmp-with-strncasecmp.patch
* thermal-replace-strnicmp-with-strncasecmp.patch
* kdb-replace-strnicmp-with-strncasecmp.patch
* fs-check-bh-blocknr-earlier-when-searching-lru.patch
* mem-hotplug-fix-boot-failed-in-case-all-the-nodes-are-hotpluggable.patch
* mem-hotplug-fix-boot-failed-in-case-all-the-nodes-are-hotpluggable-checkpatch-fixes.patch
* include-linux-remove-strict_strto-definitions.patch
* lib-string_helpers-move-documentation-to-c-file.patch
* lib-string_helpers-refactoring-the-test-suite.patch
* lib-string_helpers-introduce-string_escape_mem.patch
* lib-string_helpers-introduce-string_escape_mem-fix.patch
* lib-vsprintf-add-%pe-format-specifier.patch
* lib-vsprintf-add-%pe-format-specifier-fix.patch
* wireless-libertas-print-esaped-string-via-%pe.patch
* wireless-ipw2x00-print-ssid-via-%pe.patch
* wireless-hostap-proc-print-properly-escaped-ssid.patch
* wireless-hostap-proc-print-properly-escaped-ssid-fix.patch
* wireless-hostap-proc-print-properly-escaped-ssid-fix-2.patch
* lib80211-remove-unused-print_ssid.patch
* staging-wlan-ng-use-%pehp-to-print-sn.patch
* staging-rtl8192e-use-%pen-to-escape-buffer.patch
* staging-rtl8192u-use-%pen-to-escape-buffer.patch
* watchdog-control-hard-lockup-detection-default.patch
* watchdog-control-hard-lockup-detection-default-fix.patch
* watchdog-control-hard-lockup-detection-default-fix-2.patch
* kvm-ensure-hard-lockup-detection-is-disabled-by-default.patch
* kernel-add-support-for-kernel-restart-handler-call-chain.patch
* power-restart-call-machine_restart-instead-of-arm_pm_restart.patch
* arm64-support-restart-through-restart-handler-call-chain.patch
* arm-support-restart-through-restart-handler-call-chain.patch
* watchdog-moxart-register-restart-handler-with-kernel-restart-handler.patch
* watchdog-alim7101-register-restart-handler-with-kernel-restart-handler.patch
* watchdog-sunxi-register-restart-handler-with-kernel-restart-handler.patch
* arm-arm64-unexport-restart-handlers.patch
* watchdog-s3c2410-add-restart-handler.patch
* clk-samsung-register-restart-handlers-for-s3c2412-and-s3c2443.patch
* clk-rockchip-add-restart-handler.patch
* frv-remove-unused-declarations-of-__start___ex_table-and-__stop___ex_table.patch
* ia64-remove-duplicate-declarations-of-__per_cpu_start-and-__per_cpu_end.patch
* kernel-param-consolidate-__startstop___param-in-linux-moduleparamh.patch
* mm-replace-remap_file_pages-syscall-with-emulation.patch
* fat-add-i_disksize-to-represent-uninitialized-size-v4.patch
* fat-add-fat_fallocate-operation-v4.patch
* fat-zero-out-seek-range-on-_fat_get_block-v4.patch
* fat-fallback-to-buffered-write-in-case-of-fallocated-region-on-direct-io-v4.patch
* fat-permit-to-return-phy-block-number-by-fibmap-in-fallocated-region-v4.patch
* documentation-filesystems-vfattxt-update-the-limitation-for-fat-fallocate-v4.patch
* w1-call-put_device-if-device_register-fails.patch
* mm-add-strictlimit-knob-v2.patch
  debugging-keep-track-of-page-owners.patch
  debugging-keep-track-of-page-owners-fix.patch
  page-owners-correct-page-order-when-to-free-page.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
  single_open-seq_release-leak-diagnostics.patch

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

* Re: mmotm 2014-09-22-16-57 uploaded
  2014-09-23  0:02 mmotm 2014-09-22-16-57 uploaded akpm
@ 2014-09-23  0:39 ` Stephen Rothwell
  2014-09-23  1:12   ` Andrew Morton
  2014-09-23  9:24 ` [PATCH] mm, debug: mm-introduce-vm_bug_on_mm-fix.patch Michal Hocko
  2014-09-23 19:02 ` mmotm 2014-09-22-16-57 uploaded Guenter Roeck
  2 siblings, 1 reply; 27+ messages in thread
From: Stephen Rothwell @ 2014-09-23  0:39 UTC (permalink / raw)
  To: akpm
  Cc: mm-commits, linux-kernel, linux-mm, linux-fsdevel, linux-next, mhocko

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

Hi Andrew,

On Mon, 22 Sep 2014 17:02:56 -0700 akpm@linux-foundation.org wrote:
>
> The mm-of-the-moment snapshot 2014-09-22-16-57 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 tar file is no longer expanded into a broken-out directory?

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

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

* Re: mmotm 2014-09-22-16-57 uploaded
  2014-09-23  0:39 ` Stephen Rothwell
@ 2014-09-23  1:12   ` Andrew Morton
  0 siblings, 0 replies; 27+ messages in thread
From: Andrew Morton @ 2014-09-23  1:12 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: linux-kernel, linux-mm, linux-fsdevel, linux-next, mhocko

On Tue, 23 Sep 2014 10:39:25 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:

> > 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 tar file is no longer expanded into a broken-out directory?

ssh connections to ozlabs.org were intermittently timing out,
producing a partial result.  Then they stopped altogether while I was
poking at it.

Maybe it will be feeling better tomorrow.

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

* [PATCH] mm, debug: mm-introduce-vm_bug_on_mm-fix.patch
  2014-09-23  0:02 mmotm 2014-09-22-16-57 uploaded akpm
  2014-09-23  0:39 ` Stephen Rothwell
@ 2014-09-23  9:24 ` Michal Hocko
  2014-09-23 11:28   ` [PATCH] mm, debug: mm-introduce-vm_bug_on_mm-fix-fix.patch Michal Hocko
  2014-09-23 19:02 ` mmotm 2014-09-22-16-57 uploaded Guenter Roeck
  2 siblings, 1 reply; 27+ messages in thread
From: Michal Hocko @ 2014-09-23  9:24 UTC (permalink / raw)
  To: Andrew Morton
  Cc: mm-commits, linux-kernel, linux-mm, linux-fsdevel, linux-next,
	sfr, Sasha Levin

dump_mm wants to dump mm->owner even when CONFIG_MEMCG is not defined
which leads to a compilation error:
mm/debug.c: In function ‘dump_mm’:
mm/debug.c:212:5: error: ‘const struct mm_struct’ has no member named ‘owner’
   mm->owner, mm->exe_file,

Signed-off-by: Michal Hocko <mhocko@suse.cz>
---
 mm/debug.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/mm/debug.c b/mm/debug.c
index 281abb2edddd..63aba9dcfb4e 100644
--- a/mm/debug.c
+++ b/mm/debug.c
@@ -181,7 +181,10 @@ void dump_mm(const struct mm_struct *mm)
 #ifdef CONFIG_AIO
 		"ioctx_table %p\n"
 #endif
-		"owner %p exe_file %p\n"
+#ifdef CONFIG_MEMCG
+		"owner %p "
+#endif
+		"exe_file %p\n"
 #ifdef CONFIG_MMU_NOTIFIER
 		"mmu_notifier_mm %p\n"
 #endif
@@ -209,7 +212,10 @@ void dump_mm(const struct mm_struct *mm)
 #ifdef CONFIG_AIO
 		mm->ioctx_table,
 #endif
-		mm->owner, mm->exe_file,
+#ifdef CONFIG_MEMCG
+		mm->owner,
+#endif
+		mm->exe_file,
 #ifdef CONFIG_MMU_NOTIFIER
 		mm->mmu_notifier_mm,
 #endif
-- 
2.1.0


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

* [PATCH] mm, debug: mm-introduce-vm_bug_on_mm-fix-fix.patch
  2014-09-23  9:24 ` [PATCH] mm, debug: mm-introduce-vm_bug_on_mm-fix.patch Michal Hocko
@ 2014-09-23 11:28   ` Michal Hocko
  2014-09-23 16:19     ` Valdis.Kletnieks
  2014-09-23 20:12     ` Dave Jones
  0 siblings, 2 replies; 27+ messages in thread
From: Michal Hocko @ 2014-09-23 11:28 UTC (permalink / raw)
  To: Andrew Morton
  Cc: mm-commits, linux-kernel, linux-mm, linux-fsdevel, linux-next,
	sfr, Sasha Levin

And there is another one hitting during randconfig. The patch makes my
eyes bleed but I don't know about other way without breaking out the
thing into separate parts sounds worse because we can mix with other
messages then.
---
>From 9df0782835e7bde769f8721cfe2b13b9f1dafa9a Mon Sep 17 00:00:00 2001
From: Michal Hocko <mhocko@suse.cz>
Date: Tue, 23 Sep 2014 12:55:18 +0200
Subject: [PATCH] mm, debug: introduce-vm_bug_on_mm-fix-fix.patch
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

dump_mm will fail to compile if the last config options are not defined.
I have hit the following (trimmed down) while doing randconfig:
mm/debug.c: In function ‘dump_mm’:
mm/debug.c:197:3: error: expected ‘)’ before ‘mm’
   mm, mm->mmap, mm->vmacache_seqnum, mm->task_size,
   ^
include/linux/printk.h:221:21: note: in definition of macro ‘pr_fmt’
 #define pr_fmt(fmt) fmt
                     ^
mm/debug.c:169:2: note: in expansion of macro ‘pr_emerg’
  pr_emerg("mm %p mmap %p seqnum %d task_size %lu\n"

with neither CONFIG_COMPACTION nor CONFIG_NUMA_BALANCING set because
the last format string portion will not have a comma separating other
parameters. There is also a trailing comma at the end of parameters
list.

Fix this by being careful to place commas before mm as the first known
unconditional paramter after formatting patch and also before the last
conditional parameters rather at their end.

Signed-off-by: Michal Hocko <mhocko@suse.cz>
---
 mm/debug.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/mm/debug.c b/mm/debug.c
index 63aba9dcfb4e..d21b7e6b4bbc 100644
--- a/mm/debug.c
+++ b/mm/debug.c
@@ -192,9 +192,9 @@ void dump_mm(const struct mm_struct *mm)
 		"numa_next_scan %lu numa_scan_offset %lu numa_scan_seq %d\n"
 #endif
 #if defined(CONFIG_NUMA_BALANCING) || defined(CONFIG_COMPACTION)
-		"tlb_flush_pending %d\n",
+		"tlb_flush_pending %d\n"
 #endif
-		mm, mm->mmap, mm->vmacache_seqnum, mm->task_size,
+		, mm, mm->mmap, mm->vmacache_seqnum, mm->task_size,
 #ifdef CONFIG_MMU
 		mm->get_unmapped_area,
 #endif
@@ -215,15 +215,15 @@ void dump_mm(const struct mm_struct *mm)
 #ifdef CONFIG_MEMCG
 		mm->owner,
 #endif
-		mm->exe_file,
+		mm->exe_file
 #ifdef CONFIG_MMU_NOTIFIER
-		mm->mmu_notifier_mm,
+		, mm->mmu_notifier_mm
 #endif
 #ifdef CONFIG_NUMA_BALANCING
-		mm->numa_next_scan, mm->numa_scan_offset, mm->numa_scan_seq,
+		, mm->numa_next_scan, mm->numa_scan_offset, mm->numa_scan_seq
 #endif
 #if defined(CONFIG_NUMA_BALANCING) || defined(CONFIG_COMPACTION)
-		mm->tlb_flush_pending
+		, mm->tlb_flush_pending
 #endif
 		);
 
-- 
2.1.0

-- 
Michal Hocko
SUSE Labs

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

* Re: [PATCH] mm, debug: mm-introduce-vm_bug_on_mm-fix-fix.patch
  2014-09-23 11:28   ` [PATCH] mm, debug: mm-introduce-vm_bug_on_mm-fix-fix.patch Michal Hocko
@ 2014-09-23 16:19     ` Valdis.Kletnieks
  2014-09-23 20:52       ` Andrew Morton
  2014-09-23 20:12     ` Dave Jones
  1 sibling, 1 reply; 27+ messages in thread
From: Valdis.Kletnieks @ 2014-09-23 16:19 UTC (permalink / raw)
  To: Michal Hocko
  Cc: Andrew Morton, mm-commits, linux-kernel, linux-mm, linux-fsdevel,
	linux-next, sfr, Sasha Levin

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

On Tue, 23 Sep 2014 13:28:48 +0200, Michal Hocko said:
> And there is another one hitting during randconfig. The patch makes my
> eyes bleed

Amen.  But I'm not seeing a better fix either.

>  #if defined(CONFIG_NUMA_BALANCING) || defined(CONFIG_COMPACTION)
> -		"tlb_flush_pending %d\n",
> +		"tlb_flush_pending %d\n"
>  #endif
> -		mm, mm->mmap, mm->vmacache_seqnum, mm->task_size,
> +		, mm, mm->mmap, mm->vmacache_seqnum, mm->task_size,

I'm surprised that checkpatch doesn't explode on this.  And I'm starting
a pool on how soon somebody submits a patch to "fix" this. :)

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

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

* Re: mmotm 2014-09-22-16-57 uploaded
  2014-09-23  0:02 mmotm 2014-09-22-16-57 uploaded akpm
  2014-09-23  0:39 ` Stephen Rothwell
  2014-09-23  9:24 ` [PATCH] mm, debug: mm-introduce-vm_bug_on_mm-fix.patch Michal Hocko
@ 2014-09-23 19:02 ` Guenter Roeck
  2014-09-23 20:01   ` Andrew Morton
  2014-09-23 20:31   ` Randy Dunlap
  2 siblings, 2 replies; 27+ messages in thread
From: Guenter Roeck @ 2014-09-23 19:02 UTC (permalink / raw)
  To: akpm
  Cc: mm-commits, linux-kernel, linux-mm, linux-fsdevel, linux-next,
	sfr, mhocko

On Mon, Sep 22, 2014 at 05:02:56PM -0700, akpm@linux-foundation.org wrote:
> The mm-of-the-moment snapshot 2014-09-22-16-57 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.
> 
Sine I started testing this branch, I figure I might as well share the results.

Build results:
	total: 133 pass: 115 fail: 18
Failed builds:
	alpha:defconfig
	alpha:allmodconfig
	arm:imx_v6_v7_defconfig
	arm:imx_v4_v5_defconfig
	i386:allyesconfig
	i386:allmodconfig
	m68k:allmodconfig
	mips:nlm_xlp_defconfig
	parisc:a500_defconfig
	powerpc:cell_defconfig
	powerpc:ppc6xx_defconfig
	powerpc:mpc85xx_defconfig
	powerpc:mpc85xx_smp_defconfig
	tile:tilegx_defconfig

Qemu test results:
	total: 24 pass: 23 fail: 1
Failed tests:
	alpha:alpha_defconfig

More information is available at http://server.roeck-us.net:8010/builders.
Note that powerpc failures are counted twice because they are built twice,
once with binutils 2.23 and once with 2.24.

The most scary problem (in my opinion) is the failed mips:nlm_xlp_defconfig
build.  It is caused by 'scsi_netlink : Make SCSI_NETLINK dependent on NET
instead of selecting NET', which effectively disables CONFIG_NET for around
30 configurations (assuming I found them all). The practical impact is that
the affected configurations won't really work anymore, even if they compile. 

Guenter

---
Details:

alpha (including qemu)

drivers/tty/serial/8250/8250_core.c: In function 'serial8250_ioctl':
drivers/tty/serial/8250/8250_core.c:2874:7: error: 'TIOCSRS485' undeclared

arm:imx_v6_v7_defconfig
arm:imx_v4_v5_defconfig

drivers/media/platform/coda/coda-bit.c: In function 'coda_fill_bitstream':
drivers/media/platform/coda/coda-bit.c:231:4: error: implicit declaration of function 'kmalloc'
drivers/media/platform/coda/coda-bit.c: In function 'coda_alloc_framebuffers':
drivers/media/platform/coda/coda-bit.c:312:3: error: implicit declaration of function 'kfree'

i386:allyesconfig

drivers/built-in.o: In function `_scsih_qcmd':
mpt2sas_scsih.c:(.text+0xf5327d): undefined reference to `__udivdi3'
mpt2sas_scsih.c:(.text+0xf532b0): undefined reference to `__umoddi3'

i386:allmodconfig

ERROR: "__udivdi3" [drivers/scsi/mpt2sas/mpt2sas.ko] undefined!
ERROR: "__umoddi3" [drivers/scsi/mpt2sas/mpt2sas.ko] undefined!

m68k:allmodconfig

drivers/tty/serial/st-asc.c: In function 'asc_in':
drivers/tty/serial/st-asc.c:154:2: error: implicit declaration of function 'readl_relaxed'

mips:nlm_xlp_defconfig

ERROR: "scsi_is_fc_rport" [drivers/scsi/libfc/libfc.ko] undefined!
ERROR: "fc_get_event_number" [drivers/scsi/libfc/libfc.ko] undefined!
ERROR: "skb_trim" [drivers/scsi/libfc/libfc.ko] undefined!
ERROR: "fc_host_post_event" [drivers/scsi/libfc/libfc.ko] undefined!

[and many more]

parisc:a500_defconfig

ERROR: "csum_partial" [drivers/scsi/scsi_debug.ko] undefined!

powerpc:cell_defconfig
powerpc:mpc85xx_defconfig
powerpc:mpc85xx_smp_defconfig

arch/powerpc/mm/hugetlbpage.c:710:1: error: conflicting types for 'follow_huge_pud'
 follow_huge_pud(struct mm_struct *mm, unsigned long address,
  ^
In file included from arch/powerpc/mm/hugetlbpage.c:14:0: include/linux/hugetlb.h:103:14:
	note: previous declaration of 'follow_huge_pud' was here
   struct page *follow_huge_pud(struct mm_struct *mm, unsigned long address,
                 ^

powerpc:ppc6xx_defconfig

In file included from include/linux/kernel.h:13:0, from mm/debug.c:8:
mm/debug.c: In function 'dump_mm':
mm/debug.c:212:5: error: 'const struct mm_struct' has no member named 'owner'

tile:tilegx_defconfig

mm/debug.c: In function 'dump_mm':
mm/debug.c:169:2: error: expected ')' before 'mm'

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

* Re: mmotm 2014-09-22-16-57 uploaded
  2014-09-23 19:02 ` mmotm 2014-09-22-16-57 uploaded Guenter Roeck
@ 2014-09-23 20:01   ` Andrew Morton
  2014-09-23 20:13     ` Fabio Estevam
                       ` (2 more replies)
  2014-09-23 20:31   ` Randy Dunlap
  1 sibling, 3 replies; 27+ messages in thread
From: Andrew Morton @ 2014-09-23 20:01 UTC (permalink / raw)
  To: Guenter Roeck
  Cc: linux-kernel, linux-mm, linux-fsdevel, linux-next, sfr, mhocko,
	Naoya Horiguchi, Sasha Levin, Anish Bhatt, David Miller,
	Fabio Estevam

On Tue, 23 Sep 2014 12:02:22 -0700 Guenter Roeck <linux@roeck-us.net> wrote:

> On Mon, Sep 22, 2014 at 05:02:56PM -0700, akpm@linux-foundation.org wrote:
> > The mm-of-the-moment snapshot 2014-09-22-16-57 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.
> > 
> Sine I started testing this branch, I figure I might as well share the results.
> 
> Build results:
> 	total: 133 pass: 115 fail: 18
> Failed builds:
> 	alpha:defconfig
> 	alpha:allmodconfig
> 	arm:imx_v6_v7_defconfig
> 	arm:imx_v4_v5_defconfig
> 	i386:allyesconfig
> 	i386:allmodconfig
> 	m68k:allmodconfig
> 	mips:nlm_xlp_defconfig
> 	parisc:a500_defconfig
> 	powerpc:cell_defconfig
> 	powerpc:ppc6xx_defconfig
> 	powerpc:mpc85xx_defconfig
> 	powerpc:mpc85xx_smp_defconfig
> 	tile:tilegx_defconfig
> 
> Qemu test results:
> 	total: 24 pass: 23 fail: 1
> Failed tests:
> 	alpha:alpha_defconfig
> 
> More information is available at http://server.roeck-us.net:8010/builders.
> Note that powerpc failures are counted twice because they are built twice,
> once with binutils 2.23 and once with 2.24.
> 
> The most scary problem (in my opinion) is the failed mips:nlm_xlp_defconfig
> build.  It is caused by 'scsi_netlink : Make SCSI_NETLINK dependent on NET
> instead of selecting NET', which effectively disables CONFIG_NET for around
> 30 configurations (assuming I found them all). The practical impact is that
> the affected configurations won't really work anymore, even if they compile. 

cc'ing Anish Bhatt.

> Guenter
> 
> ---
> Details:
> 
> alpha (including qemu)
> 
> drivers/tty/serial/8250/8250_core.c: In function 'serial8250_ioctl':
> drivers/tty/serial/8250/8250_core.c:2874:7: error: 'TIOCSRS485' undeclared
> 
> arm:imx_v6_v7_defconfig
> arm:imx_v4_v5_defconfig
> 
> drivers/media/platform/coda/coda-bit.c: In function 'coda_fill_bitstream':
> drivers/media/platform/coda/coda-bit.c:231:4: error: implicit declaration of function 'kmalloc'
> drivers/media/platform/coda/coda-bit.c: In function 'coda_alloc_framebuffers':
> drivers/media/platform/coda/coda-bit.c:312:3: error: implicit declaration of function 'kfree'

That's odd - it includes slab.h.  Cc Fabio.

> i386:allyesconfig
> 
> drivers/built-in.o: In function `_scsih_qcmd':
> mpt2sas_scsih.c:(.text+0xf5327d): undefined reference to `__udivdi3'
> mpt2sas_scsih.c:(.text+0xf532b0): undefined reference to `__umoddi3'
>
> i386:allmodconfig
> 
> ERROR: "__udivdi3" [drivers/scsi/mpt2sas/mpt2sas.ko] undefined!
> ERROR: "__umoddi3" [drivers/scsi/mpt2sas/mpt2sas.ko] undefined!

Sigh.
 
> m68k:allmodconfig
> 
> drivers/tty/serial/st-asc.c: In function 'asc_in':
> drivers/tty/serial/st-asc.c:154:2: error: implicit declaration of function 'readl_relaxed'
> 
> mips:nlm_xlp_defconfig
> 
> ERROR: "scsi_is_fc_rport" [drivers/scsi/libfc/libfc.ko] undefined!
> ERROR: "fc_get_event_number" [drivers/scsi/libfc/libfc.ko] undefined!
> ERROR: "skb_trim" [drivers/scsi/libfc/libfc.ko] undefined!
> ERROR: "fc_host_post_event" [drivers/scsi/libfc/libfc.ko] undefined!
> 
> [and many more]
> 
> parisc:a500_defconfig
> 
> ERROR: "csum_partial" [drivers/scsi/scsi_debug.ko] undefined!
> 
> powerpc:cell_defconfig
> powerpc:mpc85xx_defconfig
> powerpc:mpc85xx_smp_defconfig
> 
> arch/powerpc/mm/hugetlbpage.c:710:1: error: conflicting types for 'follow_huge_pud'
>  follow_huge_pud(struct mm_struct *mm, unsigned long address,
>   ^
> In file included from arch/powerpc/mm/hugetlbpage.c:14:0: include/linux/hugetlb.h:103:14:
> 	note: previous declaration of 'follow_huge_pud' was here
>    struct page *follow_huge_pud(struct mm_struct *mm, unsigned long address,
                 ^

Naoya, please check:

--- a/arch/powerpc/mm/hugetlbpage.c~mm-hugetlb-reduce-arch-dependent-code-around-follow_huge_-fix
+++ a/arch/powerpc/mm/hugetlbpage.c
@@ -708,7 +708,7 @@ follow_huge_pmd(struct mm_struct *mm, un
 
 struct page *
 follow_huge_pud(struct mm_struct *mm, unsigned long address,
-		pmd_t *pmd, int write)
+		pud_t *pud, int write)
 {
 	BUG();
 	return NULL;
_

> powerpc:ppc6xx_defconfig
> 
> In file included from include/linux/kernel.h:13:0, from mm/debug.c:8:
> mm/debug.c: In function 'dump_mm':
> mm/debug.c:212:5: error: 'const struct mm_struct' has no member named 'owner'

I fixed that.

> tile:tilegx_defconfig
> 
> mm/debug.c: In function 'dump_mm':
> mm/debug.c:169:2: error: expected ')' before 'mm'

Don't have a clue.  In my tree that's

	pr_emerg("mm %p mmap %p seqnum %d task_size %lu\n"


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

* Re: [PATCH] mm, debug: mm-introduce-vm_bug_on_mm-fix-fix.patch
  2014-09-23 11:28   ` [PATCH] mm, debug: mm-introduce-vm_bug_on_mm-fix-fix.patch Michal Hocko
  2014-09-23 16:19     ` Valdis.Kletnieks
@ 2014-09-23 20:12     ` Dave Jones
  2014-10-13 18:51       ` Dave Jones
  1 sibling, 1 reply; 27+ messages in thread
From: Dave Jones @ 2014-09-23 20:12 UTC (permalink / raw)
  To: Michal Hocko
  Cc: Andrew Morton, mm-commits, linux-kernel, linux-mm, linux-fsdevel,
	linux-next, sfr, Sasha Levin

On Tue, Sep 23, 2014 at 01:28:48PM +0200, Michal Hocko wrote:
 > And there is another one hitting during randconfig. The patch makes my
 > eyes bleed but I don't know about other way without breaking out the
 > thing into separate parts sounds worse because we can mix with other
 > messages then.

how about something along the lines of..

 bufptr = buffer = kmalloc()

 #if defined(CONFIG_NUMA_BALANCING) || defined(CONFIG_COMPACTION)
	bufptr += sprintf(bufptr, "tlb_flush_pending %d\n",
			mm->tlb_flush_pending);
 #endif

 #ifdef CONFIG_MMU
	bufptr += sprintf(bufptr, "...
 #endif

 ...

 printk(KERN_EMERG "%s", buffer);

 free(buffer);


Still ugly, but looks less like a trainwreck, and keeps the variables
with the associated text.

It does introduce an allocation though, which may be problematic
in this situation. Depending how big this gets, perhaps make it static
instead?

	Dave


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

* Re: mmotm 2014-09-22-16-57 uploaded
  2014-09-23 20:01   ` Andrew Morton
@ 2014-09-23 20:13     ` Fabio Estevam
  2014-09-23 20:20     ` Naoya Horiguchi
  2014-09-23 20:38     ` Guenter Roeck
  2 siblings, 0 replies; 27+ messages in thread
From: Fabio Estevam @ 2014-09-23 20:13 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Guenter Roeck, linux-kernel, linux-mm, linux-fsdevel, linux-next,
	Stephen Rothwell, mhocko, Naoya Horiguchi, Sasha Levin,
	Anish Bhatt, David Miller, Fabio Estevam

On Tue, Sep 23, 2014 at 5:01 PM, Andrew Morton
<akpm@linux-foundation.org> wrote:

>> arm:imx_v6_v7_defconfig
>> arm:imx_v4_v5_defconfig
>>
>> drivers/media/platform/coda/coda-bit.c: In function 'coda_fill_bitstream':
>> drivers/media/platform/coda/coda-bit.c:231:4: error: implicit declaration of function 'kmalloc'
>> drivers/media/platform/coda/coda-bit.c: In function 'coda_alloc_framebuffers':
>> drivers/media/platform/coda/coda-bit.c:312:3: error: implicit declaration of function 'kfree'
>
> That's odd - it includes slab.h.  Cc Fabio.

linux-next 20140923 has commit c0aaf696d45e2a72 which included slab.h
and fixed these errors.

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

* Re: mmotm 2014-09-22-16-57 uploaded
  2014-09-23 20:01   ` Andrew Morton
  2014-09-23 20:13     ` Fabio Estevam
@ 2014-09-23 20:20     ` Naoya Horiguchi
  2014-09-23 20:38     ` Guenter Roeck
  2 siblings, 0 replies; 27+ messages in thread
From: Naoya Horiguchi @ 2014-09-23 20:20 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Guenter Roeck, linux-kernel, linux-mm, linux-fsdevel, linux-next,
	sfr, mhocko, Sasha Levin, Anish Bhatt, David Miller,
	Fabio Estevam

On Tue, Sep 23, 2014 at 01:01:28PM -0700, Andrew Morton wrote:
> On Tue, 23 Sep 2014 12:02:22 -0700 Guenter Roeck <linux@roeck-us.net> wrote:
...
> > 
> > arch/powerpc/mm/hugetlbpage.c:710:1: error: conflicting types for 'follow_huge_pud'
> >  follow_huge_pud(struct mm_struct *mm, unsigned long address,
> >   ^
> > In file included from arch/powerpc/mm/hugetlbpage.c:14:0: include/linux/hugetlb.h:103:14:
> > 	note: previous declaration of 'follow_huge_pud' was here
> >    struct page *follow_huge_pud(struct mm_struct *mm, unsigned long address,
>                  ^
> 
> Naoya, please check:
> 
> --- a/arch/powerpc/mm/hugetlbpage.c~mm-hugetlb-reduce-arch-dependent-code-around-follow_huge_-fix
> +++ a/arch/powerpc/mm/hugetlbpage.c
> @@ -708,7 +708,7 @@ follow_huge_pmd(struct mm_struct *mm, un
>  
>  struct page *
>  follow_huge_pud(struct mm_struct *mm, unsigned long address,
> -		pmd_t *pmd, int write)
> +		pud_t *pud, int write)
>  {
>  	BUG();
>  	return NULL;
> _

Yes, this is a right fix. Thanks.

Naoya

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

* Re: mmotm 2014-09-22-16-57 uploaded
  2014-09-23 19:02 ` mmotm 2014-09-22-16-57 uploaded Guenter Roeck
  2014-09-23 20:01   ` Andrew Morton
@ 2014-09-23 20:31   ` Randy Dunlap
  2014-09-23 20:57     ` Guenter Roeck
  1 sibling, 1 reply; 27+ messages in thread
From: Randy Dunlap @ 2014-09-23 20:31 UTC (permalink / raw)
  To: Guenter Roeck, akpm
  Cc: mm-commits, linux-kernel, linux-mm, linux-fsdevel, linux-next,
	sfr, mhocko, David Miller

On 09/23/14 12:02, Guenter Roeck wrote:
> On Mon, Sep 22, 2014 at 05:02:56PM -0700, akpm@linux-foundation.org wrote:
>> The mm-of-the-moment snapshot 2014-09-22-16-57 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.
>>
> Sine I started testing this branch, I figure I might as well share the results.
> 
> i386:allyesconfig
> 
> drivers/built-in.o: In function `_scsih_qcmd':
> mpt2sas_scsih.c:(.text+0xf5327d): undefined reference to `__udivdi3'
> mpt2sas_scsih.c:(.text+0xf532b0): undefined reference to `__umoddi3'
> 
> i386:allmodconfig
> 
> ERROR: "__udivdi3" [drivers/scsi/mpt2sas/mpt2sas.ko] undefined!
> ERROR: "__umoddi3" [drivers/scsi/mpt2sas/mpt2sas.ko] undefined!

A patch has been posted for that and I believe that Christoph Hellwig has
merged it.

> mips:nlm_xlp_defconfig
> 
> ERROR: "scsi_is_fc_rport" [drivers/scsi/libfc/libfc.ko] undefined!
> ERROR: "fc_get_event_number" [drivers/scsi/libfc/libfc.ko] undefined!
> ERROR: "skb_trim" [drivers/scsi/libfc/libfc.ko] undefined!
> ERROR: "fc_host_post_event" [drivers/scsi/libfc/libfc.ko] undefined!
> 
> [and many more]

I have posted a patch for these build errors.

-- 
~Randy

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

* Re: mmotm 2014-09-22-16-57 uploaded
  2014-09-23 20:01   ` Andrew Morton
  2014-09-23 20:13     ` Fabio Estevam
  2014-09-23 20:20     ` Naoya Horiguchi
@ 2014-09-23 20:38     ` Guenter Roeck
  2014-09-23 21:08       ` Anish Bhatt
  2 siblings, 1 reply; 27+ messages in thread
From: Guenter Roeck @ 2014-09-23 20:38 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linux-kernel, linux-mm, linux-fsdevel, linux-next, sfr, mhocko,
	Naoya Horiguchi, Sasha Levin, Anish Bhatt, David Miller,
	Fabio Estevam, Randy Dunlap

On Tue, Sep 23, 2014 at 01:01:28PM -0700, Andrew Morton wrote:
> On Tue, 23 Sep 2014 12:02:22 -0700 Guenter Roeck <linux@roeck-us.net> wrote:
> 
> > On Mon, Sep 22, 2014 at 05:02:56PM -0700, akpm@linux-foundation.org wrote:
> > > The mm-of-the-moment snapshot 2014-09-22-16-57 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.
> > > 
> > Sine I started testing this branch, I figure I might as well share the results.
> > 
> > Build results:
> > 	total: 133 pass: 115 fail: 18
> > Failed builds:
> > 	alpha:defconfig
> > 	alpha:allmodconfig
> > 	arm:imx_v6_v7_defconfig
> > 	arm:imx_v4_v5_defconfig
> > 	i386:allyesconfig
> > 	i386:allmodconfig
> > 	m68k:allmodconfig
> > 	mips:nlm_xlp_defconfig
> > 	parisc:a500_defconfig
> > 	powerpc:cell_defconfig
> > 	powerpc:ppc6xx_defconfig
> > 	powerpc:mpc85xx_defconfig
> > 	powerpc:mpc85xx_smp_defconfig
> > 	tile:tilegx_defconfig
> > 
> > Qemu test results:
> > 	total: 24 pass: 23 fail: 1
> > Failed tests:
> > 	alpha:alpha_defconfig
> > 
> > More information is available at http://server.roeck-us.net:8010/builders.
> > Note that powerpc failures are counted twice because they are built twice,
> > once with binutils 2.23 and once with 2.24.
> > 
> > The most scary problem (in my opinion) is the failed mips:nlm_xlp_defconfig
> > build.  It is caused by 'scsi_netlink : Make SCSI_NETLINK dependent on NET
> > instead of selecting NET', which effectively disables CONFIG_NET for around
> > 30 configurations (assuming I found them all). The practical impact is that
> > the affected configurations won't really work anymore, even if they compile. 
> 
> cc'ing Anish Bhatt.
> 
He knows about it, as do David Miller and Randy Dunlap (who proposed it) [1].
There just doesn't seem to be an agreement on how to fix the problem.
A simple revert doesn't work anymore since there are multiple follow-up
patches, and if I understand correctly David is opposed to a revert anyway.

I submitted a set of RFC patches in an attempt to fix the problem for MIPS [2],
but I did not yet get any feedback. Since then I identified 20 more affected
(non-mips) configurations.


> > Guenter
> > 
> > ---
> > Details:
> > 
> > alpha (including qemu)
> > 
> > drivers/tty/serial/8250/8250_core.c: In function 'serial8250_ioctl':
> > drivers/tty/serial/8250/8250_core.c:2874:7: error: 'TIOCSRS485' undeclared
> > 
> > arm:imx_v6_v7_defconfig
> > arm:imx_v4_v5_defconfig
> > 
> > drivers/media/platform/coda/coda-bit.c: In function 'coda_fill_bitstream':
> > drivers/media/platform/coda/coda-bit.c:231:4: error: implicit declaration of function 'kmalloc'
> > drivers/media/platform/coda/coda-bit.c: In function 'coda_alloc_framebuffers':
> > drivers/media/platform/coda/coda-bit.c:312:3: error: implicit declaration of function 'kfree'
> 
> That's odd - it includes slab.h.  Cc Fabio.
> 
Turns out that include is in next-20149023, and the problem is gone there.
Maybe your tree just missed the necessary patch.

> > i386:allyesconfig
> > 
> > drivers/built-in.o: In function `_scsih_qcmd':
> > mpt2sas_scsih.c:(.text+0xf5327d): undefined reference to `__udivdi3'
> > mpt2sas_scsih.c:(.text+0xf532b0): undefined reference to `__umoddi3'
> >
> > i386:allmodconfig
> > 
> > ERROR: "__udivdi3" [drivers/scsi/mpt2sas/mpt2sas.ko] undefined!
> > ERROR: "__umoddi3" [drivers/scsi/mpt2sas/mpt2sas.ko] undefined!
> 
> Sigh.
>  
A patch to fix a problem was submitted. Two times, actually, if I recall
correctly. Should be somewhere in the queue.

> > m68k:allmodconfig
> > 
> > drivers/tty/serial/st-asc.c: In function 'asc_in':
> > drivers/tty/serial/st-asc.c:154:2: error: implicit declaration of function 'readl_relaxed'
> > 
> > mips:nlm_xlp_defconfig
> > 
> > ERROR: "scsi_is_fc_rport" [drivers/scsi/libfc/libfc.ko] undefined!
> > ERROR: "fc_get_event_number" [drivers/scsi/libfc/libfc.ko] undefined!
> > ERROR: "skb_trim" [drivers/scsi/libfc/libfc.ko] undefined!
> > ERROR: "fc_host_post_event" [drivers/scsi/libfc/libfc.ko] undefined!
> > 
> > [and many more]
> > 
> > parisc:a500_defconfig
> > 
> > ERROR: "csum_partial" [drivers/scsi/scsi_debug.ko] undefined!
> > 
> > powerpc:cell_defconfig
> > powerpc:mpc85xx_defconfig
> > powerpc:mpc85xx_smp_defconfig
> > 
> > arch/powerpc/mm/hugetlbpage.c:710:1: error: conflicting types for 'follow_huge_pud'
> >  follow_huge_pud(struct mm_struct *mm, unsigned long address,
> >   ^
> > In file included from arch/powerpc/mm/hugetlbpage.c:14:0: include/linux/hugetlb.h:103:14:
> > 	note: previous declaration of 'follow_huge_pud' was here
> >    struct page *follow_huge_pud(struct mm_struct *mm, unsigned long address,
>                  ^
> 
> Naoya, please check:
> 
> --- a/arch/powerpc/mm/hugetlbpage.c~mm-hugetlb-reduce-arch-dependent-code-around-follow_huge_-fix
> +++ a/arch/powerpc/mm/hugetlbpage.c
> @@ -708,7 +708,7 @@ follow_huge_pmd(struct mm_struct *mm, un
>  
>  struct page *
>  follow_huge_pud(struct mm_struct *mm, unsigned long address,
> -		pmd_t *pmd, int write)
> +		pud_t *pud, int write)
>  {
>  	BUG();
>  	return NULL;
> _
> 
> > powerpc:ppc6xx_defconfig
> > 
> > In file included from include/linux/kernel.h:13:0, from mm/debug.c:8:
> > mm/debug.c: In function 'dump_mm':
> > mm/debug.c:212:5: error: 'const struct mm_struct' has no member named 'owner'
> 
> I fixed that.
> 
> > tile:tilegx_defconfig
> > 
> > mm/debug.c: In function 'dump_mm':
> > mm/debug.c:169:2: error: expected ')' before 'mm'
> 
> Don't have a clue.  In my tree that's
> 
> 	pr_emerg("mm %p mmap %p seqnum %d task_size %lu\n"
> 
Culprit is

+#if defined(CONFIG_NUMA_BALANCING) || defined(CONFIG_COMPACTION)
+               "tlb_flush_pending %d\n",
+#endif

This is due to Sasha Levin's patch 'mm: introduce VM_BUG_ON_MM'. The above
doesn't work if neither CONFIG_NUMA_BALANCING nor CONFIG_COMPACTION are
defined due to the ',' at the end with is missing in that case.

Guenter

---
[1] https://lkml.org/lkml/2014/9/19/558
[2] https://lkml.org/lkml/2014/9/20/215

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

* Re: [PATCH] mm, debug: mm-introduce-vm_bug_on_mm-fix-fix.patch
  2014-09-23 16:19     ` Valdis.Kletnieks
@ 2014-09-23 20:52       ` Andrew Morton
  2014-09-24  7:09         ` Michal Hocko
  0 siblings, 1 reply; 27+ messages in thread
From: Andrew Morton @ 2014-09-23 20:52 UTC (permalink / raw)
  To: Valdis.Kletnieks
  Cc: Michal Hocko, mm-commits, linux-kernel, linux-mm, linux-fsdevel,
	linux-next, sfr, Sasha Levin

On Tue, 23 Sep 2014 12:19:49 -0400 Valdis.Kletnieks@vt.edu wrote:

> On Tue, 23 Sep 2014 13:28:48 +0200, Michal Hocko said:
> > And there is another one hitting during randconfig. The patch makes my
> > eyes bleed
> 
> Amen.  But I'm not seeing a better fix either.
> 
> >  #if defined(CONFIG_NUMA_BALANCING) || defined(CONFIG_COMPACTION)
> > -		"tlb_flush_pending %d\n",
> > +		"tlb_flush_pending %d\n"
> >  #endif
> > -		mm, mm->mmap, mm->vmacache_seqnum, mm->task_size,
> > +		, mm, mm->mmap, mm->vmacache_seqnum, mm->task_size,
> 
> I'm surprised that checkpatch doesn't explode on this.  And I'm starting
> a pool on how soon somebody submits a patch to "fix" this. :)

It is all pretty godawful.  We can eliminate the tricks with the comma
separators by adding an always-there, does-nothing argument:


--- a/mm/debug.c~mm-debug-mm-introduce-vm_bug_on_mm-fix-fixpatch-fix
+++ a/mm/debug.c
@@ -197,7 +197,9 @@ void dump_mm(const struct mm_struct *mm)
 #if defined(CONFIG_NUMA_BALANCING) || defined(CONFIG_COMPACTION)
 		"tlb_flush_pending %d\n"
 #endif
-		, mm, mm->mmap, mm->vmacache_seqnum, mm->task_size,
+		"%s",	/* This is here to hold the comma */
+
+		mm, mm->mmap, mm->vmacache_seqnum, mm->task_size,
 #ifdef CONFIG_MMU
 		mm->get_unmapped_area,
 #endif
@@ -218,16 +220,17 @@ void dump_mm(const struct mm_struct *mm)
 #ifdef CONFIG_MEMCG
 		mm->owner,
 #endif
-		mm->exe_file
+		mm->exe_file,
 #ifdef CONFIG_MMU_NOTIFIER
-		, mm->mmu_notifier_mm
+		mm->mmu_notifier_mm,
 #endif
 #ifdef CONFIG_NUMA_BALANCING
-		, mm->numa_next_scan, mm->numa_scan_offset, mm->numa_scan_seq
+		mm->numa_next_scan, mm->numa_scan_offset, mm->numa_scan_seq,
 #endif
 #if defined(CONFIG_NUMA_BALANCING) || defined(CONFIG_COMPACTION)
-		, mm->tlb_flush_pending
+		mm->tlb_flush_pending,
 #endif
+		""		/* This is here to not have a comma! */
 		);
 
 		dump_flags(mm->def_flags, vmaflags_names,
_


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

* Re: mmotm 2014-09-22-16-57 uploaded
  2014-09-23 20:31   ` Randy Dunlap
@ 2014-09-23 20:57     ` Guenter Roeck
  2014-09-23 21:36       ` Randy Dunlap
  0 siblings, 1 reply; 27+ messages in thread
From: Guenter Roeck @ 2014-09-23 20:57 UTC (permalink / raw)
  To: Randy Dunlap
  Cc: akpm, mm-commits, linux-kernel, linux-mm, linux-fsdevel,
	linux-next, sfr, mhocko, David Miller

On Tue, Sep 23, 2014 at 01:31:45PM -0700, Randy Dunlap wrote:
> On 09/23/14 12:02, Guenter Roeck wrote:
> > On Mon, Sep 22, 2014 at 05:02:56PM -0700, akpm@linux-foundation.org wrote:
> >> The mm-of-the-moment snapshot 2014-09-22-16-57 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.
> >>
> > Sine I started testing this branch, I figure I might as well share the results.
> > 
> > i386:allyesconfig
> > 
> > drivers/built-in.o: In function `_scsih_qcmd':
> > mpt2sas_scsih.c:(.text+0xf5327d): undefined reference to `__udivdi3'
> > mpt2sas_scsih.c:(.text+0xf532b0): undefined reference to `__umoddi3'
> > 
> > i386:allmodconfig
> > 
> > ERROR: "__udivdi3" [drivers/scsi/mpt2sas/mpt2sas.ko] undefined!
> > ERROR: "__umoddi3" [drivers/scsi/mpt2sas/mpt2sas.ko] undefined!
> 
> A patch has been posted for that and I believe that Christoph Hellwig has
> merged it.
> 
> > mips:nlm_xlp_defconfig
> > 
> > ERROR: "scsi_is_fc_rport" [drivers/scsi/libfc/libfc.ko] undefined!
> > ERROR: "fc_get_event_number" [drivers/scsi/libfc/libfc.ko] undefined!
> > ERROR: "skb_trim" [drivers/scsi/libfc/libfc.ko] undefined!
> > ERROR: "fc_host_post_event" [drivers/scsi/libfc/libfc.ko] undefined!
> > 
> > [and many more]
> 
> I have posted a patch for these build errors.
> 
mips:nlm_xlp_defconfig builds in next-20140923, but it doesn't configure
CONFIG_NET. I don't see a patch which would address that problem.
In case I am missing it, can you point me to your patch ?

On the other side, maybe it is just me thinking that taking CONFIG_NET out
of standard configurations might be a problem. If so, apologies for the noise.

Thanks,
Guenter

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

* RE: mmotm 2014-09-22-16-57 uploaded
  2014-09-23 20:38     ` Guenter Roeck
@ 2014-09-23 21:08       ` Anish Bhatt
  0 siblings, 0 replies; 27+ messages in thread
From: Anish Bhatt @ 2014-09-23 21:08 UTC (permalink / raw)
  To: Guenter Roeck, Andrew Morton
  Cc: linux-kernel, linux-mm, linux-fsdevel, linux-next, sfr, mhocko,
	Naoya Horiguchi, Sasha Levin, David Miller, Fabio Estevam,
	Randy Dunlap

> > cc'ing Anish Bhatt.
> >
> He knows about it, as do David Miller and Randy Dunlap (who proposed it)
> [1].
> There just doesn't seem to be an agreement on how to fix the problem.
> A simple revert doesn't work anymore since there are multiple follow-up
> patches, and if I understand correctly David is opposed to a revert anyway.

Dave is working on  a patch based on Randy's last solution :
http://www.spinics.net/lists/netdev/msg297593.html

Not sure of the current status.
-Anish

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

* Re: mmotm 2014-09-22-16-57 uploaded
  2014-09-23 20:57     ` Guenter Roeck
@ 2014-09-23 21:36       ` Randy Dunlap
  2014-09-23 21:53         ` Guenter Roeck
  0 siblings, 1 reply; 27+ messages in thread
From: Randy Dunlap @ 2014-09-23 21:36 UTC (permalink / raw)
  To: Guenter Roeck
  Cc: akpm, mm-commits, linux-kernel, linux-mm, linux-fsdevel,
	linux-next, sfr, mhocko, David Miller

On 09/23/14 13:57, Guenter Roeck wrote:
> On Tue, Sep 23, 2014 at 01:31:45PM -0700, Randy Dunlap wrote:
>> On 09/23/14 12:02, Guenter Roeck wrote:
>>> On Mon, Sep 22, 2014 at 05:02:56PM -0700, akpm@linux-foundation.org wrote:
>>>> The mm-of-the-moment snapshot 2014-09-22-16-57 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.
>>>>
>>> Sine I started testing this branch, I figure I might as well share the results.
>>>
>>> i386:allyesconfig
>>>
>>> drivers/built-in.o: In function `_scsih_qcmd':
>>> mpt2sas_scsih.c:(.text+0xf5327d): undefined reference to `__udivdi3'
>>> mpt2sas_scsih.c:(.text+0xf532b0): undefined reference to `__umoddi3'
>>>
>>> i386:allmodconfig
>>>
>>> ERROR: "__udivdi3" [drivers/scsi/mpt2sas/mpt2sas.ko] undefined!
>>> ERROR: "__umoddi3" [drivers/scsi/mpt2sas/mpt2sas.ko] undefined!
>>
>> A patch has been posted for that and I believe that Christoph Hellwig has
>> merged it.
>>
>>> mips:nlm_xlp_defconfig
>>>
>>> ERROR: "scsi_is_fc_rport" [drivers/scsi/libfc/libfc.ko] undefined!
>>> ERROR: "fc_get_event_number" [drivers/scsi/libfc/libfc.ko] undefined!
>>> ERROR: "skb_trim" [drivers/scsi/libfc/libfc.ko] undefined!
>>> ERROR: "fc_host_post_event" [drivers/scsi/libfc/libfc.ko] undefined!
>>>
>>> [and many more]
>>
>> I have posted a patch for these build errors.
>>
> mips:nlm_xlp_defconfig builds in next-20140923, but it doesn't configure
> CONFIG_NET. I don't see a patch which would address that problem.
> In case I am missing it, can you point me to your patch ?

I was referring to this one:
http://marc.info/?l=linux-scsi&m=141117068414761&w=2

although I think that Dave is also working on a patch that is a little
different from mine.

Neither of these patches enables CONFIG_NET.  They just add dependencies.

> On the other side, maybe it is just me thinking that taking CONFIG_NET out
> of standard configurations might be a problem. If so, apologies for the noise.



-- 
~Randy

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

* Re: mmotm 2014-09-22-16-57 uploaded
  2014-09-23 21:36       ` Randy Dunlap
@ 2014-09-23 21:53         ` Guenter Roeck
  2014-09-24  4:34           ` Guenter Roeck
  0 siblings, 1 reply; 27+ messages in thread
From: Guenter Roeck @ 2014-09-23 21:53 UTC (permalink / raw)
  To: Randy Dunlap
  Cc: akpm, mm-commits, linux-kernel, linux-mm, linux-fsdevel,
	linux-next, sfr, mhocko, David Miller

On Tue, Sep 23, 2014 at 02:36:33PM -0700, Randy Dunlap wrote:
> On 09/23/14 13:57, Guenter Roeck wrote:
> > On Tue, Sep 23, 2014 at 01:31:45PM -0700, Randy Dunlap wrote:
> >> On 09/23/14 12:02, Guenter Roeck wrote:
> >>> On Mon, Sep 22, 2014 at 05:02:56PM -0700, akpm@linux-foundation.org wrote:
> >>>> The mm-of-the-moment snapshot 2014-09-22-16-57 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.
> >>>>
> >>> Sine I started testing this branch, I figure I might as well share the results.
> >>>
> >>> i386:allyesconfig
> >>>
> >>> drivers/built-in.o: In function `_scsih_qcmd':
> >>> mpt2sas_scsih.c:(.text+0xf5327d): undefined reference to `__udivdi3'
> >>> mpt2sas_scsih.c:(.text+0xf532b0): undefined reference to `__umoddi3'
> >>>
> >>> i386:allmodconfig
> >>>
> >>> ERROR: "__udivdi3" [drivers/scsi/mpt2sas/mpt2sas.ko] undefined!
> >>> ERROR: "__umoddi3" [drivers/scsi/mpt2sas/mpt2sas.ko] undefined!
> >>
> >> A patch has been posted for that and I believe that Christoph Hellwig has
> >> merged it.
> >>
> >>> mips:nlm_xlp_defconfig
> >>>
> >>> ERROR: "scsi_is_fc_rport" [drivers/scsi/libfc/libfc.ko] undefined!
> >>> ERROR: "fc_get_event_number" [drivers/scsi/libfc/libfc.ko] undefined!
> >>> ERROR: "skb_trim" [drivers/scsi/libfc/libfc.ko] undefined!
> >>> ERROR: "fc_host_post_event" [drivers/scsi/libfc/libfc.ko] undefined!
> >>>
> >>> [and many more]
> >>
> >> I have posted a patch for these build errors.
> >>
> > mips:nlm_xlp_defconfig builds in next-20140923, but it doesn't configure
> > CONFIG_NET. I don't see a patch which would address that problem.
> > In case I am missing it, can you point me to your patch ?
> 
> I was referring to this one:
> http://marc.info/?l=linux-scsi&m=141117068414761&w=2
> 
> although I think that Dave is also working on a patch that is a little
> different from mine.
> 
His patch is in next-20140923.

> Neither of these patches enables CONFIG_NET.  They just add dependencies.
> 
This means CONFIG_NET is now disabled in at least 31 configurations where
it used to be enabled before (per my count), and there may be additional
impact due to the additional changes of "select X" to "depends on X".

3.18 is going to be interesting.

Guenter

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

* Re: mmotm 2014-09-22-16-57 uploaded
  2014-09-23 21:53         ` Guenter Roeck
@ 2014-09-24  4:34           ` Guenter Roeck
  2014-09-24  6:24             ` David Miller
  2014-09-24  7:18             ` Geert Uytterhoeven
  0 siblings, 2 replies; 27+ messages in thread
From: Guenter Roeck @ 2014-09-24  4:34 UTC (permalink / raw)
  To: Randy Dunlap
  Cc: akpm, mm-commits, linux-kernel, linux-mm, linux-fsdevel,
	linux-next, sfr, mhocko, David Miller

On Tue, Sep 23, 2014 at 02:53:56PM -0700, Guenter Roeck wrote:
> 
> > Neither of these patches enables CONFIG_NET.  They just add dependencies.
> > 
> This means CONFIG_NET is now disabled in at least 31 configurations where
> it used to be enabled before (per my count), and there may be additional
> impact due to the additional changes of "select X" to "depends on X".
> 
> 3.18 is going to be interesting.
> 
Actually, turns out the changes are already in 3.17.

In case anyone is interested, here is a list of now broken configurations
(where 'broken' is defined as "CONFIG NET used to be defined, but
is not defined anymore"). No guarantee for completeness or correctness.

mips:gpr_defconfig
mips:ip27_defconfig
mips:jazz_defconfig
mips:loongson3_defconfig
mips:malta_defconfig
mips:malta_kvm_defconfig
mips:malta_kvm_guest_defconfig
mips:mtx1_defconfig
mips:nlm_xlp_defconfig
mips:nlm_xlr_defconfig
mips:rm200_defconfig
parisc:a500_defconfig
parisc:c8000_defconfig
powerpc:c2k_defconfig
powerpc:pmac32_defconfig
powerpc:ppc64_defconfig
powerpc:ppc64e_defconfig
powerpc:pseries_defconfig
powerpc:pseries_le_defconfig
s390:default_defconfig
s390:gcov_defconfig
s390:performance_defconfig
s390:zfcpdump_defconfig
sh:sdk7780_defconfig
sh:sh2007_defconfig
sparc:sparc64_defconfig

Several ia64 configurations were affected as well, but that
has already been fixed.

Guenter

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

* Re: mmotm 2014-09-22-16-57 uploaded
  2014-09-24  4:34           ` Guenter Roeck
@ 2014-09-24  6:24             ` David Miller
  2014-09-24  7:18             ` Geert Uytterhoeven
  1 sibling, 0 replies; 27+ messages in thread
From: David Miller @ 2014-09-24  6:24 UTC (permalink / raw)
  To: linux
  Cc: rdunlap, akpm, mm-commits, linux-kernel, linux-mm, linux-fsdevel,
	linux-next, sfr, mhocko

From: Guenter Roeck <linux@roeck-us.net>
Date: Tue, 23 Sep 2014 21:34:23 -0700

> On Tue, Sep 23, 2014 at 02:53:56PM -0700, Guenter Roeck wrote:
>> 
>> > Neither of these patches enables CONFIG_NET.  They just add dependencies.
>> > 
>> This means CONFIG_NET is now disabled in at least 31 configurations where
>> it used to be enabled before (per my count), and there may be additional
>> impact due to the additional changes of "select X" to "depends on X".
>> 
>> 3.18 is going to be interesting.
>> 
> Actually, turns out the changes are already in 3.17.
> 
> In case anyone is interested, here is a list of now broken configurations
> (where 'broken' is defined as "CONFIG NET used to be defined, but
> is not defined anymore"). No guarantee for completeness or correctness.

I'll sort this out completely tomorrow.

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

* Re: [PATCH] mm, debug: mm-introduce-vm_bug_on_mm-fix-fix.patch
  2014-09-23 20:52       ` Andrew Morton
@ 2014-09-24  7:09         ` Michal Hocko
  0 siblings, 0 replies; 27+ messages in thread
From: Michal Hocko @ 2014-09-24  7:09 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Valdis.Kletnieks, mm-commits, linux-kernel, linux-mm,
	linux-fsdevel, linux-next, sfr, Sasha Levin

On Tue 23-09-14 13:52:58, Andrew Morton wrote:
> On Tue, 23 Sep 2014 12:19:49 -0400 Valdis.Kletnieks@vt.edu wrote:
> 
> > On Tue, 23 Sep 2014 13:28:48 +0200, Michal Hocko said:
> > > And there is another one hitting during randconfig. The patch makes my
> > > eyes bleed
> > 
> > Amen.  But I'm not seeing a better fix either.
> > 
> > >  #if defined(CONFIG_NUMA_BALANCING) || defined(CONFIG_COMPACTION)
> > > -		"tlb_flush_pending %d\n",
> > > +		"tlb_flush_pending %d\n"
> > >  #endif
> > > -		mm, mm->mmap, mm->vmacache_seqnum, mm->task_size,
> > > +		, mm, mm->mmap, mm->vmacache_seqnum, mm->task_size,
> > 
> > I'm surprised that checkpatch doesn't explode on this.  And I'm starting
> > a pool on how soon somebody submits a patch to "fix" this. :)
> 
> It is all pretty godawful.  We can eliminate the tricks with the comma
> separators by adding an always-there, does-nothing argument:

yes, this is safer if we have more conditional fields in mm_struct later
on. It is also less awful. Thanks!

> 
> --- a/mm/debug.c~mm-debug-mm-introduce-vm_bug_on_mm-fix-fixpatch-fix
> +++ a/mm/debug.c
> @@ -197,7 +197,9 @@ void dump_mm(const struct mm_struct *mm)
>  #if defined(CONFIG_NUMA_BALANCING) || defined(CONFIG_COMPACTION)
>  		"tlb_flush_pending %d\n"
>  #endif
> -		, mm, mm->mmap, mm->vmacache_seqnum, mm->task_size,
> +		"%s",	/* This is here to hold the comma */
> +
> +		mm, mm->mmap, mm->vmacache_seqnum, mm->task_size,
>  #ifdef CONFIG_MMU
>  		mm->get_unmapped_area,
>  #endif
> @@ -218,16 +220,17 @@ void dump_mm(const struct mm_struct *mm)
>  #ifdef CONFIG_MEMCG
>  		mm->owner,
>  #endif
> -		mm->exe_file
> +		mm->exe_file,
>  #ifdef CONFIG_MMU_NOTIFIER
> -		, mm->mmu_notifier_mm
> +		mm->mmu_notifier_mm,
>  #endif
>  #ifdef CONFIG_NUMA_BALANCING
> -		, mm->numa_next_scan, mm->numa_scan_offset, mm->numa_scan_seq
> +		mm->numa_next_scan, mm->numa_scan_offset, mm->numa_scan_seq,
>  #endif
>  #if defined(CONFIG_NUMA_BALANCING) || defined(CONFIG_COMPACTION)
> -		, mm->tlb_flush_pending
> +		mm->tlb_flush_pending,
>  #endif
> +		""		/* This is here to not have a comma! */
>  		);
>  
>  		dump_flags(mm->def_flags, vmaflags_names,
> _
> 

-- 
Michal Hocko
SUSE Labs

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

* Re: mmotm 2014-09-22-16-57 uploaded
  2014-09-24  4:34           ` Guenter Roeck
  2014-09-24  6:24             ` David Miller
@ 2014-09-24  7:18             ` Geert Uytterhoeven
  1 sibling, 0 replies; 27+ messages in thread
From: Geert Uytterhoeven @ 2014-09-24  7:18 UTC (permalink / raw)
  To: Guenter Roeck
  Cc: Randy Dunlap, Andrew Morton, mm-commits, linux-kernel, Linux MM,
	Linux FS Devel, Linux-Next, Stephen Rothwell, Michal Hocko,
	David Miller

On Wed, Sep 24, 2014 at 6:34 AM, Guenter Roeck <linux@roeck-us.net> wrote:
> On Tue, Sep 23, 2014 at 02:53:56PM -0700, Guenter Roeck wrote:
>> > Neither of these patches enables CONFIG_NET.  They just add dependencies.
>> >
>> This means CONFIG_NET is now disabled in at least 31 configurations where
>> it used to be enabled before (per my count), and there may be additional
>> impact due to the additional changes of "select X" to "depends on X".
>>
>> 3.18 is going to be interesting.
>>
> Actually, turns out the changes are already in 3.17.
>
> In case anyone is interested, here is a list of now broken configurations
> (where 'broken' is defined as "CONFIG NET used to be defined, but
> is not defined anymore"). No guarantee for completeness or correctness.

Fortunately (for m68k) I always work with the full defconfig files, and
regenerate the minimal ones from the full ones on every -rc release locally.

That way you see the churn...

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

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

* Re: [PATCH] mm, debug: mm-introduce-vm_bug_on_mm-fix-fix.patch
  2014-09-23 20:12     ` Dave Jones
@ 2014-10-13 18:51       ` Dave Jones
  2014-10-13 19:07         ` Joe Perches
  2014-10-14 11:55         ` Michal Hocko
  0 siblings, 2 replies; 27+ messages in thread
From: Dave Jones @ 2014-10-13 18:51 UTC (permalink / raw)
  To: Linux Kernel; +Cc: Michal Hocko, Andrew Morton, linux-mm, Sasha Levin

On Tue, Sep 23, 2014 at 04:12:04PM -0400, Dave Jones wrote:
 > On Tue, Sep 23, 2014 at 01:28:48PM +0200, Michal Hocko wrote:
 >  > And there is another one hitting during randconfig. The patch makes my
 >  > eyes bleed but I don't know about other way without breaking out the
 >  > thing into separate parts sounds worse because we can mix with other
 >  > messages then.
 > 
 > how about something along the lines of..
 > 
 >  bufptr = buffer = kmalloc()
 > 
 >  #if defined(CONFIG_NUMA_BALANCING) || defined(CONFIG_COMPACTION)
 > 	bufptr += sprintf(bufptr, "tlb_flush_pending %d\n",
 > 			mm->tlb_flush_pending);
 >  #endif
 > 
 >  #ifdef CONFIG_MMU
 > 	bufptr += sprintf(bufptr, "...
 >  #endif
 > 
 >  ...
 > 
 >  printk(KERN_EMERG "%s", buffer);
 > 
 >  free(buffer);
 > 
 > Still ugly, but looks less like a trainwreck, and keeps the variables
 > with the associated text.
 > 
 > It does introduce an allocation though, which may be problematic
 > in this situation. Depending how big this gets, perhaps make it static
 > instead?

Now that this landed in Linus tree, I took another stab at it.
Something like this ? (Untested beyond compiling).

(The diff doesn't really do it justice, it looks a lot easier to read
 imo after applying).

There's still some checkpatch style nits, but this should be a lot
more maintainable assuming it works.

My one open question is do we care that this isn't reentrant ?
Do we expect parallel calls to dump_mm from multiple cpus ever ?

	Dave

diff --git a/mm/debug.c b/mm/debug.c
index 5ce45c9a29b5..e04e2ae902a1 100644
--- a/mm/debug.c
+++ b/mm/debug.c
@@ -164,74 +164,85 @@ void dump_vma(const struct vm_area_struct *vma)
 }
 EXPORT_SYMBOL(dump_vma);
 
+static char dumpmm_buffer[4096];
+
 void dump_mm(const struct mm_struct *mm)
 {
-	pr_emerg("mm %p mmap %p seqnum %d task_size %lu\n"
-#ifdef CONFIG_MMU
-		"get_unmapped_area %p\n"
-#endif
-		"mmap_base %lu mmap_legacy_base %lu highest_vm_end %lu\n"
-		"pgd %p mm_users %d mm_count %d nr_ptes %lu map_count %d\n"
-		"hiwater_rss %lx hiwater_vm %lx total_vm %lx locked_vm %lx\n"
-		"pinned_vm %lx shared_vm %lx exec_vm %lx stack_vm %lx\n"
-		"start_code %lx end_code %lx start_data %lx end_data %lx\n"
-		"start_brk %lx brk %lx start_stack %lx\n"
-		"arg_start %lx arg_end %lx env_start %lx env_end %lx\n"
-		"binfmt %p flags %lx core_state %p\n"
-#ifdef CONFIG_AIO
-		"ioctx_table %p\n"
-#endif
-#ifdef CONFIG_MEMCG
-		"owner %p "
-#endif
-		"exe_file %p\n"
-#ifdef CONFIG_MMU_NOTIFIER
-		"mmu_notifier_mm %p\n"
-#endif
-#ifdef CONFIG_NUMA_BALANCING
-		"numa_next_scan %lu numa_scan_offset %lu numa_scan_seq %d\n"
-#endif
-#if defined(CONFIG_NUMA_BALANCING) || defined(CONFIG_COMPACTION)
-		"tlb_flush_pending %d\n"
-#endif
-		"%s",	/* This is here to hold the comma */
+	char *p = dumpmm_buffer;
+
+	memset(dumpmm_buffer, 0, 4096);
+
+	p += sprintf(p, "mm %p mmap %p seqnum %d task_size %lu\n",
+		mm, mm->mmap, mm->vmacache_seqnum, mm->task_size);
 
-		mm, mm->mmap, mm->vmacache_seqnum, mm->task_size,
 #ifdef CONFIG_MMU
-		mm->get_unmapped_area,
+	p += sprintf(p, "get_unmapped_area %p\n",
+		mm->get_unmapped_area);
 #endif
-		mm->mmap_base, mm->mmap_legacy_base, mm->highest_vm_end,
+	p += sprintf(p,
+		"mmap_base %lu mmap_legacy_base %lu highest_vm_end %lu\n",
+		mm->mmap_base, mm->mmap_legacy_base, mm->highest_vm_end);
+
+	p += sprintf(p,
+		"pgd %p mm_users %d mm_count %d nr_ptes %lu map_count %d\n",
 		mm->pgd, atomic_read(&mm->mm_users),
 		atomic_read(&mm->mm_count),
 		atomic_long_read((atomic_long_t *)&mm->nr_ptes),
-		mm->map_count,
-		mm->hiwater_rss, mm->hiwater_vm, mm->total_vm, mm->locked_vm,
-		mm->pinned_vm, mm->shared_vm, mm->exec_vm, mm->stack_vm,
-		mm->start_code, mm->end_code, mm->start_data, mm->end_data,
-		mm->start_brk, mm->brk, mm->start_stack,
-		mm->arg_start, mm->arg_end, mm->env_start, mm->env_end,
-		mm->binfmt, mm->flags, mm->core_state,
+		mm->map_count);
+
+	p += sprintf(p,
+		"hiwater_rss %lx hiwater_vm %lx total_vm %lx locked_vm %lx\n",
+		mm->hiwater_rss, mm->hiwater_vm, mm->total_vm, mm->locked_vm);
+
+	p += sprintf(p,
+		"pinned_vm %lx shared_vm %lx exec_vm %lx stack_vm %lx\n",
+		mm->pinned_vm, mm->shared_vm, mm->exec_vm, mm->stack_vm);
+
+	p += sprintf(p,
+		"start_code %lx end_code %lx start_data %lx end_data %lx\n",
+		mm->start_code, mm->end_code, mm->start_data, mm->end_data);
+
+	p += sprintf(p,
+		"start_brk %lx brk %lx start_stack %lx\n",
+		mm->start_brk, mm->brk, mm->start_stack);
+
+	p += sprintf(p,
+		"arg_start %lx arg_end %lx env_start %lx env_end %lx\n",
+		mm->arg_start, mm->arg_end, mm->env_start, mm->env_end);
+
+	p += sprintf(p,
+		"binfmt %p flags %lx core_state %p\n",
+		mm->binfmt, mm->flags, mm->core_state);
+
 #ifdef CONFIG_AIO
-		mm->ioctx_table,
+	p += sprintf(p, "ioctx_table %p\n", mm->ioctx_table);
 #endif
+
 #ifdef CONFIG_MEMCG
-		mm->owner,
+	p += sprintf(p, "owner %p ", mm->owner);
 #endif
-		mm->exe_file,
+
+	p += sprintf(p, "exe_file %p\n", mm->exe_file);
+
 #ifdef CONFIG_MMU_NOTIFIER
-		mm->mmu_notifier_mm,
+	p += sprintf(p,	"mmu_notifier_mm %p\n", mm->mmu_notifier_mm);
 #endif
+
 #ifdef CONFIG_NUMA_BALANCING
-		mm->numa_next_scan, mm->numa_scan_offset, mm->numa_scan_seq,
+	p += sprintf(p,
+		"numa_next_scan %lu numa_scan_offset %lu numa_scan_seq %d\n",
+		mm->numa_next_scan, mm->numa_scan_offset, mm->numa_scan_seq);
 #endif
+
 #if defined(CONFIG_NUMA_BALANCING) || defined(CONFIG_COMPACTION)
-		mm->tlb_flush_pending,
+	p += sprintf(p, "tlb_flush_pending %d\n",
+		mm->tlb_flush_pending);
 #endif
-		""		/* This is here to not have a comma! */
-		);
 
-		dump_flags(mm->def_flags, vmaflags_names,
-				ARRAY_SIZE(vmaflags_names));
+	pr_emerg("%s", dumpmm_buffer);
+
+	dump_flags(mm->def_flags, vmaflags_names,
+			ARRAY_SIZE(vmaflags_names));
 }
 
 #endif		/* CONFIG_DEBUG_VM */

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

* Re: [PATCH] mm, debug: mm-introduce-vm_bug_on_mm-fix-fix.patch
  2014-10-13 18:51       ` Dave Jones
@ 2014-10-13 19:07         ` Joe Perches
  2014-10-14 11:55         ` Michal Hocko
  1 sibling, 0 replies; 27+ messages in thread
From: Joe Perches @ 2014-10-13 19:07 UTC (permalink / raw)
  To: Dave Jones
  Cc: Linux Kernel, Michal Hocko, Andrew Morton, linux-mm, Sasha Levin

On Mon, 2014-10-13 at 14:51 -0400, Dave Jones wrote:
> On Tue, Sep 23, 2014 at 04:12:04PM -0400, Dave Jones wrote:
>  > On Tue, Sep 23, 2014 at 01:28:48PM +0200, Michal Hocko wrote:
>  >  > And there is another one hitting during randconfig. The patch makes my
>  >  > eyes bleed but I don't know about other way without breaking out the
>  >  > thing into separate parts sounds worse because we can mix with other
>  >  > messages then.
>  > 
>  > how about something along the lines of..
>  > 
>  >  bufptr = buffer = kmalloc()
[]
>  > It does introduce an allocation though, which may be problematic
>  > in this situation. Depending how big this gets, perhaps make it static
>  > instead?
> 
> Now that this landed in Linus tree, I took another stab at it.
> Something like this ? (Untested beyond compiling).
> 
> (The diff doesn't really do it justice, it looks a lot easier to read
>  imo after applying).
> 
> There's still some checkpatch style nits, but this should be a lot
> more maintainable assuming it works.
> 
> My one open question is do we care that this isn't reentrant ?
> Do we expect parallel calls to dump_mm from multiple cpus ever ?


> diff --git a/mm/debug.c b/mm/debug.c
[]
> @@ -164,74 +164,85 @@ void dump_vma(const struct vm_area_struct *vma)
>  }
>  EXPORT_SYMBOL(dump_vma);
>  
> +static char dumpmm_buffer[4096];

Given the maximum single printk is 1024 bytes,
a buffer larger than that 1024 bytes is useless.

grep LOG_LINE_MAX



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

* Re: [PATCH] mm, debug: mm-introduce-vm_bug_on_mm-fix-fix.patch
  2014-10-13 18:51       ` Dave Jones
  2014-10-13 19:07         ` Joe Perches
@ 2014-10-14 11:55         ` Michal Hocko
  2014-10-14 16:50           ` Dave Jones
  1 sibling, 1 reply; 27+ messages in thread
From: Michal Hocko @ 2014-10-14 11:55 UTC (permalink / raw)
  To: Dave Jones, Linux Kernel, Andrew Morton, linux-mm, Sasha Levin

On Mon 13-10-14 14:51:56, Dave Jones wrote:
[...]
> diff --git a/mm/debug.c b/mm/debug.c
> index 5ce45c9a29b5..e04e2ae902a1 100644
> --- a/mm/debug.c
> +++ b/mm/debug.c
> @@ -164,74 +164,85 @@ void dump_vma(const struct vm_area_struct *vma)
>  }
>  EXPORT_SYMBOL(dump_vma);
>  
> +static char dumpmm_buffer[4096];
> +
>  void dump_mm(const struct mm_struct *mm)
>  {
> -	pr_emerg("mm %p mmap %p seqnum %d task_size %lu\n"
> -#ifdef CONFIG_MMU
> -		"get_unmapped_area %p\n"
> -#endif
> -		"mmap_base %lu mmap_legacy_base %lu highest_vm_end %lu\n"
> -		"pgd %p mm_users %d mm_count %d nr_ptes %lu map_count %d\n"
> -		"hiwater_rss %lx hiwater_vm %lx total_vm %lx locked_vm %lx\n"
> -		"pinned_vm %lx shared_vm %lx exec_vm %lx stack_vm %lx\n"
> -		"start_code %lx end_code %lx start_data %lx end_data %lx\n"
> -		"start_brk %lx brk %lx start_stack %lx\n"
> -		"arg_start %lx arg_end %lx env_start %lx env_end %lx\n"
> -		"binfmt %p flags %lx core_state %p\n"
> -#ifdef CONFIG_AIO
> -		"ioctx_table %p\n"
> -#endif
> -#ifdef CONFIG_MEMCG
> -		"owner %p "
> -#endif
> -		"exe_file %p\n"
> -#ifdef CONFIG_MMU_NOTIFIER
> -		"mmu_notifier_mm %p\n"
> -#endif
> -#ifdef CONFIG_NUMA_BALANCING
> -		"numa_next_scan %lu numa_scan_offset %lu numa_scan_seq %d\n"
> -#endif
> -#if defined(CONFIG_NUMA_BALANCING) || defined(CONFIG_COMPACTION)
> -		"tlb_flush_pending %d\n"
> -#endif
> -		"%s",	/* This is here to hold the comma */
> +	char *p = dumpmm_buffer;
> +
> +	memset(dumpmm_buffer, 0, 4096);

I do not see any locking here. Previously we had internal printk log as
a natural synchronization. Now two threads are allowed to scribble over
their messages leaving an unusable output in a better case.

Besides that the %s with "" trick is not really that ugly and handles
the situation quite nicely. So do we really want to make it more
complicated?
-- 
Michal Hocko
SUSE Labs

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

* Re: [PATCH] mm, debug: mm-introduce-vm_bug_on_mm-fix-fix.patch
  2014-10-14 11:55         ` Michal Hocko
@ 2014-10-14 16:50           ` Dave Jones
  2014-10-15  9:03             ` Michal Hocko
  0 siblings, 1 reply; 27+ messages in thread
From: Dave Jones @ 2014-10-14 16:50 UTC (permalink / raw)
  To: Michal Hocko; +Cc: Linux Kernel, Andrew Morton, linux-mm, Sasha Levin

On Tue, Oct 14, 2014 at 01:55:54PM +0200, Michal Hocko wrote:

 > > -#ifdef CONFIG_NUMA_BALANCING
 > > -		"numa_next_scan %lu numa_scan_offset %lu numa_scan_seq %d\n"
 > > -#endif
 > > -#if defined(CONFIG_NUMA_BALANCING) || defined(CONFIG_COMPACTION)
 > > -		"tlb_flush_pending %d\n"
 > > -#endif
 > > -		"%s",	/* This is here to hold the comma */
 > > +	char *p = dumpmm_buffer;
 > > +
 > > +	memset(dumpmm_buffer, 0, 4096);
 > 
 > I do not see any locking here. Previously we had internal printk log as
 > a natural synchronization. Now two threads are allowed to scribble over
 > their messages leaving an unusable output in a better case.

That's why I asked in the part of the mail you didn't quote whether
we cared if it wasn't reentrant.  Ok we do. That's 3 lines of change to
add a lock.

 > Besides that the %s with "" trick is not really that ugly and handles
 > the situation quite nicely. So do we really want to make it more
 > complicated?

That hack goes away entirely with this diff.  And by keeping the
parameters with the format string they're associated with, it should be
more maintainable should we decide to add more fields to be output in the future.
The number of ifdefs in the function are halved (which becomes even
bigger deal if we do add more output).

We saw how many times we had to go around to get it right this time.
In its current incarnation, it looks like a matter of time before
someone screws it up again due to missing some CONFIG combination.

	Dave


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

* Re: [PATCH] mm, debug: mm-introduce-vm_bug_on_mm-fix-fix.patch
  2014-10-14 16:50           ` Dave Jones
@ 2014-10-15  9:03             ` Michal Hocko
  0 siblings, 0 replies; 27+ messages in thread
From: Michal Hocko @ 2014-10-15  9:03 UTC (permalink / raw)
  To: Dave Jones, Linux Kernel, Andrew Morton, linux-mm, Sasha Levin

On Tue 14-10-14 12:50:27, Dave Jones wrote:
> On Tue, Oct 14, 2014 at 01:55:54PM +0200, Michal Hocko wrote:
> 
>  > > -#ifdef CONFIG_NUMA_BALANCING
>  > > -		"numa_next_scan %lu numa_scan_offset %lu numa_scan_seq %d\n"
>  > > -#endif
>  > > -#if defined(CONFIG_NUMA_BALANCING) || defined(CONFIG_COMPACTION)
>  > > -		"tlb_flush_pending %d\n"
>  > > -#endif
>  > > -		"%s",	/* This is here to hold the comma */
>  > > +	char *p = dumpmm_buffer;
>  > > +
>  > > +	memset(dumpmm_buffer, 0, 4096);
>  > 
>  > I do not see any locking here. Previously we had internal printk log as
>  > a natural synchronization. Now two threads are allowed to scribble over
>  > their messages leaving an unusable output in a better case.
> 
> That's why I asked in the part of the mail you didn't quote whether
> we cared if it wasn't reentrant. 

Ups, missed that. Sorry!

> Ok we do. That's 3 lines of change to add a lock.
> 
>  > Besides that the %s with "" trick is not really that ugly and handles
>  > the situation quite nicely. So do we really want to make it more
>  > complicated?
> 
> That hack goes away entirely with this diff.  And by keeping the
> parameters with the format string they're associated with, it should be
> more maintainable should we decide to add more fields to be output in the future.
> The number of ifdefs in the function are halved (which becomes even
> bigger deal if we do add more output).
> 
> We saw how many times we had to go around to get it right this time.
> In its current incarnation, it looks like a matter of time before
> someone screws it up again due to missing some CONFIG combination.

I do not have a strong opinion. I find the hack sufficient but it is
true that we have to be careful to not lose it in "a cleanup" or when
somebody adds new conditional fields behind. On the other hand it is
easier to manage potential overflow within printk rather than relying
on separate sprintk-s (the current code already looks like it can
consume close to 1k - but I haven't measured that).

Up to Andrew I guess.
-- 
Michal Hocko
SUSE Labs

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

end of thread, other threads:[~2014-10-15  9:04 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-09-23  0:02 mmotm 2014-09-22-16-57 uploaded akpm
2014-09-23  0:39 ` Stephen Rothwell
2014-09-23  1:12   ` Andrew Morton
2014-09-23  9:24 ` [PATCH] mm, debug: mm-introduce-vm_bug_on_mm-fix.patch Michal Hocko
2014-09-23 11:28   ` [PATCH] mm, debug: mm-introduce-vm_bug_on_mm-fix-fix.patch Michal Hocko
2014-09-23 16:19     ` Valdis.Kletnieks
2014-09-23 20:52       ` Andrew Morton
2014-09-24  7:09         ` Michal Hocko
2014-09-23 20:12     ` Dave Jones
2014-10-13 18:51       ` Dave Jones
2014-10-13 19:07         ` Joe Perches
2014-10-14 11:55         ` Michal Hocko
2014-10-14 16:50           ` Dave Jones
2014-10-15  9:03             ` Michal Hocko
2014-09-23 19:02 ` mmotm 2014-09-22-16-57 uploaded Guenter Roeck
2014-09-23 20:01   ` Andrew Morton
2014-09-23 20:13     ` Fabio Estevam
2014-09-23 20:20     ` Naoya Horiguchi
2014-09-23 20:38     ` Guenter Roeck
2014-09-23 21:08       ` Anish Bhatt
2014-09-23 20:31   ` Randy Dunlap
2014-09-23 20:57     ` Guenter Roeck
2014-09-23 21:36       ` Randy Dunlap
2014-09-23 21:53         ` Guenter Roeck
2014-09-24  4:34           ` Guenter Roeck
2014-09-24  6:24             ` David Miller
2014-09-24  7:18             ` Geert Uytterhoeven

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).