From: Mike Rapoport <rppt@linux.vnet.ibm.com>
To: Michal Hocko <mhocko@kernel.org>
Cc: linux-mm@kvack.org, Andrew Morton <akpm@linux-foundation.org>,
"David S. Miller" <davem@davemloft.net>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Ingo Molnar <mingo@redhat.com>,
Michael Ellerman <mpe@ellerman.id.au>,
Paul Burton <paul.burton@mips.com>,
Thomas Gleixner <tglx@linutronix.de>,
Tony Luck <tony.luck@intel.com>,
linux-ia64@vger.kernel.org, linux-mips@linux-mips.org,
linuxppc-dev@lists.ozlabs.org, sparclinux@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH 21/29] memblock: replace alloc_bootmem with memblock_alloc
Date: Thu, 06 Sep 2018 13:14:34 +0000 [thread overview]
Message-ID: <20180906131433.GI27492@rapoport-lnx> (raw)
In-Reply-To: <20180906085515.GF14951@dhcp22.suse.cz>
On Thu, Sep 06, 2018 at 10:55:15AM +0200, Michal Hocko wrote:
> On Wed 05-09-18 18:59:36, Mike Rapoport wrote:
> > The conversion is done using the following semantic patch:
> >
> > @@
> > expression e;
> > @@
> > - __alloc_bootmem(e)
>
> Did you mean alloc_bottmem? Anyway the only difference from
> _alloc_bootmem is SMP_CACHE_BYTES and so you can use 0 alignment for
> memblock_virt_alloc. Why do we need memblock_alloc_from at all?
Here again, I've copied the wrong script to the changelog. Will fix.
Should have been
- alloc_bootmem(size)
+ memblock_alloc(size, 0)
> > + memblock_alloc_from(e, 0)
> >
> > Signed-off-by: Mike Rapoport <rppt@linux.vnet.ibm.com>
> > ---
> > arch/alpha/kernel/core_marvel.c | 4 ++--
> > arch/alpha/kernel/pci-noop.c | 4 ++--
> > arch/alpha/kernel/pci.c | 4 ++--
> > arch/alpha/kernel/pci_iommu.c | 4 ++--
> > arch/ia64/kernel/mca.c | 4 ++--
> > arch/ia64/mm/tlb.c | 4 ++--
> > arch/m68k/sun3/sun3dvma.c | 3 ++-
> > arch/microblaze/mm/init.c | 2 +-
> > arch/mips/kernel/setup.c | 2 +-
> > arch/um/drivers/net_kern.c | 2 +-
> > arch/um/drivers/vector_kern.c | 2 +-
> > arch/um/kernel/initrd.c | 2 +-
> > arch/x86/kernel/acpi/boot.c | 3 ++-
> > arch/x86/kernel/apic/io_apic.c | 2 +-
> > arch/x86/kernel/e820.c | 2 +-
> > arch/x86/platform/olpc/olpc_dt.c | 2 +-
> > arch/xtensa/platforms/iss/network.c | 2 +-
> > arch/xtensa/platforms/iss/setup.c | 4 ++--
> > drivers/macintosh/smu.c | 2 +-
> > init/main.c | 4 ++--
> > 20 files changed, 30 insertions(+), 28 deletions(-)
> >
> > diff --git a/arch/alpha/kernel/core_marvel.c b/arch/alpha/kernel/core_marvel.c
> > index bdebb8c2..1f00c94 100644
> > --- a/arch/alpha/kernel/core_marvel.c
> > +++ b/arch/alpha/kernel/core_marvel.c
> > @@ -82,7 +82,7 @@ mk_resource_name(int pe, int port, char *str)
> > char *name;
> >
> > sprintf(tmp, "PCI %s PE %d PORT %d", str, pe, port);
> > - name = alloc_bootmem(strlen(tmp) + 1);
> > + name = memblock_alloc(strlen(tmp) + 1, 0);
> > strcpy(name, tmp);
> >
> > return name;
> > @@ -117,7 +117,7 @@ alloc_io7(unsigned int pe)
> > return NULL;
> > }
> >
> > - io7 = alloc_bootmem(sizeof(*io7));
> > + io7 = memblock_alloc(sizeof(*io7), 0);
> > io7->pe = pe;
> > raw_spin_lock_init(&io7->irq_lock);
> >
> > diff --git a/arch/alpha/kernel/pci-noop.c b/arch/alpha/kernel/pci-noop.c
> > index c7c5879..59cbfc2 100644
> > --- a/arch/alpha/kernel/pci-noop.c
> > +++ b/arch/alpha/kernel/pci-noop.c
> > @@ -33,7 +33,7 @@ alloc_pci_controller(void)
> > {
> > struct pci_controller *hose;
> >
> > - hose = alloc_bootmem(sizeof(*hose));
> > + hose = memblock_alloc(sizeof(*hose), 0);
> >
> > *hose_tail = hose;
> > hose_tail = &hose->next;
> > @@ -44,7 +44,7 @@ alloc_pci_controller(void)
> > struct resource * __init
> > alloc_resource(void)
> > {
> > - return alloc_bootmem(sizeof(struct resource));
> > + return memblock_alloc(sizeof(struct resource), 0);
> > }
> >
> > SYSCALL_DEFINE3(pciconfig_iobase, long, which, unsigned long, bus,
> > diff --git a/arch/alpha/kernel/pci.c b/arch/alpha/kernel/pci.c
> > index c668c3b..4cc3eb9 100644
> > --- a/arch/alpha/kernel/pci.c
> > +++ b/arch/alpha/kernel/pci.c
> > @@ -392,7 +392,7 @@ alloc_pci_controller(void)
> > {
> > struct pci_controller *hose;
> >
> > - hose = alloc_bootmem(sizeof(*hose));
> > + hose = memblock_alloc(sizeof(*hose), 0);
> >
> > *hose_tail = hose;
> > hose_tail = &hose->next;
> > @@ -403,7 +403,7 @@ alloc_pci_controller(void)
> > struct resource * __init
> > alloc_resource(void)
> > {
> > - return alloc_bootmem(sizeof(struct resource));
> > + return memblock_alloc(sizeof(struct resource), 0);
> > }
> >
> >
> > diff --git a/arch/alpha/kernel/pci_iommu.c b/arch/alpha/kernel/pci_iommu.c
> > index 0c05493..5d178c7 100644
> > --- a/arch/alpha/kernel/pci_iommu.c
> > +++ b/arch/alpha/kernel/pci_iommu.c
> > @@ -79,7 +79,7 @@ iommu_arena_new_node(int nid, struct pci_controller *hose, dma_addr_t base,
> > printk("%s: couldn't allocate arena from node %d\n"
> > " falling back to system-wide allocation\n",
> > __func__, nid);
> > - arena = alloc_bootmem(sizeof(*arena));
> > + arena = memblock_alloc(sizeof(*arena), 0);
> > }
> >
> > arena->ptes = memblock_alloc_node(sizeof(*arena), align, nid);
> > @@ -92,7 +92,7 @@ iommu_arena_new_node(int nid, struct pci_controller *hose, dma_addr_t base,
> >
> > #else /* CONFIG_DISCONTIGMEM */
> >
> > - arena = alloc_bootmem(sizeof(*arena));
> > + arena = memblock_alloc(sizeof(*arena), 0);
> > arena->ptes = memblock_alloc_from(mem_size, align, 0);
> >
> > #endif /* CONFIG_DISCONTIGMEM */
> > diff --git a/arch/ia64/kernel/mca.c b/arch/ia64/kernel/mca.c
> > index 5586926..7120976 100644
> > --- a/arch/ia64/kernel/mca.c
> > +++ b/arch/ia64/kernel/mca.c
> > @@ -361,9 +361,9 @@ static ia64_state_log_t ia64_state_log[IA64_MAX_LOG_TYPES];
> >
> > #define IA64_LOG_ALLOCATE(it, size) \
> > {ia64_state_log[it].isl_log[IA64_LOG_CURR_INDEX(it)] = \
> > - (ia64_err_rec_t *)alloc_bootmem(size); \
> > + (ia64_err_rec_t *)memblock_alloc(size, 0); \
> > ia64_state_log[it].isl_log[IA64_LOG_NEXT_INDEX(it)] = \
> > - (ia64_err_rec_t *)alloc_bootmem(size);}
> > + (ia64_err_rec_t *)memblock_alloc(size, 0);}
> > #define IA64_LOG_LOCK_INIT(it) spin_lock_init(&ia64_state_log[it].isl_lock)
> > #define IA64_LOG_LOCK(it) spin_lock_irqsave(&ia64_state_log[it].isl_lock, s)
> > #define IA64_LOG_UNLOCK(it) spin_unlock_irqrestore(&ia64_state_log[it].isl_lock,s)
> > diff --git a/arch/ia64/mm/tlb.c b/arch/ia64/mm/tlb.c
> > index acf10eb..5554863 100644
> > --- a/arch/ia64/mm/tlb.c
> > +++ b/arch/ia64/mm/tlb.c
> > @@ -59,8 +59,8 @@ struct ia64_tr_entry *ia64_idtrs[NR_CPUS];
> > void __init
> > mmu_context_init (void)
> > {
> > - ia64_ctx.bitmap = alloc_bootmem((ia64_ctx.max_ctx+1)>>3);
> > - ia64_ctx.flushmap = alloc_bootmem((ia64_ctx.max_ctx+1)>>3);
> > + ia64_ctx.bitmap = memblock_alloc((ia64_ctx.max_ctx + 1) >> 3, 0);
> > + ia64_ctx.flushmap = memblock_alloc((ia64_ctx.max_ctx + 1) >> 3, 0);
> > }
> >
> > /*
> > diff --git a/arch/m68k/sun3/sun3dvma.c b/arch/m68k/sun3/sun3dvma.c
> > index 8546922..72d9458 100644
> > --- a/arch/m68k/sun3/sun3dvma.c
> > +++ b/arch/m68k/sun3/sun3dvma.c
> > @@ -267,7 +267,8 @@ void __init dvma_init(void)
> >
> > list_add(&(hole->list), &hole_list);
> >
> > - iommu_use = alloc_bootmem(IOMMU_TOTAL_ENTRIES * sizeof(unsigned long));
> > + iommu_use = memblock_alloc(IOMMU_TOTAL_ENTRIES * sizeof(unsigned long),
> > + 0);
> >
> > dvma_unmap_iommu(DVMA_START, DVMA_SIZE);
> >
> > diff --git a/arch/microblaze/mm/init.c b/arch/microblaze/mm/init.c
> > index df6de7c..8c7f074 100644
> > --- a/arch/microblaze/mm/init.c
> > +++ b/arch/microblaze/mm/init.c
> > @@ -377,7 +377,7 @@ void * __ref zalloc_maybe_bootmem(size_t size, gfp_t mask)
> > if (mem_init_done)
> > p = kzalloc(size, mask);
> > else {
> > - p = alloc_bootmem(size);
> > + p = memblock_alloc(size, 0);
> > if (p)
> > memset(p, 0, size);
> > }
> > diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c
> > index 08f8251..419dfc42 100644
> > --- a/arch/mips/kernel/setup.c
> > +++ b/arch/mips/kernel/setup.c
> > @@ -901,7 +901,7 @@ static void __init resource_init(void)
> > if (end >= HIGHMEM_START)
> > end = HIGHMEM_START - 1;
> >
> > - res = alloc_bootmem(sizeof(struct resource));
> > + res = memblock_alloc(sizeof(struct resource), 0);
> >
> > res->start = start;
> > res->end = end;
> > diff --git a/arch/um/drivers/net_kern.c b/arch/um/drivers/net_kern.c
> > index 3ef1b48..ef19a39 100644
> > --- a/arch/um/drivers/net_kern.c
> > +++ b/arch/um/drivers/net_kern.c
> > @@ -650,7 +650,7 @@ static int __init eth_setup(char *str)
> > return 1;
> > }
> >
> > - new = alloc_bootmem(sizeof(*new));
> > + new = memblock_alloc(sizeof(*new), 0);
> >
> > INIT_LIST_HEAD(&new->list);
> > new->index = n;
> > diff --git a/arch/um/drivers/vector_kern.c b/arch/um/drivers/vector_kern.c
> > index c84133c..9d77579 100644
> > --- a/arch/um/drivers/vector_kern.c
> > +++ b/arch/um/drivers/vector_kern.c
> > @@ -1575,7 +1575,7 @@ static int __init vector_setup(char *str)
> > str, error);
> > return 1;
> > }
> > - new = alloc_bootmem(sizeof(*new));
> > + new = memblock_alloc(sizeof(*new), 0);
> > INIT_LIST_HEAD(&new->list);
> > new->unit = n;
> > new->arguments = str;
> > diff --git a/arch/um/kernel/initrd.c b/arch/um/kernel/initrd.c
> > index 6f6e789..844056c 100644
> > --- a/arch/um/kernel/initrd.c
> > +++ b/arch/um/kernel/initrd.c
> > @@ -36,7 +36,7 @@ int __init read_initrd(void)
> > return 0;
> > }
> >
> > - area = alloc_bootmem(size);
> > + area = memblock_alloc(size, 0);
> >
> > if (load_initrd(initrd, area, size) = -1)
> > return 0;
> > diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
> > index 3b20607..fd887c1 100644
> > --- a/arch/x86/kernel/acpi/boot.c
> > +++ b/arch/x86/kernel/acpi/boot.c
> > @@ -932,7 +932,8 @@ static int __init acpi_parse_hpet(struct acpi_table_header *table)
> > * the resource tree during the lateinit timeframe.
> > */
> > #define HPET_RESOURCE_NAME_SIZE 9
> > - hpet_res = alloc_bootmem(sizeof(*hpet_res) + HPET_RESOURCE_NAME_SIZE);
> > + hpet_res = memblock_alloc(sizeof(*hpet_res) + HPET_RESOURCE_NAME_SIZE,
> > + 0);
> >
> > hpet_res->name = (void *)&hpet_res[1];
> > hpet_res->flags = IORESOURCE_MEM;
> > diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
> > index e25118f..8c74509 100644
> > --- a/arch/x86/kernel/apic/io_apic.c
> > +++ b/arch/x86/kernel/apic/io_apic.c
> > @@ -2578,7 +2578,7 @@ static struct resource * __init ioapic_setup_resources(void)
> > n = IOAPIC_RESOURCE_NAME_SIZE + sizeof(struct resource);
> > n *= nr_ioapics;
> >
> > - mem = alloc_bootmem(n);
> > + mem = memblock_alloc(n, 0);
> > res = (void *)mem;
> >
> > mem += sizeof(struct resource) * nr_ioapics;
> > diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c
> > index c88c23c..7ea8748 100644
> > --- a/arch/x86/kernel/e820.c
> > +++ b/arch/x86/kernel/e820.c
> > @@ -1094,7 +1094,7 @@ void __init e820__reserve_resources(void)
> > struct resource *res;
> > u64 end;
> >
> > - res = alloc_bootmem(sizeof(*res) * e820_table->nr_entries);
> > + res = memblock_alloc(sizeof(*res) * e820_table->nr_entries, 0);
> > e820_res = res;
> >
> > for (i = 0; i < e820_table->nr_entries; i++) {
> > diff --git a/arch/x86/platform/olpc/olpc_dt.c b/arch/x86/platform/olpc/olpc_dt.c
> > index d6ee929..140cd76 100644
> > --- a/arch/x86/platform/olpc/olpc_dt.c
> > +++ b/arch/x86/platform/olpc/olpc_dt.c
> > @@ -141,7 +141,7 @@ void * __init prom_early_alloc(unsigned long size)
> > * fast enough on the platforms we care about while minimizing
> > * wasted bootmem) and hand off chunks of it to callers.
> > */
> > - res = alloc_bootmem(chunk_size);
> > + res = memblock_alloc(chunk_size, 0);
> > BUG_ON(!res);
> > prom_early_allocated += chunk_size;
> > memset(res, 0, chunk_size);
> > diff --git a/arch/xtensa/platforms/iss/network.c b/arch/xtensa/platforms/iss/network.c
> > index d027ddd..206b9d4 100644
> > --- a/arch/xtensa/platforms/iss/network.c
> > +++ b/arch/xtensa/platforms/iss/network.c
> > @@ -646,7 +646,7 @@ static int __init iss_net_setup(char *str)
> > return 1;
> > }
> >
> > - new = alloc_bootmem(sizeof(*new));
> > + new = memblock_alloc(sizeof(*new), 0);
> > if (new = NULL) {
> > pr_err("Alloc_bootmem failed\n");
> > return 1;
> > diff --git a/arch/xtensa/platforms/iss/setup.c b/arch/xtensa/platforms/iss/setup.c
> > index f4bbb28..a922511 100644
> > --- a/arch/xtensa/platforms/iss/setup.c
> > +++ b/arch/xtensa/platforms/iss/setup.c
> > @@ -82,8 +82,8 @@ void __init platform_setup(char **p_cmdline)
> > int argv_size = simc_argv_size();
> >
> > if (argc > 1) {
> > - void **argv = alloc_bootmem(argv_size);
> > - char *cmdline = alloc_bootmem(argv_size);
> > + void **argv = memblock_alloc(argv_size, 0);
> > + char *cmdline = memblock_alloc(argv_size, 0);
> > int i;
> >
> > cmdline[0] = 0;
> > diff --git a/drivers/macintosh/smu.c b/drivers/macintosh/smu.c
> > index e8ae2e5..332fcca 100644
> > --- a/drivers/macintosh/smu.c
> > +++ b/drivers/macintosh/smu.c
> > @@ -493,7 +493,7 @@ int __init smu_init (void)
> > goto fail_np;
> > }
> >
> > - smu = alloc_bootmem(sizeof(struct smu_device));
> > + smu = memblock_alloc(sizeof(struct smu_device), 0);
> >
> > spin_lock_init(&smu->lock);
> > INIT_LIST_HEAD(&smu->cmd_list);
> > diff --git a/init/main.c b/init/main.c
> > index d0b92bd..99a9e99 100644
> > --- a/init/main.c
> > +++ b/init/main.c
> > @@ -768,8 +768,8 @@ static int __init initcall_blacklist(char *str)
> > str_entry = strsep(&str, ",");
> > if (str_entry) {
> > pr_debug("blacklisting initcall %s\n", str_entry);
> > - entry = alloc_bootmem(sizeof(*entry));
> > - entry->buf = alloc_bootmem(strlen(str_entry) + 1);
> > + entry = memblock_alloc(sizeof(*entry), 0);
> > + entry->buf = memblock_alloc(strlen(str_entry) + 1, 0);
> > strcpy(entry->buf, str_entry);
> > list_add(&entry->next, &blacklisted_initcalls);
> > }
> > --
> > 2.7.4
> >
>
> --
> Michal Hocko
> SUSE Labs
>
--
Sincerely yours,
Mike.
WARNING: multiple messages have this Message-ID (diff)
From: Mike Rapoport <rppt@linux.vnet.ibm.com>
To: Michal Hocko <mhocko@kernel.org>
Cc: linux-mm@kvack.org, Andrew Morton <akpm@linux-foundation.org>,
"David S. Miller" <davem@davemloft.net>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Ingo Molnar <mingo@redhat.com>,
Michael Ellerman <mpe@ellerman.id.au>,
Paul Burton <paul.burton@mips.com>,
Thomas Gleixner <tglx@linutronix.de>,
Tony Luck <tony.luck@intel.com>,
linux-ia64@vger.kernel.org, linux-mips@linux-mips.org,
linuxppc-dev@lists.ozlabs.org, sparclinux@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH 21/29] memblock: replace alloc_bootmem with memblock_alloc
Date: Thu, 6 Sep 2018 16:14:34 +0300 [thread overview]
Message-ID: <20180906131433.GI27492@rapoport-lnx> (raw)
In-Reply-To: <20180906085515.GF14951@dhcp22.suse.cz>
On Thu, Sep 06, 2018 at 10:55:15AM +0200, Michal Hocko wrote:
> On Wed 05-09-18 18:59:36, Mike Rapoport wrote:
> > The conversion is done using the following semantic patch:
> >
> > @@
> > expression e;
> > @@
> > - __alloc_bootmem(e)
>
> Did you mean alloc_bottmem? Anyway the only difference from
> _alloc_bootmem is SMP_CACHE_BYTES and so you can use 0 alignment for
> memblock_virt_alloc. Why do we need memblock_alloc_from at all?
Here again, I've copied the wrong script to the changelog. Will fix.
Should have been
- alloc_bootmem(size)
+ memblock_alloc(size, 0)
> > + memblock_alloc_from(e, 0)
> >
> > Signed-off-by: Mike Rapoport <rppt@linux.vnet.ibm.com>
> > ---
> > arch/alpha/kernel/core_marvel.c | 4 ++--
> > arch/alpha/kernel/pci-noop.c | 4 ++--
> > arch/alpha/kernel/pci.c | 4 ++--
> > arch/alpha/kernel/pci_iommu.c | 4 ++--
> > arch/ia64/kernel/mca.c | 4 ++--
> > arch/ia64/mm/tlb.c | 4 ++--
> > arch/m68k/sun3/sun3dvma.c | 3 ++-
> > arch/microblaze/mm/init.c | 2 +-
> > arch/mips/kernel/setup.c | 2 +-
> > arch/um/drivers/net_kern.c | 2 +-
> > arch/um/drivers/vector_kern.c | 2 +-
> > arch/um/kernel/initrd.c | 2 +-
> > arch/x86/kernel/acpi/boot.c | 3 ++-
> > arch/x86/kernel/apic/io_apic.c | 2 +-
> > arch/x86/kernel/e820.c | 2 +-
> > arch/x86/platform/olpc/olpc_dt.c | 2 +-
> > arch/xtensa/platforms/iss/network.c | 2 +-
> > arch/xtensa/platforms/iss/setup.c | 4 ++--
> > drivers/macintosh/smu.c | 2 +-
> > init/main.c | 4 ++--
> > 20 files changed, 30 insertions(+), 28 deletions(-)
> >
> > diff --git a/arch/alpha/kernel/core_marvel.c b/arch/alpha/kernel/core_marvel.c
> > index bdebb8c2..1f00c94 100644
> > --- a/arch/alpha/kernel/core_marvel.c
> > +++ b/arch/alpha/kernel/core_marvel.c
> > @@ -82,7 +82,7 @@ mk_resource_name(int pe, int port, char *str)
> > char *name;
> >
> > sprintf(tmp, "PCI %s PE %d PORT %d", str, pe, port);
> > - name = alloc_bootmem(strlen(tmp) + 1);
> > + name = memblock_alloc(strlen(tmp) + 1, 0);
> > strcpy(name, tmp);
> >
> > return name;
> > @@ -117,7 +117,7 @@ alloc_io7(unsigned int pe)
> > return NULL;
> > }
> >
> > - io7 = alloc_bootmem(sizeof(*io7));
> > + io7 = memblock_alloc(sizeof(*io7), 0);
> > io7->pe = pe;
> > raw_spin_lock_init(&io7->irq_lock);
> >
> > diff --git a/arch/alpha/kernel/pci-noop.c b/arch/alpha/kernel/pci-noop.c
> > index c7c5879..59cbfc2 100644
> > --- a/arch/alpha/kernel/pci-noop.c
> > +++ b/arch/alpha/kernel/pci-noop.c
> > @@ -33,7 +33,7 @@ alloc_pci_controller(void)
> > {
> > struct pci_controller *hose;
> >
> > - hose = alloc_bootmem(sizeof(*hose));
> > + hose = memblock_alloc(sizeof(*hose), 0);
> >
> > *hose_tail = hose;
> > hose_tail = &hose->next;
> > @@ -44,7 +44,7 @@ alloc_pci_controller(void)
> > struct resource * __init
> > alloc_resource(void)
> > {
> > - return alloc_bootmem(sizeof(struct resource));
> > + return memblock_alloc(sizeof(struct resource), 0);
> > }
> >
> > SYSCALL_DEFINE3(pciconfig_iobase, long, which, unsigned long, bus,
> > diff --git a/arch/alpha/kernel/pci.c b/arch/alpha/kernel/pci.c
> > index c668c3b..4cc3eb9 100644
> > --- a/arch/alpha/kernel/pci.c
> > +++ b/arch/alpha/kernel/pci.c
> > @@ -392,7 +392,7 @@ alloc_pci_controller(void)
> > {
> > struct pci_controller *hose;
> >
> > - hose = alloc_bootmem(sizeof(*hose));
> > + hose = memblock_alloc(sizeof(*hose), 0);
> >
> > *hose_tail = hose;
> > hose_tail = &hose->next;
> > @@ -403,7 +403,7 @@ alloc_pci_controller(void)
> > struct resource * __init
> > alloc_resource(void)
> > {
> > - return alloc_bootmem(sizeof(struct resource));
> > + return memblock_alloc(sizeof(struct resource), 0);
> > }
> >
> >
> > diff --git a/arch/alpha/kernel/pci_iommu.c b/arch/alpha/kernel/pci_iommu.c
> > index 0c05493..5d178c7 100644
> > --- a/arch/alpha/kernel/pci_iommu.c
> > +++ b/arch/alpha/kernel/pci_iommu.c
> > @@ -79,7 +79,7 @@ iommu_arena_new_node(int nid, struct pci_controller *hose, dma_addr_t base,
> > printk("%s: couldn't allocate arena from node %d\n"
> > " falling back to system-wide allocation\n",
> > __func__, nid);
> > - arena = alloc_bootmem(sizeof(*arena));
> > + arena = memblock_alloc(sizeof(*arena), 0);
> > }
> >
> > arena->ptes = memblock_alloc_node(sizeof(*arena), align, nid);
> > @@ -92,7 +92,7 @@ iommu_arena_new_node(int nid, struct pci_controller *hose, dma_addr_t base,
> >
> > #else /* CONFIG_DISCONTIGMEM */
> >
> > - arena = alloc_bootmem(sizeof(*arena));
> > + arena = memblock_alloc(sizeof(*arena), 0);
> > arena->ptes = memblock_alloc_from(mem_size, align, 0);
> >
> > #endif /* CONFIG_DISCONTIGMEM */
> > diff --git a/arch/ia64/kernel/mca.c b/arch/ia64/kernel/mca.c
> > index 5586926..7120976 100644
> > --- a/arch/ia64/kernel/mca.c
> > +++ b/arch/ia64/kernel/mca.c
> > @@ -361,9 +361,9 @@ static ia64_state_log_t ia64_state_log[IA64_MAX_LOG_TYPES];
> >
> > #define IA64_LOG_ALLOCATE(it, size) \
> > {ia64_state_log[it].isl_log[IA64_LOG_CURR_INDEX(it)] = \
> > - (ia64_err_rec_t *)alloc_bootmem(size); \
> > + (ia64_err_rec_t *)memblock_alloc(size, 0); \
> > ia64_state_log[it].isl_log[IA64_LOG_NEXT_INDEX(it)] = \
> > - (ia64_err_rec_t *)alloc_bootmem(size);}
> > + (ia64_err_rec_t *)memblock_alloc(size, 0);}
> > #define IA64_LOG_LOCK_INIT(it) spin_lock_init(&ia64_state_log[it].isl_lock)
> > #define IA64_LOG_LOCK(it) spin_lock_irqsave(&ia64_state_log[it].isl_lock, s)
> > #define IA64_LOG_UNLOCK(it) spin_unlock_irqrestore(&ia64_state_log[it].isl_lock,s)
> > diff --git a/arch/ia64/mm/tlb.c b/arch/ia64/mm/tlb.c
> > index acf10eb..5554863 100644
> > --- a/arch/ia64/mm/tlb.c
> > +++ b/arch/ia64/mm/tlb.c
> > @@ -59,8 +59,8 @@ struct ia64_tr_entry *ia64_idtrs[NR_CPUS];
> > void __init
> > mmu_context_init (void)
> > {
> > - ia64_ctx.bitmap = alloc_bootmem((ia64_ctx.max_ctx+1)>>3);
> > - ia64_ctx.flushmap = alloc_bootmem((ia64_ctx.max_ctx+1)>>3);
> > + ia64_ctx.bitmap = memblock_alloc((ia64_ctx.max_ctx + 1) >> 3, 0);
> > + ia64_ctx.flushmap = memblock_alloc((ia64_ctx.max_ctx + 1) >> 3, 0);
> > }
> >
> > /*
> > diff --git a/arch/m68k/sun3/sun3dvma.c b/arch/m68k/sun3/sun3dvma.c
> > index 8546922..72d9458 100644
> > --- a/arch/m68k/sun3/sun3dvma.c
> > +++ b/arch/m68k/sun3/sun3dvma.c
> > @@ -267,7 +267,8 @@ void __init dvma_init(void)
> >
> > list_add(&(hole->list), &hole_list);
> >
> > - iommu_use = alloc_bootmem(IOMMU_TOTAL_ENTRIES * sizeof(unsigned long));
> > + iommu_use = memblock_alloc(IOMMU_TOTAL_ENTRIES * sizeof(unsigned long),
> > + 0);
> >
> > dvma_unmap_iommu(DVMA_START, DVMA_SIZE);
> >
> > diff --git a/arch/microblaze/mm/init.c b/arch/microblaze/mm/init.c
> > index df6de7c..8c7f074 100644
> > --- a/arch/microblaze/mm/init.c
> > +++ b/arch/microblaze/mm/init.c
> > @@ -377,7 +377,7 @@ void * __ref zalloc_maybe_bootmem(size_t size, gfp_t mask)
> > if (mem_init_done)
> > p = kzalloc(size, mask);
> > else {
> > - p = alloc_bootmem(size);
> > + p = memblock_alloc(size, 0);
> > if (p)
> > memset(p, 0, size);
> > }
> > diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c
> > index 08f8251..419dfc42 100644
> > --- a/arch/mips/kernel/setup.c
> > +++ b/arch/mips/kernel/setup.c
> > @@ -901,7 +901,7 @@ static void __init resource_init(void)
> > if (end >= HIGHMEM_START)
> > end = HIGHMEM_START - 1;
> >
> > - res = alloc_bootmem(sizeof(struct resource));
> > + res = memblock_alloc(sizeof(struct resource), 0);
> >
> > res->start = start;
> > res->end = end;
> > diff --git a/arch/um/drivers/net_kern.c b/arch/um/drivers/net_kern.c
> > index 3ef1b48..ef19a39 100644
> > --- a/arch/um/drivers/net_kern.c
> > +++ b/arch/um/drivers/net_kern.c
> > @@ -650,7 +650,7 @@ static int __init eth_setup(char *str)
> > return 1;
> > }
> >
> > - new = alloc_bootmem(sizeof(*new));
> > + new = memblock_alloc(sizeof(*new), 0);
> >
> > INIT_LIST_HEAD(&new->list);
> > new->index = n;
> > diff --git a/arch/um/drivers/vector_kern.c b/arch/um/drivers/vector_kern.c
> > index c84133c..9d77579 100644
> > --- a/arch/um/drivers/vector_kern.c
> > +++ b/arch/um/drivers/vector_kern.c
> > @@ -1575,7 +1575,7 @@ static int __init vector_setup(char *str)
> > str, error);
> > return 1;
> > }
> > - new = alloc_bootmem(sizeof(*new));
> > + new = memblock_alloc(sizeof(*new), 0);
> > INIT_LIST_HEAD(&new->list);
> > new->unit = n;
> > new->arguments = str;
> > diff --git a/arch/um/kernel/initrd.c b/arch/um/kernel/initrd.c
> > index 6f6e789..844056c 100644
> > --- a/arch/um/kernel/initrd.c
> > +++ b/arch/um/kernel/initrd.c
> > @@ -36,7 +36,7 @@ int __init read_initrd(void)
> > return 0;
> > }
> >
> > - area = alloc_bootmem(size);
> > + area = memblock_alloc(size, 0);
> >
> > if (load_initrd(initrd, area, size) == -1)
> > return 0;
> > diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
> > index 3b20607..fd887c1 100644
> > --- a/arch/x86/kernel/acpi/boot.c
> > +++ b/arch/x86/kernel/acpi/boot.c
> > @@ -932,7 +932,8 @@ static int __init acpi_parse_hpet(struct acpi_table_header *table)
> > * the resource tree during the lateinit timeframe.
> > */
> > #define HPET_RESOURCE_NAME_SIZE 9
> > - hpet_res = alloc_bootmem(sizeof(*hpet_res) + HPET_RESOURCE_NAME_SIZE);
> > + hpet_res = memblock_alloc(sizeof(*hpet_res) + HPET_RESOURCE_NAME_SIZE,
> > + 0);
> >
> > hpet_res->name = (void *)&hpet_res[1];
> > hpet_res->flags = IORESOURCE_MEM;
> > diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
> > index e25118f..8c74509 100644
> > --- a/arch/x86/kernel/apic/io_apic.c
> > +++ b/arch/x86/kernel/apic/io_apic.c
> > @@ -2578,7 +2578,7 @@ static struct resource * __init ioapic_setup_resources(void)
> > n = IOAPIC_RESOURCE_NAME_SIZE + sizeof(struct resource);
> > n *= nr_ioapics;
> >
> > - mem = alloc_bootmem(n);
> > + mem = memblock_alloc(n, 0);
> > res = (void *)mem;
> >
> > mem += sizeof(struct resource) * nr_ioapics;
> > diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c
> > index c88c23c..7ea8748 100644
> > --- a/arch/x86/kernel/e820.c
> > +++ b/arch/x86/kernel/e820.c
> > @@ -1094,7 +1094,7 @@ void __init e820__reserve_resources(void)
> > struct resource *res;
> > u64 end;
> >
> > - res = alloc_bootmem(sizeof(*res) * e820_table->nr_entries);
> > + res = memblock_alloc(sizeof(*res) * e820_table->nr_entries, 0);
> > e820_res = res;
> >
> > for (i = 0; i < e820_table->nr_entries; i++) {
> > diff --git a/arch/x86/platform/olpc/olpc_dt.c b/arch/x86/platform/olpc/olpc_dt.c
> > index d6ee929..140cd76 100644
> > --- a/arch/x86/platform/olpc/olpc_dt.c
> > +++ b/arch/x86/platform/olpc/olpc_dt.c
> > @@ -141,7 +141,7 @@ void * __init prom_early_alloc(unsigned long size)
> > * fast enough on the platforms we care about while minimizing
> > * wasted bootmem) and hand off chunks of it to callers.
> > */
> > - res = alloc_bootmem(chunk_size);
> > + res = memblock_alloc(chunk_size, 0);
> > BUG_ON(!res);
> > prom_early_allocated += chunk_size;
> > memset(res, 0, chunk_size);
> > diff --git a/arch/xtensa/platforms/iss/network.c b/arch/xtensa/platforms/iss/network.c
> > index d027ddd..206b9d4 100644
> > --- a/arch/xtensa/platforms/iss/network.c
> > +++ b/arch/xtensa/platforms/iss/network.c
> > @@ -646,7 +646,7 @@ static int __init iss_net_setup(char *str)
> > return 1;
> > }
> >
> > - new = alloc_bootmem(sizeof(*new));
> > + new = memblock_alloc(sizeof(*new), 0);
> > if (new == NULL) {
> > pr_err("Alloc_bootmem failed\n");
> > return 1;
> > diff --git a/arch/xtensa/platforms/iss/setup.c b/arch/xtensa/platforms/iss/setup.c
> > index f4bbb28..a922511 100644
> > --- a/arch/xtensa/platforms/iss/setup.c
> > +++ b/arch/xtensa/platforms/iss/setup.c
> > @@ -82,8 +82,8 @@ void __init platform_setup(char **p_cmdline)
> > int argv_size = simc_argv_size();
> >
> > if (argc > 1) {
> > - void **argv = alloc_bootmem(argv_size);
> > - char *cmdline = alloc_bootmem(argv_size);
> > + void **argv = memblock_alloc(argv_size, 0);
> > + char *cmdline = memblock_alloc(argv_size, 0);
> > int i;
> >
> > cmdline[0] = 0;
> > diff --git a/drivers/macintosh/smu.c b/drivers/macintosh/smu.c
> > index e8ae2e5..332fcca 100644
> > --- a/drivers/macintosh/smu.c
> > +++ b/drivers/macintosh/smu.c
> > @@ -493,7 +493,7 @@ int __init smu_init (void)
> > goto fail_np;
> > }
> >
> > - smu = alloc_bootmem(sizeof(struct smu_device));
> > + smu = memblock_alloc(sizeof(struct smu_device), 0);
> >
> > spin_lock_init(&smu->lock);
> > INIT_LIST_HEAD(&smu->cmd_list);
> > diff --git a/init/main.c b/init/main.c
> > index d0b92bd..99a9e99 100644
> > --- a/init/main.c
> > +++ b/init/main.c
> > @@ -768,8 +768,8 @@ static int __init initcall_blacklist(char *str)
> > str_entry = strsep(&str, ",");
> > if (str_entry) {
> > pr_debug("blacklisting initcall %s\n", str_entry);
> > - entry = alloc_bootmem(sizeof(*entry));
> > - entry->buf = alloc_bootmem(strlen(str_entry) + 1);
> > + entry = memblock_alloc(sizeof(*entry), 0);
> > + entry->buf = memblock_alloc(strlen(str_entry) + 1, 0);
> > strcpy(entry->buf, str_entry);
> > list_add(&entry->next, &blacklisted_initcalls);
> > }
> > --
> > 2.7.4
> >
>
> --
> Michal Hocko
> SUSE Labs
>
--
Sincerely yours,
Mike.
next prev parent reply other threads:[~2018-09-06 13:14 UTC|newest]
Thread overview: 167+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-05 15:59 [RFC PATCH 00/29] mm: remove bootmem allocator Mike Rapoport
2018-09-05 15:59 ` Mike Rapoport
2018-09-05 15:59 ` [RFC PATCH 01/29] mips: switch to NO_BOOTMEM Mike Rapoport
2018-09-05 15:59 ` Mike Rapoport
2018-09-05 15:59 ` [RFC PATCH 02/29] mm: remove CONFIG_NO_BOOTMEM Mike Rapoport
2018-09-05 15:59 ` Mike Rapoport
2018-09-05 15:59 ` [RFC PATCH 03/29] mm: remove CONFIG_HAVE_MEMBLOCK Mike Rapoport
2018-09-05 15:59 ` Mike Rapoport
2018-09-19 9:04 ` Jonathan Cameron
2018-09-19 9:04 ` Jonathan Cameron
2018-09-19 9:04 ` Jonathan Cameron
2018-09-19 10:34 ` Mike Rapoport
2018-09-19 10:34 ` Mike Rapoport
2018-09-19 10:34 ` Mike Rapoport
2018-09-19 10:34 ` Mike Rapoport
2018-09-19 10:45 ` Jonathan Cameron
2018-09-19 10:45 ` Jonathan Cameron
2018-09-19 10:45 ` Jonathan Cameron
2018-09-19 10:55 ` Mike Rapoport
2018-09-19 10:55 ` Mike Rapoport
2018-09-05 15:59 ` [RFC PATCH 04/29] mm: remove bootmem allocator implementation Mike Rapoport
2018-09-05 15:59 ` Mike Rapoport
2018-09-06 7:30 ` Michal Hocko
2018-09-06 7:30 ` Michal Hocko
2018-09-06 8:31 ` Michal Hocko
2018-09-06 8:31 ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 05/29] mm: nobootmem: remove dead code Mike Rapoport
2018-09-05 15:59 ` Mike Rapoport
2018-09-05 15:59 ` [RFC PATCH 06/29] memblock: rename memblock_alloc{_nid,_try_nid} to memblock_phys_alloc* Mike Rapoport
2018-09-05 15:59 ` [RFC PATCH 06/29] memblock: rename memblock_alloc{_nid, _try_nid} " Mike Rapoport
2018-09-05 15:59 ` [RFC PATCH 06/29] memblock: rename memblock_alloc{_nid,_try_nid} " Mike Rapoport
2018-09-06 7:35 ` Michal Hocko
2018-09-06 7:35 ` [RFC PATCH 06/29] memblock: rename memblock_alloc{_nid, _try_nid} " Michal Hocko
2018-09-06 7:35 ` [RFC PATCH 06/29] memblock: rename memblock_alloc{_nid,_try_nid} " Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 07/29] memblock: remove _virt from APIs returning virtual address Mike Rapoport
2018-09-05 15:59 ` Mike Rapoport
2018-09-05 17:04 ` Rob Herring
2018-09-05 17:04 ` Rob Herring
2018-09-05 17:20 ` Mike Rapoport
2018-09-05 17:20 ` Mike Rapoport
2018-09-06 7:28 ` Michal Hocko
2018-09-06 7:28 ` Michal Hocko
2018-09-06 12:43 ` Mike Rapoport
2018-09-06 12:43 ` Mike Rapoport
2018-09-06 13:01 ` Michal Hocko
2018-09-06 13:01 ` Michal Hocko
2018-09-06 13:39 ` Mike Rapoport
2018-09-06 13:39 ` Mike Rapoport
2018-09-06 13:46 ` Michal Hocko
2018-09-06 13:46 ` Michal Hocko
2018-09-07 8:42 ` Mike Rapoport
2018-09-07 8:42 ` Mike Rapoport
2018-09-07 8:47 ` Michal Hocko
2018-09-07 8:47 ` Michal Hocko
2018-09-07 9:19 ` Mike Rapoport
2018-09-07 9:19 ` Mike Rapoport
2018-09-05 15:59 ` [RFC PATCH 08/29] memblock: replace alloc_bootmem_align with memblock_alloc Mike Rapoport
2018-09-05 15:59 ` Mike Rapoport
2018-09-06 7:39 ` Michal Hocko
2018-09-06 7:39 ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 09/29] memblock: replace alloc_bootmem_low with memblock_alloc_low Mike Rapoport
2018-09-05 15:59 ` Mike Rapoport
2018-09-06 7:41 ` Michal Hocko
2018-09-06 7:41 ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 10/29] memblock: replace __alloc_bootmem_node_nopanic with memblock_alloc_try_nid_nopanic Mike Rapoport
2018-09-05 15:59 ` Mike Rapoport
2018-09-06 7:49 ` [RFC PATCH 10/29] memblock: replace __alloc_bootmem_node_nopanic with memblock_alloc_try_nid_nop Michal Hocko
2018-09-06 7:49 ` [RFC PATCH 10/29] memblock: replace __alloc_bootmem_node_nopanic with memblock_alloc_try_nid_nopanic Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 11/29] memblock: replace alloc_bootmem_pages_nopanic with memblock_alloc_nopanic Mike Rapoport
2018-09-05 15:59 ` Mike Rapoport
2018-09-06 7:53 ` Michal Hocko
2018-09-06 7:53 ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 12/29] memblock: replace alloc_bootmem_low with memblock_alloc_low Mike Rapoport
2018-09-05 15:59 ` Mike Rapoport
2018-09-06 7:55 ` Michal Hocko
2018-09-06 7:55 ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 13/29] memblock: replace __alloc_bootmem_nopanic with memblock_alloc_from_nopanic Mike Rapoport
2018-09-05 15:59 ` Mike Rapoport
2018-09-06 7:57 ` Michal Hocko
2018-09-06 7:57 ` Michal Hocko
2018-09-06 12:44 ` Mike Rapoport
2018-09-06 12:44 ` Mike Rapoport
2018-09-05 15:59 ` [RFC PATCH 14/29] memblock: add align parameter to memblock_alloc_node() Mike Rapoport
2018-09-05 15:59 ` Mike Rapoport
2018-09-06 8:06 ` Michal Hocko
2018-09-06 8:06 ` Michal Hocko
2018-09-06 12:49 ` Mike Rapoport
2018-09-06 12:49 ` Mike Rapoport
2018-09-05 15:59 ` [RFC PATCH 15/29] memblock: replace alloc_bootmem_pages_node with memblock_alloc_node Mike Rapoport
2018-09-05 15:59 ` Mike Rapoport
2018-09-06 8:08 ` Michal Hocko
2018-09-06 8:08 ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 16/29] memblock: replace __alloc_bootmem_node with appropriate memblock_ API Mike Rapoport
2018-09-05 15:59 ` Mike Rapoport
2018-09-06 8:38 ` Michal Hocko
2018-09-06 8:38 ` Michal Hocko
2018-09-06 12:50 ` Mike Rapoport
2018-09-06 12:50 ` Mike Rapoport
2018-09-05 15:59 ` [RFC PATCH 17/29] memblock: replace alloc_bootmem_node with memblock_alloc_node Mike Rapoport
2018-09-05 15:59 ` Mike Rapoport
2018-09-06 8:41 ` Michal Hocko
2018-09-06 8:41 ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 18/29] memblock: replace alloc_bootmem_low_pages with memblock_alloc_low Mike Rapoport
2018-09-05 15:59 ` Mike Rapoport
2018-09-06 8:43 ` Michal Hocko
2018-09-06 8:43 ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 19/29] memblock: replace alloc_bootmem_pages with memblock_alloc Mike Rapoport
2018-09-05 15:59 ` Mike Rapoport
2018-09-06 8:44 ` Michal Hocko
2018-09-06 8:44 ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 20/29] memblock: replace __alloc_bootmem with memblock_alloc_from Mike Rapoport
2018-09-05 15:59 ` Mike Rapoport
2018-09-06 8:52 ` Michal Hocko
2018-09-06 8:52 ` Michal Hocko
2018-09-06 12:58 ` Mike Rapoport
2018-09-06 12:58 ` Mike Rapoport
2018-09-05 15:59 ` [RFC PATCH 21/29] memblock: replace alloc_bootmem with memblock_alloc Mike Rapoport
2018-09-05 15:59 ` Mike Rapoport
2018-09-06 8:55 ` Michal Hocko
2018-09-06 8:55 ` Michal Hocko
2018-09-06 13:14 ` Mike Rapoport [this message]
2018-09-06 13:14 ` Mike Rapoport
2018-09-05 15:59 ` [RFC PATCH 22/29] mm: nobootmem: remove bootmem allocation APIs Mike Rapoport
2018-09-05 15:59 ` Mike Rapoport
2018-09-06 8:56 ` Michal Hocko
2018-09-06 8:56 ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 23/29] memblock: replace free_bootmem{_node} with memblock_free Mike Rapoport
2018-09-05 15:59 ` Mike Rapoport
2018-09-06 8:57 ` Michal Hocko
2018-09-06 8:57 ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 24/29] memblock: replace free_bootmem_late with memblock_free_late Mike Rapoport
2018-09-05 15:59 ` Mike Rapoport
2018-09-06 9:02 ` Michal Hocko
2018-09-06 9:02 ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 25/29] memblock: rename free_all_bootmem to memblock_free_all Mike Rapoport
2018-09-05 15:59 ` Mike Rapoport
2018-09-06 9:04 ` Michal Hocko
2018-09-06 9:04 ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 26/29] memblock: rename __free_pages_bootmem to memblock_free_pages Mike Rapoport
2018-09-05 15:59 ` Mike Rapoport
2018-09-06 9:06 ` Michal Hocko
2018-09-06 9:06 ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 27/29] mm: remove nobootmem Mike Rapoport
2018-09-05 15:59 ` Mike Rapoport
2018-09-06 9:08 ` Michal Hocko
2018-09-06 9:08 ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 28/29] memblock: replace BOOTMEM_ALLOC_* with MEMBLOCK variants Mike Rapoport
2018-09-05 15:59 ` Mike Rapoport
2018-09-06 9:08 ` Michal Hocko
2018-09-06 9:08 ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 29/29] mm: remove include/linux/bootmem.h Mike Rapoport
2018-09-05 15:59 ` Mike Rapoport
2018-09-06 2:33 ` [RFC PATCH 00/29] mm: remove bootmem allocator Greentime Hu
2018-09-06 2:33 ` Greentime Hu
2018-09-06 2:33 ` Greentime Hu
2018-09-06 13:30 ` Mike Rapoport
2018-09-06 13:30 ` Mike Rapoport
2018-09-06 13:30 ` Mike Rapoport
2018-09-06 9:15 ` Michal Hocko
2018-09-06 9:15 ` Michal Hocko
2018-09-06 13:04 ` Pasha Tatashin
2018-09-06 13:04 ` Pasha Tatashin
2018-09-06 13:04 ` Pasha Tatashin
2018-09-06 13:21 ` Mike Rapoport
2018-09-06 13:21 ` Mike Rapoport
2018-09-06 13:16 ` Mike Rapoport
2018-09-06 13:16 ` Mike Rapoport
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=20180906131433.GI27492@rapoport-lnx \
--to=rppt@linux.vnet.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=davem@davemloft.net \
--cc=gregkh@linuxfoundation.org \
--cc=linux-ia64@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@linux-mips.org \
--cc=linux-mm@kvack.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mhocko@kernel.org \
--cc=mingo@redhat.com \
--cc=mpe@ellerman.id.au \
--cc=paul.burton@mips.com \
--cc=sparclinux@vger.kernel.org \
--cc=tglx@linutronix.de \
--cc=tony.luck@intel.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.