Thread (3 messages) 3 messages, 2 authors, 2004-09-27

Re: [ACPI] PATCH-ACPI based CPU hotplug[3/6]-Mapping lsapic to cpu

From: Keiichiro Tokunaga <hidden>
Date: 2004-09-27 12:54:32
Also in: lkml

On Fri, 24 Sep 2004 16:36:32 -0700 Keshavamurthy Anil S wrote:
On Thu, Sep 23, 2004 at 02:10:31AM +0900, Keiichiro Tokunaga wrote:
quoted
On Wed, 22 Sep 2004 08:52:59 -0600, Alex Williamson wrote:
quoted
On Wed, 2004-09-22 at 22:15 +0900, Keiichiro Tokunaga wrote:
quoted
I would like to suggest introducing a new function 'acpi_get_pxm()'
since other drivers might need it in the future.  Acutally, ACPI container
hotplug will be using it soon.

Here is a patch creating the function.
   Nice, I have a couple I/O locality patches that could be simplified
Here is the revised patch which now fixes the all issues that were discussed.
	- Now defines and uses acpi_get_pxm
	- small bugfix "change __initdata to __devinitdata for pxm_to_nid_map varable
One more thing.  Did you modify my acpi_get_pxm.patch by hand?
That causes an infinite loop.  Please apply my fix patch.
+int
+acpi_get_pxm(acpi_handle handle)
+{
+	unsigned long pxm;
+	acpi_status status;
+	acpi_handle phandle;
+
+	do {
+		status = acpi_evaluate_integer(handle, "_PXM", NULL, &pxm);
+		if (ACPI_SUCCESS(status))
+			return (int)pxm;
+		status = acpi_get_parent(handle, &phandle);
+	} while(ACPI_SUCCESS(status));
+	return -1;
+}
+EXPORT_SYMBOL(acpi_get_pxm);
_
This do-loop never ends...

Thanks,
Keiichiro Tokunaga

Status: Tested on 2.6.9-rc2
Signed-off-by: Keiichiro Tokunaga <redacted>
---

 linux-2.6.9-rc2-092704-kei/drivers/acpi/numa.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff -puN drivers/acpi/numa.c~acpi_get_pxm-fix drivers/acpi/numa.c
--- linux-2.6.9-rc2-092704/drivers/acpi/numa.c~acpi_get_pxm-fix	2004-09-27 20:44:22.000000000 +0900
+++ linux-2.6.9-rc2-092704-kei/drivers/acpi/numa.c	2004-09-27 21:33:24.266377945 +0900
@@ -198,13 +198,15 @@ acpi_numa_init()
 }
 
 int
-acpi_get_pxm(acpi_handle handle)
+acpi_get_pxm(acpi_handle h)
 {
 	unsigned long pxm;
 	acpi_status status;
-	acpi_handle phandle;
+	acpi_handle handle;
+	acpi_handle phandle = h;
 
 	do {
+		handle = phandle;
 		status = acpi_evaluate_integer(handle, "_PXM", NULL, &pxm);
 		if (ACPI_SUCCESS(status))
 			return (int)pxm;
_
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help