On Thu, Jan 28, 2016 at 12:43 PM, Toshi Kani <[email protected]> wrote: > On Thu, 2016-01-28 at 12:12 -0800, Dan Williams wrote: [..] >> I'm wondering if we should just document that this routine does not >> support unaligned transfers? Maybe backed by a debug mode that does >> the alignment check. > > Yes, I agree. For this debug mode, do you have something in mind? Or > should we add a new CONFIG option like CONFIG_PMEM_DEBUG? >
I hesitated to say yes to this since some simple alignment checks seems like a thin reason to add a new Kconfig symbol. However, one way we can test that memcpy_to_pmem() properly bypasses the cache is to invalidate the cache contents that it touches. This would have caught this bug without needing to do a power cycle test. In otherwords in debug mode run an 'invd' loop after the copy.

