Re: [PATCH] mm: add node physical memory range to sysfs

From: Dave Hansen
Date: Fri Dec 07 2012 - 19:17:39 EST


On 12/07/2012 03:51 PM, Andrew Morton wrote:
>> > +static ssize_t node_read_memrange(struct device *dev,
>> > + struct device_attribute *attr, char *buf)
>> > +{
>> > + int nid = dev->id;
>> > + unsigned long start_pfn = NODE_DATA(nid)->node_start_pfn;
>> > + unsigned long end_pfn = start_pfn + NODE_DATA(nid)->node_spanned_pages;
> hm. Is this correct for all for
> FLATMEM/SPARSEMEM/SPARSEMEM_VMEMMAP/DISCONTIGME/etc?

It's not _wrong_ per se, but it's not super precise, either.

The problem is, it's quite valid to have these node_start/spanned ranges
overlap between two or more nodes on some hardware. So, if the desired
purpose is to map nodes to DIMMs, then this can only accomplish this on
_some_ hardware, not all. It would be completely useless for that
purpose for some configurations.

Seems like the better way to do this would be to expose the DIMMs
themselves in some way, and then map _those_ back to a node.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/