<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/acpi/hmat, branch linux-5.4.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.4.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.4.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2020-11-05T10:43:19Z</updated>
<entry>
<title>ACPI: HMAT: Fix handling of changes from ACPI 6.2 to ACPI 6.3</title>
<updated>2020-11-05T10:43:19Z</updated>
<author>
<name>Jonathan Cameron</name>
</author>
<published>2020-09-30T14:05:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cf5a6124f23725d8510b1fba976a4f341f5d1925'/>
<id>urn:sha1:cf5a6124f23725d8510b1fba976a4f341f5d1925</id>
<content type='text'>
[ Upstream commit 2c5b9bde95c96942f2873cea6ef383c02800e4a8 ]

In ACPI 6.3, the Memory Proximity Domain Attributes Structure
changed substantially.  One of those changes was that the flag
for "Memory Proximity Domain field is valid" was deprecated.

This was because the field "Proximity Domain for the Memory"
became a required field and hence having a validity flag makes
no sense.

So the correct logic is to always assume the field is there.
Current code assumes it never is.

Signed-off-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>ACPI: HMAT: ACPI_HMAT_MEMORY_PD_VALID is deprecated since ACPI-6.3</title>
<updated>2019-10-03T08:15:57Z</updated>
<author>
<name>Daniel Black</name>
</author>
<published>2019-08-06T04:24:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=35b9ad840892d979dbeffe702dae95a3cbefa07b'/>
<id>urn:sha1:35b9ad840892d979dbeffe702dae95a3cbefa07b</id>
<content type='text'>
ACPI-6.3 corresponds to when HMAT revision was bumped
from 1 to 2. In this version ACPI_HMAT_MEMORY_PD_VALID
was deprecated and made reserved.

As such in revision 2+ we shouldn't be testing this flag.

This is as per ACPI-6.3, 5.2.27.3, Table 5-145
"Memory Proximity Domain Attributes Structure"
for Flags.

Signed-off-by: Daniel Black &lt;daniel@linux.ibm.com&gt;
Reviewed-by: Tao Xu &lt;tao3.xu@intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>HMAT: Skip publishing target info for nodes with no online memory</title>
<updated>2019-08-12T09:00:31Z</updated>
<author>
<name>Dan Williams</name>
</author>
<published>2019-08-05T14:27:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5c7ed4385424b1c2ce0c27c41448e080e44ebb09'/>
<id>urn:sha1:5c7ed4385424b1c2ce0c27c41448e080e44ebb09</id>
<content type='text'>
There are multiple scenarios where the HMAT may contain information
about proximity domains that are not currently online. Rather than fail
to report any HMAT data just elide those offline domains.

If and when those domains are later onlined they can be added to the
HMEM reporting at that point.

This was found while testing EFI_MEMORY_SP support which reserves
"specific purpose" memory from the general allocation pool. If that
reservation results in an empty numa-node then the node is not marked
online leading a spurious:

    "acpi/hmat: Ignoring HMAT: Invalid table"

...result for HMAT parsing.

Reviewed-by: Dave Hansen &lt;dave.hansen@linux.intel.com&gt;
Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
Signed-off-by: Keith Busch &lt;keith.busch@intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>HMAT: Register attributes for memory hot add</title>
<updated>2019-08-12T09:00:31Z</updated>
<author>
<name>Keith Busch</name>
</author>
<published>2019-08-05T14:27:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b630f62bc57cb2f6364cb1199983361d2a664abd'/>
<id>urn:sha1:b630f62bc57cb2f6364cb1199983361d2a664abd</id>
<content type='text'>
Some of the memory nodes described in HMAT may not be online at the
time the HMAT subsystem parses their nodes' attributes. Should the node be
set to online later, as can happen when using PMEM as RAM after boot, the
nodes will be missing their initiator links and performance attributes.

Regsiter a memory notifier callback and register the memory attributes
the first time its node is brought online if it wasn't registered.

Signed-off-by: Keith Busch &lt;keith.busch@intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>HMAT: Register memory-side cache after parsing</title>
<updated>2019-08-12T09:00:31Z</updated>
<author>
<name>Keith Busch</name>
</author>
<published>2019-08-05T14:27:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=06188d713885d2a469067637240605b657a4b5a7'/>
<id>urn:sha1:06188d713885d2a469067637240605b657a4b5a7</id>
<content type='text'>
Instead of registering the HMAT cache attributes in line with parsing
the table, save the attributes in the memory target and register them
after parsing completes. This will make it easier to register the
attributes later when hot add is supported.

Tested-by: Brice Goglin &lt;Brice.Goglin@inria.fr&gt;
Signed-off-by: Keith Busch &lt;keith.busch@intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>treewide: Add SPDX license identifier - Makefile/Kconfig</title>
<updated>2019-05-21T08:50:46Z</updated>
<author>
<name>Thomas Gleixner</name>
</author>
<published>2019-05-19T12:07:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ec8f24b7faaf3d4799a7c3f4c1b87f6b02778ad1'/>
<id>urn:sha1:ec8f24b7faaf3d4799a7c3f4c1b87f6b02778ad1</id>
<content type='text'>
Add SPDX license identifiers to all Make/Kconfig files which:

 - Have no license information of any form

