On Thu, 5 Apr 2018 15:04:05 +1000 Nicholas Piggin <npig...@gmail.com> wrote:
> On Wed, 4 Apr 2018 20:00:52 -0700 > Dan Williams <dan.j.willi...@intel.com> wrote: > > > [ adding Matthew, Christoph, and Tony ] > > > > On Wed, Apr 4, 2018 at 4:57 PM, Nicholas Piggin <npig...@gmail.com> wrote: > > > On Thu, 5 Apr 2018 09:19:42 +1000 > > > Balbir Singh <bsinghar...@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.