浏览代码

ia64 / sba_iommu: Use NUMA_NO_NODE, not MAX_NUMNODES, for unknown node

MAX_NUMNODES is typically used for sizing arrays.  NUMA_NO_NODE is the
usual value for "we don't know what node this is on," e.g., it is the
error return from acpi_get_node().

This changes the ioc->node value for unknown nodes from MAX_NUMNODES to
NUMA_NO_NODE.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Bjorn Helgaas 11 年之前
父节点
当前提交
10ee3d7032
共有 1 个文件被更改,包括 8 次插入6 次删除
  1. 8 6
      arch/ia64/hp/common/sba_iommu.c

+ 8 - 6
arch/ia64/hp/common/sba_iommu.c

@@ -1140,11 +1140,13 @@ sba_alloc_coherent(struct device *dev, size_t size, dma_addr_t *dma_handle,
 
 
 #ifdef CONFIG_NUMA
 #ifdef CONFIG_NUMA
 	{
 	{
+		int node = ioc->node;
 		struct page *page;
 		struct page *page;
-		page = alloc_pages_exact_node(ioc->node == MAX_NUMNODES ?
-		                        numa_node_id() : ioc->node, flags,
-		                        get_order(size));
 
 
+		if (node == NUMA_NO_NODE)
+			node = numa_node_id();
+
+		page = alloc_pages_exact_node(node, flags, get_order(size));
 		if (unlikely(!page))
 		if (unlikely(!page))
 			return NULL;
 			return NULL;
 
 
@@ -1914,7 +1916,7 @@ ioc_show(struct seq_file *s, void *v)
 	seq_printf(s, "Hewlett Packard %s IOC rev %d.%d\n",
 	seq_printf(s, "Hewlett Packard %s IOC rev %d.%d\n",
 		ioc->name, ((ioc->rev >> 4) & 0xF), (ioc->rev & 0xF));
 		ioc->name, ((ioc->rev >> 4) & 0xF), (ioc->rev & 0xF));
 #ifdef CONFIG_NUMA
 #ifdef CONFIG_NUMA
-	if (ioc->node != MAX_NUMNODES)
+	if (ioc->node != NUMA_NO_NODE)
 		seq_printf(s, "NUMA node       : %d\n", ioc->node);
 		seq_printf(s, "NUMA node       : %d\n", ioc->node);
 #endif
 #endif
 	seq_printf(s, "IOVA size       : %ld MB\n", ((ioc->pdir_size >> 3) * iovp_size)/(1024*1024));
 	seq_printf(s, "IOVA size       : %ld MB\n", ((ioc->pdir_size >> 3) * iovp_size)/(1024*1024));
@@ -2022,7 +2024,7 @@ sba_map_ioc_to_node(struct ioc *ioc, acpi_handle handle)
 	unsigned int node;
 	unsigned int node;
 	int pxm;
 	int pxm;
 
 
-	ioc->node = MAX_NUMNODES;
+	ioc->node = NUMA_NO_NODE;
 
 
 	pxm = acpi_get_pxm(handle);
 	pxm = acpi_get_pxm(handle);
 
 
@@ -2031,7 +2033,7 @@ sba_map_ioc_to_node(struct ioc *ioc, acpi_handle handle)
 
 
 	node = pxm_to_node(pxm);
 	node = pxm_to_node(pxm);
 
 
-	if (node >= MAX_NUMNODES || !node_online(node))
+	if (node == NUMA_NO_NODE || !node_online(node))
 		return;
 		return;
 
 
 	ioc->node = node;
 	ioc->node = node;