All of lore.kernel.org
 help / color / mirror / Atom feed
From: Balbir Singh <bsingharora@gmail.com>
To: Nicholas Piggin <npiggin@gmail.com>
Cc: "Luck, Tony" <tony.luck@intel.com>,
	Matthew Wilcox <mawilcox@microsoft.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	linux-nvdimm <linux-nvdimm@lists.01.org>,
	linuxppc-dev <linuxppc-dev@lists.ozlabs.org>,
	Christoph Hellwig <hch@lst.de>
Subject: Re: [RESEND 2/3] powerpc/memcpy: Add memcpy_mcsafe for pmem
Date: Thu, 5 Apr 2018 15:53:07 +1000	[thread overview]
Message-ID: <20180405155307.49f748f3@gmail.com> (raw)
In-Reply-To: <20180405150405.5b902b41@roar.ozlabs.ibm.com>

On Thu, 5 Apr 2018 15:04:05 +1000
Nicholas Piggin <npiggin@gmail.com> wrote:

> On Wed, 4 Apr 2018 20:00:52 -0700
> Dan Williams <dan.j.williams@intel.com> wrote:
> 
> > [ adding Matthew, Christoph, and Tony  ]
> > 
> > On Wed, Apr 4, 2018 at 4:57 PM, Nicholas Piggin <npiggin@gmail.com> wrote:  
> > > On Thu,  5 Apr 2018 09:19:42 +1000
> > > Balbir Singh <bsingharora@gmail.com> wrote:
> > >    
> > >> The pmem infrastructure uses memcpy_mcsafe in the pmem
> > >> layer so as to convert machine check excpetions into
> > >> a return value on failure in case a machine check
> > >> exception is encoutered during the memcpy.
> > >>
> > >> This patch largely borrows from the copyuser_power7
> > >> logic and does not add the VMX optimizations, largely
> > >> to keep the patch simple. If needed those optimizations
> > >> can be folded in.    
> > >
> > > So memcpy_mcsafe doesn't return number of bytes copied?
> > > Huh, well that makes it simple.    
> > 
> > Well, not in current kernels, but we need to add that support or
> > remove the direct call to copy_to_iter() in fs/dax.c. I'm looking
> > right now to add "bytes remaining" support to the x86 memcpy_mcsafe(),
> > but for copy_to_user we also need to handle bytes remaining for write
> > faults. That fix is hopefully something that can land in an early
> > 4.17-rc, but it won't be ready for -rc1.  
> 
> I wonder if the powerpc implementation should just go straight to
> counting bytes. Backporting to this interface would be trivial, but
> it would just mean there's only one variant of the code to support.
> That's up to Balbir though.
> 

I'm thinking about it, I wonder what "bytes remaining" mean in pmem context
in the context of a machine check exception. Also, do we want to be byte
accurate or cache-line accurate for the bytes remaining? The former is much
easier than the latter :)


I'd rather implement the existing interface and port/support the new interface
as it becomes available

Balbir Singh.

_______________________________________________
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm

WARNING: multiple messages have this Message-ID (diff)
From: Balbir Singh <bsingharora@gmail.com>
To: Nicholas Piggin <npiggin@gmail.com>
Cc: Dan Williams <dan.j.williams@intel.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	linuxppc-dev <linuxppc-dev@lists.ozlabs.org>,
	linux-nvdimm <linux-nvdimm@lists.01.org>,
	Christoph Hellwig <hch@lst.de>,
	Matthew Wilcox <mawilcox@microsoft.com>,
	"Luck, Tony" <tony.luck@intel.com>
Subject: Re: [RESEND 2/3] powerpc/memcpy: Add memcpy_mcsafe for pmem
Date: Thu, 5 Apr 2018 15:53:07 +1000	[thread overview]
Message-ID: <20180405155307.49f748f3@gmail.com> (raw)
In-Reply-To: <20180405150405.5b902b41@roar.ozlabs.ibm.com>

On Thu, 5 Apr 2018 15:04:05 +1000
Nicholas Piggin <npiggin@gmail.com> wrote:

