On Thu, Feb 18, 2016 at 11:47:26AM -0800, Tony Luck wrote: > Make use of the EXTABLE_FAULT exception table entries to write > a kernel copy routine that doesn't crash the system if it > encounters a machine check. Prime use case for this is to copy > from large arrays of non-volatile memory used as storage. > > We have to use an unrolled copy loop for now because current > hardware implementations treat a machine check in "rep mov" > as fatal. When that is fixed we can simplify.
Ping. Anything more needed for this? In his last message Linus seemed OK with a *kernel* copy function that avoided death by machine check. He said: What a "memcpy_fault()" (or whatever it would be called) means is that the kernel is doing its own copies, but knows that there is some fragility involved, and wants to have a recovery mechanism that isn't "oops, we got a machine check in the kernel, now we need to kill the machine". The only things left to argue are the name, and the return value. -Tony