<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-dev/drivers/acpi/hmat, branch master</title>
<subtitle>Linux kernel development work - see feature branches</subtitle>
<id>https://git.zx2c4.com/linux-dev/atom/drivers/acpi/hmat?h=master</id>
<link rel='self' href='https://git.zx2c4.com/linux-dev/atom/drivers/acpi/hmat?h=master'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/'/>
<updated>2019-11-07T14:43:38Z</updated>
<entry>
<title>ACPI: NUMA: Establish a new drivers/acpi/numa/ directory</title>
<updated>2019-11-07T14:43:38Z</updated>
<author>
<name>Dan Williams</name>
<email>dan.j.williams@intel.com</email>
</author>
<published>2019-11-07T01:42:55Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=c710fcc5d95a5e0d1648c40c0b101e198bfc3459'/>
<id>urn:sha1:c710fcc5d95a5e0d1648c40c0b101e198bfc3459</id>
<content type='text'>
Currently hmat.c lives under an "hmat" directory which does not enhance
the description of the file. The initial motivation for giving hmat.c
its own directory was to delineate it as mm functionality in contrast to
ACPI device driver functionality.

As ACPI continues to play an increasing role in conveying
memory location and performance topology information to the OS take the
opportunity to co-locate these NUMA relevant tables in a combined
directory.

numa.c is renamed to srat.c and moved to drivers/acpi/numa/ along with
hmat.c.

Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
Reviewed-by: Dave Hansen &lt;dave.hansen@linux.intel.com&gt;
Acked-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&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>
<email>daniel@linux.ibm.com</email>
</author>
<published>2019-08-06T04:24:39Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/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>
<email>dan.j.williams@intel.com</email>
</author>
<published>2019-08-05T14:27:06Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/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>
<email>keith.busch@intel.com</email>
</author>
<published>2019-08-05T14:27:05Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/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>
<email>keith.busch@intel.com</email>
</author>
<published>2019-08-05T14:27:04Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/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>
<email>tglx@linutronix.de</email>
</author>
<published>2019-05-19T12:07:45Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/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>
<email>cai@lca.pw</email>
</author>
<published>2019-04-07T01:12:22Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/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>
<email>alison.schofield@intel.com</email>
</author>
<published>2019-04-17T18:13:10Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/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>
<email>cai@lca.pw</email>
</author>
<published>2019-04-10T02:14:50Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/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>
<email>keith.busch@intel.com</email>
</author>
<published>2019-03-11T20:56:05Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/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>
