All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
To: Toshi Kani <toshi.kani@hp.com>, rjw@sisk.pl
Cc: linux-acpi@vger.kernel.org, tangchen@cn.fujitsu.com,
	wency@cn.fujitsu.com, laijs@cn.fujitsu.com,
	linux-kernel@vger.kernel.org
Subject: [Bug fix PATCH v2 1/2] ACPI,acpi_memhotplug: enable acpi_memory_info->enabled of memory device presented at boot-time
Date: Thu, 21 Mar 2013 13:36:12 +0900	[thread overview]
Message-ID: <514A8E3C.1050902@jp.fujitsu.com> (raw)
In-Reply-To: <514A4CCD.6000608@jp.fujitsu.com>

At http://marc.info/?l=linux-acpi&m=135769405622667&w=2 thread,
Toshi Kani mentioned as follows:

"I have a question about the change you made in commit 65479472 in
acpi_memhotplug.c.  This change seems to require that
acpi_memory_enable_device() calls add_memory() to add all memory ranges
represented by memory device objects at boot-time, and keep the results
be used for hot-remove.

If I understand it right, this add_memory() call fails with EEXIST at
boot-time since all memory ranges should have been added from EFI memory
table (or e820) already.  This results all memory ranges be marked as !
enabled & !failed.  I think this means that we cannot hot-delete any
memory ranges presented at boot-time since acpi_memory_remove_memory()
only calls remove_memory() when the enabled flag is set.  Is that
correct?"

Above mention is correct. Thus even if memory device supports hotplug,
memory presented at boot-time cannot be hot removed since the memory
device's acpi_memory_info->enabled is always 0.

This patch changes to set 1 to "acpi_memory_info->enabled" of memory
device presented at boot-time for hot removing the memory device.

Signed-off-by: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
---

v2 : Changed a based kernel from linux-3.9-rc2 to linux-pm.git/bleeding-edge.

---
  drivers/acpi/acpi_memhotplug.c |    4 ++--
  1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/acpi/acpi_memhotplug.c b/drivers/acpi/acpi_memhotplug.c
index d4f2eb8..ea78988 100644
--- a/drivers/acpi/acpi_memhotplug.c
+++ b/drivers/acpi/acpi_memhotplug.c
@@ -206,8 +206,8 @@ static int acpi_memory_enable_device(struct acpi_memory_device *mem_device)
  			continue;
  		}
  
-		if (!result)
-			info->enabled = 1;
+		info->enabled = 1;
+
  		/*
  		 * Add num_enable even if add_memory() returns -EEXIST, so the
  		 * device is bound to this driver.


WARNING: multiple messages have this Message-ID (diff)
From: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
To: Toshi Kani <toshi.kani@hp.com>, <rjw@sisk.pl>
Cc: <linux-acpi@vger.kernel.org>, <tangchen@cn.fujitsu.com>,
	<wency@cn.fujitsu.com>, <laijs@cn.fujitsu.com>,
	<linux-kernel@vger.kernel.org>
Subject: [Bug fix PATCH v2 1/2] ACPI,acpi_memhotplug: enable acpi_memory_info->enabled of memory device presented at boot-time
Date: Thu, 21 Mar 2013 13:36:12 +0900	[thread overview]
Message-ID: <514A8E3C.1050902@jp.fujitsu.com> (raw)
In-Reply-To: <514A4CCD.6000608@jp.fujitsu.com>

At http://marc.info/?l=linux-acpi&m=135769405622667&w=2 thread,
Toshi Kani mentioned as follows:

"I have a question about the change you made in commit 65479472 in
acpi_memhotplug.c.  This change seems to require that
acpi_memory_enable_device() calls add_memory() to add all memory ranges
represented by memory device objects at boot-time, and keep the results
be used for hot-remove.

If I understand it right, this add_memory() call fails with EEXIST at
boot-time since all memory ranges should have been added from EFI memory
table (or e820) already.  This results all memory ranges be marked as !
enabled & !failed.  I think this means that we cannot hot-delete any
memory ranges presented at boot-time since acpi_memory_remove_memory()
only calls remove_memory() when the enabled flag is set.  Is that
correct?"

Above mention is correct. Thus even if memory device supports hotplug,
memory presented at boot-time cannot be hot removed since the memory
device's acpi_memory_info->enabled is always 0.

This patch changes to set 1 to "acpi_memory_info->enabled" of memory
device presented at boot-time for hot removing the memory device.

Signed-off-by: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
---

v2 : Changed a based kernel from linux-3.9-rc2 to linux-pm.git/bleeding-edge.

---
  drivers/acpi/acpi_memhotplug.c |    4 ++--
  1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/acpi/acpi_memhotplug.c b/drivers/acpi/acpi_memhotplug.c
index d4f2eb8..ea78988 100644
--- a/drivers/acpi/acpi_memhotplug.c
+++ b/drivers/acpi/acpi_memhotplug.c
@@ -206,8 +206,8 @@ static int acpi_memory_enable_device(struct acpi_memory_device *mem_device)
  			continue;
  		}
  
-		if (!result)
-			info->enabled = 1;
+		info->enabled = 1;
+
  		/*
  		 * Add num_enable even if add_memory() returns -EEXIST, so the
  		 * device is bound to this driver.


  reply	other threads:[~2013-03-21  4:36 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-13  6:54 [Bug fix PATCH] ACPI,acpi_memhotplug: enable acpi_memory_info->enabled of memory device presented at boot-time Yasuaki Ishimatsu
2013-03-13  6:54 ` Yasuaki Ishimatsu
2013-03-13 14:50 ` Toshi Kani
2013-03-18  2:19   ` [PATCH] Remove acpi_memory_info->failed bit Yasuaki Ishimatsu
2013-03-18  2:19     ` Yasuaki Ishimatsu
2013-03-19 15:03     ` Toshi Kani
2013-03-20 23:57       ` Yasuaki Ishimatsu
2013-03-20 23:57         ` Yasuaki Ishimatsu
2013-03-21  4:36         ` Yasuaki Ishimatsu [this message]
2013-03-21  4:36           ` [Bug fix PATCH v2 1/2] ACPI,acpi_memhotplug: enable acpi_memory_info->enabled of memory device presented at boot-time Yasuaki Ishimatsu
2013-03-21  4:39           ` [PATCH 2/2] ACPI,acpi_memhotplug: Remove acpi_memory_info->failed bit Yasuaki Ishimatsu
2013-03-21  4:39             ` Yasuaki Ishimatsu
2013-03-21  4:45             ` Yasuaki Ishimatsu
2013-03-21  4:45               ` Yasuaki Ishimatsu
2013-03-22  0:29             ` Toshi Kani
2013-03-22  1:35               ` Yasuaki Ishimatsu
2013-03-22  1:35                 ` Yasuaki Ishimatsu
2013-03-22  1:53               ` [PATCH v3 " Yasuaki Ishimatsu
2013-03-22  1:53                 ` Yasuaki Ishimatsu
2013-03-22 20:24                 ` Toshi Kani
2013-03-25 23:57                   ` Yasuaki Ishimatsu
2013-03-25 23:57                     ` Yasuaki Ishimatsu
2013-03-26 13:41                     ` Rafael J. Wysocki
2013-03-27 23:58                       ` Yasuaki Ishimatsu
2013-03-27 23:58                         ` Yasuaki Ishimatsu
2013-04-01 23:48                         ` Rafael J. Wysocki
2013-04-02  0:12                           ` Yasuaki Ishimatsu
2013-04-02  0:12                             ` Yasuaki Ishimatsu
2013-04-02 12:57                             ` Rafael J. Wysocki
2013-04-02 23:55                               ` Yasuaki Ishimatsu
2013-04-02 23:55                                 ` Yasuaki Ishimatsu
2013-03-21  4:44           ` [Bug fix PATCH v2 1/2] ACPI,acpi_memhotplug: enable acpi_memory_info->enabled of memory device presented at boot-time Yasuaki Ishimatsu
2013-03-21  4:44             ` Yasuaki Ishimatsu

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=514A8E3C.1050902@jp.fujitsu.com \
    --to=isimatu.yasuaki@jp.fujitsu.com \
    --cc=laijs@cn.fujitsu.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rjw@sisk.pl \
    --cc=tangchen@cn.fujitsu.com \
    --cc=toshi.kani@hp.com \
    --cc=wency@cn.fujitsu.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.