> On Wed, 4 Apr 2018 20:00:52 -0700
> Dan Williams <dan.j.williams@intel.com> wrote:
> 
> > [ adding Matthew, Christoph, and Tony  ]
> > 
> > On Wed, Apr 4, 2018 at 4:57 PM, Nicholas Piggin <npiggin@gmail.com> wrote:  
> > > On Thu,  5 Apr 2018 09:19:42 +1000
> > > Balbir Singh <bsingharora@gmail.com> wrote:
> > >    
> > >> The pmem infrastructure uses memcpy_mcsafe in the pmem
> > >> layer so as to convert machine check excpetions into
> > >> a return value on failure in case a machine check
> > >> exception is encoutered during the memcpy.
> > >>
> > >> This patch largely borrows from the copyuser_power7
> > >> logic and does not add the VMX optimizations, largely
> > >> to keep the patch simple. If needed those optimizations
> > >> can be folded in.    
> > >
> > > So memcpy_mcsafe doesn't return number of bytes copied?
> > > Huh, well that makes it simple.    
> > 
> > Well, not in current kernels, but we need to add that support or
> > remove the direct call to copy_to_iter() in fs/dax.c. I'm looking
> > right now to add "bytes remaining" support to the x86 memcpy_mcsafe(),
> > but for copy_to_user we also need to handle bytes remaining for write
> > faults. That fix is hopefully something that can land in an early
> > 4.17-rc, but it won't be ready for -rc1.  
> 
> I wonder if the powerpc implementation should just go straight to
> counting bytes. Backporting to this interface would be trivial, but
> it would just mean there's only one variant of the code to support.
> That's up to Balbir though.
> 

I'm thinking about it, I wonder what "bytes remaining" mean in pmem context
in the context of a machine check exception. Also, do we want to be byte
accurate or cache-line accurate for the bytes remaining? The former is much
easier than the latter :)


I'd rather implement the existing interface and port/support the new interface
as it becomes available

Balbir Singh.

  reply	other threads:[~2018-04-05  5:53 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-04 23:19 [RESEND 0/3] Add support for memcpy_mcsafe Balbir Singh
2018-04-04 23:19 ` Balbir Singh
2018-04-04 23:19 ` [RESEND 1/3] powerpc/mce: Bug fixes for MCE handling in kernel space Balbir Singh
2018-04-04 23:19   ` Balbir Singh
2018-04-04 23:49   ` Nicholas Piggin
2018-04-04 23:49     ` Nicholas Piggin
2018-04-05  1:11     ` Balbir Singh
2018-04-05  1:11       ` Balbir Singh
2018-04-04 23:19 ` [RESEND 2/3] powerpc/memcpy: Add memcpy_mcsafe for pmem Balbir Singh
2018-04-04 23:19   ` Balbir Singh
2018-04-04 23:57   ` Nicholas Piggin
2018-04-04 23:57     ` Nicholas Piggin
2018-04-05  3:00     ` Dan Williams
2018-04-05  3:00       ` Dan Williams
2018-04-05  5:04       ` Nicholas Piggin
2018-04-05  5:04         ` Nicholas Piggin
2018-04-05  5:53         ` Balbir Singh [this message]
2018-04-05  5:53           ` Balbir Singh
2018-04-05  6:45           ` Nicholas Piggin
2018-04-05  6:45             ` Nicholas Piggin
2018-04-05 15:00             ` Dan Williams
2018-04-05 15:00               ` Dan Williams
2018-05-01 20:57               ` Dan Williams
2018-05-01 20:57                 ` Dan Williams
2018-05-02 12:36                 ` Balbir Singh
2018-05-02 12:36                   ` Balbir Singh
2018-04-05 20:40             ` Jeff Moyer
2018-04-05 20:40               ` Jeff Moyer
2018-04-06  1:26               ` Nicholas Piggin
2018-04-06  1:26                 ` Nicholas Piggin
2018-04-06  9:25                 ` Balbir Singh
2018-04-06  9:25                   ` Balbir Singh
2018-04-06 15:46                   ` Luck, Tony
2018-04-06 15:46                     ` Luck, Tony
2018-04-04 23:19 ` [RESEND 3/3] powerpc/mce: Handle memcpy_mcsafe Balbir Singh
2018-04-04 23:19   ` Balbir Singh

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180405155307.49f748f3@gmail.com \
    --to=bsingharora@gmail.com \
    --cc=hch@lst.de \
    --cc=linux-nvdimm@lists.01.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mawilcox@microsoft.com \
    --cc=mpe@ellerman.id.au \
    --cc=npiggin@gmail.com \
    --cc=tony.luck@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.