Given the incredibly severe performance issues the use of the stable pages feature may incur, it seems like the optimal long term solution would be to add copy on write capability for pages that are under writeout.
Meaning that when a thread attempts to modify such a page, a duplicate physical page is created, the page structure and PTE are updated accordingly, and ownership of the physical page under writeout is transferred to the fs or device doing the writeout, for reclamation when the writeout completes. That would be far superior in most cases than stalling a thread for an arbitrary period in the meantime, something that is the death of anything resembling real time response.
It would also be markedly superior to a copy-always policy by the FS or storage layer concerned. The best of both worlds, essentially.