On Mon, Sep 28, 2020 at 12:36 PM Linus Torvalds wrote: > > So I'll do the pte wrprotect/restore removal. Anybody willing to do > and test the sequence count approach? So the wrprotect removal is trivial, with most of it being about the comments. However, when I look at this, I am - once again - tempted to just add a if (__page_mapcount(page) > 1) return 1; there too. Because we know it's a private mapping (shared mappings we checked for with the "is_cow_mapping()" earlier), and the only case we really care about is the one where the page is only mapped in the current mm (because that's what a write pinning will have done, and as mentioned, a read pinning doesn't do anything wrt fork() right now anyway). So if it's mapped in another mm, the COW clearly hasn't been broken by a pin, and a read pinned page had already gone through a fork. But the more I look at this code, the more I go "ok, I want somebody to actually test this with the rdma case". So I'll attach my suggested patch, but I won't actually commit it. I'd really like to have this tested, possibly _together_ with the sequence count addition.. Linus