On Mon, Dec 13, 2021 at 12:20 AM Christoph Hellwig <hch@xxxxxx> wrote: > > On Sun, Dec 12, 2021 at 06:48:05AM -0800, Dan Williams wrote: > > On Fri, Dec 10, 2021 at 6:05 AM Vivek Goyal <vgoyal@xxxxxxxxxx> wrote: > > > > > > On Thu, Dec 09, 2021 at 07:38:28AM +0100, Christoph Hellwig wrote: > > > > While using the MC-safe copy routines is rather pointless on a virtual device > > > > like virtiofs, > > > > > > I was wondering about that. Is it completely pointless. > > > > > > Typically we are just mapping host page cache into qemu address space. > > > That shows as virtiofs device pfn in guest and that pfn is mapped into > > > guest application address space in mmap() call. > > > > > > Given on host its DRAM, so I would not expect machine check on load side > > > so there was no need to use machine check safe variant. > > > > That's a broken assumption, DRAM experiences multi-bit ECC errors. > > Machine checks, data aborts, etc existed before PMEM. > > So the conclusion here is that we should always use the mc safe variant? The proposal is one of the following: 1/ any paths not currently using the mc safe variant should continue not using it to avoid the performance regression on older platforms, i.e. drop this patch. 2/ add plumbing to switch to mcsafe variant, but only on newer platforms, incremental new patch 3/ always use the mc safe variant, keep this patch We could go with 3/ and see who screams, because 3/ is smallest ongoing maintenance burden. However, I feel like 1/ is the path of least resistance until the platforms with the need to do 'careful' copying age out of use.