The mm-of-the-moment snapshot 2014-04-22-15-20 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.15-rc2:
(patches marked "*" will be included in linux-next)
origin.patch
arch-alpha-kernel-systblss-remove-debug-check.patch
i-need-old-gcc.patch
maintainers-akpm-maintenance.patch
* drivers-rtc-rtc-pcf8523c-fix-month-definition.patch
* slub-fix-memcg_propagate_slab_attrs.patch
* hugetlb-ensure-hugepage-access-is-denied-if-hugepages-are-not-supported.patch
* hugetlb-ensure-hugepage-access-is-denied-if-hugepages-are-not-supported-fix.patch
* mm-compaction-make-isolate_freepages-start-at-pageblock-boundary.patch
* mm-filemap-update-find_get_pages_tag-to-deal-with-shadow-entries.patch
* x86-require-x86-64-for-automatic-numa-balancing.patch
* x86-define-_page_numa-by-reusing-software-bits-on-the-pmd-and-pte-levels.patch
* x86-define-_page_numa-by-reusing-software-bits-on-the-pmd-and-pte-levels-fix-2.patch
* x86-mm-probe-memory-block-size-for-generic-x86-64bit.patch
* arm-use-generic-fixmaph.patch
* fanotify-fan_mark_flush-avoid-having-to-provide-a-fake-invalid-fd-and-path.patch
* fanotify-create-fan_access-event-for-readdir.patch
* fs-notify-markc-trivial-cleanup.patch
* sched_clock-document-4mhz-vs-1mhz-decision.patch
* input-route-kbd-leds-through-the-generic-leds-layer.patch
* input-route-kbd-leds-through-the-generic-leds-layer-fix.patch
* ntfs-remove-null-value-assignments.patch
* drivers-net-irda-donauboe-convert-to-module_pci_driver.patch
* ocfs2-remove-null-assignments-on-static.patch
* fs-ocfs2-superc-use-ocfs2_max_vol_label_len-and-strlcpy.patch
* ocfs2-limit-printk-when-journal-is-aborted.patch
* ocfs2-limit-printk-when-journal-is-aborted-fix.patch
* ocfs2-should-add-inode-into-orphan-dir-after-updating-entry-in-ocfs2_rename.patch
* ocfs2-o2net-incorrect-to-terminate-accepting-connections-loop-upon-rejecting-an-invalid-one.patch
* ocfs2-o2net-incorrect-to-terminate-accepting-connections-loop-upon-rejecting-an-ivalid-one-orabug-17489469.patch
* ocfs2-fix-a-tiny-race-when-running-dirop_fileop_racer.patch
* ocfs2-do-not-return-dlm_migrate_response_mastery_ref-to-avoid-endlessloop-during-umount.patch
* ocfs2-manually-do-the-iput-once-ocfs2_add_entry-failed-in-ocfs2_symlink-and-ocfs2_mknod.patch
* maintainers-update-ibm-serveraid-raid-info.patch
* block-restore-proc-partitions-to-not-display-non-partitionable-removable-devices.patch
* watchdog-trigger-all-cpu-backtrace-when-locked-up-and-going-to-panic.patch
mm.patch
* slb-charge-slabs-to-kmemcg-explicitly.patch
* mm-get-rid-of-__gfp_kmemcg.patch
* mm-get-rid-of-__gfp_kmemcg-fix.patch
* mm-hugetlbfs-fix-rmapping-for-anonymous-hugepages-with-page_pgoff.patch
* mm-hugetlbfs-fix-rmapping-for-anonymous-hugepages-with-page_pgoff-v2.patch
* mm-hugetlbfs-fix-rmapping-for-anonymous-hugepages-with-page_pgoff-v3.patch
* mm-hugetlbfs-fix-rmapping-for-anonymous-hugepages-with-page_pgoff-v3-fix.patch
* pagewalk-update-page-table-walker-core.patch
* pagewalk-update-page-table-walker-core-fix-end-address-calculation-in-walk_page_range.patch
* pagewalk-update-page-table-walker-core-fix-end-address-calculation-in-walk_page_range-fix.patch
* pagewalk-add-walk_page_vma.patch
* smaps-redefine-callback-functions-for-page-table-walker.patch
* clear_refs-redefine-callback-functions-for-page-table-walker.patch
* pagemap-redefine-callback-functions-for-page-table-walker.patch
* pagemap-redefine-callback-functions-for-page-table-walker-fix.patch
* numa_maps-redefine-callback-functions-for-page-table-walker.patch
* memcg-redefine-callback-functions-for-page-table-walker.patch
* arch-powerpc-mm-subpage-protc-use-walk_page_vma-instead-of-walk_page_range.patch
* pagewalk-remove-argument-hmask-from-hugetlb_entry.patch
* pagewalk-remove-argument-hmask-from-hugetlb_entry-fix.patch
* pagewalk-remove-argument-hmask-from-hugetlb_entry-fix-fix.patch
* mempolicy-apply-page-table-walker-on-queue_pages_range.patch
* mm-add-pte_present-check-on-existing-hugetlb_entry-callbacks.patch
* mm-pagewalkc-move-pte-null-check.patch
* mm-softdirty-make-freshly-remapped-file-pages-being-softdirty-unconditionally.patch
* mm-softdirty-dont-forget-to-save-file-map-softdiry-bit-on-unmap.patch
* mm-softdirty-clear-vm_softdirty-flag-inside-clear_refs_write-instead-of-clear_soft_dirty.patch
* mm-introduce-do_shared_fault-and-drop-do_fault-fix-fix.patch
* mm-compactionc-isolate_freepages_block-small-tuneup.patch
* fs-mpagec-forgotten-write_sync-in-case-of-data-integrity-write.patch
* mm-rmap-dont-try-to-add-an-unevictable-page-to-lru-list.patch
* mm-only-force-scan-in-reclaim-when-none-of-the-lrus-are-big-enough.patch
* mmvmacache-add-debug-data.patch
* mmvmacache-optimize-overflow-system-wide-flushing.patch
* x86-make-dma_alloc_coherent-return-zeroed-memory-if-cma-is-enabled.patch
* x86-make-dma_alloc_coherent-return-zeroed-memory-if-cma-is-enabled-fix.patch
* x86-enable-dma-cma-with-swiotlb.patch
* intel-iommu-integrate-dma-cma.patch
* memblock-introduce-memblock_alloc_range.patch
* cma-add-placement-specifier-for-cma=-kernel-parameter.patch
* arch-x86-kernel-pci-dmac-fix-dma_generic_alloc_coherent-when-config_dma_cma-is-enabled.patch
* thp-consolidate-assert-checks-in-__split_huge_page.patch
* mm-huge_memoryc-complete-conversion-to-pr_foo.patch
* mm-convert-some-level-less-printks-to-pr_.patch
* include-linux-mmdebugh-add-vm_warn_on-and-vm_warn_on_once.patch
* mm-mempool-warn-about-__gfp_zero-usage.patch
* mm-mempool-warn-about-__gfp_zero-usage-fix.patch
* mm-memcontrol-remove-hierarchy-restrictions-for-swappiness-and-oom_control.patch
* mm-memcontrol-remove-hierarchy-restrictions-for-swappiness-and-oom_control-fix.patch
* mm-pass-vm_bug_on-reason-to-dump_page.patch
* mm-pass-vm_bug_on-reason-to-dump_page-fix.patch
* memory-hotplug-update-documentation-to-hide-information-about-sections-and-remove-end_phys_index.patch
* slab-document-kmalloc_order.patch
* mm-mmapc-replace-is_err-and-ptr_err-with-ptr_err_or_zero.patch
* hugetlb-prep_compound_gigantic_page-drop-__init-marker.patch
* hugetlb-add-hstate_is_gigantic.patch
* hugetlb-update_and_free_page-dont-clear-pg_reserved-bit.patch
* hugetlb-move-helpers-up-in-the-file.patch
* hugetlb-add-support-for-gigantic-page-allocation-at-runtime.patch
* hugetlb-add-support-for-gigantic-page-allocation-at-runtime-checkpatch-fixes.patch
* mm-disable-zone_reclaim_mode-by-default.patch
* mm-page_alloc-do-not-cache-reclaim-distances.patch
* mm-page_alloc-do-not-cache-reclaim-distances-fix.patch
* memcg-un-export-__memcg_kmem_get_cache.patch
* mem-hotplug-implement-get-put_online_mems.patch
* slab-get_online_mems-for-kmem_cache_createdestroyshrink.patch
* fs-hugetlbfs-inodec-complete-conversion-to-pr_foo.patch
* mm-page_alloc-prevent-migrate_reserve-pages-from-being-misplaced.patch
* mm-page_alloc-debug_vm-checks-for-free_list-placement-of-cma-and-reserve-pages.patch
* mm-move-get_user_pages-related-code-to-separate-file.patch
* mm-extract-in_gate_area-case-from-__get_user_pages.patch
* mm-cleanup-follow_page_mask.patch
* mm-extract-code-to-fault-in-a-page-from-__get_user_pages.patch
* mm-extract-code-to-fault-in-a-page-from-__get_user_pages-fix.patch
* mm-cleanup-__get_user_pages.patch
* mm-gupc-tweaks.patch
* mm-gupc-tweaks-fix.patch
* mm-compaction-clean-up-unused-code-lines.patch
* mm-compaction-cleanup-isolate_freepages.patch
* mm-compaction-cleanup-isolate_freepages-fix.patch
* mm-compaction-cleanup-isolate_freepages-fix-2.patch
* mm-debug-make-bad_range-output-more-usable-and-readable.patch
* documentation-memcg-warn-about-incomplete-kmemcg-state.patch
* m68k-call-find_vma-with-the-mmap_sem-held-in-sys_cacheflush.patch
* mips-call-find_vma-with-the-mmap_sem-held.patch
* arc-call-find_vma-with-the-mmap_sem-held.patch
* arc-call-find_vma-with-the-mmap_sem-held-fix.patch
* drm-exynos-call-find_vma-with-the-mmap_sem-held.patch
* mm-memcontrolc-introduce-helper-mem_cgroup_zoneinfo_zone.patch
* mm-memcontrolc-introduce-helper-mem_cgroup_zoneinfo_zone-checkpatch-fixes.patch
* mm-swapc-clean-up-lru_cache_add-functions.patch
* mm-mmap-remove-the-first-mapping-check.patch
* memcg-kill-config_mm_owner.patch
* mm-vmscan-do-not-throttle-based-on-pfmemalloc-reserves-if-node-has-no-zone_normal.patch
* mm-vmscan-do-not-throttle-based-on-pfmemalloc-reserves-if-node-has-no-zone_normal-checkpatch-fixes.patch
* zram-correct-offset-usage-in-zram_bio_discard.patch
* do_shared_fault-check-that-mmap_sem-is-held.patch
* sys_sgetmask-sys_ssetmask-add-config_sgetmask_syscall.patch
* drivers-misc-ti-st-st_corec-fix-null-dereference-on-protocol-type-check.patch
* printk-split-code-for-making-free-space-in-the-log-buffer.patch
* printk-ignore-too-long-messages.patch
* printk-split-message-size-computation.patch
* printk-shrink-too-long-messages.patch
* printk-return-really-stored-message-length.patch
* lib-vsprintf-add-%pt-format-specifier.patch
* drivers-video-backlight-backlightc-remove-backlight-sysfs-uevent.patch
* lib-stringc-use-the-name-c-string-in-comments.patch
* lib-xz-add-comments-for-the-intentionally-missing-break-statements.patch
* lib-xz-enable-all-filters-by-default-in-kconfig.patch
* mm-utilc-add-kstrimdup.patch
* lib-add-crc64-ecma-module.patch
* checkpatch-fix-wildcard-dt-compatible-string-checking.patch
* checkpatch-always-warn-on-missing-blank-line-after-variable-declaration-block.patch
* checkpatch-reduce-false-positives-for-missing-blank-line-after-declarations-test.patch
* checkpatch-reduce-false-positives-for-missing-blank-line-after-declarations-test-fix.patch
* fs-binfmt_elfc-fix-bool-assignements.patch
* fs-binfmt_flatc-make-old_reloc-static.patch
* binfmt_elfc-use-get_random_int-to-fix-entropy-depleting.patch
* init-mainc-dont-use-pr_debug.patch
* init-mainc-add-initcall_blacklist-kernel-parameter.patch
* init-mainc-add-initcall_blacklist-kernel-parameter-fix.patch
* kthreads-kill-clone_kernel-change-kernel_threadkernel_init-to-avoid-clone_sighand.patch
* drivers-rtc-interfacec-fix-infinite-loop-in-initializing-the-alarm.patch
* documentation-devicetree-bindings-add-documentation-for-the-apm-x-gene-soc-rtc-dts-binding.patch
* drivers-rtc-add-apm-x-gene-soc-rtc-driver.patch
* arm64-add-apm-x-gene-soc-rtc-dts-entry.patch
* rtc-m41t80-remove-drv_version-macro.patch
* rtc-m41t80-clean-up-error-paths.patch
* rtc-m41t80-propagate-error-value-from-smbus-functions.patch
* rtc-m41t80-add-support-for-microcrystal-rv4162.patch
* drivers-rtc-rtc-efic-avoid-subtracting-day-twice-when-computing-year-days.patch
* rtc-rtc-cmos-drivers-char-rtcc-features-for-decstation-support.patch
* rtc-rtc-cmos-drivers-char-rtcc-features-for-decstation-support-fix.patch
* dec-switch-decstation-systems-to-rtc-cmos.patch
* fs-befs-linuxvfsc-replace-strncpy-by-strlcpy.patch
* fs-befs-btreec-replace-strncpy-by-strlcpy-coding-style-fixing.patch
* hfsplus-fixes-worst-case-unicode-to-char-conversion-of-file-names-and-attributes.patch
* hfsplus-fixes-worst-case-unicode-to-char-conversion-of-file-names-and-attributes-fix.patch
* hfsplus-correct-usage-of-hfsplus_attr_max_strlen-for-non-english-attributes.patch
* hfsplus-correct-usage-of-hfsplus_attr_max_strlen-for-non-english-attributes-fix.patch
* hfsplus-correct-usage-of-hfsplus_attr_max_strlen-for-non-english-attributes-fix-2.patch
* hfsplus-remove-unused-routine-hfsplus_attr_build_key_uni.patch
* hfsplus-fix-longname-handling.patch
* fs-reiserfs-bitmapc-coding-style-fixes.patch
* fs-fat-add-support-for-dos-1x-formatted-volumes.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
* documentation-submittingpatches-describe-the-fixes-tag.patch
* signals-kill-sigfindinword.patch
* signals-s-siginitset-sigemptyset-in-do_sigtimedwait.patch
* signals-kill-rm_from_queue-change-prepare_signal-to-use-for_each_thread.patch
* signals-rename-rm_from_queue_full-to-flush_sigqueue_mask.patch
* signals-cleanup-the-usage-of-t-current-in-do_sigaction.patch
* signals-mv-disallow_signal-from-schedh-exitc-to-signal.patch
* signals-jffs2-fix-the-wrong-usage-of-disallow_signal.patch
* signals-kill-the-obsolete-sigdelset-and-recalc_sigpending-in-allow_signal.patch
* signals-disallow_signal-should-flush-the-potentially-pending-signal.patch
* signals-introduce-kernel_sigaction.patch
* signals-change-wait_for_helper-to-use-kernel_sigaction.patch
* kernel-panicc-add-crash_kexec_post_notifiers-option-for-kdump-after-panic_notifers.patch
* kexec-save-pg_head_mask-in-vmcoreinfo.patch
* idr-fix-overflow-bug-during-maximum-id-calculation-at-maximum-height.patch
* idr-fix-unexpected-id-removal-when-idr_removeunallocated_id.patch
* idr-fix-null-pointer-dereference-when-ida_removeunallocated_id.patch
* idr-fix-idr_replaces-returned-error-code.patch
* idr-dont-need-to-shink-the-free-list-when-idr_remove.patch
* idr-reduce-the-unneeded-check-in-free_layer.patch
* idr-reorder-the-fields.patch
* fs-affs-filec-remove-unnecessary-function-parameters.patch
* fs-affs-convert-printk-to-pr_foo.patch
* fs-affs-pr_debug-cleanup.patch
* initramfs-remove-compression-mode-choice.patch
* ipc-constify-ipc_ops.patch
* ipc-kernel-use-linux-headers.patch
* ipc-kernel-clear-whitespace.patch
* lib-scatterlist-make-arch_has_sg_chain-an-actual-kconfig.patch
* lib-scatterlist-make-arch_has_sg_chain-an-actual-kconfig-fix.patch
* lib-scatterlist-make-arch_has_sg_chain-an-actual-kconfig-fix-2.patch
* lib-scatterlist-make-arch_has_sg_chain-an-actual-kconfig-fix-3.patch
* lib-scatterlist-clean-up-useless-architecture-versions-of-scatterlisth.patch
linux-next.patch
linux-next-git-rejects.patch
* drivers-gpio-gpio-zevioc-fix-build.patch
* arm-convert-use-of-typedef-ctl_table-to-struct-ctl_table.patch
* ia64-convert-use-of-typedef-ctl_table-to-struct-ctl_table.patch
* tile-convert-use-of-typedef-ctl_table-to-struct-ctl_table.patch
* cdrom-convert-use-of-typedef-ctl_table-to-struct-ctl_table.patch
* random-convert-use-of-typedef-ctl_table-to-struct-ctl_table.patch
* parport-convert-use-of-typedef-ctl_table-to-struct-ctl_table.patch
* scsi-convert-use-of-typedef-ctl_table-to-struct-ctl_table.patch
* coda-convert-use-of-typedef-ctl_table-to-struct-ctl_table.patch
* fscache-convert-use-of-typedef-ctl_table-to-struct-ctl_table.patch
* lockd-convert-use-of-typedef-ctl_table-to-struct-ctl_table.patch
* nfs-convert-use-of-typedef-ctl_table-to-struct-ctl_table.patch
* inotify-convert-use-of-typedef-ctl_table-to-struct-ctl_table.patch
* ntfs-convert-use-of-typedef-ctl_table-to-struct-ctl_table.patch
* fs-convert-use-of-typedef-ctl_table-to-struct-ctl_table.patch
* key-convert-use-of-typedef-ctl_table-to-struct-ctl_table.patch
* ipc-convert-use-of-typedef-ctl_table-to-struct-ctl_table.patch
* sysctl-convert-use-of-typedef-ctl_table-to-struct-ctl_table.patch
* mm-convert-use-of-typedef-ctl_table-to-struct-ctl_table.patch
* mfd-rtc-s5m-do-not-allocate-rtc-i2c-dummy-and-regmap-for-unsupported-chipsets.patch
* mfd-rtc-sec-s5m-rename-sec-symbols-to-s5m.patch
* rtc-s5m-remove-undocumented-time-init-on-first-boot.patch
* rtc-s5m-use-shorter-time-of-register-update.patch
* rtc-s5m-support-different-register-layout.patch
* rtc-s5m-add-support-for-s2mps14-rtc.patch
* rtc-s5m-consolidate-two-device-type-switch-statements.patch
* blackfin-ptrace-call-find_vma-with-the-mmap_sem-held.patch
* fs-bio-remove-bs-paramater-in-biovec_create_pool.patch
* fs-bioc-remove-nr_segs-unused-function-parameter.patch
* w1-call-put_device-if-device_register-fails.patch
* arm-move-arm_dma_limit-to-setup_dma_zone.patch
* ufs-sb-mutex-merge-mutex_destroy.patch
* mm-add-strictlimit-knob-v2.patch
debugging-keep-track-of-page-owners.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
put_bh-debug.patch
add-debugging-aid-for-memory-initialisation-problems.patch
workaround-for-a-pci-restoring-bug.patch
single_open-seq_release-leak-diagnostics.patch
On 04/22/14 15:21, [email protected] wrote:
> The mm-of-the-moment snapshot 2014-04-22-15-20 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
>
include/linux/hugetlb.h:468:9: error: 'HPAGE_SHIFT' undeclared (first use in this function)
--
~Randy
On Wed, 23 Apr 2014 10:10:29 -0700
Randy Dunlap <[email protected]> wrote:
> On 04/22/14 15:21, [email protected] wrote:
> > The mm-of-the-moment snapshot 2014-04-22-15-20 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
> >
>
> include/linux/hugetlb.h:468:9: error: 'HPAGE_SHIFT' undeclared (first use in this function)
The patch adding HPAGE_SHIFT usage to hugetlb.h in current mmotm is this:
http://www.ozlabs.org/~akpm/mmotm/broken-out/hugetlb-ensure-hugepage-access-is-denied-if-hugepages-are-not-supported.patch
But I can't reproduce the issue to be sure what the problem is. Are you
building the kernel on 32bits? Can you provide the output of
"grep -i huge .config" or send your .config in private?
On 04/23/14 10:41, Luiz Capitulino wrote:
> On Wed, 23 Apr 2014 10:10:29 -0700
> Randy Dunlap <[email protected]> wrote:
>
>> On 04/22/14 15:21, [email protected] wrote:
>>> The mm-of-the-moment snapshot 2014-04-22-15-20 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
>>>
>>
>> include/linux/hugetlb.h:468:9: error: 'HPAGE_SHIFT' undeclared (first use in this function)
>
> The patch adding HPAGE_SHIFT usage to hugetlb.h in current mmotm is this:
>
> http://www.ozlabs.org/~akpm/mmotm/broken-out/hugetlb-ensure-hugepage-access-is-denied-if-hugepages-are-not-supported.patch
>
> But I can't reproduce the issue to be sure what the problem is. Are you
> building the kernel on 32bits? Can you provide the output of
> "grep -i huge .config" or send your .config in private?
>
[adding Richard to cc:]
As in $subject, if I build uml x86 32-bit or 64-bit defconfig, the build fails with
this error.
> grep -i huge UM64/.config
# CONFIG_HUGETLB_PAGE is not set
Full x86_64 uml defconfig is attached.
Thanks,
--
~Randy
On Wed, 23 Apr 2014 10:48:27 -0700
Randy Dunlap <[email protected]> wrote:
> On 04/23/14 10:41, Luiz Capitulino wrote:
> > On Wed, 23 Apr 2014 10:10:29 -0700
> > Randy Dunlap <[email protected]> wrote:
> >
> >> On 04/22/14 15:21, [email protected] wrote:
> >>> The mm-of-the-moment snapshot 2014-04-22-15-20 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
> >>>
> >>
> >> include/linux/hugetlb.h:468:9: error: 'HPAGE_SHIFT' undeclared (first use in this function)
> >
> > The patch adding HPAGE_SHIFT usage to hugetlb.h in current mmotm is this:
> >
> > http://www.ozlabs.org/~akpm/mmotm/broken-out/hugetlb-ensure-hugepage-access-is-denied-if-hugepages-are-not-supported.patch
> >
> > But I can't reproduce the issue to be sure what the problem is. Are you
> > building the kernel on 32bits? Can you provide the output of
> > "grep -i huge .config" or send your .config in private?
> >
>
> [adding Richard to cc:]
>
>
> As in $subject, if I build uml x86 32-bit or 64-bit defconfig, the build fails with
> this error.
Oh, I missed the subject info completely. Sorry about that.
So, the issue really seems to be introduced by patch:
hugetlb-ensure-hugepage-access-is-denied-if-hugepages-are-not-supported.patch
And the problem is that UML doesn't define HPAGE_SHIFT. The following patch
fixes it, but I'll let Nishanth decide what to do here.
diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h
index 4eace5e..3aab7df 100644
--- a/include/linux/hugetlb.h
+++ b/include/linux/hugetlb.h
@@ -458,6 +458,10 @@ static inline spinlock_t *huge_pte_lock(struct hstate *h,
return ptl;
}
+#ifndef HPAGE_SHIFT
+#define HPAGE_SHIFT 0
+#endif
+
static inline bool hugepages_supported(void)
{
/*
On 04/23/14 11:16, Luiz Capitulino wrote:
> On Wed, 23 Apr 2014 10:48:27 -0700
> Randy Dunlap <[email protected]> wrote:
>
>> On 04/23/14 10:41, Luiz Capitulino wrote:
>>> On Wed, 23 Apr 2014 10:10:29 -0700
>>> Randy Dunlap <[email protected]> wrote:
>>>
>>>> On 04/22/14 15:21, [email protected] wrote:
>>>>> The mm-of-the-moment snapshot 2014-04-22-15-20 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
>>>>>
>>>>
>>>> include/linux/hugetlb.h:468:9: error: 'HPAGE_SHIFT' undeclared (first use in this function)
>>>
>>> The patch adding HPAGE_SHIFT usage to hugetlb.h in current mmotm is this:
>>>
>>> http://www.ozlabs.org/~akpm/mmotm/broken-out/hugetlb-ensure-hugepage-access-is-denied-if-hugepages-are-not-supported.patch
>>>
>>> But I can't reproduce the issue to be sure what the problem is. Are you
>>> building the kernel on 32bits? Can you provide the output of
>>> "grep -i huge .config" or send your .config in private?
>>>
>>
>> [adding Richard to cc:]
>>
>>
>> As in $subject, if I build uml x86 32-bit or 64-bit defconfig, the build fails with
>> this error.
>
> Oh, I missed the subject info completely. Sorry about that.
>
> So, the issue really seems to be introduced by patch:
>
> hugetlb-ensure-hugepage-access-is-denied-if-hugepages-are-not-supported.patch
>
> And the problem is that UML doesn't define HPAGE_SHIFT. The following patch
> fixes it, but I'll let Nishanth decide what to do here.
Thanks for tracking it down.
> diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h
> index 4eace5e..3aab7df 100644
> --- a/include/linux/hugetlb.h
> +++ b/include/linux/hugetlb.h
> @@ -458,6 +458,10 @@ static inline spinlock_t *huge_pte_lock(struct hstate *h,
> return ptl;
> }
>
> +#ifndef HPAGE_SHIFT
> +#define HPAGE_SHIFT 0
> +#endif
> +
> static inline bool hugepages_supported(void)
> {
> /*
>
--
~Randy
On Wed, 23 Apr 2014 14:16:00 -0400 Luiz Capitulino <[email protected]> wrote:
> On Wed, 23 Apr 2014 10:48:27 -0700
> > >>> 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
> > >>>
> > >>
> > >> include/linux/hugetlb.h:468:9: error: 'HPAGE_SHIFT' undeclared (first use in this function)
> > >
> > > The patch adding HPAGE_SHIFT usage to hugetlb.h in current mmotm is this:
> > >
> > > http://www.ozlabs.org/~akpm/mmotm/broken-out/hugetlb-ensure-hugepage-access-is-denied-if-hugepages-are-not-supported.patch
> > >
> > > But I can't reproduce the issue to be sure what the problem is. Are you
> > > building the kernel on 32bits? Can you provide the output of
> > > "grep -i huge .config" or send your .config in private?
> > >
> >
> > [adding Richard to cc:]
> >
> >
> > As in $subject, if I build uml x86 32-bit or 64-bit defconfig, the build fails with
> > this error.
>
> Oh, I missed the subject info completely. Sorry about that.
>
> So, the issue really seems to be introduced by patch:
>
> hugetlb-ensure-hugepage-access-is-denied-if-hugepages-are-not-supported.patch
>
> And the problem is that UML doesn't define HPAGE_SHIFT. The following patch
> fixes it, but I'll let Nishanth decide what to do here.
I'll try moving hugepages_supported() into the #ifdef
CONFIG_HUGETLB_PAGE section.
--- a/include/linux/hugetlb.h~hugetlb-ensure-hugepage-access-is-denied-if-hugepages-are-not-supported-fix-fix
+++ a/include/linux/hugetlb.h
@@ -412,6 +412,16 @@ static inline spinlock_t *huge_pte_lockp
return &mm->page_table_lock;
}
+static inline bool hugepages_supported(void)
+{
+ /*
+ * Some platform decide whether they support huge pages at boot
+ * time. On these, such as powerpc, HPAGE_SHIFT is set to 0 when
+ * there is no such support
+ */
+ return HPAGE_SHIFT != 0;
+}
+
#else /* CONFIG_HUGETLB_PAGE */
struct hstate {};
#define alloc_huge_page_node(h, nid) NULL
@@ -460,14 +470,4 @@ static inline spinlock_t *huge_pte_lock(
return ptl;
}
-static inline bool hugepages_supported(void)
-{
- /*
- * Some platform decide whether they support huge pages at boot
- * time. On these, such as powerpc, HPAGE_SHIFT is set to 0 when
- * there is no such support
- */
- return HPAGE_SHIFT != 0;
-}
-
#endif /* _LINUX_HUGETLB_H */
_
On 23.04.2014 [11:24:42 -0700], Andrew Morton wrote:
> On Wed, 23 Apr 2014 14:16:00 -0400 Luiz Capitulino <[email protected]> wrote:
>
> > On Wed, 23 Apr 2014 10:48:27 -0700
> > > >>> 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
> > > >>>
> > > >>
> > > >> include/linux/hugetlb.h:468:9: error: 'HPAGE_SHIFT' undeclared (first use in this function)
> > > >
> > > > The patch adding HPAGE_SHIFT usage to hugetlb.h in current mmotm is this:
> > > >
> > > > http://www.ozlabs.org/~akpm/mmotm/broken-out/hugetlb-ensure-hugepage-access-is-denied-if-hugepages-are-not-supported.patch
> > > >
> > > > But I can't reproduce the issue to be sure what the problem is. Are you
> > > > building the kernel on 32bits? Can you provide the output of
> > > > "grep -i huge .config" or send your .config in private?
> > > >
> > >
> > > [adding Richard to cc:]
> > >
> > >
> > > As in $subject, if I build uml x86 32-bit or 64-bit defconfig, the build fails with
> > > this error.
> >
> > Oh, I missed the subject info completely. Sorry about that.
> >
> > So, the issue really seems to be introduced by patch:
> >
> > hugetlb-ensure-hugepage-access-is-denied-if-hugepages-are-not-supported.patch
> >
> > And the problem is that UML doesn't define HPAGE_SHIFT. The following patch
> > fixes it, but I'll let Nishanth decide what to do here.
>
> I'll try moving hugepages_supported() into the #ifdef
> CONFIG_HUGETLB_PAGE section.
This does seem like the right fix, I apologize for not doing enough
build coverage!
Acked-by: Nishanth Aravamudan <[email protected]>
> --- a/include/linux/hugetlb.h~hugetlb-ensure-hugepage-access-is-denied-if-hugepages-are-not-supported-fix-fix
> +++ a/include/linux/hugetlb.h
> @@ -412,6 +412,16 @@ static inline spinlock_t *huge_pte_lockp
> return &mm->page_table_lock;
> }
>
> +static inline bool hugepages_supported(void)
> +{
> + /*
> + * Some platform decide whether they support huge pages at boot
> + * time. On these, such as powerpc, HPAGE_SHIFT is set to 0 when
> + * there is no such support
> + */
> + return HPAGE_SHIFT != 0;
> +}
> +
> #else /* CONFIG_HUGETLB_PAGE */
> struct hstate {};
> #define alloc_huge_page_node(h, nid) NULL
> @@ -460,14 +470,4 @@ static inline spinlock_t *huge_pte_lock(
> return ptl;
> }
>
> -static inline bool hugepages_supported(void)
> -{
> - /*
> - * Some platform decide whether they support huge pages at boot
> - * time. On these, such as powerpc, HPAGE_SHIFT is set to 0 when
> - * there is no such support
> - */
> - return HPAGE_SHIFT != 0;
> -}
> -
> #endif /* _LINUX_HUGETLB_H */
> _
>
Hi all,
On Wed, 23 Apr 2014 11:24:42 -0700 Andrew Morton <[email protected]> wrote:
>
> I'll try moving hugepages_supported() into the #ifdef
> CONFIG_HUGETLB_PAGE section.
>
> --- a/include/linux/hugetlb.h~hugetlb-ensure-hugepage-access-is-denied-if-hugepages-are-not-supported-fix-fix
> +++ a/include/linux/hugetlb.h
> @@ -412,6 +412,16 @@ static inline spinlock_t *huge_pte_lockp
> return &mm->page_table_lock;
> }
>
> +static inline bool hugepages_supported(void)
> +{
> + /*
> + * Some platform decide whether they support huge pages at boot
> + * time. On these, such as powerpc, HPAGE_SHIFT is set to 0 when
> + * there is no such support
> + */
> + return HPAGE_SHIFT != 0;
> +}
> +
> #else /* CONFIG_HUGETLB_PAGE */
> struct hstate {};
> #define alloc_huge_page_node(h, nid) NULL
> @@ -460,14 +470,4 @@ static inline spinlock_t *huge_pte_lock(
> return ptl;
> }
>
> -static inline bool hugepages_supported(void)
> -{
> - /*
> - * Some platform decide whether they support huge pages at boot
> - * time. On these, such as powerpc, HPAGE_SHIFT is set to 0 when
> - * there is no such support
> - */
> - return HPAGE_SHIFT != 0;
> -}
> -
> #endif /* _LINUX_HUGETLB_H */
Clearly, noone reads my emails :-(
This is exactly what I reported and the fix I applied to yesterday's
linux-next ...
--
Cheers,
Stephen Rothwell [email protected]
On Thu, 24 Apr 2014 08:10:19 +1000 Stephen Rothwell <[email protected]> wrote:
> Hi all,
>
> On Wed, 23 Apr 2014 11:24:42 -0700 Andrew Morton <[email protected]> wrote:
> >
> > I'll try moving hugepages_supported() into the #ifdef
> > CONFIG_HUGETLB_PAGE section.
> >
> > --- a/include/linux/hugetlb.h~hugetlb-ensure-hugepage-access-is-denied-if-hugepages-are-not-supported-fix-fix
> > +++ a/include/linux/hugetlb.h
> > @@ -412,6 +412,16 @@ static inline spinlock_t *huge_pte_lockp
> > return &mm->page_table_lock;
> > }
> >
> > +static inline bool hugepages_supported(void)
> > +{
> > + /*
> > + * Some platform decide whether they support huge pages at boot
> > + * time. On these, such as powerpc, HPAGE_SHIFT is set to 0 when
> > + * there is no such support
> > + */
> > + return HPAGE_SHIFT != 0;
> > +}
> > +
> > #else /* CONFIG_HUGETLB_PAGE */
> > struct hstate {};
> > #define alloc_huge_page_node(h, nid) NULL
> > @@ -460,14 +470,4 @@ static inline spinlock_t *huge_pte_lock(
> > return ptl;
> > }
> >
> > -static inline bool hugepages_supported(void)
> > -{
> > - /*
> > - * Some platform decide whether they support huge pages at boot
> > - * time. On these, such as powerpc, HPAGE_SHIFT is set to 0 when
> > - * there is no such support
> > - */
> > - return HPAGE_SHIFT != 0;
> > -}
> > -
> > #endif /* _LINUX_HUGETLB_H */
>
> Clearly, noone reads my emails :-(
>
Stephen who?
Oh, that guy who sends stuff first then comes last when others use LIFO :)
Hi Andrew,
On Wed, 23 Apr 2014 15:18:19 -0700 Andrew Morton <[email protected]> wrote:
>
> Stephen who?
>
> Oh, that guy who sends stuff first then comes last when others use LIFO :)
Ah ha! So all I have to do is stamp my emails a day ahead? Or queue
them up and send them via a cron job just after "Andrew's breakfast
time"? :-)
Anyway, I was more suggesting that Randy and the others could have saved
themselves time by reading that email.
--
Cheers,
Stephen Rothwell [email protected]
On Thu, 24 Apr 2014 08:31:00 +1000 Stephen Rothwell <[email protected]> wrote:
> Hi Andrew,
>
> On Wed, 23 Apr 2014 15:18:19 -0700 Andrew Morton <[email protected]> wrote:
> >
> > Stephen who?
> >
> > Oh, that guy who sends stuff first then comes last when others use LIFO :)
>
> Ah ha! So all I have to do is stamp my emails a day ahead? Or queue
> them up and send them via a cron job just after "Andrew's breakfast
> time"? :-)
Sometimes I go in chronological order. So your best bet is hourly
resends.
> Anyway, I was more suggesting that Randy and the others could have saved
> themselves time by reading that email.
That's OK, Randy is an infinite resource. (A nice way of saying he's
cheap!)
On 24.04.2014 [08:10:19 +1000], Stephen Rothwell wrote:
> Hi all,
>
> On Wed, 23 Apr 2014 11:24:42 -0700 Andrew Morton <[email protected]> wrote:
> >
> > I'll try moving hugepages_supported() into the #ifdef
> > CONFIG_HUGETLB_PAGE section.
> >
> > --- a/include/linux/hugetlb.h~hugetlb-ensure-hugepage-access-is-denied-if-hugepages-are-not-supported-fix-fix
> > +++ a/include/linux/hugetlb.h
> > @@ -412,6 +412,16 @@ static inline spinlock_t *huge_pte_lockp
> > return &mm->page_table_lock;
> > }
> >
> > +static inline bool hugepages_supported(void)
> > +{
> > + /*
> > + * Some platform decide whether they support huge pages at boot
> > + * time. On these, such as powerpc, HPAGE_SHIFT is set to 0 when
> > + * there is no such support
> > + */
> > + return HPAGE_SHIFT != 0;
> > +}
> > +
> > #else /* CONFIG_HUGETLB_PAGE */
> > struct hstate {};
> > #define alloc_huge_page_node(h, nid) NULL
> > @@ -460,14 +470,4 @@ static inline spinlock_t *huge_pte_lock(
> > return ptl;
> > }
> >
> > -static inline bool hugepages_supported(void)
> > -{
> > - /*
> > - * Some platform decide whether they support huge pages at boot
> > - * time. On these, such as powerpc, HPAGE_SHIFT is set to 0 when
> > - * there is no such support
> > - */
> > - return HPAGE_SHIFT != 0;
> > -}
> > -
> > #endif /* _LINUX_HUGETLB_H */
>
> Clearly, noone reads my emails :-(
>
> This is exactly what I reported and the fix I applied to yesterday's
> linux-next ...
Actually, I think (based upon the context) that your fix is slightly
different. Your fix puts hugepages_supported() under CONFIG_HUGETLBFS.
Andrew's puts it under CONFIG_HUGETLB_PAGE. I think they are effectively
tied together as options go, but it semantically makes more sense with
CONFIG_HUGETLB_PAGE.
Thanks,
Nish
On 04/23/14 15:31, Stephen Rothwell wrote:
> Hi Andrew,
>
> On Wed, 23 Apr 2014 15:18:19 -0700 Andrew Morton <[email protected]> wrote:
>>
>> Stephen who?
>>
>> Oh, that guy who sends stuff first then comes last when others use LIFO :)
>
> Ah ha! So all I have to do is stamp my emails a day ahead? Or queue
> them up and send them via a cron job just after "Andrew's breakfast
> time"? :-)
>
> Anyway, I was more suggesting that Randy and the others could have saved
> themselves time by reading that email.
Agreed, thanks for kicking me. ;)
I think that it also means that there is still plenty of room for process
improvement with akpm including linux-next and linux-next including (parts of)
akpm-current. IMHO.
--
~Randy