The patch titled Subject: include/linux/mmzone.h: cleanups has been added to the -mm tree. Its filename is include-linux-mmzoneh-cleanups.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Subject: include/linux/mmzone.h: cleanups - implement zone_idx() in C to fix its references-args-twice macro bug - use zone_idx() in is_highmem() to remove large amounts of silly fluff. Cc: Lin Feng <linfeng@xxxxxxxxxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- include/linux/mmzone.h | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff -puN include/linux/mmzone.h~include-linux-mmzoneh-cleanups include/linux/mmzone.h --- a/include/linux/mmzone.h~include-linux-mmzoneh-cleanups +++ a/include/linux/mmzone.h @@ -815,7 +815,10 @@ unsigned long __init node_memmap_size_by /* * zone_idx() returns 0 for the ZONE_DMA zone, 1 for the ZONE_NORMAL zone, etc. */ -#define zone_idx(zone) ((zone) - (zone)->zone_pgdat->node_zones) +static inline enum zone_type zone_idx(struct zone *zone) +{ + return zone - zone->zone_pgdat->node_zones; +} static inline int populated_zone(struct zone *zone) { @@ -857,10 +860,10 @@ static inline int is_normal_idx(enum zon static inline int is_highmem(struct zone *zone) { #ifdef CONFIG_HIGHMEM - int zone_off = (char *)zone - (char *)zone->zone_pgdat->node_zones; - return zone_off == ZONE_HIGHMEM * sizeof(*zone) || - (zone_off == ZONE_MOVABLE * sizeof(*zone) && - zone_movable_is_highmem()); + enum zone_type idx = zone_idx(zone); + + return idx == ZONE_HIGHMEM || + (idx == ZONE_MOVABLE && zone_movable_is_highmem()); #else return 0; #endif _ Patches currently in -mm which might be from akpm@xxxxxxxxxxxxxxxxxxxx are fb-rework-locking-to-fix-lock-ordering-on-takeover.patch linux-next.patch arch-alpha-kernel-systblss-remove-debug-check.patch bugh-prevent-double-evaulation-of-in-build_bug_on-fix.patch bugh-compilerh-introduce-compiletime_assert-build_bug_on_msg-checkpatch-fixes.patch i-need-old-gcc.patch timer_list-convert-timer-list-to-be-a-proper-seq_file-fix.patch timer_list-convert-timer-list-to-be-a-proper-seq_file-v2-fix.patch timer_list-convert-timer-list-to-be-a-proper-seq_file-fix-fix.patch sched-proc-sched_stat-fails-on-very-very-large-machines-fix.patch sched-proc-sched_stat-fails-on-very-very-large-machines-v2-fix.patch sched-proc-sched_stat-fails-on-very-very-large-machines-v2-fix-fix.patch sched-proc-sched_debug-fails-on-very-very-large-machines-fix.patch sched-proc-sched_debug-fails-on-very-very-large-machines-v2-fix.patch mm.patch mm-memcontrolc-convert-printkkern_foo-to-pr_foo.patch mm-hugetlbc-convert-to-pr_foo.patch cma-make-putback_lru_pages-call-conditional-fix.patch mm-vmscan-clean-up-get_scan_count-fix.patch mm-vmscan-compaction-works-against-zones-not-lruvecs-fix.patch mm-page_allocc-__setup_per_zone_wmarks-make-min_pages-unsigned-long.patch mm-vmscanc-__zone_reclaim-replace-max_t-with-max.patch mmotm-memcgvmscan-do-not-break-out-targeted-reclaim-without-reclaimed-pagespatch-fix-fix.patch mm-make-madvisemadv_willneed-support-swap-file-prefetch-fix.patch mm-compaction-make-__compact_pgdat-and-compact_pgdat-return-void.patch mm-remove-flags-argument-to-mmap_region-fix.patch memory-hotplug-remove-sys-firmware-memmap-x-sysfs-fix.patch memory-hotplug-remove-sys-firmware-memmap-x-sysfs-fix-fix-fix.patch memory-hotplug-common-apis-to-support-page-tables-hot-remove-fix.patch memory-hotplug-common-apis-to-support-page-tables-hot-remove-fix-fix-fix-fix-fix-fix.patch memory-hotplug-common-apis-to-support-page-tables-hot-remove-fix-fix-fix-fix-fix-fix-fix.patch memory-hotplug-remove-page-table-of-x86_64-architecture-fix.patch memory-hotplug-do-not-allocate-pdgat-if-it-was-not-freed-when-offline-fix.patch memory-hotplug-do-not-allocate-pdgat-if-it-was-not-freed-when-offline-fix-fix.patch cpu_hotplug-clear-apicid-to-node-when-the-cpu-is-hotremoved-fix.patch cpu-hotplugmemory-hotplug-clear-cpu_to_node-when-offlining-the-node-fix.patch page_alloc-add-movable_memmap-kernel-parameter-fix.patch page_alloc-add-movable_memmap-kernel-parameter-fix-fix-checkpatch-fixes.patch page_alloc-add-movable_memmap-kernel-parameter-fix-fix-fix.patch acpi-memory-hotplug-extend-movablemem_map-ranges-to-the-end-of-node-fix.patch memory-failure-do-code-refactor-of-soft_offline_page.patch memory-failure-use-num_poisoned_pages-instead-of-mce_bad_pages-fix.patch mm-memory-failurec-fix-wrong-num_poisoned_pages-in-handling-memory-error-on-thp-fix.patch mm-dont-inline-page_mapping.patch swap-make-each-swap-partition-have-one-address_space-fix.patch page-writebackc-subtract-min_free_kbytes-from-dirtyable-memory-fix.patch page-writebackc-subtract-min_free_kbytes-from-dirtyable-memory-fix-fix.patch memcg-reduce-the-size-of-struct-memcg-244-fold-fix.patch memcg-fast-hierarchy-aware-child-test-fix.patch mm-rename-page-struct-field-helpers.patch mm-rename-page-struct-field-helpers-fix.patch mm-page_alloc-add-informative-debugging-message-in-page_outside_zone_boundaries-fix.patch include-linux-mmzoneh-cleanups.patch drop_caches-add-some-documentation-and-info-messsge.patch memcg-debugging-facility-to-access-dangling-memcgs-fix.patch scripts-pnmtologo-fix-for-plain-pbm-checkpatch-fixes.patch kernel-smpc-cleanups.patch backlight-add-lms501kf03-lcd-driver-fix.patch backlight-add-lms501kf03-lcd-driver-fix-fix.patch backlight-add-new-lp8788-backlight-driver-checkpatch-fixes.patch drivers-video-backlight-makefile-cleanup.patch checkpatch-dont-emit-the-camelcase-warning-for-pagefoo.patch binfmt_elfc-use-get_random_int-to-fix-entropy-depleting.patch rtc-ds1307-long-block-operations-bugfix-fix.patch rtc-max77686-add-maxim-77686-driver-fix.patch rtc-pcf8523-add-low-battery-voltage-support-fix.patch rtc-add-rtc-driver-for-tps80031-tps80032-v2-fix.patch rtc-add-support-for-spi-rtc-rx4581-checkpatch-fixes.patch hfsplus-add-osx-prefix-for-handling-namespace-of-mac-os-x-extended-attributes.patch signal-allow-to-send-any-siginfo-to-itself-fix.patch signalfd-add-ability-to-return-siginfo-in-a-raw-format-v2-fix.patch fs-proc-clean-up-printks.patch fs-proc-clean-up-printks-fix.patch fs-seq_filec-seq_lseek-fix-switch-statement-indenting.patch fs-seq_filec-seq_lseek-fix-switch-statement-indenting-checkpatch-fixes.patch drivers-char-miscc-misc_register-do-not-loop-on-misc_list-unconditionally-fix.patch dma-debug-new-interfaces-to-debug-dma-mapping-errors-fix-fix.patch aio-kiocb_cancel-fix.patch wait-add-wait_event_hrtimeout-fix.patch aio-use-cancellation-list-lazily-fix-fix.patch aio-give-shared-kioctx-fields-their-own-cachelines-fix.patch generic-dynamic-per-cpu-refcounting-fix.patch generic-dynamic-per-cpu-refcounting-sparse-fixes-fix.patch generic-dynamic-per-cpu-refcounting-doc-fix.patch aio-dont-include-aioh-in-schedh-fix.patch aio-dont-include-aioh-in-schedh-fix-fix.patch aio-dont-include-aioh-in-schedh-fix-3.patch aio-kill-ki_retry-fix.patch block-aio-batch-completion-for-bios-kiocbs-fix.patch block-aio-batch-completion-for-bios-kiocbs-fix-fix.patch block-aio-batch-completion-for-bios-kiocbs-fix-fix-fix.patch block-aio-batch-completion-for-bios-kiocbs-fix-fix-fix-fix-fix-fix.patch debugging-keep-track-of-page-owners-fix-2-fix.patch journal_add_journal_head-debug.patch kernel-forkc-export-kernel_thread-to-modules.patch mutex-subsystem-synchro-test-module.patch slab-leaks3-default-y.patch put_bh-debug.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html