Those two are the same problem, essentially. You have to copy the page,
then map it into the same virtual address (be that userspace or
kernelspace) as the old one. Mark the page readonly when you start to copy
it, and have a fault handler which immediately marks it writable and
returns. If the source is writable by the time you've finished the copy,
repeat.
If you have to repeat yourself more than $n times, you're probably
experiencing livelock. At that point, do what Rik said - to hell with the
RT constraints, disable interrupts and do the copy. At least your cache is
warm :)
-- dwmw2
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/