Re: [PATCHv8 07/10] acpi/hmat: Register processor domain to its memory

2019-03-31 Thread Keith Busch
On Fri, Mar 29, 2019 at 02:15:03PM -0700, Dan Williams wrote: > On Mon, Mar 11, 2019 at 1:55 PM Keith Busch wrote: > > +static __init struct memory_target *find_mem_target(unsigned int mem_pxm) > > +{ > > + struct memory_target *target; > > + > > + l

Re: [PATCH 06/10] mm: vmscan: demote anon DRAM pages to PMEM node

2019-03-28 Thread Keith Busch
On Thu, Mar 28, 2019 at 02:59:30PM -0700, Yang Shi wrote: > Yes, it still could fail. I can't tell which way is better for now. I > just thought scanning another round then migrating should be still > faster than swapping off the top of my head. I think it depends on the relative capacities

Re: [PATCH 06/10] mm: vmscan: demote anon DRAM pages to PMEM node

2019-03-27 Thread Keith Busch
On Tue, Mar 26, 2019 at 08:41:15PM -0700, Yang Shi wrote: > On 3/26/19 5:35 PM, Keith Busch wrote: > > migration nodes have higher free capacity than source nodes. And since > > your attempting THP's without ever splitting them, that also requires > > lower fragmentation for a

Re: [PATCH 06/10] mm: vmscan: demote anon DRAM pages to PMEM node

2019-03-26 Thread Keith Busch
On Mon, Mar 25, 2019 at 12:49:21PM -0700, Yang Shi wrote: > On 3/24/19 3:20 PM, Keith Busch wrote: > > How do these pages eventually get to swap when migration fails? Looks > > like that's skipped. > > Yes, they will be just put back to LRU. Actually, I don't expect it

Re: [PATCH 06/10] mm: vmscan: demote anon DRAM pages to PMEM node

2019-03-24 Thread Keith Busch
On Sat, Mar 23, 2019 at 12:44:31PM +0800, Yang Shi wrote: > /* > + * Demote DRAM pages regardless the mempolicy. > + * Demot anonymous pages only for now and skip MADV_FREE > + * pages. > + */ > + if (PageAnon(page) &&

Re:

2019-03-22 Thread Keith Busch
On Fri, Mar 22, 2019 at 07:54:50AM +, Felipe Franciosi wrote: > > > > Note though that SPDK doesn't support sharing the device between host and > > the > > guests, it takes over the nvme device, thus it makes the kernel nvme driver > > unbind from it. > > That is absolutely true. However, I

[PATCH 5/5] mm/migrate: Add page movement trace event

2019-03-21 Thread Keith Busch
Trace the source and destination node of a page migration to help debug memory usage. Signed-off-by: Keith Busch --- include/trace/events/migrate.h | 26 ++ mm/migrate.c | 1 + 2 files changed, 27 insertions(+) diff --git a/include/trace/events

[PATCH 2/5] mm: Split handling old page for migration

2019-03-21 Thread Keith Busch
Refactor unmap_and_move() handling for the new page into a separate function from locking and preparing the old page. No functional change here: this is just making it easier to reuse this part of the page migration from contexts that already locked the old page. Signed-off-by: Keith Busch

Re:

2019-03-21 Thread Keith Busch
On Thu, Mar 21, 2019 at 04:12:39PM +, Stefan Hajnoczi wrote: > mdev-nvme seems like a duplication of SPDK. The performance is not > better and the features are more limited, so why focus on this approach? > > One argument might be that the kernel NVMe subsystem wants to offer this >

Re: your mail

2019-03-20 Thread Keith Busch
On Wed, Mar 20, 2019 at 06:30:29PM +0200, Maxim Levitsky wrote: > Or instead I can use the block backend, > (but note that currently the block back-end doesn't support polling which is > critical for the performance). Oh, I think you can do polling through there. For reference, fs/io_uring.c has

Re: [PATCH] PCI/LINK: bw_notification: Do not leave interrupt handler NULL

2019-03-19 Thread Keith Busch
On Mon, Mar 18, 2019 at 08:12:04PM -0500, Alexandru Gagniuc wrote: > I was able to test this on edge-triggered interrupts. None of my > machines have PCIe ports that use level-triggered interrupts. This > might not be too straightforward to test without a hardware yanker, > but if there's a way to

Re: your mail

2019-03-19 Thread Keith Busch
On Tue, Mar 19, 2019 at 04:41:07PM +0200, Maxim Levitsky wrote: > -> Share the NVMe device between host and guest. > Even in fully virtualized configurations, > some partitions of nvme device could be used by guests as block devices > while others passed through with nvme-mdev

Re: [PATCHv8 00/10] Heterogenous memory node attributes

2019-03-15 Thread Keith Busch
Hi Greg, Just wanted to check with you on how we may proceed with this series. The main feature is exporting new sysfs attributes through driver core, so I think it makes most sense to go through you unless you'd prefer this go through a different route. The proposed interface has been pretty

[PATCHv8 02/10] acpi: Add HMAT to generic parsing tables

2019-03-11 Thread Keith Busch
The Heterogeneous Memory Attribute Table (HMAT) header has different field lengths than the existing parsing uses. Add the HMAT type to the parsing rules so it may be generically parsed. Reviewed-by: Rafael J. Wysocki Acked-by: Jonathan Cameron Tested-by: Jonathan Cameron Signed-off-by: Keith

[PATCHv8 08/10] acpi/hmat: Register performance attributes

2019-03-11 Thread Keith Busch
Signed-off-by: Keith Busch --- drivers/acpi/hmat/Kconfig | 5 - drivers/acpi/hmat/hmat.c | 10 +- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/drivers/acpi/hmat/Kconfig b/drivers/acpi/hmat/Kconfig index 13cddd612a52..95a29964dbea 100644 --- a/drivers/acpi/hmat

[PATCHv8 03/10] acpi/hmat: Parse and report heterogeneous memory

2019-03-11 Thread Keith Busch
-by: Jonathan Cameron Tested-by: Jonathan Cameron Signed-off-by: Keith Busch --- drivers/acpi/Kconfig | 1 + drivers/acpi/Makefile | 1 + drivers/acpi/hmat/Kconfig | 7 ++ drivers/acpi/hmat/Makefile | 1 + drivers/acpi/hmat/hmat.c | 236 + 5

[PATCHv8 05/10] node: Add heterogenous memory access attributes

2019-03-11 Thread Keith Busch
omitted from the any access class' initiators. Descriptions for memory access initiator performance access attributes are added to sysfs stable documentation. Acked-by: Jonathan Cameron Tested-by: Jonathan Cameron Signed-off-by: Keith Busch --- Documentation/ABI/stable/sysfs-devices-node | 28 +++

[PATCHv8 06/10] node: Add memory-side caching attributes

2019-03-11 Thread Keith Busch
-by: Keith Busch --- Documentation/ABI/stable/sysfs-devices-node | 34 +++ drivers/base/node.c | 151 include/linux/node.h| 39 +++ 3 files changed, 224 insertions(+) diff --git a/Documentation/ABI/stable/sysfs

[PATCHv8 09/10] acpi/hmat: Register memory side cache attributes

2019-03-11 Thread Keith Busch
Register memory side cache attributes with the memory's node if HMAT provides the side cache iniformation table. Acked-by: Rafael J. Wysocki Signed-off-by: Keith Busch --- drivers/acpi/hmat/hmat.c | 32 1 file changed, 32 insertions(+) diff --git a/drivers

[PATCHv8 00/10] Heterogenous memory node attributes

2019-03-11 Thread Keith Busch
. Those applications may query performance attributes relative to a particular CPU they're running on in order to make more informed choices for where they want to allocate hot and cold data. This works with mbind() or the numactl library. Keith Busch (10): acpi: Create subtable parsing infrastructure

[PATCHv8 07/10] acpi/hmat: Register processor domain to its memory

2019-03-11 Thread Keith Busch
sysfs directory. Since HMAT requires valid address ranges have an equivalent SRAT entry, verify each memory target satisfies this requirement. Reviewed-by: Jonathan Cameron Signed-off-by: Keith Busch --- drivers/acpi/hmat/Kconfig | 3 +- drivers/acpi/hmat/hmat.c | 392

[PATCHv8 01/10] acpi: Create subtable parsing infrastructure

2019-03-11 Thread Keith Busch
parsing the entries array may be more reused for all ACPI system tables and the common code doesn't need to be duplicated. Reviewed-by: Rafael J. Wysocki Acked-by: Jonathan Cameron Tested-by: Jonathan Cameron Signed-off-by: Keith Busch --- arch/arm64/kernel/acpi_numa.c | 2 +- arch

[PATCHv8 04/10] node: Link memory nodes to their compute nodes

2019-03-11 Thread Keith Busch
deY/access0/initiators/nodeX -> ../../nodeX The new attributes are added to the sysfs stable documentation. Reviewed-by: Jonathan Cameron Signed-off-by: Keith Busch --- Documentation/ABI/stable/sysfs-devices-node | 25 - drivers/base/node.c

[PATCHv8 10/10] doc/mm: New documentation for memory performance

2019-03-11 Thread Keith Busch
wishing to query this information. Reviewed-by: Mike Rapoport Reviewed-by: Jonathan Cameron Signed-off-by: Keith Busch --- Documentation/admin-guide/mm/numaperf.rst | 169 ++ 1 file changed, 169 insertions(+) create mode 100644 Documentation/admin-guide/mm

Re: [PATCHv7 10/10] doc/mm: New documentation for memory performance

2019-03-11 Thread Keith Busch
On Mon, Mar 11, 2019 at 04:38:43AM -0700, Jonathan Cameron wrote: > On Wed, 27 Feb 2019 15:50:38 -0700 > Keith Busch wrote: > > > Platforms may provide system memory where some physical address ranges > > perform differently than others, or is side cached by the system. >

Re: [PATCHv7 07/10] acpi/hmat: Register processor domain to its memory

2019-03-11 Thread Keith Busch
On Mon, Mar 11, 2019 at 11:20:41AM +, Jonathan Cameron wrote: > On Wed, 27 Feb 2019 15:50:35 -0700 > Keith Busch wrote: > > +static __init void hmat_register_target_initiators(struct memory_target > > *target) > > +{ > > + static DECLARE_BITMAP(p_nodes,

Re: [RFC] Log PCIe service info with pci_dev, not pcie_device

2019-03-08 Thread Keith Busch
t #36 AttnBtn- PwrCtrl- MRL- AttnInd+ > PwrInd+ HotPlug+ Surprise+ Interlock- NoCompl- LLActRep+ Acked-by: Keith Busch > diff --git a/drivers/pci/hotplug/pciehp_hpc.c > b/drivers/pci/hotplug/pciehp_hpc.c > index 7dd443aea5a5..2761778f2ecc 100644 > --- a/drivers/pci/hotplu

Re: [PATCHv6 07/10] acpi/hmat: Register processor domain to its memory

2019-03-07 Thread Keith Busch
Hi Brice, Please see v7 of this series from last week instead for reviews: https://patchwork.kernel.org/cover/10832365/

Re: [PATCH] nvme-pci: Prevent mmio reads if pci channel offline

2019-02-28 Thread Keith Busch
On Thu, Feb 28, 2019 at 11:43:46PM +, austin.bo...@dell.com wrote: > On 2/28/2019 5:20 PM, Keith Busch wrote: > > SBR and Link Disable are done from the down stream port, though, so the > > host can still communicate with the function that took the link down. > > That's en

Re: [PATCH] nvme-pci: Prevent mmio reads if pci channel offline

2019-02-28 Thread Keith Busch
On Thu, Feb 28, 2019 at 11:10:11PM +, austin.bo...@dell.com wrote: > I'd also note that in PCIe, things that intentionally take the link down > like SBR or Link Disable suppress surprise down error reporting. But > NSSR doesn't have this requirement to suppress surprise down reporting. > I

Re: [PATCH AUTOSEL 4.19 59/64] nvme-pci: fix rapid add remove sequence

2019-02-28 Thread Keith Busch
On Thu, Feb 28, 2019 at 10:11:00AM -0500, Sasha Levin wrote: > From: Keith Busch > > [ Upstream commit 5c959d73dba6495ec01d04c206ee679d61ccb2b0 ] This patch was broken, so please make sure to include the one that fixes this: Upstream commit 4726bcf30fad37cc555cd9dcd6c73f2b2668c879

[PATCHv7 03/10] acpi/hmat: Parse and report heterogeneous memory

2019-02-27 Thread Keith Busch
-by: Keith Busch --- drivers/acpi/Kconfig | 1 + drivers/acpi/Makefile | 1 + drivers/acpi/hmat/Kconfig | 7 ++ drivers/acpi/hmat/Makefile | 1 + drivers/acpi/hmat/hmat.c | 237 + 5 files changed, 247 insertions(+) create mode 100644

[PATCHv7 05/10] node: Add heterogenous memory access attributes

2019-02-27 Thread Keith Busch
omitted from the any access class' initiators. Descriptions for memory access initiator performance access attributes are added to sysfs stable documentation. Signed-off-by: Keith Busch --- Documentation/ABI/stable/sysfs-devices-node | 28 ++ drivers/base/Kconfig

[PATCHv7 02/10] acpi: Add HMAT to generic parsing tables

2019-02-27 Thread Keith Busch
The Heterogeneous Memory Attribute Table (HMAT) header has different field lengths than the existing parsing uses. Add the HMAT type to the parsing rules so it may be generically parsed. Cc: Dan Williams Reviewed-by: Rafael J. Wysocki Signed-off-by: Keith Busch --- drivers/acpi/tables.c | 9

[PATCHv7 10/10] doc/mm: New documentation for memory performance

2019-02-27 Thread Keith Busch
to query this information. Reviewed-by: Mike Rapoport Signed-off-by: Keith Busch --- Documentation/admin-guide/mm/numaperf.rst | 164 ++ 1 file changed, 164 insertions(+) create mode 100644 Documentation/admin-guide/mm/numaperf.rst diff --git a/Documentation/admin-guide

[PATCHv7 07/10] acpi/hmat: Register processor domain to its memory

2019-02-27 Thread Keith Busch
sysfs directory. Since HMAT requires valid address ranges have an equivalent SRAT entry, verify each memory target satisfies this requirement. Signed-off-by: Keith Busch --- drivers/acpi/hmat/Kconfig | 3 +- drivers/acpi/hmat/hmat.c | 395 +- 2 files

[PATCHv7 08/10] acpi/hmat: Register performance attributes

2019-02-27 Thread Keith Busch
Signed-off-by: Keith Busch --- drivers/acpi/hmat/Kconfig | 5 - drivers/acpi/hmat/hmat.c | 10 +- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/drivers/acpi/hmat/Kconfig b/drivers/acpi/hmat/Kconfig index 13cddd612a52..95a29964dbea 100644 --- a/drivers/acpi/hmat

[PATCHv7 09/10] acpi/hmat: Register memory side cache attributes

2019-02-27 Thread Keith Busch
Register memory side cache attributes with the memory's node if HMAT provides the side cache iniformation table. Acked-by: Rafael J. Wysocki Signed-off-by: Keith Busch --- drivers/acpi/hmat/hmat.c | 32 1 file changed, 32 insertions(+) diff --git a/drivers

[PATCHv7 00/10] Heterogenous memory node attributes

2019-02-27 Thread Keith Busch
rticular CPU they're running on in order to make more informed choices for where they want to allocate hot and cold data. This works with mbind() or the numactl library. Keith Busch (10): acpi: Create subtable parsing infrastructure acpi: Add HMAT to generic parsing tables acpi/hm

[PATCHv7 01/10] acpi: Create subtable parsing infrastructure

2019-02-27 Thread Keith Busch
parsing the entries array may be more reused for all ACPI system tables and the common code doesn't need to be duplicated. Reviewed-by: Rafael J. Wysocki Cc: Dan Williams Signed-off-by: Keith Busch --- arch/arm64/kernel/acpi_numa.c | 2 +- arch/arm64/kernel/smp.c

[PATCHv7 06/10] node: Add memory-side caching attributes

2019-02-27 Thread Keith Busch
-by: Keith Busch --- Documentation/ABI/stable/sysfs-devices-node | 34 +++ drivers/base/node.c | 151 include/linux/node.h| 39 +++ 3 files changed, 224 insertions(+) diff --git a/Documentation/ABI/stable/sysfs

[PATCHv7 04/10] node: Link memory nodes to their compute nodes

2019-02-27 Thread Keith Busch
deY/access0/initiators/nodeX -> ../../nodeX The new attributes are added to the sysfs stable documentation. Signed-off-by: Keith Busch --- Documentation/ABI/stable/sysfs-devices-node | 25 - drivers/base/node.c | 142 +++- include/linux/

Re: [PATCH] nvme-pci: Prevent mmio reads if pci channel offline

2019-02-27 Thread Keith Busch
On Wed, Feb 27, 2019 at 04:42:05PM +, alex_gagn...@dellteam.com wrote: > On 2/26/19 7:02 PM, Linus Torvalds wrote: > > On Tue, Feb 26, 2019 at 2:37 PM wrote: > >> > >> Then nobody gets the (error) message. You can go a bit further and try > >> 'pcie_ports=native". Again, nobody gets the memo.

Re: [PATCHv6 07/10] acpi/hmat: Register processor domain to its memory

2019-02-25 Thread Keith Busch
On Sun, Feb 24, 2019 at 08:59:45PM +0100, Rafael J. Wysocki wrote: > On Fri, Feb 22, 2019 at 7:48 PM Keith Busch wrote: > > If I do it the other way around, that's going to make HMEM_REPORTING > > complicated if a non-ACPI implementation wants to report HMEM

Re: [PATCH] nvme-pci: Prevent mmio reads if pci channel offline

2019-02-25 Thread Keith Busch
On Sun, Feb 24, 2019 at 03:27:09PM -0800, alex_gagn...@dellteam.com wrote: > > More like "fatal error, just panic". It looks like this (from a serial > console): > > [ 57.680494] {1}[Hardware Error]: Hardware error from APEI Generic > Hardware Error Source: 1 > [ 57.680495] {1}[Hardware

Re: [PATCH] nvme-pci: Prevent mmio reads if pci channel offline

2019-02-22 Thread Keith Busch
On Fri, Feb 22, 2019 at 01:28:42PM -0800, Linus Torvalds wrote: > On Thu, Feb 21, 2019 at 5:07 PM Jon Derrick > wrote: > > > > Some platforms don't seem to easily tolerate non-posted mmio reads on > > lost (hot removed) devices. This has been noted in previous > > modifications to other layers

Re: [PATCHv6 07/10] acpi/hmat: Register processor domain to its memory

2019-02-22 Thread Keith Busch
On Wed, Feb 20, 2019 at 11:02:01PM +0100, Rafael J. Wysocki wrote: > On Thu, Feb 14, 2019 at 6:10 PM Keith Busch wrote: > > config ACPI_HMAT > > bool "ACPI Heterogeneous Memory Attribute Table Support" > > depends on ACPI_NUMA > > + s

Re: [PATCHv6 06/10] node: Add memory-side caching attributes

2019-02-22 Thread Keith Busch
On Fri, Feb 22, 2019 at 11:22:12AM +0100, Brice Goglin wrote: > Le 14/02/2019 à 18:10, Keith Busch a écrit : > > +What: > > /sys/devices/system/node/nodeX/memory_side_cache/indexY/associativity > > +Date: December 2018 > > +Contact: Ke

Re: [PATCHv6 06/10] node: Add memory-side caching attributes

2019-02-22 Thread Keith Busch
On Fri, Feb 22, 2019 at 11:12:38AM +0100, Brice Goglin wrote: > Le 14/02/2019 à 18:10, Keith Busch a écrit : > > +What: > > /sys/devices/system/node/nodeX/memory_side_cache/indexY/size > > +Date: December 2018 > > +Contact: Ke

Re: [PATCH] nvme: Enable acceleration feature of A64FX processor

2019-02-22 Thread Keith Busch
On Wed, Feb 20, 2019 at 06:46:11PM +0900, Takao Indoh wrote: > On Thu, Feb 14, 2019 at 08:44:48PM +, Elliott, Robert (Persistent Memory) > wrote: > > * how does this interact with an iommu, if there is one? Must the > > address with bit 56 also be granted permission, or is that > > stripped

Re: [PATCHv6 07/10] acpi/hmat: Register processor domain to its memory

2019-02-20 Thread Keith Busch
On Wed, Feb 20, 2019 at 11:21:45PM +0100, Rafael J. Wysocki wrote: > On Wed, Feb 20, 2019 at 11:11 PM Dave Hansen wrote: > > On 2/20/19 2:02 PM, Rafael J. Wysocki wrote: > > >> diff --git a/drivers/acpi/hmat/Kconfig b/drivers/acpi/hmat/Kconfig > > >> index c9637e2e7514..08e972ead159 100644 > > >>

Re: [PATCHv6 00/10] Heterogenous memory node attributes

2019-02-20 Thread Keith Busch
On Thu, Feb 14, 2019 at 10:10:07AM -0700, Keith Busch wrote: > Platforms may provide multiple types of cpu attached system memory. The > memory ranges for each type may have different characteristics that > applications may wish to know about when considering what node they want >

Re: [PATCHv6 00/10] Heterogenous memory node attributes

2019-02-19 Thread Keith Busch
On Mon, Feb 18, 2019 at 03:25:31PM +0100, Brice Goglin wrote: > Le 14/02/2019 à 18:10, Keith Busch a écrit : > > Determining the cpu and memory node local relationships is quite > > different this time (PATCH 7/10). The local relationship to a memory > > target will be e

Re: [PATCH V3 1/5] genirq/affinity: don't mark 'affd' as const

2019-02-19 Thread Keith Busch
On Mon, Feb 18, 2019 at 04:42:27PM -0800, 陈华才 wrote: > I've tested, this patch can fix the nvme problem, but it can't be applied > to 4.19 because of different context. And, I still think my original solution > (genirq/affinity: Assign default affinity to pre/post vectors) is correct. > There may

Re: [PATCH] nvme: Enable acceleration feature of A64FX processor

2019-02-14 Thread Keith Busch
On Thu, Feb 14, 2019 at 12:44:48PM -0800, Elliott, Robert (Persistent Memory) wrote: > > The PCIe and NVMe specifications dosn't standardize a way to tell the device > when to use RO, which leads to system workarounds like this. > > The Enable Relaxed Ordering bit defined by PCIe tells the

[PATCHv6 03/10] acpi/hmat: Parse and report heterogeneous memory

2019-02-14 Thread Keith Busch
-by: Keith Busch --- drivers/acpi/Kconfig | 1 + drivers/acpi/Makefile | 1 + drivers/acpi/hmat/Kconfig | 8 ++ drivers/acpi/hmat/Makefile | 1 + drivers/acpi/hmat/hmat.c | 236 + 5 files changed, 247 insertions(+) create mode 100644

[PATCHv6 05/10] node: Add heterogenous memory access attributes

2019-02-14 Thread Keith Busch
omitted from the any access class' initiators. Descriptions for memory access initiator performance access attributes are added to sysfs stable documentation. Signed-off-by: Keith Busch --- Documentation/ABI/stable/sysfs-devices-node | 31 ++- drivers/base/Kconfig

[PATCHv6 09/10] acpi/hmat: Register memory side cache attributes

2019-02-14 Thread Keith Busch
Register memory side cache attributes with the memory's node if HMAT provides the side cache iniformation table. Signed-off-by: Keith Busch --- drivers/acpi/hmat/hmat.c | 32 1 file changed, 32 insertions(+) diff --git a/drivers/acpi/hmat/hmat.c b/drivers/acpi

[PATCHv6 02/10] acpi: Add HMAT to generic parsing tables

2019-02-14 Thread Keith Busch
The Heterogeneous Memory Attribute Table (HMAT) header has different field lengths than the existing parsing uses. Add the HMAT type to the parsing rules so it may be generically parsed. Cc: Dan Williams Reviewed-by: Rafael J. Wysocki Signed-off-by: Keith Busch --- drivers/acpi/tables.c | 9

[PATCHv6 00/10] Heterogenous memory node attributes

2019-02-14 Thread Keith Busch
ld data. This works with mbind() or the numactl library. Keith Busch (10): acpi: Create subtable parsing infrastructure acpi: Add HMAT to generic parsing tables acpi/hmat: Parse and report heterogeneous memory node: Link memory nodes to their compute nodes node: Add heterogenous memory access

[PATCHv6 01/10] acpi: Create subtable parsing infrastructure

2019-02-14 Thread Keith Busch
parsing the entries array may be more reused for all ACPI system tables and the common code doesn't need to be duplicated. Reviewed-by: Rafael J. Wysocki Cc: Dan Williams Signed-off-by: Keith Busch --- arch/arm64/kernel/acpi_numa.c | 2 +- arch/arm64/kernel/smp.c

[PATCHv6 08/10] acpi/hmat: Register performance attributes

2019-02-14 Thread Keith Busch
Save the best performance access attributes and register these with the memory's node if HMAT provides the locality table. While HMAT does make it possible to know performance for all possible initiator-target pairings, we export only the local pairings at this time. Signed-off-by: Keith Busch

[PATCHv6 04/10] node: Link memory nodes to their compute nodes

2019-02-14 Thread Keith Busch
deY/access0/initiators/nodeX -> ../../nodeX The new attributes are added to the sysfs stable documentation. Reviewed-by: Rafael J. Wysocki Signed-off-by: Keith Busch --- Documentation/ABI/stable/sysfs-devices-node | 25 - drivers/base/node.c

[PATCHv6 10/10] doc/mm: New documentation for memory performance

2019-02-14 Thread Keith Busch
to query this information. Reviewed-by: Mike Rapoport Signed-off-by: Keith Busch --- Documentation/admin-guide/mm/numaperf.rst | 164 ++ 1 file changed, 164 insertions(+) create mode 100644 Documentation/admin-guide/mm/numaperf.rst diff --git a/Documentation/admin-guide

[PATCHv6 06/10] node: Add memory-side caching attributes

2019-02-14 Thread Keith Busch
-by: Keith Busch --- Documentation/ABI/stable/sysfs-devices-node | 35 +++ drivers/base/node.c | 151 include/linux/node.h| 34 +++ 3 files changed, 220 insertions(+) diff --git a/Documentation/ABI/stable/sysfs-devices

[PATCHv6 07/10] acpi/hmat: Register processor domain to its memory

2019-02-14 Thread Keith Busch
requires valid address ranges have an equivalent SRAT entry, verify each memory target satisfies this requirement. Signed-off-by: Keith Busch --- drivers/acpi/hmat/Kconfig | 1 + drivers/acpi/hmat/hmat.c | 396 +- 2 files changed, 396 insertions(+), 1

Re: [PATCH V3 1/5] genirq/affinity: don't mark 'affd' as const

2019-02-13 Thread Keith Busch
On Wed, Feb 13, 2019 at 10:41:55PM +0100, Thomas Gleixner wrote: > Btw, while I have your attention. There popped up an issue recently related > to that affinity logic. > > The current implementation fails when: > > /* > * If there aren't any vectors left after applying the

Re: [PATCH V3 1/5] genirq/affinity: don't mark 'affd' as const

2019-02-13 Thread Keith Busch
On Wed, Feb 13, 2019 at 09:56:36PM +0100, Thomas Gleixner wrote: > On Wed, 13 Feb 2019, Bjorn Helgaas wrote: > > On Wed, Feb 13, 2019 at 06:50:37PM +0800, Ming Lei wrote: > > > We have to ask driver to re-caculate set vectors after the whole IRQ > > > vectors are allocated later, and the result

Re: [PATCH 1/3] ACPI: Support Generic Initator only domains

2019-02-12 Thread Keith Busch
On Tue, Feb 12, 2019 at 04:49:24PM +, Jonathan Cameron wrote: > + case ACPI_SRAT_TYPE_GENERIC_INITIATOR_AFFINITY: > + { > + struct acpi_srat_gi_affinity *p = > + (struct acpi_srat_gi_affinity *)header; > + char name[9] = {}; > + > +

Re: [PATCHv4 10/13] node: Add memory caching attributes

2019-02-12 Thread Keith Busch
On Tue, Feb 12, 2019 at 08:49:03AM +, Jonathan Cameron wrote: > On Mon, 11 Feb 2019 08:23:04 -0700 > Keith Busch wrote: > > > On Sun, Feb 10, 2019 at 09:19:58AM -0800, Jonathan Cameron wrote: > > > On Sat, 9 Feb 2019 09:20:53 +0100 > > > Brice Goglin wr

Re: [PATCH V2 3/4] nvme-pci: avoid irq allocation retrying via .calc_sets

2019-02-12 Thread Keith Busch
v3 for the other minor comments. Reviewed-by: Keith Busch > +static void nvme_calc_irq_sets(struct irq_affinity *affd, int nvecs) > +{ > + struct nvme_dev *dev = affd->priv; > + > + nvme_calc_io_queues(dev, nvecs); > + > + affd->set_vectors[HCTX_TYPE_DEFA

Re: [PATCHv4 10/13] node: Add memory caching attributes

2019-02-11 Thread Keith Busch
On Sun, Feb 10, 2019 at 09:19:58AM -0800, Jonathan Cameron wrote: > On Sat, 9 Feb 2019 09:20:53 +0100 > Brice Goglin wrote: > > > Hello Keith > > > > Could we ever have a single side cache in front of two NUMA nodes ? I > > don't see a way to find that out in the current implementation. Would

Re: [PATCHv5 00/10] Heterogeneuos memory node attributes

2019-02-07 Thread Keith Busch
On Thu, Feb 07, 2019 at 01:53:36AM -0800, Jonathan Cameron wrote: > As a general heads up, ACPI 6.3 is out and makes some changes. > Discussions I've had in the past suggested there were few systems > shipping with 6.2 HMAT and that many firmwares would start at 6.3. > Of course, that might not be

Re: [PATCHv5 04/10] node: Link memory nodes to their compute nodes

2019-02-06 Thread Keith Busch
On Tue, Feb 05, 2019 at 04:17:09PM +0100, Rafael J. Wysocki wrote: > wrote: > > > > When you use a "raw" kobject then userspace tools do not see the devices > > and attributes in libraries like udev. > > And why would they need it in this particular case? > > > So unless userspace does not care

Re: [PATCHv5 00/10] Heterogeneuos memory node attributes

2019-02-06 Thread Keith Busch
On Wed, Feb 06, 2019 at 12:31:00PM +, Jonathan Cameron wrote: > On Thu, 24 Jan 2019 16:07:14 -0700 > Keith Busch wrote: > > 1) It seems this version added a hard dependence on having the memory node >listed in the Memory Proximity Domain attribute structures. I'm not

Re: [PATCHv5 10/10] doc/mm: New documentation for memory performance

2019-02-06 Thread Keith Busch
On Wed, Feb 06, 2019 at 10:45:52AM +, Jonathan Cameron wrote: > On Thu, 24 Jan 2019 16:07:24 -0700 > Keith Busch wrote: > > + # tree -P "read*|write*" /sys/devices/system/node/nodeY/access0/ > > + /sys/devices/system/node/nodeY/access0/ > > + |-- read_

Re: [PATCHv5 04/10] node: Link memory nodes to their compute nodes

2019-02-06 Thread Keith Busch
On Wed, Feb 06, 2019 at 04:26:35AM -0800, Jonathan Cameron wrote: > On Thu, 24 Jan 2019 16:07:18 -0700 > Keith Busch wrote: > > +What: /sys/devices/system/node/nodeX/accessY/initiators/ > > +Date: December 2018 > > +Contact: Keith

Re: [PATCHv5 03/10] acpi/hmat: Parse and report heterogeneous memory

2019-02-06 Thread Keith Busch
On Wed, Feb 06, 2019 at 12:28:14PM +, Jonathan Cameron wrote: > On Thu, 24 Jan 2019 16:07:17 -0700 > Keith Busch wrote: > > > + pr_info("HMAT: Locality: Flags:%02x Type:%s Initiator Domains:%d Target > > Domains:%d Base:%lld\n", > > + hmat_l

Re: Question on handling managed IRQs when hotplugging CPUs

2019-02-05 Thread Keith Busch
On Tue, Feb 05, 2019 at 04:10:47PM +0100, Hannes Reinecke wrote: > On 2/5/19 3:52 PM, Keith Busch wrote: > > Whichever layer dispatched the IO to a CPU specific context should > > be the one to wait for its completion. That should be blk-mq for most > > block drivers. > >

Re: Question on handling managed IRQs when hotplugging CPUs

2019-02-05 Thread Keith Busch
On Tue, Feb 05, 2019 at 03:09:28PM +, John Garry wrote: > On 05/02/2019 14:52, Keith Busch wrote: > > On Tue, Feb 05, 2019 at 05:24:11AM -0800, John Garry wrote: > > > On 04/02/2019 07:12, Hannes Reinecke wrote: > > > > > > Hi Hannes, > > > >

Re: Question on handling managed IRQs when hotplugging CPUs

2019-02-05 Thread Keith Busch
On Tue, Feb 05, 2019 at 05:24:11AM -0800, John Garry wrote: > On 04/02/2019 07:12, Hannes Reinecke wrote: > > Hi Hannes, > > > > > So, as the user then has to wait for the system to declars 'ready for > > CPU remove', why can't we just disable the SQ and wait for all I/O to > > complete? > > We

Re: [PATCHv5 04/10] node: Link memory nodes to their compute nodes

2019-02-05 Thread Keith Busch
On Tue, Feb 05, 2019 at 04:33:27AM -0800, Rafael J. Wysocki wrote: > On Fri, Jan 25, 2019 at 12:08 AM Keith Busch wrote: > > +/** > > + * struct node_access_nodes - Access class device to hold user visible > > + * relationships to other nodes. >

Re: [PATCH] nvme: Enable acceleration feature of A64FX processor

2019-02-05 Thread Keith Busch
On Tue, Feb 05, 2019 at 09:56:05PM +0900, Takao Indoh wrote: > On Fri, Feb 01, 2019 at 07:54:14AM -0700, Keith Busch wrote: > > On Fri, Feb 01, 2019 at 09:46:15PM +0900, Takao Indoh wrote: > > > From: Takao Indoh > > > > > > Fujitsu A64FX processor has a

Re: [PATCH] nvme: Enable acceleration feature of A64FX processor

2019-02-01 Thread Keith Busch
On Fri, Feb 01, 2019 at 09:46:15PM +0900, Takao Indoh wrote: > From: Takao Indoh > > Fujitsu A64FX processor has a feature to accelerate data transfer of > internal bus by relaxed ordering. It is enabled when the bit 56 of dma > address is set to 1. Wait, what? RO is a standard PCIe TLP

Re: [LSF/MM TOPIC] memory reclaim with NUMA rebalancing

2019-01-30 Thread Keith Busch
On Wed, Jan 30, 2019 at 06:48:47PM +0100, Michal Hocko wrote: > Hi, > I would like to propose the following topic for the MM track. Different > group of people would like to use NVIDMMs as a low cost & slower memory > which is presented to the system as a NUMA node. We do have a NUMA API > but it

Re: Question on handling managed IRQs when hotplugging CPUs

2019-01-29 Thread Keith Busch
On Tue, Jan 29, 2019 at 05:12:40PM +, John Garry wrote: > On 29/01/2019 15:44, Keith Busch wrote: > > > > Hm, we used to freeze the queues with CPUHP_BLK_MQ_PREPARE callback, > > which would reap all outstanding commands before the CPU and IRQ are > > take

Re: Question on handling managed IRQs when hotplugging CPUs

2019-01-29 Thread Keith Busch
On Tue, Jan 29, 2019 at 03:25:48AM -0800, John Garry wrote: > Hi, > > I have a question on $subject which I hope you can shed some light on. > > According to commit c5cb83bb337c25 ("genirq/cpuhotplug: Handle managed > IRQs on CPU hotplug"), if we offline the last CPU in a managed IRQ >

[PATCHv5 07/10] acpi/hmat: Register performance attributes

2019-01-24 Thread Keith Busch
Register the local attached performace access attributes with the memory's node if HMAT provides the locality table. While HMAT does make it possible to know performance for all possible initiator-target pairings, we export only the local and matching pairings at this time. Signed-off-by: Keith

[PATCHv5 03/10] acpi/hmat: Parse and report heterogeneous memory

2019-01-24 Thread Keith Busch
Systems may provide different memory types and export this information in the ACPI Heterogeneous Memory Attribute Table (HMAT). Parse these tables provided by the platform and report the memory access and caching attributes to the kernel messages. Signed-off-by: Keith Busch --- drivers/acpi

[PATCHv5 00/10] Heterogeneuos memory node attributes

2019-01-24 Thread Keith Busch
nd in use today that describe the more complex memory hierarchies that can be created. This series' objective is to provide the attributes from such systems that are useful for applications to know about, and readily usable with existing tools and libraries. Keith Busch (10): acpi: Create subtable parsin

[PATCHv5 04/10] node: Link memory nodes to their compute nodes

2019-01-24 Thread Keith Busch
deY/access0/initiators/nodeX -> ../../nodeX The new attributes are added to the sysfs stable documentation. Signed-off-by: Keith Busch --- Documentation/ABI/stable/sysfs-devices-node | 25 - drivers/base/node.c | 142 +++- include/linux/

[PATCHv5 02/10] acpi: Add HMAT to generic parsing tables

2019-01-24 Thread Keith Busch
The Heterogeneous Memory Attribute Table (HMAT) header has different field lengths than the existing parsing uses. Add the HMAT type to the parsing rules so it may be generically parsed. Cc: Dan Williams Reviewed-by: Rafael J. Wysocki Signed-off-by: Keith Busch --- drivers/acpi/tables.c | 9

[PATCHv5 10/10] doc/mm: New documentation for memory performance

2019-01-24 Thread Keith Busch
to query this information. Reviewed-by: Mike Rapoport Signed-off-by: Keith Busch --- Documentation/admin-guide/mm/numaperf.rst | 167 ++ 1 file changed, 167 insertions(+) create mode 100644 Documentation/admin-guide/mm/numaperf.rst diff --git a/Documentation/admin-guide

[PATCHv5 08/10] node: Add memory caching attributes

2019-01-24 Thread Keith Busch
are the cache size, the line size, associativity, and write back policy. Add the attributes for the system memory side caches to sysfs stable documentation. Signed-off-by: Keith Busch --- Documentation/ABI/stable/sysfs-devices-node | 34 +++ drivers/base/node.c | 153

[PATCHv5 06/10] node: Add heterogenous memory access attributes

2019-01-24 Thread Keith Busch
omitted from the any access class' initiators. Descriptions for memory access initiator performance access attributes are added to sysfs stable documentation. Signed-off-by: Keith Busch --- Documentation/ABI/stable/sysfs-devices-node | 28 ++ drivers/base/Kconfig

[PATCHv5 05/10] acpi/hmat: Register processor domain to its memory

2019-01-24 Thread Keith Busch
sysfs directory. Since HMAT requires valid address ranges have an equivalent SRAT entry, verify each memory target satisfies this requirement. Signed-off-by: Keith Busch --- drivers/acpi/hmat/hmat.c | 310 +++ 1 file changed, 310 insertions(+) diff

[PATCHv5 09/10] acpi/hmat: Register memory side cache attributes

2019-01-24 Thread Keith Busch
Register memory side cache attributes with the memory's node if HMAT provides the side cache iniformation table. Signed-off-by: Keith Busch --- drivers/acpi/hmat/hmat.c | 32 1 file changed, 32 insertions(+) diff --git a/drivers/acpi/hmat/hmat.c b/drivers/acpi

[PATCHv5 01/10] acpi: Create subtable parsing infrastructure

2019-01-24 Thread Keith Busch
parsing the entries array may be more reused for all ACPI system tables and the common code doesn't need to be duplicated. Reviewed-by: Rafael J. Wysocki Cc: Dan Williams Signed-off-by: Keith Busch --- arch/arm64/kernel/acpi_numa.c | 2 +- arch/arm64/kernel/smp.c

Re: [PATCH] MAINTAINERS: Update filesystem-dax and NVDIMM entries

2019-01-24 Thread Keith Busch
ice-DAX > sub-systems. > > The linux-nvdimm mailing hosts a patchwork instance for both DAX and > NVDIMM patches. > > Cc: Jan Kara > Cc: Ira Weiny > Cc: Ross Zwisler > Cc: Keith Busch > Cc: Matthew Wilcox > Signed-off-by: Dan Williams Acked-by: Keith Busch

Re: [PATCHv4 05/13] Documentation/ABI: Add new node sysfs attributes

2019-01-22 Thread Keith Busch
On Sun, Jan 20, 2019 at 05:16:05PM +0100, Rafael J. Wysocki wrote: > On Sat, Jan 19, 2019 at 10:01 AM Greg Kroah-Hartman > wrote: > > > > If you do a subdirectory "correctly" (i.e. a name for an attribute > > group), that's fine. > > Yes, that's what I was thinking about: along the lines of the

<    1   2   3   4   5   6   7   8   9   10   >