These files fall under the project license, GPL v2 only. The resulting SPDX
license identifier is:

  GPL-2.0-only

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>acpi/hmat: fix an uninitialized memory_target</title>
<updated>2019-04-25T19:24:38Z</updated>
<author>
<name>Qian Cai</name>
</author>
<published>2019-04-07T01:12:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ab3a9f2ccc080d27873f76869c9a780be45e581e'/>
<id>urn:sha1:ab3a9f2ccc080d27873f76869c9a780be45e581e</id>
<content type='text'>
The commit 665ac7e92757 ("acpi/hmat: Register processor domain to its
memory") introduced an uninitialized "struct memory_target" that could
cause an incorrect branching.

drivers/acpi/hmat/hmat.c:385:6: warning: variable 'target' is used
uninitialized whenever 'if' condition is false
[-Wsometimes-uninitialized]
        if (p-&gt;flags &amp; ACPI_HMAT_MEMORY_PD_VALID) {
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/acpi/hmat/hmat.c:392:6: note: uninitialized use occurs here
        if (target &amp;&amp; p-&gt;flags &amp; ACPI_HMAT_PROCESSOR_PD_VALID) {
            ^~~~~~
drivers/acpi/hmat/hmat.c:385:2: note: remove the 'if' if its condition
is always true
        if (p-&gt;flags &amp; ACPI_HMAT_MEMORY_PD_VALID) {
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/acpi/hmat/hmat.c:369:30: note: initialize the variable 'target'
to silence this warning
        struct memory_target *target;
                                    ^
                                     = NULL

Signed-off-by: Qian Cai &lt;cai@lca.pw&gt;
Reviewed-by: Mukesh Ojha &lt;mojha@codeaurora.org&gt;
Fixes: 665ac7e92757 ("acpi/hmat: Register processor domain to its memory")
Reviewed-by: Nathan Chancellor &lt;natechancellor@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>acpi/hmat: Update acpi_hmat_type enum with ACPI_HMAT_TYPE_PROXIMITY</title>
<updated>2019-04-25T19:24:38Z</updated>
<author>
<name>Alison Schofield</name>
</author>
<published>2019-04-17T18:13:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=57f5cf6ed8bdbbcb1abf3477beeac199dcdba316'/>
<id>urn:sha1:57f5cf6ed8bdbbcb1abf3477beeac199dcdba316</id>
<content type='text'>
ACPI 6.3 changed the subtable "Memory Subsystem Address Range Structure"
to "Memory Proximity Domain Attributes Structure".

Updating and renaming of the structure was included in commit:
ACPICA: ACPI 6.3: HMAT updates (9a8d961f1ef835b0d338fbe13da03cb424e87ae5)

Rename the enum type to match the subtable and structure naming.

Signed-off-by: Alison Schofield &lt;alison.schofield@intel.com&gt;
Acked-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>acpi/hmat: fix memory leaks in hmat_init()</title>
<updated>2019-04-25T19:24:37Z</updated>
<author>
<name>Qian Cai</name>
</author>
<published>2019-04-10T02:14:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e174e78efa6b2421f070ad9321545a87b2ebe28c'/>
<id>urn:sha1:e174e78efa6b2421f070ad9321545a87b2ebe28c</id>
<content type='text'>
The commit 665ac7e92757 ("acpi/hmat: Register processor domain to its
memory") introduced some memory leaks below due to it fails to release
the heap memory in an error path, and then those statically-allocated
__initdata memory which reference them get freed during boot renders
those heap memory as leaks. Since it is valid to pass NULL to
acpi_put_table(), it is fine to call it even if acpi_get_table() returns
an error.

unreferenced object 0xc8ff8008349e9400 (size 128):
  comm "swapper/0", pid 1, jiffies 4294709236 (age 48121.476s)
  hex dump (first 32 bytes):
    00 d0 9e 34 08 80 ff 84 d8 00 43 11 00 10 ff ff  ...4......C.....
    00 00 00 00 ff ff ff ff 00 00 00 00 00 00 00 00  ................
  backtrace:
    [&lt;00000000869d4503&gt;] __kmalloc+0x568/0x600
    [&lt;0000000070fd6afb&gt;] alloc_memory_target+0x50/0xd8
    [&lt;00000000efa2081e&gt;] srat_parse_mem_affinity+0x58/0x5c
    [&lt;000000008bfaef74&gt;] acpi_parse_entries_array+0x1c8/0x2c0
    [&lt;0000000022804877&gt;] acpi_table_parse_entries_array+0x11c/0x138
    [&lt;00000000ffe9cd34&gt;] acpi_table_parse_entries+0x7c/0xac
    [&lt;00000000a7023afd&gt;] hmat_init+0x90/0x174
    [&lt;00000000694a86c1&gt;] do_one_initcall+0x2d8/0x5f8
    [&lt;0000000024889da9&gt;] do_initcall_level+0x37c/0x3fc
    [&lt;000000009be02908&gt;] do_basic_setup+0x38/0x50
    [&lt;0000000037b3ac0a&gt;] kernel_init_freeable+0x194/0x258
    [&lt;00000000f5741184&gt;] kernel_init+0x18/0x334
    [&lt;000000007b30f423&gt;] ret_from_fork+0x10/0x18
    [&lt;000000006c7147a8&gt;] 0xffffffffffffffff

Signed-off-by: Qian Cai &lt;cai@lca.pw&gt;
Fixes: 665ac7e92757 ("acpi/hmat: Register processor domain to its memory")
Acked-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>acpi/hmat: Register memory side cache attributes</title>
<updated>2019-04-04T16:41:21Z</updated>
<author>
<name>Keith Busch</name>
</author>
<published>2019-03-11T20:56:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d9e8844c7d8165d97848950ae6bf66b2be86ef06'/>
<id>urn:sha1:d9e8844c7d8165d97848950ae6bf66b2be86ef06</id>
<content type='text'>
Register memory side cache attributes with the memory's node if HMAT
provides the side cache iniformation table.

Acked-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Signed-off-by: Keith Busch &lt;keith.busch@intel.com&gt;
Tested-by: Brice Goglin &lt;Brice.Goglin@inria.fr&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
</feed>
