Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a62e2f4f authored by Bjorn Helgaas's avatar Bjorn Helgaas Committed by Linus Torvalds
Browse files

mm: print physical addresses consistently with other parts of kernel



Print physical address info in a style consistent with the %pR style used
elsewhere in the kernel.  For example:

    -Zone PFN ranges:
    +Zone ranges:
    -  DMA32    0x00000010 -> 0x00100000
    +  DMA32    [mem 0x00010000-0xffffffff]
    -  Normal   0x00100000 -> 0x01080000
    +  Normal   [mem 0x100000000-0x107fffffff]

Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
Cc: Yinghai Lu <yinghai@kernel.org>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 3af684c7
Loading
Loading
Loading
Loading
+8 −6
Original line number Original line Diff line number Diff line
@@ -74,8 +74,7 @@ static struct resource *register_memory_resource(u64 start, u64 size)
	res->end = start + size - 1;
	res->end = start + size - 1;
	res->flags = IORESOURCE_MEM | IORESOURCE_BUSY;
	res->flags = IORESOURCE_MEM | IORESOURCE_BUSY;
	if (request_resource(&iomem_resource, res) < 0) {
	if (request_resource(&iomem_resource, res) < 0) {
		printk("System RAM resource %llx - %llx cannot be added\n",
		printk("System RAM resource %pR cannot be added\n", res);
		(unsigned long long)res->start, (unsigned long long)res->end);
		kfree(res);
		kfree(res);
		res = NULL;
		res = NULL;
	}
	}
@@ -502,8 +501,10 @@ int __ref online_pages(unsigned long pfn, unsigned long nr_pages)
		online_pages_range);
		online_pages_range);
	if (ret) {
	if (ret) {
		mutex_unlock(&zonelists_mutex);
		mutex_unlock(&zonelists_mutex);
		printk(KERN_DEBUG "online_pages %lx at %lx failed\n",
		printk(KERN_DEBUG "online_pages [mem %#010llx-%#010llx] failed\n",
			nr_pages, pfn);
		       (unsigned long long) pfn << PAGE_SHIFT,
		       (((unsigned long long) pfn + nr_pages)
			    << PAGE_SHIFT) - 1);
		memory_notify(MEM_CANCEL_ONLINE, &arg);
		memory_notify(MEM_CANCEL_ONLINE, &arg);
		unlock_memory_hotplug();
		unlock_memory_hotplug();
		return ret;
		return ret;
@@ -977,8 +978,9 @@ static int __ref offline_pages(unsigned long start_pfn,
	return 0;
	return 0;


failed_removal:
failed_removal:
	printk(KERN_INFO "memory offlining %lx to %lx failed\n",
	printk(KERN_INFO "memory offlining [mem %#010llx-%#010llx] failed\n",
		start_pfn, end_pfn);
	       (unsigned long long) start_pfn << PAGE_SHIFT,
	       ((unsigned long long) end_pfn << PAGE_SHIFT) - 1);
	memory_notify(MEM_CANCEL_OFFLINE, &arg);
	memory_notify(MEM_CANCEL_OFFLINE, &arg);
	/* pushback to free area */
	/* pushback to free area */
	undo_isolate_page_range(start_pfn, end_pfn, MIGRATE_MOVABLE);
	undo_isolate_page_range(start_pfn, end_pfn, MIGRATE_MOVABLE);
+11 −8
Original line number Original line Diff line number Diff line
@@ -4815,7 +4815,7 @@ void __init free_area_init_nodes(unsigned long *max_zone_pfn)
	find_zone_movable_pfns_for_nodes();
	find_zone_movable_pfns_for_nodes();


	/* Print out the zone ranges */
	/* Print out the zone ranges */
	printk("Zone PFN ranges:\n");
	printk("Zone ranges:\n");
	for (i = 0; i < MAX_NR_ZONES; i++) {
	for (i = 0; i < MAX_NR_ZONES; i++) {
		if (i == ZONE_MOVABLE)
		if (i == ZONE_MOVABLE)
			continue;
			continue;
@@ -4824,22 +4824,25 @@ void __init free_area_init_nodes(unsigned long *max_zone_pfn)
				arch_zone_highest_possible_pfn[i])
				arch_zone_highest_possible_pfn[i])
			printk(KERN_CONT "empty\n");
			printk(KERN_CONT "empty\n");
		else
		else
			printk(KERN_CONT "%0#10lx -> %0#10lx\n",
			printk(KERN_CONT "[mem %0#10lx-%0#10lx]\n",
				arch_zone_lowest_possible_pfn[i],
				arch_zone_lowest_possible_pfn[i] << PAGE_SHIFT,
				arch_zone_highest_possible_pfn[i]);
				(arch_zone_highest_possible_pfn[i]
					<< PAGE_SHIFT) - 1);
	}
	}


	/* Print out the PFNs ZONE_MOVABLE begins at in each node */
	/* Print out the PFNs ZONE_MOVABLE begins at in each node */
	printk("Movable zone start PFN for each node\n");
	printk("Movable zone start for each node\n");
	for (i = 0; i < MAX_NUMNODES; i++) {
	for (i = 0; i < MAX_NUMNODES; i++) {
		if (zone_movable_pfn[i])
		if (zone_movable_pfn[i])
			printk("  Node %d: %lu\n", i, zone_movable_pfn[i]);
			printk("  Node %d: %#010lx\n", i,
			       zone_movable_pfn[i] << PAGE_SHIFT);
	}
	}


	/* Print out the early_node_map[] */
	/* Print out the early_node_map[] */
	printk("Early memory PFN ranges\n");
	printk("Early memory node ranges\n");
	for_each_mem_pfn_range(i, MAX_NUMNODES, &start_pfn, &end_pfn, &nid)
	for_each_mem_pfn_range(i, MAX_NUMNODES, &start_pfn, &end_pfn, &nid)
		printk("  %3d: %0#10lx -> %0#10lx\n", nid, start_pfn, end_pfn);
		printk("  node %3d: [mem %#010lx-%#010lx]\n", nid,
		       start_pfn << PAGE_SHIFT, (end_pfn << PAGE_SHIFT) - 1);


	/* Initialise every node */
	/* Initialise every node */
	mminit_verify_pageflags_layout();
	mminit_verify_pageflags_layout();