И где же там как обнаружить две страницы совпадающие по содержимому? Особливо, без прочтения и сравнения их содержимого? Дело в том что ты видишь только как разделить уже дедуплицированную память на отдельные странички, а самой главной проблемы - как определить что две странички, инициализированные в разные моменты времени и в разные моменты времени имевшие разное содержимое, после энного количества операций вдруг стали одинаковыми (например, там код некой одной и той же библиотеки, которую подгрузили два разных процесса в двух разных виртуалках или даже лежит в файловом кеше) не видишь. Ты думаешь что оно как-то там само по себе определится или уже определено. Тебя, как школьника, интересует как выходит ребенок из живота мамы, совершенно не утруждая себя вопросом - а как он собственно туда попал-то?