RE: [ndctl PATCH 2/2] ndctl, monitor: in daemon mode, exit successfully if no DIMMs are found

2018-10-04 Thread Qi, Fuli
> -Original Message- > From: Vishal Verma [mailto:vishal.l.ve...@intel.com] > Sent: Friday, October 5, 2018 9:01 AM > To: linux-nvdimm@lists.01.org > Cc: Qi, Fuli/斉 福利 ; Andreas Hasenack > ; Vishal Verma ; Dan > Williams > Subject: [ndctl PATCH 2/2] ndctl, monitor: in daemon mode, exit

RE: [ndctl PATCH 1/2] ndctl, monitor: fix the severity of the "daemon started" message

2018-10-04 Thread Qi, Fuli
> -Original Message- > From: Linux-nvdimm [mailto:linux-nvdimm-boun...@lists.01.org] On Behalf Of Dan > Williams > Sent: Friday, October 5, 2018 1:24 PM > To: Gotou, Yasunori/五島 康文 > Cc: andr...@canonical.com; linux-nvdimm > Subject: Re: [ndctl PATCH 1/2] ndctl, monitor: fix the severity

Re: [PATCH] dax: Fix deadlock in dax_lock_mapping_entry()

2018-10-04 Thread Dan Williams
On Thu, Oct 4, 2018 at 9:01 PM Dan Williams wrote: > > On Thu, Oct 4, 2018 at 7:52 PM Matthew Wilcox wrote: > > > > On Thu, Oct 04, 2018 at 06:57:52PM -0700, Dan Williams wrote: > > > On Thu, Oct 4, 2018 at 9:27 AM Jan Kara wrote: > > > > > > > > On Thu 27-09-18 11:22:22, Dan Williams wrote: >

Re: [ndctl PATCH 1/2] ndctl, monitor: fix the severity of the "daemon started" message

2018-10-04 Thread Dan Williams
On Thu, Oct 4, 2018 at 9:09 PM Yasunori Goto wrote: > > Hi, Vishal-san, > > > The above message was printed as an error, but it is just an > > informational message. Change it to dbg(). > > Hmmm. > > When I was a engineer for trouble-shooting of customer's Linux system, > the starting time

Re: [ndctl PATCH 1/2] ndctl, monitor: fix the severity of the "daemon started" message

2018-10-04 Thread Yasunori Goto
Hi, Vishal-san, > The above message was printed as an error, but it is just an > informational message. Change it to dbg(). Hmmm. When I was a engineer for trouble-shooting of customer's Linux system, the starting time and the ending time of any daemon was very helpful for investigating

Re: [PATCH] dax: Fix deadlock in dax_lock_mapping_entry()

2018-10-04 Thread Dan Williams
On Thu, Oct 4, 2018 at 7:52 PM Matthew Wilcox wrote: > > On Thu, Oct 04, 2018 at 06:57:52PM -0700, Dan Williams wrote: > > On Thu, Oct 4, 2018 at 9:27 AM Jan Kara wrote: > > > > > > On Thu 27-09-18 11:22:22, Dan Williams wrote: > > > > On Thu, Sep 27, 2018 at 6:41 AM Jan Kara wrote: > > > > > >

Re: [PATCH] dax: Fix deadlock in dax_lock_mapping_entry()

2018-10-04 Thread Matthew Wilcox
On Thu, Oct 04, 2018 at 06:57:52PM -0700, Dan Williams wrote: > On Thu, Oct 4, 2018 at 9:27 AM Jan Kara wrote: > > > > On Thu 27-09-18 11:22:22, Dan Williams wrote: > > > On Thu, Sep 27, 2018 at 6:41 AM Jan Kara wrote: > > > > > > > > On Thu 27-09-18 06:28:43, Matthew Wilcox wrote: > > > > > On

Re: [PATCH] dax: Fix deadlock in dax_lock_mapping_entry()

2018-10-04 Thread Dan Williams
On Thu, Oct 4, 2018 at 9:27 AM Jan Kara wrote: > > On Thu 27-09-18 11:22:22, Dan Williams wrote: > > On Thu, Sep 27, 2018 at 6:41 AM Jan Kara wrote: > > > > > > On Thu 27-09-18 06:28:43, Matthew Wilcox wrote: > > > > On Thu, Sep 27, 2018 at 01:23:32PM +0200, Jan Kara wrote: > > > > > When

Re: [PATCH] libnvdimm, pmem: Fix badblocks population for 'raw' namespaces

