Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1356274

Re: [PATCH] x86, pmem: use memcpy_mcsafe() for memcpy_from_pmem()

From Dan Williams <dan.j.williams@intel.com>
Newsgroups linux.kernel
Subject Re: [PATCH] x86, pmem: use memcpy_mcsafe() for memcpy_from_pmem()
Date 2016-03-12 00:10 +0100
Message-ID <rbElZ-54U-43@gated-at.bofh.it> (permalink)
References <rbehQ-2Wa-25@gated-at.bofh.it> <rbEch-4LU-1@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Fri, Mar 11, 2016 at 2:50 PM, Ross Zwisler
<ross.zwisler@linux.intel.com> wrote:
> On Thu, Mar 10, 2016 at 11:15:53AM -0800, Dan Williams wrote:
>> Update the definition of memcpy_from_pmem() to return 0 or -EIO on
>> error.  Implement x86::arch_memcpy_from_pmem() with memcpy_mcsafe().
>>
>> Cc: Borislav Petkov <bp@alien8.de>
>> Cc: Ingo Molnar <mingo@kernel.org>
>> Cc: Tony Luck <tony.luck@intel.com>
>> Cc: Thomas Gleixner <tglx@linutronix.de>
>> Cc: Andy Lutomirski <luto@amacapital.net>
>> Cc: Peter Zijlstra <peterz@infradead.org>
>> Cc: Andrew Morton <akpm@linux-foundation.org>
>> Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
>> Cc: Linus Torvalds <torvalds@linux-foundation.org>
>> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
>> ---
>> Andrew, now that all the pre-requisites for this patch are in -next
>> (tip/core/ras, tip/x86/asm, nvdimm/libnvdimm-for-next) may I ask you to
>> carry it in -mm?
>>
>> Alternatively I can do an octopus merge and post a branch, but that
>> seems messy/risky for me to be merging 3 branches that are still subject
>> to a merge window disposition.
>>
>>  arch/x86/include/asm/pmem.h |    9 +++++++++
>>  drivers/nvdimm/pmem.c       |    4 ++--
>>  include/linux/pmem.h        |   14 ++++++++------
>>  3 files changed, 19 insertions(+), 8 deletions(-)
> <>
>> diff --git a/include/linux/pmem.h b/include/linux/pmem.h
>> index 3ec5309e29f3..c46c5cf6538e 100644
>> --- a/include/linux/pmem.h
>> +++ b/include/linux/pmem.h
>> @@ -66,14 +66,16 @@ static inline void arch_invalidate_pmem(void __pmem *addr, size_t size)
>>  #endif
>>
>>  /*
>> - * Architectures that define ARCH_HAS_PMEM_API must provide
>> - * implementations for arch_memcpy_to_pmem(), arch_wmb_pmem(),
>> - * arch_copy_from_iter_pmem(), arch_clear_pmem(), arch_wb_cache_pmem()
>> - * and arch_has_wmb_pmem().
>
> Why did you delete the above comment?  I believe it adds value?  Or do you
> think the fact that another architecture will get compile errors if the arch_*
> functions aren't defined is documentation enough?

That and this line-wrapped function-list caused merge conflicts across
the past couple development cycles.  The maintenance overhead to
continue to maintain it didn't seem worth it especially since we have
the compiler to keep people honest.

>> + * memcpy_from_pmem - read from persistent memory with error handling
>> + * @dst: destination buffer
>> + * @src: source buffer
>
> Missing kerneldoc for @size?
>

I'll fix that up in v2 when Tony reworks the memcpy_mcsafe() return value.

Back to linux.kernel | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

[PATCH] x86, pmem: use memcpy_mcsafe() for memcpy_from_pmem() Dan Williams <dan.j.williams@intel.com> - 2016-03-10 20:20 +0100
  Re: [PATCH] x86, pmem: use memcpy_mcsafe() for memcpy_from_pmem() Ross Zwisler <ross.zwisler@linux.intel.com> - 2016-03-12 00:00 +0100
    Re: [PATCH] x86, pmem: use memcpy_mcsafe() for memcpy_from_pmem() Dan Williams <dan.j.williams@intel.com> - 2016-03-12 00:10 +0100

csiph-web