Re: [PATCH v15 7/9] nvmet-passthru: Add passthru code to process commands

2020-07-20 Thread Keith Busch
On Mon, Jul 20, 2020 at 04:28:26PM -0700, Sagi Grimberg wrote: > On 7/20/20 4:17 PM, Keith Busch wrote: > > On Mon, Jul 20, 2020 at 05:01:19PM -0600, Logan Gunthorpe wrote: > > > On 2020-07-20 4:35 p.m., Sagi Grimberg wrote: > > > > > > > passthr

Re: [PATCH v16 6/9] nvmet-passthru: Add passthru code to process commands

2020-07-24 Thread Keith Busch
On Fri, Jul 24, 2020 at 11:25:17AM -0600, Logan Gunthorpe wrote: > + /* > + * The passthru NVMe driver may have a limit on the number of segments > + * which depends on the host's memory fragementation. To solve this, > + * ensure mdts is limitted to the pages equal to the

Re: [PATCH v16 0/9] nvmet: add target passthru commands support

2020-07-24 Thread Keith Busch
On Fri, Jul 24, 2020 at 11:25:11AM -0600, Logan Gunthorpe wrote: > This is v16 of the passthru patchset which make a bunch of cleanup as > suggested by Christoph. Thank, looks great. Just the comment on 6/9, which probably isn't super important anyway. Reviewed-by: Keith Busch

Re: [PATCH v6 0/9] Add Error Disconnect Recover (EDR) support

2019-07-26 Thread Keith Busch
> > You can find EDR spec in the following link. > > https://members.pcisig.com/wg/PCI-SIG/document/12614 Thank you for sticking with this. I've reviewed the series and I think this looks good for the next merge window. Acked-by: Keith Busch

Re: [PATCH 5/5] nvme-pci: Use standard block status macro

2020-07-07 Thread Keith Busch
On Fri, Jul 03, 2020 at 10:49:24AM +0800, Baolin Wang wrote: > static blk_status_t nvme_map_data(struct nvme_dev *dev, struct request *req, > @@ -844,7 +844,7 @@ static blk_status_t nvme_map_metadata(struct nvme_dev > *dev, struct request *req, > if (dma_mapping_error(dev->dev,

Re: [PATCH] nvme: validate cntlid's only for nvme >= 1.1.0

2020-06-30 Thread Keith Busch
On Tue, Jun 30, 2020 at 04:01:45PM +0200, Maximilian Heyne wrote: > On 6/30/20 3:36 PM, Christoph Hellwig wrote: > > And actually - 1.0 did not have the concept of a subsystem. So having > > a duplicate serial number for a 1.0 controller actually is a pretty > > nasty bug. Can you point me to

Re: [RFC PATCH] nvme-pci: Move the sg table allocation/free into init/exit_request

2020-06-28 Thread Keith Busch
On Sun, Jun 28, 2020 at 06:34:46PM +0800, Baolin Wang wrote: > Move the sg table allocation and free into the init_request() and > exit_request(), instead of allocating sg table when queuing requests, > which can benefit the IO performance. If you want to pre-allocate something per-request, you

Re: [PATCH 1/3] nvme: Add Arbitration Burst support

2020-06-23 Thread Keith Busch
On Tue, Jun 23, 2020 at 09:24:32PM +0800, Baolin Wang wrote: > From the NVMe spec, "In order to make efficient use of the non-volatile > memory, it is often advantageous to execute multiple commands from a > Submission Queue in parallel. For Submission Queues that are using > weighted round robin

Re: [PATCH 1/3] nvme: Add Arbitration Burst support

2020-06-23 Thread Keith Busch
On Tue, Jun 23, 2020 at 10:39:01AM -0700, Sagi Grimberg wrote: > > > > From the NVMe spec, "In order to make efficient use of the non-volatile > > > memory, it is often advantageous to execute multiple commands from a > > > Submission Queue in parallel. For Submission Queues that are using > > >

Re: [PATCH v3] nvme: fix lockdep warning in nvme_mpath_clear_current_path

2018-05-23 Thread Keith Busch
Thanks for the ping. I started a new branch, nvme-4.18-2, based off of Jens' for-next with this being the first new commit. I'm certain we're still missing a lot of reviewed commits. I'll try to go through the mail history and apply by the end of the week, but any friendly reminders would not be

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 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

[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

[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 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 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 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 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 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 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 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

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

Re: [PATCHv3 08/13] Documentation/ABI: Add node performance attributes

2019-01-14 Thread Keith Busch
On Mon, Jan 14, 2019 at 12:10:12AM +0100, Pavel Machek wrote: > On Wed 2019-01-09 10:43:36, Keith Busch wrote: > > + This node's write latency in nanosecondss available to memory > > + initiators in nodes found in this class's > > initiators_nodelist. >

Re: [PATCHv3 13/13] doc/mm: New documentation for memory performance

2019-01-14 Thread Keith Busch
On Sun, Jan 13, 2019 at 01:42:30PM +0200, Mike Rapoport wrote: > There are a couple of nitpicks below, otherwise > > Reviewed-by: Mike Rapoport Thank you for the detailed review. I've incorporated all your recommmendations for the next revision.

Re: Please remove warnings from msi.c:1269 and blk-mq-pci.c:52 some day

2019-01-14 Thread Keith Busch
[+Ming] On Mon, Jan 14, 2019 at 08:31:45AM -0600, Bjorn Helgaas wrote: > [+cc Dou, Jens, Thomas, Christoph, linux-pci, LKML] > > On Sun, Jan 13, 2019 at 11:24 PM fin4478 fin4478 wrote: > > > > Hi, > > > > A regression from the 4.20 kernel: I have the Asgard 256GB nvme drive > > and my custom

Re: Please remove warnings from msi.c:1269 and blk-mq-pci.c:52 some day

2019-01-14 Thread Keith Busch
[+linux-n...@lists.infradead.org] On Mon, Jan 14, 2019 at 10:03:39AM -0700, Keith Busch wrote: > [+Ming] > On Mon, Jan 14, 2019 at 08:31:45AM -0600, Bjorn Helgaas wrote: > > [+cc Dou, Jens, Thomas, Christoph, linux-pci, LKML] > > > > On Sun, Jan 13, 2019 at 11:24 PM fin

Re: [PATCHv3 03/13] acpi/hmat: Parse and report heterogeneous memory

2019-01-15 Thread Keith Busch
On Thu, Jan 10, 2019 at 07:42:46AM -0800, Rafael J. Wysocki wrote: > On Wed, Jan 9, 2019 at 6:47 PM Keith Busch wrote: > > > > Systems may provide different memory types and export this information > > in the ACPI Heterogeneous Memory Attribute Table (HMAT). Parse thes

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: [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: 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: 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 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: [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

[PATCHv4 06/13] acpi/hmat: Register processor domain to its memory

2019-01-16 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/hmat.c | 143 --- 1 file changed, 136 insertions(+), 7 deletions(-) diff --git a/drivers

[PATCHv4 03/13] acpi/hmat: Parse and report heterogeneous memory

2019-01-16 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. Signed-off-by: Keith Busch --- drivers/acpi/Kconfig | 1

[PATCHv4 09/13] acpi/hmat: Register performance attributes

2019-01-16 Thread Keith Busch
Save the best performace 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 best pairings at this time. Signed-off-by: Keith Busch

[PATCHv4 11/13] Documentation/ABI: Add node cache attributes

2019-01-16 Thread Keith Busch
Add the attributes for the system memory side caches. Signed-off-by: Keith Busch --- Documentation/ABI/stable/sysfs-devices-node | 34 + 1 file changed, 34 insertions(+) diff --git a/Documentation/ABI/stable/sysfs-devices-node b/Documentation/ABI/stable/sysfs

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

2019-01-16 Thread Keith Busch
are the cache size, the line size, associativity, and write back policy. Signed-off-by: Keith Busch --- drivers/base/node.c | 142 +++ include/linux/node.h | 39 ++ 2 files changed, 181 insertions(+) diff --git a/drivers/base/node.c b

[PATCHv4 01/13] acpi: Create subtable parsing infrastructure

2019-01-16 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

[PATCHv4 13/13] doc/mm: New documentation for memory performance

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

[PATCHv4 02/13] acpi: Add HMAT to generic parsing tables

2019-01-16 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

[PATCHv4 12/13] acpi/hmat: Register memory side cache attributes

2019-01-16 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

[PATCHv4 08/13] Documentation/ABI: Add node performance attributes

2019-01-16 Thread Keith Busch
Add descriptions for memory class initiator performance access attributes. Signed-off-by: Keith Busch --- Documentation/ABI/stable/sysfs-devices-node | 28 1 file changed, 28 insertions(+) diff --git a/Documentation/ABI/stable/sysfs-devices-node b/Documentation

[PATCHv4 00/13] Heterogeneuos memory node attributes

2019-01-16 Thread Keith Busch
the attributes from such systems that are useful for applications to know about, and readily usable with existing tools and libraries. Keith Busch (13): acpi: Create subtable parsing infrastructure acpi: Add HMAT to generic parsing tables acpi/hmat: Parse and report heterogeneous memory node

[PATCHv4 04/13] node: Link memory nodes to their compute nodes

2019-01-16 Thread Keith Busch
class0/target_nodelist Y # cat /sys/devices/system/node/nodeY/class0/initiator_nodelist X Signed-off-by: Keith Busch --- drivers/base/node.c | 127 ++- include/linux/node.h | 6 ++- 2 files changed, 131 insertions(+), 2 deletions(-) diff

[PATCHv4 07/13] node: Add heterogenous memory access attributes

2019-01-16 Thread Keith Busch
re. When a subsystem makes use of this interface, initiators of a lower class number, "Z", have better performance relative to higher class numbers. When provided, class 0 is the highest performing access class. Signed-off-by: Keith Busch --- drivers/base/Kconfig | 8 +

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

2019-01-16 Thread Keith Busch
Add entries for memory initiator and target node class attributes. Signed-off-by: Keith Busch --- Documentation/ABI/stable/sysfs-devices-node | 25 - 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/Documentation/ABI/stable/sysfs-devices-node b

Re: [PATCHv4 00/13] Heterogeneuos memory node attributes

2019-01-17 Thread Keith Busch
On Thu, Jan 17, 2019 at 11:58:21PM +1100, Balbir Singh wrote: > On Wed, Jan 16, 2019 at 10:57:51AM -0700, Keith Busch wrote: > > It had previously been difficult to describe these setups as memory > > rangers were generally lumped into the NUMA node of the CPUs. New > > pla

Re: [PATCH 0/4] Allow persistent memory to be used like normal RAM

2019-01-17 Thread Keith Busch
On Thu, Jan 17, 2019 at 11:29:10AM -0500, Jeff Moyer wrote: > Dave Hansen writes: > > Persistent memory is cool. But, currently, you have to rewrite > > your applications to use it. Wouldn't it be cool if you could > > just have it show up in your system like normal RAM and get to > > it like a

Re: [PATCH 0/4] Allow persistent memory to be used like normal RAM

2019-01-17 Thread Keith Busch
On Thu, Jan 17, 2019 at 12:20:06PM -0500, Jeff Moyer wrote: > Keith Busch writes: > > On Thu, Jan 17, 2019 at 11:29:10AM -0500, Jeff Moyer wrote: > >> Dave Hansen writes: > >> > Persistent memory is cool. But, currently, you have to rewrite > >> &

Re: [PATCHv4 00/13] Heterogeneuos memory node attributes

2019-01-17 Thread Keith Busch
On Thu, Jan 17, 2019 at 10:18:35AM -0800, Jonathan Cameron wrote: > I've been having a play with various hand constructed HMAT tables to allow > me to try breaking them in all sorts of ways. > > Mostly working as expected. > > Two places I am so far unsure on... > > 1. Concept of 'best' is not

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

2019-01-18 Thread Keith Busch
On Thu, Jan 17, 2019 at 12:41:19PM +0100, Rafael J. Wysocki wrote: > On Wed, Jan 16, 2019 at 6:59 PM Keith Busch wrote: > > > > Add entries for memory initiator and target node class attributes. > > > > Signed-off-by: Keith Busch > > I would recommend combi

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 >

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: [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: [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

[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

[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 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 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 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 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

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: [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 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 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 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-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: [PATCH V2] nvme-pci: move nvme_kill_queues to nvme_remove_dead_ctrl

2018-06-21 Thread Keith Busch
; device_release_driver(>dev); > nvme_put_ctrl(>ctrl); Looks good to me. Reviewed-by: Keith Busch

Re: [PATCH v4 1/2] nvme: cache struct nvme_ctrl reference to struct nvme_request

2018-06-26 Thread Keith Busch
On Tue, Jun 26, 2018 at 03:51:40PM +0200, Johannes Thumshirn wrote: > @@ -652,6 +653,7 @@ blk_status_t nvme_setup_cmd(struct nvme_ns *ns, struct > request *req, > } > > cmd->common.command_id = req->tag; > + nvme_req(req)->ctrl = ctrl; > if (ns) >

Re: [PATCH] nvme: trace: add disk name to tracepoints

2018-06-26 Thread Keith Busch
On Tue, Jun 26, 2018 at 03:51:41PM +0200, Johannes Thumshirn wrote: > @@ -655,9 +655,9 @@ blk_status_t nvme_setup_cmd(struct nvme_ctrl *ctrl, > struct nvme_ns *ns, > cmd->common.command_id = req->tag; > nvme_req(req)->ctrl = ctrl; > if (ns) > -

Re: [PATCH v5 2/2] nvme: trace: add disk name to tracepoints

2018-06-27 Thread Keith Busch
On Wed, Jun 27, 2018 at 02:53:24PM +0200, Johannes Thumshirn wrote: > TP_fast_assign( > - __entry->qid = qid; > + __assign_str(name, disk_name); > + __entry->ctrl_id = nvme_req(req)->ctrl->cntlid; > + __entry->qid =

Re: [PATCH] nvme: trace: add disk name to tracepoints

2018-06-27 Thread Keith Busch
On Wed, Jun 27, 2018 at 11:06:22AM +0300, Sagi Grimberg wrote: > > > > Not related to your patch, but I did notice that the req->q->id isn't > > > really useful here since that's not the hardware context identifier. > > > That's just some ida assigned software identifier. For the admin command >

Re: [PATCH] nvme: trace: add disk name to tracepoints

2018-06-27 Thread Keith Busch
Thinking more on this, not using the hw qid really limits the utility out of using these trace events: We may not be able to match a completion to the submission without it since cmdid alone isn't enough to match up the two events. Here's an updated proposal and actually tested. I was also able

Re: [PATCH] nvme: trace: add disk name to tracepoints

2018-06-28 Thread Keith Busch
On Thu, Jun 28, 2018 at 05:34:07PM +0300, Sagi Grimberg wrote: > > > Thinking more on this, not using the hw qid really limits the utility > > out of using these trace events: We may not be able to match a completion > > to the submission without it since cmdid alone isn't enough to match up > >

Re: [PATCH v5 2/2] nvme: trace: add disk name to tracepoints

2018-06-28 Thread Keith Busch
On Thu, Jun 28, 2018 at 09:48:24AM +0200, Johannes Thumshirn wrote: > On Wed, Jun 27, 2018 at 10:37:06AM -0600, Keith Busch wrote: > > It looks like you want the # assigned to /dev/nvme<#>. Do you want to > > use ctrl->instance here instead? > > Right. > > As

[PATCH 4/5] nvme: trace controller name

2018-06-28 Thread Keith Busch
This appends the controller instance to the trace buffer for nvme commands to distinguish what controller is dispatching a command. Signed-off-by: Keith Busch --- drivers/nvme/host/trace.h | 17 +++-- 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/drivers/nvme/host

[PATCH 2/5] nvme: trace nvme queue identifiers

2018-06-28 Thread Keith Busch
to duplicate this and creating unnecessary code branches. Signed-off-by: Keith Busch --- drivers/nvme/host/core.c | 7 +++ drivers/nvme/host/trace.h | 41 ++--- 2 files changed, 13 insertions(+), 35 deletions(-) diff --git a/drivers/nvme/host/core.c b/drivers

[PATCH 3/5] nvme: cache struct nvme_ctrl reference to struct nvme_request

2018-06-28 Thread Keith Busch
From: Sagi Grimberg We will need to reference the controller in the setup and completion time for tracing and future traffic based keep alive support. Signed-off-by: Sagi Grimberg --- drivers/nvme/host/fc.c | 1 + drivers/nvme/host/nvme.h | 1 + drivers/nvme/host/pci.c| 2 ++

[PATCH 1/5] blk-mq: add API to get hctx index from request

2018-06-28 Thread Keith Busch
Signed-off-by: Keith Busch --- block/blk-mq.c | 6 ++ include/linux/blk-mq.h | 1 + 2 files changed, 7 insertions(+) diff --git a/block/blk-mq.c b/block/blk-mq.c index b429d515b568..c6478833464d 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -466,6 +466,12 @@ struct request

[PATCH 5/5] nvme/trace: add disk name to tracepoints

2018-06-28 Thread Keith Busch
r Signed-off-by: Keith Busch --- drivers/nvme/host/trace.c | 11 +++ drivers/nvme/host/trace.h | 27 --- 2 files changed, 31 insertions(+), 7 deletions(-) diff --git a/drivers/nvme/host/trace.c b/drivers/nvme/host/trace.c index 41944bbef835..796a5bcf67b8 100644 --- a

Re: [PATCH 1/5] blk-mq: add API to get hctx index from request

2018-06-28 Thread Keith Busch
On Thu, Jun 28, 2018 at 02:12:38PM -0700, Bart Van Assche wrote: > Regarding the above patch: have you considered to use the existing function > blk_mq_unique_tag_to_hwq() instead of introducing this new function? Interesting. I think the usage I need using that is something like:

[PATCHv2 0/4] nvme trace updates

2018-06-28 Thread Keith Busch
API Changelog typo fixups Keith Busch (3): nvme: trace nvme queue identifiers nvme: trace controller name nvme: add disk name to tracepoints Sagi Grimberg (1): nvme: cache struct nvme_ctrl reference to struct nvme_request drivers/nvme/host/core.c | 7 +++--- drivers/nvme/host/fc.c |

[PATCHv2 4/4] nvme: add disk name to tracepoints

2018-06-28 Thread Keith Busch
r Signed-off-by: Keith Busch --- drivers/nvme/host/trace.c | 11 +++ drivers/nvme/host/trace.h | 27 --- 2 files changed, 31 insertions(+), 7 deletions(-) diff --git a/drivers/nvme/host/trace.c b/drivers/nvme/host/trace.c index 41944bbef835..796a5bcf67b8 100644 --- a

[PATCHv2 2/4] nvme: cache struct nvme_ctrl reference to struct nvme_request

2018-06-28 Thread Keith Busch
From: Sagi Grimberg We will need to reference the controller in the setup and completion time for tracing and future traffic based keep alive support. Signed-off-by: Sagi Grimberg --- drivers/nvme/host/fc.c | 1 + drivers/nvme/host/nvme.h | 1 + drivers/nvme/host/pci.c| 2 ++

[PATCHv2 1/4] nvme: trace nvme queue identifiers

2018-06-28 Thread Keith Busch
to duplicate this and creating unnecessary code branches. Signed-off-by: Keith Busch --- drivers/nvme/host/core.c | 7 +++ drivers/nvme/host/trace.h | 41 ++--- 2 files changed, 13 insertions(+), 35 deletions(-) diff --git a/drivers/nvme/host/core.c b/drivers

[PATCHv2 3/4] nvme: trace controller name

2018-06-28 Thread Keith Busch
This appends the controller instance to the trace buffer for nvme commands to distinguish what controller is dispatching and completing a command. Signed-off-by: Keith Busch --- drivers/nvme/host/trace.h | 17 +++-- 1 file changed, 11 insertions(+), 6 deletions(-) diff --git

Re: [PATCH] nvme: host: core: fix precedence of ternary operator

2018-05-23 Thread Keith Busch
Thanks, applied.

Re: [PATCH 1/2] nvme-pci: set nvmeq->cq_vector after alloc cq/sq

2018-05-24 Thread Keith Busch
This looks fine. Reviewed-by: Keith Busch

Re: [PATCH 2/2] nvme-pci: don't send delete cq command when allocate sq return -EINTR

2018-05-24 Thread Keith Busch
On Thu, May 24, 2018 at 05:51:34PM +0800, Jianchao Wang wrote: > result = adapter_alloc_sq(dev, qid, nvmeq); > - if (result < 0) > + /* > + * If return -EINTR, it means the allocate sq command times out and is > completed > + * with NVME_REQ_CANCELLED. At the time, the

Re: [PATCH] nvme-pci: not invoke nvme_remove_dead_ctrl when change state fails

2018-06-19 Thread Keith Busch
On Tue, Jun 19, 2018 at 04:30:50PM +0800, Jianchao Wang wrote: > There is race between nvme_remove and nvme_reset_work that can > lead to io hang. > > nvme_removenvme_reset_work > -> change state to DELETING >-> fail to change state to LIVE >

[PATCHv3 1/4] nvme: cache struct nvme_ctrl reference to struct nvme_request

2018-06-29 Thread Keith Busch
From: Sagi Grimberg We will need to reference the controller in the setup and completion time for tracing and future traffic based keep alive support. Reviewed-by: Johannes Thumshirn Signed-off-by: Sagi Grimberg --- drivers/nvme/host/fc.c | 1 + drivers/nvme/host/nvme.h | 1 +

[PATCHv3 0/4] nvme trace updates

2018-06-29 Thread Keith Busch
ithout introducing a new API Changelog typo fixups Keith Busch (3): nvme: use hw qid in trace events nvme: add controller name to trace events nvme: add disk name to trace events Sagi Grimberg (1): nvme: cache struct nvme_ctrl reference to struct nvme_request drivers/nvme/host/core.c

<    5   6   7   8   9   10   11   12   13   14   >