2018-10-04 Thread Verma, Vishal L
On Thu, 2018-10-04 at 16:56 -0700, Dan Williams wrote: > The driver is only initializing bb_res in the devm_memremap_pages() > paths, but the raw namespace case is passing an uninitialized bb_res > to > nvdimm_badblocks_populate(). > > Fixes: e8d513483300 ("memremap: change devm_memremap_pages

[PATCH] libnvdimm, pmem: Fix badblocks population for 'raw' namespaces

2018-10-04 Thread Dan Williams
The driver is only initializing bb_res in the devm_memremap_pages() paths, but the raw namespace case is passing an uninitialized bb_res to nvdimm_badblocks_populate(). Fixes: e8d513483300 ("memremap: change devm_memremap_pages interface...") Cc: Cc: Christoph Hellwig Reported-by: Jacek Zloch

Re: [ndctl PATCH 1/2] ndctl, monitor: fix the severity of the "daemon started" message

2018-10-04 Thread Williams, Dan J
On Thu, 2018-10-04 at 18:00 -0600, Vishal Verma wrote: > The above message was printed as an error, but it is just an > informational message. Change it to dbg(). > > Cc: QI Fuli > Cc: Dan Williams Reviewed-by: Dan Williams ___ Linux-nvdimm mailing

Re: [ndctl PATCH 2/2] ndctl, monitor: in daemon mode, exit successfully if no DIMMs are found

2018-10-04 Thread Williams, Dan J
On Thu, 2018-10-04 at 18:00 -0600, Vishal Verma wrote: > When we are running as a daemon, it is preferred to exit successfully > when no DIMMs are found. When running in the foreground, retain an > error > return so that the user can be notified that nothing was found to > monitor. > > In the

[ndctl PATCH 1/2] ndctl, monitor: fix the severity of the "daemon started" message

2018-10-04 Thread Vishal Verma
The above message was printed as an error, but it is just an informational message. Change it to dbg(). Cc: QI Fuli Cc: Dan Williams Signed-off-by: Vishal Verma --- ndctl/monitor.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ndctl/monitor.c b/ndctl/monitor.c index

[ndctl PATCH 2/2] ndctl, monitor: in daemon mode, exit successfully if no DIMMs are found

2018-10-04 Thread Vishal Verma
When we are running as a daemon, it is preferred to exit successfully when no DIMMs are found. When running in the foreground, retain an error return so that the user can be notified that nothing was found to monitor. In the longer term, replace this with a libudev uevent monitor that will look

Re: [ndctl PATCH v2] libndctl: set errno for routines that don't return an error status

2018-10-04 Thread Williams, Dan J
On Thu, 2018-10-04 at 17:17 -0600, Vishal Verma wrote: > For routines that return a UINT_MAX or UL{L}ONG_MAX, there isn't a > way > to get any information as to what went wrong. Set errno in such > routines > so that the callers can get some additional context about the error. > > Reported-by:

[ndctl PATCH v2] libndctl: set errno for routines that don't return an error status

2018-10-04 Thread Vishal Verma
For routines that return a UINT_MAX or UL{L}ONG_MAX, there isn't a way to get any information as to what went wrong. Set errno in such routines so that the callers can get some additional context about the error. Reported-by: Lukasz Dorau Cc: Dan Williams Signed-off-by: Vishal Verma ---

Re: [ndctl PATCH] libndctl: set errno for routines that don't return an error status

2018-10-04 Thread Verma, Vishal L
On Thu, 2018-10-04 at 16:11 -0700, Williams, Dan J wrote: > On Thu, 2018-10-04 at 16:01 -0700, Verma, Vishal L wrote: > > On Thu, 2018-10-04 at 15:54 -0700, Williams, Dan J wrote: > > > On Thu, 2018-10-04 at 16:34 -0600, Vishal Verma wrote: > > > > For routines that return a UINT_MAX or

Re: [ndctl PATCH] libndctl: set errno for routines that don't return an error status

2018-10-04 Thread Williams, Dan J
On Thu, 2018-10-04 at 16:01 -0700, Verma, Vishal L wrote: > On Thu, 2018-10-04 at 15:54 -0700, Williams, Dan J wrote: > > On Thu, 2018-10-04 at 16:34 -0600, Vishal Verma wrote: > > > For routines that return a UINT_MAX or UL{L}ONG_MAX, there isn't > > > a > > > way > > > to get any information as

Re: [ndctl PATCH] libndctl: set errno for routines that don't return an error status

2018-10-04 Thread Verma, Vishal L
On Thu, 2018-10-04 at 15:54 -0700, Williams, Dan J wrote: > On Thu, 2018-10-04 at 16:34 -0600, Vishal Verma wrote: > > For routines that return a UINT_MAX or UL{L}ONG_MAX, there isn't a > > way > > to get any information as to what went wrong. Set errno in such > > routines > > so that the callers

Re: [ndctl PATCH] libndctl: set errno for routines that don't return an error status

2018-10-04 Thread Williams, Dan J
On Thu, 2018-10-04 at 16:34 -0600, Vishal Verma wrote: > For routines that return a UINT_MAX or UL{L}ONG_MAX, there isn't a > way > to get any information as to what went wrong. Set errno in such > routines > so that the callers can get some additional context about the error. Looks ok, but why

[ndctl PATCH] libndctl: set errno for routines that don't return an error status

2018-10-04 Thread Vishal Verma
For routines that return a UINT_MAX or UL{L}ONG_MAX, there isn't a way to get any information as to what went wrong. Set errno in such routines so that the callers can get some additional context about the error. Reported-by: Lukasz Dorau Cc: Dan Williams Signed-off-by: Vishal Verma ---

Re: [PATCH v9 13/13] nvmet: Optionally use PCI P2P memory

2018-10-04 Thread Logan Gunthorpe
On 2018-10-04 4:20 p.m., Sagi Grimberg wrote: >> +static inline struct device *nvmet_ns_dev(struct nvmet_ns *ns) >> +{ >> +return disk_to_dev(ns->bdev->bd_disk); >> +} > > This needs to handle non bdev namespaces. As it's coded now the helper never gets called unless ns->bdev is not null.

Re: [PATCH v9 13/13] nvmet: Optionally use PCI P2P memory

2018-10-04 Thread Sagi Grimberg
diff --git a/drivers/nvme/target/nvmet.h b/drivers/nvme/target/nvmet.h index e7b7406c4e22..4333e2c5b4f5 100644 --- a/drivers/nvme/target/nvmet.h +++ b/drivers/nvme/target/nvmet.h @@ -26,6 +26,7 @@ #include #include #include +#include #define NVMET_ASYNC_EVENTS 4 #define

[PATCH v9 04/13] PCI/P2PDMA: Introduce configfs/sysfs enable attribute helpers

2018-10-04 Thread Logan Gunthorpe
Users of the P2PDMA infrastructure will typically need a way for the user to tell the kernel to use P2P resources. Typically this will be a simple on/off boolean operation but sometimes it may be desirable for the user to specify the exact device to use for the P2P operation. Add new helpers for

[PATCH v9 00/13] Copy Offload in NVMe Fabrics with P2P PCI Memory

2018-10-04 Thread Logan Gunthorpe
This is v9 for the p2pdma patch set. It has some substantial changes from the previous version. Essentially, the last patch has changed based on information from Sagi that the P2P memory can be assigned per namespace instead of globally. To that end, I've added a radix tree that stores the p2p

[PATCH v9 10/13] nvme-pci: Add support for P2P memory in requests

2018-10-04 Thread Logan Gunthorpe
For P2P requests, we must use the pci_p2pmem_map_sg() function instead of the dma_map_sg functions. With that, we can then indicate PCI_P2P support in the request queue. For this, we create an NVME_F_PCI_P2P flag which tells the core to set QUEUE_FLAG_PCI_P2P in the request queue. Signed-off-by:

[PATCH v9 05/13] docs-rst: Add a new directory for PCI documentation

2018-10-04 Thread Logan Gunthorpe
Add a new directory in the driver API guide for PCI specific documentation. This is in preparation for adding a new PCI P2P DMA driver writers guide which will go in this directory. Signed-off-by: Logan Gunthorpe Cc: Jonathan Corbet Cc: Mauro Carvalho Chehab Cc: Greg Kroah-Hartman Cc: Vinod

[PATCH v9 02/13] PCI/P2PDMA: Add sysfs group to display p2pmem stats

2018-10-04 Thread Logan Gunthorpe
Add a sysfs group to display statistics about P2P memory that is registered in each PCI device. Attributes in the group display the total amount of P2P memory, the amount available and whether it is published or not. Signed-off-by: Logan Gunthorpe Acked-by: Bjorn Helgaas ---

[PATCH v9 09/13] nvme-pci: Use PCI p2pmem subsystem to manage the CMB

2018-10-04 Thread Logan Gunthorpe
Register the CMB buffer as p2pmem and use the appropriate allocation functions to create and destroy the IO submission queues. If the CMB supports WDS and RDS, publish it for use as P2P memory by other devices. Kernels without CONFIG_PCI_P2PDMA will also no longer support NVMe CMB. However,

[PATCH v9 06/13] PCI/P2PDMA: Add P2P DMA driver writer's documentation

2018-10-04 Thread Logan Gunthorpe
Add a restructured text file describing how to write drivers with support for P2P DMA transactions. The document describes how to use the APIs that were added in the previous few commits. Also adds an index for the PCI documentation tree even though this is the only PCI document that has been

[PATCH v9 12/13] nvmet: Introduce helper functions to allocate and free request SGLs

2018-10-04 Thread Logan Gunthorpe
Add helpers to allocate and free the SGL in a struct nvmet_req: int nvmet_req_alloc_sgl(struct nvmet_req *req) void nvmet_req_free_sgl(struct nvmet_req *req) This will be expanded in a future patch to implement peer-to-peer memory DMAs and should be common with all target drivers. The new

[PATCH v9 01/13] PCI/P2PDMA: Support peer-to-peer memory

2018-10-04 Thread Logan Gunthorpe
Some PCI devices may have memory mapped in a BAR space that's intended for use in peer-to-peer transactions. In order to enable such transactions the memory must be registered with ZONE_DEVICE pages so it can be used by DMA interfaces in existing drivers. Add an interface for other subsystems to

[PATCH v9 07/13] block: Add PCI P2P flag for request queue and check support for requests

2018-10-04 Thread Logan Gunthorpe
QUEUE_FLAG_PCI_P2P is introduced meaning a driver's request queue supports targeting P2P memory. This will be used by P2P providers and orchestrators (in subsequent patches) to ensure block devices can support P2P memory before submitting P2P backed pages to submit_bio(). Signed-off-by: Logan

[PATCH v9 11/13] nvme-pci: Add a quirk for a pseudo CMB

2018-10-04 Thread Logan Gunthorpe
Introduce a quirk to use CMB-like memory on older devices that have an exposed BAR but do not advertise support for using CMBLOC and CMBSIZE. We'd like to use some of these older cards to test P2P memory. Signed-off-by: Logan Gunthorpe Reviewed-by: Sagi Grimberg Reviewed-by: Keith Busch ---

[PATCH v9 13/13] nvmet: Optionally use PCI P2P memory

2018-10-04 Thread Logan Gunthorpe
We create a configfs attribute in each nvme-fabrics namespace to enable P2P memory use. The attribute may be enabled (with a boolean) or a specific P2P device may be given (with the device's PCI name). When enabled, the namespace will ensure the underlying block device supports P2P and that it is

[PATCH v9 03/13] PCI/P2PDMA: Add PCI p2pmem DMA mappings to adjust the bus offset

2018-10-04 Thread Logan Gunthorpe
The DMA address used when mapping PCI P2P memory must be the PCI bus address. Thus, introduce pci_p2pmem_map_sg() to map the correct addresses when using P2P memory. Memory mapped in this way does not need to be unmapped and thus if we provided pci_p2pmem_unmap_sg() it would be empty. This breaks

[PATCH v9 08/13] IB/core: Ensure we map P2P memory correctly in rdma_rw_ctx_[init|destroy]()

2018-10-04 Thread Logan Gunthorpe
In order to use PCI P2P memory the pci_p2pmem_map_sg() function must be called to map the correct PCI bus address. To do this, check the first page in the scatter list to see if it is P2P memory or not. At the moment, scatter lists that contain P2P memory must be homogeneous so if the first page

Re: [PATCH] dax: Fix deadlock in dax_lock_mapping_entry()

2018-10-04 Thread Jan Kara
On Thu 27-09-18 11:22:22, Dan Williams wrote: > On Thu, Sep 27, 2018 at 6:41 AM Jan Kara wrote: > > > > On Thu 27-09-18 06:28:43, Matthew Wilcox wrote: > > > On Thu, Sep 27, 2018 at 01:23:32PM +0200, Jan Kara wrote: > > > > When dax_lock_mapping_entry() has to sleep to obtain entry lock, it will

Re: Problems with VM_MIXEDMAP removal from /proc//smaps

2018-10-04 Thread Johannes Thumshirn
On Tue, Oct 02, 2018 at 08:06:34AM -0700, Christoph Hellwig wrote: > There is no promise, sorry. Well there have been lot's of articles on for instance lwn.net [1] [2] [3] describing how to avoid the "overhead" of the page cache when running on persistent memory. So if I would be a database

Re: Problems with VM_MIXEDMAP removal from /proc//smaps

2018-10-04 Thread Johannes Thumshirn
On Wed, Oct 03, 2018 at 06:44:07PM +0200, Jan Kara wrote: > On Wed 03-10-18 08:13:37, Dan Williams wrote: > > On Wed, Oct 3, 2018 at 8:07 AM Jan Kara wrote: > > > WRT per-inode DAX property, AFAIU that inode flag is just going to be > > > advisory thing - i.e., use DAX if possible. If you mount a

RE.Enquiry

2018-10-04 Thread Mr. Emi Kikuchi Tatsumi Marine Co. Ltd.
Dear Sirs, Here is our attached open invoice. Please check it, we need your reply and confirmation by return. Before we arrange remittance tomorrow. Thanks and best regards, Mr. Emi Kikuchi Tatsumi Marine Co. Ltd. Adress : Tatsumi Building. 3rd Floor 3-8-7, Iidabashi, Chiyoda-ku Tokyo