<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/powerpc/platforms/pseries/hotplug-memory.c, branch linux-4.11.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.11.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.11.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2017-06-14T13:07:48Z</updated>
<entry>
<title>powerpc/hotplug-mem: Fix missing endian conversion of aa_index</title>
<updated>2017-06-14T13:07:48Z</updated>
<author>
<name>Michael Bringmann</name>
</author>
<published>2017-05-22T20:44:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c3e2874653ee146184c78577c217fbb0b3034f74'/>
<id>urn:sha1:c3e2874653ee146184c78577c217fbb0b3034f74</id>
<content type='text'>
commit dc421b200f91930c9c6a9586810ff8c232cf10fc upstream.

When adding or removing memory, the aa_index (affinity value) for the
memblock must also be converted to match the endianness of the rest
of the 'ibm,dynamic-memory' property.  Otherwise, subsequent retrieval
of the attribute will likely lead to non-existent nodes, followed by
using the default node in the code inappropriately.

Fixes: 5f97b2a0d176 ("powerpc/pseries: Implement memory hotplug add in the kernel")
Signed-off-by: Michael Bringmann &lt;mwb@linux.vnet.ibm.com&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>powerpc/pseries: Revert 'Auto-online hotplugged memory'</title>
<updated>2017-02-21T01:57:01Z</updated>
<author>
<name>Nathan Fontenot</name>
</author>
<published>2017-02-15T18:45:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=943db62c316c578f8e2cc6fb81a5f641096b29bf'/>
<id>urn:sha1:943db62c316c578f8e2cc6fb81a5f641096b29bf</id>
<content type='text'>
This reverts commit ec999072442a ("powerpc/pseries: Auto-online
hotplugged memory"), and 9dc512819e4b ("powerpc: Fix unused function
warning 'lmb_to_memblock'").

Using the auto-online acpability does online added memory but does not
update the associated device struct to indicate that the memory is
online. This causes the pseries memory DLPAR code to fail when trying to
remove a LMB that was previously removed and added back. This happens
when validating that the LMB is removable.

This patch reverts to the previous behavior of calling device_online()
to online the LMB when it is DLPAR added and moves the lmb_to_memblock()
routine out of CONFIG_MEMORY_HOTREMOVE now that we call it for add.

Fixes: ec999072442a ("powerpc/pseries: Auto-online hotplugged memory")
Cc: stable@vger.kernel.org # v4.8+
Signed-off-by: Nathan Fontenot &lt;nfont@linux.vnet.ibm.com&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>powerpc/pseries: Implement indexed-count hotplug memory remove</title>
<updated>2017-02-17T06:57:46Z</updated>
<author>
<name>Sahil Mehta</name>
</author>
<published>2017-02-15T18:46:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=753843471cbbaeca25a5cab51981ee721ad272f7'/>
<id>urn:sha1:753843471cbbaeca25a5cab51981ee721ad272f7</id>
<content type='text'>
Indexed-count remove for memory hotplug guarantees that a contiguous block
of &lt;count&gt; lmbs beginning at a specified &lt;index&gt; will be unassigned (NOT
that &lt;count&gt; lmbs will be removed). Because of Qemu's per-DIMM memory
management, the removal of a contiguous block of memory currently
requires a series of individual calls. Indexed-count remove reduces
this series into a single call.

Signed-off-by: Sahil Mehta &lt;sahilmehta17@gmail.com&gt;
Signed-off-by: Nathan Fontenot &lt;nfont@linux.vnet.ibm.com&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>powerpc/pseries: Implement indexed-count hotplug memory add</title>
<updated>2017-02-17T06:57:30Z</updated>
<author>
<name>Sahil Mehta</name>
</author>
<published>2017-02-15T18:45:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=333f7b76865bec24c66710cf352f892d69e3ba0a'/>
<id>urn:sha1:333f7b76865bec24c66710cf352f892d69e3ba0a</id>
<content type='text'>
Indexed-count add for memory hotplug guarantees that a contiguous block
of &lt;count&gt; lmbs beginning at a specified &lt;drc index&gt; will be assigned,
any LMBs in this range that are not already assigned will be DLPAR added.
Because of Qemu's per-DIMM memory management, the addition of a contiguous
block of memory currently requires a series of individual calls to add
each LMB in the block. Indexed-count add reduces this series of calls to
a single call for the entire block.

Signed-off-by: Sahil Mehta &lt;sahilmehta17@gmail.com&gt;
Signed-off-by: Nathan Fontenot &lt;nfont@linux.vnet.ibm.com&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>powerpc/pseries: Fix build break when MEMORY_HOTREMOVE=n</title>
<updated>2017-02-16T00:27:00Z</updated>
<author>
<name>Michael Ellerman</name>
</author>
<published>2017-02-16T00:27:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f84775c2d5d92581f2df60d53b574b0405c85be3'/>
<id>urn:sha1:f84775c2d5d92581f2df60d53b574b0405c85be3</id>
<content type='text'>
We broke the build when CONFIG_MEMORY_HOTREMOVE=n:

  arch/powerpc/platforms/pseries/hotplug-memory.c:821:8: error: implicit
  declaration of function 'dlpar_memory_readd_by_index'

Add a dummy to fix it.

Fixes: e70d59700fc3 ("powerpc/pseries: Introduce memory hotplug READD operation")
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>powerpc/pseries: Introduce memory hotplug READD operation</title>
<updated>2017-02-02T05:57:39Z</updated>
<author>
<name>John Allen</name>
</author>
<published>2017-01-06T19:27:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e70d59700fc32c9249b26acd4120303c497e84f1'/>
<id>urn:sha1:e70d59700fc32c9249b26acd4120303c497e84f1</id>
<content type='text'>
Currently, memory must be hot removed and subsequently re-added in order
to dynamically update the affinity of LMBs specified by a PRRN event.
Earlier implementations of the PRRN event handler ran into issues in which
the hot remove would occur successfully, but a hotplug event would be
initiated from another source and grab the hotplug lock preventing the hot
add from occurring. To prevent this situation, this patch introduces the
notion of a hot "readd" action for memory which atomizes a hot remove and
a hot add into a single, serialized operation on the hotplug queue.

Signed-off-by: John Allen &lt;jallen@linux.vnet.ibm.com&gt;
Reviewed-by: Nathan Fontenot &lt;nfont@linux.vnet.ibm.com&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>powerpc/pseries: Make the acquire/release of the drc for memory a seperate step</title>
<updated>2017-02-02T05:57:38Z</updated>
<author>
<name>John Allen</name>
</author>
<published>2017-01-06T19:25:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c21f515c743687c6c2b3d38227e6ad8e6b733409'/>
<id>urn:sha1:c21f515c743687c6c2b3d38227e6ad8e6b733409</id>
<content type='text'>
When adding and removing LMBs we should make the acquire/release of
the DRC a separate step to allow for a few improvements. First
this will ensure that LMBs removed during a remove by count operation
are all available if a error occurs and we need to add them back. By
first removeing all the LMBs from the kernel before releasing their
DRCs the LMBs are available to add back should an error occur.

Also, this will allow for faster re-add operations of memory for
PRRN event handling since we can skip the unneeded step of having
to release the DRC and the acquire it back.

Signed-off-by: Nathan Fontenot &lt;nfont@linux.vnet.ibm.com&gt;
Signed-off-by: John Allen &lt;jallen@linux.vnet.ibm.com&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>powerpc/pseries: Use lmb_is_removable() to check removability</title>
<updated>2016-12-01T09:49:42Z</updated>
<author>
<name>Nathan Fontenot</name>
</author>
<published>2016-11-28T16:50:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2db029ef58ab7c47cecab5fe73fa6e3ae6663ecf'/>
<id>urn:sha1:2db029ef58ab7c47cecab5fe73fa6e3ae6663ecf</id>
<content type='text'>
We should be using lmb_is_removable() to validate that enough LMBs
are available to remove when doing a remove by count. This will check
that the LMB is owned by the system and it is considered removable.
This patch also adds a pr_info() notification to report the LMB count
to remove was not satisfied.

What we do now is just check that there are enough LMBs owned by the
system when validating there are enough LMBs to remove. This can
lead to situations where there are enough LMBs owned by the system
but not enough that are considered removable. This results in having
to bail out of the remove operation instead of just failing the request
that we should have known wouldn't succeed.

Signed-off-by: Nathan Fontenot &lt;nfont@linux.vnet.ibm.com&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>powerpc: Fix unused function warning 'lmb_to_memblock'</title>
<updated>2016-08-09T06:52:00Z</updated>
<author>
<name>Alastair D'Silva</name>
</author>
<published>2016-08-01T06:32:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9dc512819e4b723856773f5a018865c20441072f'/>
<id>urn:sha1:9dc512819e4b723856773f5a018865c20441072f</id>
<content type='text'>
This patch fixes the following warning:
arch/powerpc/platforms/pseries/hotplug-memory.c:323:29: error: 'lmb_to_memblock' defined but not used [-Werror=unused-function]
static struct memory_block *lmb_to_memblock(struct of_drconf_cell *lmb)
                           ^~~~~~~~~~~~~~~

The only consumer of this function is 'dlpar_remove_lmb', which is
enabled with CONFIG_MEMORY_HOTREMOVE, so move it into the same
ifdef block.

Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>powerpc/pseries: Remove call to memblock_add()</title>
<updated>2016-07-15T10:18:37Z</updated>
<author>
<name>Nathan Fontenot</name>
</author>
<published>2016-06-29T17:20:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fdb4f6e99ffacfa643ab2d2da99171b3084d4446'/>
<id>urn:sha1:fdb4f6e99ffacfa643ab2d2da99171b3084d4446</id>
<content type='text'>
The call to memblock_add is not needed, this is already done by
memory_add(). This patch removes this call which shrinks
dlpar_add_lmb_memory() enough that it can be merged into dlpar_add_lmb().

Signed-off-by: Nathan Fontenot &lt;nfont@linux.vnet.ibm.com&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
</feed>
