From: Chris Clayton <chris2553@googlemail.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Jiang Liu <liuj97@gmail.com>, Jiang Liu <jiang.liu@huawei.com>,
Maciej Rutecki <maciej.rutecki@gmail.com>,
Jianguo Wu <wujianguo@huawei.com>,
"Rafael J. Wysocki" <rjw@sisk.pl>, Mel Gorman <mgorman@suse.de>,
Minchan Kim <minchan@kernel.org>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
Michal Hocko <mhocko@suse.cz>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org,
Daniel Vetter <daniel.vetter@ffwll.ch>
Subject: Re: [PATCH] mm: fix a regression with HIGHMEM introduced by changeset 7f1290f2f2a4d
Date: Thu, 15 Nov 2012 21:17:51 +0000 [thread overview]
Message-ID: <50A55BFF.8050003@googlemail.com> (raw)
In-Reply-To: <20121115112454.e582a033.akpm@linux-foundation.org>
On 11/15/12 19:24, Andrew Morton wrote:
> On Wed, 14 Nov 2012 22:52:03 +0800
> Jiang Liu <liuj97@gmail.com> wrote:
>
>> So how about totally reverting the changeset 7f1290f2f2a4d2c3f1b7ce8e87256e052ca23125
>> and I will post another version once I found a cleaner way?
>
> We do need to get this regression fixed and I guess that a
> straightforward revert is an acceptable way of doing that, for now.
>
>
> I queued the below, with a plan to send it to Linus next week.
>
I've applied this patch to v3.7-rc5-28-g79e979e and can confirm that it
fixes the problem I had with my laptop failing to resume (by either
freezing or rebooting) after a suspend to disk.
Tested-by: Chris Clayton <chris2553@googlemail.com>
>
> From: Andrew Morton <akpm@linux-foundation.org>
> Subject: revert "mm: fix-up zone present pages"
>
> Revert
>
> commit 7f1290f2f2a4d2c3f1b7ce8e87256e052ca23125
> Author: Jianguo Wu <wujianguo@huawei.com>
> AuthorDate: Mon Oct 8 16:33:06 2012 -0700
> Commit: Linus Torvalds <torvalds@linux-foundation.org>
> CommitDate: Tue Oct 9 16:22:54 2012 +0900
>
> mm: fix-up zone present pages
>
>
> That patch tried to fix a issue when calculating zone->present_pages, but
> it caused a regression on 32bit systems with HIGHMEM. With that
> changeset, reset_zone_present_pages() resets all zone->present_pages to
> zero, and fixup_zone_present_pages() is called to recalculate
> zone->present_pages when the boot allocator frees core memory pages into
> buddy allocator. Because highmem pages are not freed by bootmem
> allocator, all highmem zones' present_pages becomes zero.
>
> Various options for improving the situation are being discussed but for
> now, let's return to the 3.6 code.
>
> Cc: Jianguo Wu <wujianguo@huawei.com>
> Cc: Jiang Liu <jiang.liu@huawei.com>
> Cc: Petr Tesarik <ptesarik@suse.cz>
> Cc: "Luck, Tony" <tony.luck@intel.com>
> Cc: Mel Gorman <mel@csn.ul.ie>
> Cc: Yinghai Lu <yinghai@kernel.org>
> Cc: Minchan Kim <minchan.kim@gmail.com>
> Cc: Johannes Weiner <hannes@cmpxchg.org>
> Cc: David Rientjes <rientjes@google.com>
> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
> ---
>
> arch/ia64/mm/init.c | 1 -
> include/linux/mm.h | 4 ----
> mm/bootmem.c | 10 +---------
> mm/memory_hotplug.c | 7 -------
> mm/nobootmem.c | 3 ---
> mm/page_alloc.c | 34 ----------------------------------
> 6 files changed, 1 insertion(+), 58 deletions(-)
>
> diff -puN arch/ia64/mm/init.c~revert-1 arch/ia64/mm/init.c
> --- a/arch/ia64/mm/init.c~revert-1
> +++ a/arch/ia64/mm/init.c
> @@ -637,7 +637,6 @@ mem_init (void)
>
> high_memory = __va(max_low_pfn * PAGE_SIZE);
>
> - reset_zone_present_pages();
> for_each_online_pgdat(pgdat)
> if (pgdat->bdata->node_bootmem_map)
> totalram_pages += free_all_bootmem_node(pgdat);
> diff -puN include/linux/mm.h~revert-1 include/linux/mm.h
> --- a/include/linux/mm.h~revert-1
> +++ a/include/linux/mm.h
> @@ -1684,9 +1684,5 @@ static inline unsigned int debug_guardpa
> static inline bool page_is_guard(struct page *page) { return false; }
> #endif /* CONFIG_DEBUG_PAGEALLOC */
>
> -extern void reset_zone_present_pages(void);
> -extern void fixup_zone_present_pages(int nid, unsigned long start_pfn,
> - unsigned long end_pfn);
> -
> #endif /* __KERNEL__ */
> #endif /* _LINUX_MM_H */
> diff -puN mm/bootmem.c~revert-1 mm/bootmem.c
> --- a/mm/bootmem.c~revert-1
> +++ a/mm/bootmem.c
> @@ -198,8 +198,6 @@ static unsigned long __init free_all_boo
> int order = ilog2(BITS_PER_LONG);
>
> __free_pages_bootmem(pfn_to_page(start), order);
> - fixup_zone_present_pages(page_to_nid(pfn_to_page(start)),
> - start, start + BITS_PER_LONG);
> count += BITS_PER_LONG;
> start += BITS_PER_LONG;
> } else {
> @@ -210,9 +208,6 @@ static unsigned long __init free_all_boo
> if (vec & 1) {
> page = pfn_to_page(start + off);
> __free_pages_bootmem(page, 0);
> - fixup_zone_present_pages(
> - page_to_nid(page),
> - start + off, start + off + 1);
> count++;
> }
> vec >>= 1;
> @@ -226,11 +221,8 @@ static unsigned long __init free_all_boo
> pages = bdata->node_low_pfn - bdata->node_min_pfn;
> pages = bootmem_bootmap_pages(pages);
> count += pages;
> - while (pages--) {
> - fixup_zone_present_pages(page_to_nid(page),
> - page_to_pfn(page), page_to_pfn(page) + 1);
> + while (pages--)
> __free_pages_bootmem(page++, 0);
> - }
>
> bdebug("nid=%td released=%lx\n", bdata - bootmem_node_data, count);
>
> diff -puN mm/memory_hotplug.c~revert-1 mm/memory_hotplug.c
> --- a/mm/memory_hotplug.c~revert-1
> +++ a/mm/memory_hotplug.c
> @@ -106,7 +106,6 @@ static void get_page_bootmem(unsigned lo
> void __ref put_page_bootmem(struct page *page)
> {
> unsigned long type;
> - struct zone *zone;
>
> type = (unsigned long) page->lru.next;
> BUG_ON(type < MEMORY_HOTPLUG_MIN_BOOTMEM_TYPE ||
> @@ -117,12 +116,6 @@ void __ref put_page_bootmem(struct page
> set_page_private(page, 0);
> INIT_LIST_HEAD(&page->lru);
> __free_pages_bootmem(page, 0);
> -
> - zone = page_zone(page);
> - zone_span_writelock(zone);
> - zone->present_pages++;
> - zone_span_writeunlock(zone);
> - totalram_pages++;
> }
>
> }
> diff -puN mm/nobootmem.c~revert-1 mm/nobootmem.c
> --- a/mm/nobootmem.c~revert-1
> +++ a/mm/nobootmem.c
> @@ -116,8 +116,6 @@ static unsigned long __init __free_memor
> return 0;
>
> __free_pages_memory(start_pfn, end_pfn);
> - fixup_zone_present_pages(pfn_to_nid(start >> PAGE_SHIFT),
> - start_pfn, end_pfn);
>
> return end_pfn - start_pfn;
> }
> @@ -128,7 +126,6 @@ unsigned long __init free_low_memory_cor
> phys_addr_t start, end, size;
> u64 i;
>
> - reset_zone_present_pages();
> for_each_free_mem_range(i, MAX_NUMNODES, &start, &end, NULL)
> count += __free_memory_core(start, end);
>
> diff -puN mm/page_alloc.c~revert-1 mm/page_alloc.c
> --- a/mm/page_alloc.c~revert-1
> +++ a/mm/page_alloc.c
> @@ -6098,37 +6098,3 @@ void dump_page(struct page *page)
> dump_page_flags(page->flags);
> mem_cgroup_print_bad_page(page);
> }
> -
> -/* reset zone->present_pages */
> -void reset_zone_present_pages(void)
> -{
> - struct zone *z;
> - int i, nid;
> -
> - for_each_node_state(nid, N_HIGH_MEMORY) {
> - for (i = 0; i < MAX_NR_ZONES; i++) {
> - z = NODE_DATA(nid)->node_zones + i;
> - z->present_pages = 0;
> - }
> - }
> -}
> -
> -/* calculate zone's present pages in buddy system */
> -void fixup_zone_present_pages(int nid, unsigned long start_pfn,
> - unsigned long end_pfn)
> -{
> - struct zone *z;
> - unsigned long zone_start_pfn, zone_end_pfn;
> - int i;
> -
> - for (i = 0; i < MAX_NR_ZONES; i++) {
> - z = NODE_DATA(nid)->node_zones + i;
> - zone_start_pfn = z->zone_start_pfn;
> - zone_end_pfn = zone_start_pfn + z->spanned_pages;
> -
> - /* if the two regions intersect */
> - if (!(zone_start_pfn >= end_pfn || zone_end_pfn <= start_pfn))
> - z->present_pages += min(end_pfn, zone_end_pfn) -
> - max(start_pfn, zone_start_pfn);
> - }
> -}
> _
>
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: Chris Clayton <chris2553@googlemail.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Jiang Liu <liuj97@gmail.com>, Jiang Liu <jiang.liu@huawei.com>,
Maciej Rutecki <maciej.rutecki@gmail.com>,
Jianguo Wu <wujianguo@huawei.com>,
"Rafael J. Wysocki" <rjw@sisk.pl>, Mel Gorman <mgorman@suse.de>,
Minchan Kim <minchan@kernel.org>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
Michal Hocko <mhocko@suse.cz>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org,
Daniel Vetter <daniel.vetter@ffwll.ch>
Subject: Re: [PATCH] mm: fix a regression with HIGHMEM introduced by changeset 7f1290f2f2a4d
Date: Thu, 15 Nov 2012 21:17:51 +0000 [thread overview]
Message-ID: <50A55BFF.8050003@googlemail.com> (raw)
In-Reply-To: <20121115112454.e582a033.akpm@linux-foundation.org>
On 11/15/12 19:24, Andrew Morton wrote:
> On Wed, 14 Nov 2012 22:52:03 +0800
> Jiang Liu <liuj97@gmail.com> wrote:
>
>> So how about totally reverting the changeset 7f1290f2f2a4d2c3f1b7ce8e87256e052ca23125
>> and I will post another version once I found a cleaner way?
>
> We do need to get this regression fixed and I guess that a
> straightforward revert is an acceptable way of doing that, for now.
>
>
> I queued the below, with a plan to send it to Linus next week.
>
I've applied this patch to v3.7-rc5-28-g79e979e and can confirm that it
fixes the problem I had with my laptop failing to resume (by either
freezing or rebooting) after a suspend to disk.
Tested-by: Chris Clayton <chris2553@googlemail.com>
>
> From: Andrew Morton <akpm@linux-foundation.org>
> Subject: revert "mm: fix-up zone present pages"
>
> Revert
>
> commit 7f1290f2f2a4d2c3f1b7ce8e87256e052ca23125
> Author: Jianguo Wu <wujianguo@huawei.com>
> AuthorDate: Mon Oct 8 16:33:06 2012 -0700
> Commit: Linus Torvalds <torvalds@linux-foundation.org>
> CommitDate: Tue Oct 9 16:22:54 2012 +0900
>
> mm: fix-up zone present pages
>
>
> That patch tried to fix a issue when calculating zone->present_pages, but
> it caused a regression on 32bit systems with HIGHMEM. With that
> changeset, reset_zone_present_pages() resets all zone->present_pages to
> zero, and fixup_zone_present_pages() is called to recalculate
> zone->present_pages when the boot allocator frees core memory pages into
> buddy allocator. Because highmem pages are not freed by bootmem
> allocator, all highmem zones' present_pages becomes zero.
>
> Various options for improving the situation are being discussed but for
> now, let's return to the 3.6 code.
>
> Cc: Jianguo Wu <wujianguo@huawei.com>
> Cc: Jiang Liu <jiang.liu@huawei.com>
> Cc: Petr Tesarik <ptesarik@suse.cz>
> Cc: "Luck, Tony" <tony.luck@intel.com>
> Cc: Mel Gorman <mel@csn.ul.ie>
> Cc: Yinghai Lu <yinghai@kernel.org>
> Cc: Minchan Kim <minchan.kim@gmail.com>
> Cc: Johannes Weiner <hannes@cmpxchg.org>
> Cc: David Rientjes <rientjes@google.com>
> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
> ---
>
> arch/ia64/mm/init.c | 1 -
> include/linux/mm.h | 4 ----
> mm/bootmem.c | 10 +---------
> mm/memory_hotplug.c | 7 -------
> mm/nobootmem.c | 3 ---
> mm/page_alloc.c | 34 ----------------------------------
> 6 files changed, 1 insertion(+), 58 deletions(-)
>
> diff -puN arch/ia64/mm/init.c~revert-1 arch/ia64/mm/init.c
> --- a/arch/ia64/mm/init.c~revert-1
> +++ a/arch/ia64/mm/init.c
> @@ -637,7 +637,6 @@ mem_init (void)
>
> high_memory = __va(max_low_pfn * PAGE_SIZE);
>
> - reset_zone_present_pages();
> for_each_online_pgdat(pgdat)
> if (pgdat->bdata->node_bootmem_map)
> totalram_pages += free_all_bootmem_node(pgdat);
> diff -puN include/linux/mm.h~revert-1 include/linux/mm.h
> --- a/include/linux/mm.h~revert-1
> +++ a/include/linux/mm.h
> @@ -1684,9 +1684,5 @@ static inline unsigned int debug_guardpa
> static inline bool page_is_guard(struct page *page) { return false; }
> #endif /* CONFIG_DEBUG_PAGEALLOC */
>
> -extern void reset_zone_present_pages(void);
> -extern void fixup_zone_present_pages(int nid, unsigned long start_pfn,
> - unsigned long end_pfn);
> -
> #endif /* __KERNEL__ */
> #endif /* _LINUX_MM_H */
> diff -puN mm/bootmem.c~revert-1 mm/bootmem.c
> --- a/mm/bootmem.c~revert-1
> +++ a/mm/bootmem.c
> @@ -198,8 +198,6 @@ static unsigned long __init free_all_boo
> int order = ilog2(BITS_PER_LONG);
>
> __free_pages_bootmem(pfn_to_page(start), order);
> - fixup_zone_present_pages(page_to_nid(pfn_to_page(start)),
> - start, start + BITS_PER_LONG);
> count += BITS_PER_LONG;
> start += BITS_PER_LONG;
> } else {
> @@ -210,9 +208,6 @@ static unsigned long __init free_all_boo
> if (vec & 1) {
> page = pfn_to_page(start + off);
> __free_pages_bootmem(page, 0);
> - fixup_zone_present_pages(
> - page_to_nid(page),
> - start + off, start + off + 1);
> count++;
> }
> vec >>= 1;
> @@ -226,11 +221,8 @@ static unsigned long __init free_all_boo
> pages = bdata->node_low_pfn - bdata->node_min_pfn;
> pages = bootmem_bootmap_pages(pages);
> count += pages;
> - while (pages--) {
> - fixup_zone_present_pages(page_to_nid(page),
> - page_to_pfn(page), page_to_pfn(page) + 1);
> + while (pages--)
> __free_pages_bootmem(page++, 0);
> - }
>
> bdebug("nid=%td released=%lx\n", bdata - bootmem_node_data, count);
>
> diff -puN mm/memory_hotplug.c~revert-1 mm/memory_hotplug.c
> --- a/mm/memory_hotplug.c~revert-1
> +++ a/mm/memory_hotplug.c
> @@ -106,7 +106,6 @@ static void get_page_bootmem(unsigned lo
> void __ref put_page_bootmem(struct page *page)
> {
> unsigned long type;
> - struct zone *zone;
>
> type = (unsigned long) page->lru.next;
> BUG_ON(type < MEMORY_HOTPLUG_MIN_BOOTMEM_TYPE ||
> @@ -117,12 +116,6 @@ void __ref put_page_bootmem(struct page
> set_page_private(page, 0);
> INIT_LIST_HEAD(&page->lru);
> __free_pages_bootmem(page, 0);
> -
> - zone = page_zone(page);
> - zone_span_writelock(zone);
> - zone->present_pages++;
> - zone_span_writeunlock(zone);
> - totalram_pages++;
> }
>
> }
> diff -puN mm/nobootmem.c~revert-1 mm/nobootmem.c
> --- a/mm/nobootmem.c~revert-1
> +++ a/mm/nobootmem.c
> @@ -116,8 +116,6 @@ static unsigned long __init __free_memor
> return 0;
>
> __free_pages_memory(start_pfn, end_pfn);
> - fixup_zone_present_pages(pfn_to_nid(start >> PAGE_SHIFT),
> - start_pfn, end_pfn);
>
> return end_pfn - start_pfn;
> }
> @@ -128,7 +126,6 @@ unsigned long __init free_low_memory_cor
> phys_addr_t start, end, size;
> u64 i;
>
> - reset_zone_present_pages();
> for_each_free_mem_range(i, MAX_NUMNODES, &start, &end, NULL)
> count += __free_memory_core(start, end);
>
> diff -puN mm/page_alloc.c~revert-1 mm/page_alloc.c
> --- a/mm/page_alloc.c~revert-1
> +++ a/mm/page_alloc.c
> @@ -6098,37 +6098,3 @@ void dump_page(struct page *page)
> dump_page_flags(page->flags);
> mem_cgroup_print_bad_page(page);
> }
> -
> -/* reset zone->present_pages */
> -void reset_zone_present_pages(void)
> -{
> - struct zone *z;
> - int i, nid;
> -
> - for_each_node_state(nid, N_HIGH_MEMORY) {
> - for (i = 0; i < MAX_NR_ZONES; i++) {
> - z = NODE_DATA(nid)->node_zones + i;
> - z->present_pages = 0;
> - }
> - }
> -}
> -
> -/* calculate zone's present pages in buddy system */
> -void fixup_zone_present_pages(int nid, unsigned long start_pfn,
> - unsigned long end_pfn)
> -{
> - struct zone *z;
> - unsigned long zone_start_pfn, zone_end_pfn;
> - int i;
> -
> - for (i = 0; i < MAX_NR_ZONES; i++) {
> - z = NODE_DATA(nid)->node_zones + i;
> - zone_start_pfn = z->zone_start_pfn;
> - zone_end_pfn = zone_start_pfn + z->spanned_pages;
> -
> - /* if the two regions intersect */
> - if (!(zone_start_pfn >= end_pfn || zone_end_pfn <= start_pfn))
> - z->present_pages += min(end_pfn, zone_end_pfn) -
> - max(start_pfn, zone_start_pfn);
> - }
> -}
> _
>
next prev parent reply other threads:[~2012-11-15 21:17 UTC|newest]
Thread overview: 98+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-06 1:31 [PATCH] mm: fix a regression with HIGHMEM introduced by changeset 7f1290f2f2a4d Jiang Liu
2012-11-06 1:31 ` Jiang Liu
2012-11-06 10:23 ` Chris Clayton
2012-11-06 10:23 ` Chris Clayton
2012-11-06 20:43 ` Andrew Morton
2012-11-06 20:43 ` Andrew Morton
2012-11-14 14:52 ` Jiang Liu
2012-11-14 14:52 ` Jiang Liu
2012-11-15 9:22 ` Wen Congyang
2012-11-15 9:22 ` Wen Congyang
2012-11-15 11:28 ` Bob Liu
2012-11-15 11:28 ` Bob Liu
2012-11-15 14:23 ` Wen Congyang
2012-11-15 14:23 ` Wen Congyang
2012-11-15 15:40 ` Jiang Liu
2012-11-15 15:40 ` Jiang Liu
2012-11-15 21:41 ` David Rientjes
2012-11-15 21:41 ` David Rientjes
2012-11-15 19:24 ` Andrew Morton
2012-11-15 19:24 ` Andrew Morton
2012-11-15 21:17 ` Chris Clayton [this message]
2012-11-15 21:17 ` Chris Clayton
2012-11-15 21:27 ` David Rientjes
2012-11-15 21:27 ` David Rientjes
2012-11-18 16:07 ` [RFT PATCH v1 0/5] fix up inaccurate zone->present_pages Jiang Liu
2012-11-18 16:07 ` Jiang Liu
2012-11-18 16:07 ` [RFT PATCH v1 1/5] mm: introduce new field "managed_pages" to struct zone Jiang Liu
2012-11-18 16:07 ` Jiang Liu
2012-11-19 23:38 ` Andrew Morton
2012-11-19 23:38 ` Andrew Morton
2012-11-20 14:56 ` Jiang Liu
2012-11-20 14:56 ` Jiang Liu
2012-11-20 19:31 ` Andrew Morton
2012-11-20 19:31 ` Andrew Morton
2012-11-21 14:36 ` Jiang Liu
2012-11-21 14:36 ` Jiang Liu
2012-11-21 19:31 ` Andrew Morton
2012-11-21 19:31 ` Andrew Morton
2012-11-21 15:06 ` [RFT PATCH v2 " Jiang Liu
2012-11-21 15:06 ` Jiang Liu
2012-11-18 16:07 ` [RFT PATCH v1 2/5] mm: replace zone->present_pages with zone->managed_pages if appreciated Jiang Liu
2012-11-18 16:07 ` Jiang Liu
2012-11-18 16:07 ` [RFT PATCH v1 3/5] mm: set zone->present_pages to number of existing pages in the zone Jiang Liu
2012-11-18 16:07 ` Jiang Liu
2012-11-18 16:07 ` [RFT PATCH v1 4/5] mm: provide more accurate estimation of pages occupied by memmap Jiang Liu
2012-11-18 16:07 ` Jiang Liu
2012-11-19 23:42 ` Andrew Morton
2012-11-19 23:42 ` Andrew Morton
2012-11-20 15:18 ` Jiang Liu
2012-11-20 15:18 ` Jiang Liu
2012-11-20 19:19 ` Andrew Morton
2012-11-20 19:19 ` Andrew Morton
2012-11-21 14:52 ` Jiang Liu
2012-11-21 14:52 ` Jiang Liu
2012-11-21 19:35 ` Andrew Morton
2012-11-21 19:35 ` Andrew Morton
2012-11-22 16:17 ` Jiang Liu
2012-11-22 16:17 ` Jiang Liu
2012-11-21 15:09 ` [RFT PATCH v2 " Jiang Liu
2012-11-21 15:09 ` Jiang Liu
2012-11-28 23:52 ` Andrew Morton
2012-11-28 23:52 ` Andrew Morton
2012-11-29 2:25 ` Jianguo Wu
2012-11-29 2:25 ` Jianguo Wu
2012-11-29 10:52 ` Chris Clayton
2012-11-29 10:52 ` Chris Clayton
2012-12-02 19:55 ` Chris Clayton
2012-12-02 19:55 ` Chris Clayton
2012-12-03 7:26 ` Chris Clayton
2012-12-03 7:26 ` Chris Clayton
2012-12-03 23:17 ` Andrew Morton
2012-12-03 23:17 ` Andrew Morton
2012-12-04 1:21 ` Jiang Liu
2012-12-04 1:21 ` Jiang Liu
2012-12-04 10:05 ` Chris Clayton
2012-12-04 10:05 ` Chris Clayton
2012-11-20 2:15 ` [RFT PATCH v1 " Jaegeuk Hanse
2012-11-20 2:15 ` Jaegeuk Hanse
2012-11-18 16:07 ` [RFT PATCH v1 5/5] mm: increase totalram_pages when free pages allocated by bootmem allocator Jiang Liu
2012-11-18 16:07 ` Jiang Liu
2012-11-18 20:36 ` [RFT PATCH v1 0/5] fix up inaccurate zone->present_pages Chris Clayton
2012-11-18 20:36 ` Chris Clayton
2012-11-22 9:23 ` Chris Clayton
2012-11-22 9:23 ` Chris Clayton
2012-11-26 9:46 ` Chris Clayton
2012-11-26 9:46 ` Chris Clayton
2012-11-19 21:36 ` Maciej Rutecki
2012-11-19 21:36 ` Maciej Rutecki
2012-11-20 16:03 ` Jiang Liu
2012-11-20 16:03 ` Jiang Liu
2012-11-20 2:13 ` Jaegeuk Hanse
2012-11-20 2:13 ` Jaegeuk Hanse
2012-11-20 2:43 ` Jiang Liu
2012-11-20 2:43 ` Jiang Liu
2012-11-20 3:20 ` Jaegeuk Hanse
2012-11-20 3:20 ` Jaegeuk Hanse
2012-11-20 3:46 ` Jiang Liu
2012-11-20 3:46 ` Jiang Liu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=50A55BFF.8050003@googlemail.com \
--to=chris2553@googlemail.com \
--cc=akpm@linux-foundation.org \
--cc=daniel.vetter@ffwll.ch \
--cc=jiang.liu@huawei.com \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=liuj97@gmail.com \
--cc=maciej.rutecki@gmail.com \
--cc=mgorman@suse.de \
--cc=mhocko@suse.cz \
--cc=minchan@kernel.org \
--cc=rjw@sisk.pl \
--cc=wujianguo@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.