[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20080608163237.71463df0.akpm@linux-foundation.org>
Date: Sun, 8 Jun 2008 16:32:37 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Johannes Weiner <hannes@...urebad.de>
Cc: Ingo Molnar <mingo@...e.hu>, Yinghai Lu <yhlu.kernel@...il.com>,
Andi Kleen <andi@...stfloor.org>,
Yasunori Goto <y-goto@...fujitsu.com>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH -mm 00/14] bootmem rewrite v4
On Sun, 08 Jun 2008 23:52:47 +0200 Johannes Weiner <hannes@...urebad.de> wrote:
> Hi,
>
> Andrew Morton <akpm@...ux-foundation.org> writes:
>
> > On Fri, 06 Jun 2008 00:49:40 +0200 Johannes Weiner <hannes@...urebad.de> wrote:
> >
> >> This is a complete overhaul of the bootmem allocator while preserving
> >> most of its original functionality.
> >
> > Confused. This conflicts with patches from yourself which I have already
> > merged.
>
> Hum. I just tried again:
>
> - checkout v2.6.26-rc5
> - get latest mmotm broken-out tarball (stamp-2008-06-07-02-27)
> - git-quiltimport
> - apply the bootmem series
>
> and no conflicts. Anything I missed? Which files are conflicting, btw?
>
bootmem-reorder-code-to-match-new-bootmem-structure.patch spits:
***************
*** 575,609 ****
return ptr;
}
#endif
-
- #ifndef ARCH_LOW_ADDRESS_LIMIT
- #define ARCH_LOW_ADDRESS_LIMIT 0xffffffffUL
- #endif
-
- void * __init __alloc_bootmem_low(unsigned long size, unsigned long align,
- unsigned long goal)
- {
- bootmem_data_t *bdata;
- void *ptr;
-
- list_for_each_entry(bdata, &bdata_list, list) {
- ptr = alloc_bootmem_core(bdata, size, align, goal,
- ARCH_LOW_ADDRESS_LIMIT);
- if (ptr)
- return ptr;
- }
-
- /*
- * Whoops, we cannot satisfy the allocation request.
- */
- printk(KERN_ALERT "low bootmem alloc of %lu bytes failed!\n", size);
- panic("Out of low memory");
- return NULL;
- }
-
- void * __init __alloc_bootmem_low_node(pg_data_t *pgdat, unsigned long size,
- unsigned long align, unsigned long goal)
- {
- return alloc_bootmem_core(pgdat->bdata, size, align, goal,
- ARCH_LOW_ADDRESS_LIMIT);
- }
--- 606,608 ----
return ptr;
}
#endif
and
***************
*** 79,107 ****
__alloc_bootmem(x, PAGE_SIZE, __pa(MAX_DMA_ADDRESS))
#define alloc_bootmem_low_pages(x) \
__alloc_bootmem_low(x, PAGE_SIZE, 0)
- #endif /* !CONFIG_HAVE_ARCH_BOOTMEM_NODE */
-
- extern unsigned long free_all_bootmem(void);
- extern unsigned long free_all_bootmem_node(pg_data_t *pgdat);
- extern void *__alloc_bootmem_node(pg_data_t *pgdat,
- unsigned long size,
- unsigned long align,
- unsigned long goal);
- extern unsigned long init_bootmem_node(pg_data_t *pgdat,
- unsigned long freepfn,
- unsigned long startpfn,
- unsigned long endpfn);
- extern void reserve_bootmem_node(pg_data_t *pgdat,
- unsigned long physaddr,
- unsigned long size,
- int flags);
- extern void free_bootmem_node(pg_data_t *pgdat,
- unsigned long addr,
- unsigned long size);
- extern void *alloc_bootmem_section(unsigned long size,
- unsigned long section_nr);
-
- #ifndef CONFIG_HAVE_ARCH_BOOTMEM_NODE
#define alloc_bootmem_node(pgdat, x) \
__alloc_bootmem_node(pgdat, x, SMP_CACHE_BYTES, __pa(MAX_DMA_ADDRESS))
#define alloc_bootmem_pages_node(pgdat, x) \
--- 101,106 ----
__alloc_bootmem(x, PAGE_SIZE, __pa(MAX_DMA_ADDRESS))
#define alloc_bootmem_low_pages(x) \
__alloc_bootmem_low(x, PAGE_SIZE, 0)
#define alloc_bootmem_node(pgdat, x) \
__alloc_bootmem_node(pgdat, x, SMP_CACHE_BYTES, __pa(MAX_DMA_ADDRESS))
#define alloc_bootmem_pages_node(pgdat, x) \
Seems that Nick's mm-introduce-non-panic-alloc_bootmem.patch mucked
things up. I'll have a go at fixing things.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists