Re: Remove memory DLPAR operation fails for Debian 6.0.3 on IBM Power6 and Power7 Systems
Hello,
On Tue, Jan 03, 2012 at 08:56:03AM -0430, Juan Jose Garcia wrote:
> Hi! Check if your Kernel Configuration has this items in this way. I had to
> recompile my Kernel due to perform every CPU, Memory an PCI DLPAR operation
> succesfully:
>
> CONFIG_LPARCFG=y
> CONFIG_RTAS_PROC=y
> CONFIG_MIGRATION=Y
> CONFIG_HOTPLUG_PCI=y
> CONFIG_HOTPLUG_PCI_RPA=y
> CONFIG_HOTPLUG_PCI_RPA_DLPAR=y
> CONFIG_SPARSEMEM=y
> CONFIG_SPARSEMEN_VMEMMAP=n
> CONFIG_MEMORY_HOTREMOVE=y
> CONFIG_MEMORY_HOTPLUG=y
> CONFIG_MEMORY_HOTPLUG_SPARSE=y
> CONFIG_NUMA=y
yes, the kernel was rebuild with those - and some other PPC-, PSERIES-
and POWER-related - options enabled:
# egrep -w "CONFIG_LPARCFG|CONFIG_RTAS_PROC|CONFIG_MIGRATION|CONFIG_HOTPLUG_PCI|CONFIG_HOTPLUG_PCI_RPA|CONFIG_HOTPLUG_PCI_RPA_DLPAR|CONFIG_SPARSEMEM|CONFIG_SPARSEMEN_VMEMMAP|CONFIG_MEMORY_HOTREMOVE|CONFIG_MEMORY_HOTPLUG|CONFIG_MEMORY_HOTPLUG_SPARSE|CONFIG_NUMA" /boot/config-2.6.39-bpo.2-powerpc
CONFIG_LPARCFG=y
CONFIG_RTAS_PROC=y
CONFIG_NUMA=y
CONFIG_SPARSEMEM=y
CONFIG_MEMORY_HOTPLUG=y
CONFIG_MEMORY_HOTPLUG_SPARSE=y
CONFIG_MEMORY_HOTREMOVE=y
CONFIG_MIGRATION=y
CONFIG_HOTPLUG_PCI=y
CONFIG_HOTPLUG_PCI_RPA=y
CONFIG_HOTPLUG_PCI_RPA_DLPAR=y
Within the kernel i've traced the call path of the memory remove
operation down to the __release_region function in ./kernel/resource.c.
At the moment it fails at this point (empty lines removed):
void __release_region(struct resource *parent, resource_size_t start,
resource_size_t n)
{
struct resource **p;
resource_size_t end;
p = &parent->child;
end = start + n - 1;
write_lock(&resource_lock);
for (;;) {
struct resource *res = *p;
if (!res) { /* !!! Fails here !!! */
break;
}
...
For some, yet unknown, reason the parent->child resource seems to be
uninitialized and by this effect the pointers p and res are also un-
initialized. Now i've just have figure out why ... any pointers are
very welcome, because my C knowledge is a bit rusty ;-)
Thanks & best regards,
Frank
Reply to: