LINUX.ORG.RU

История изменений

Исправление hateyoufeel, (текущая версия) :

Ты не понял. Проблема в том, что один процесс-получатель может поднасрать другим. Если ты запишешь что-то в copy1, читающий из copy2 это увидит.

В идеальном варианте, как я себе это представляю, отправитель создаёт сообщение, отсылает его, а дальше если получатель один, то всё как обычно: страница просто удаляется из памяти отправителя и мапится в память получателя. Если же получателей много, страница с сообщением мапится каждому с CoW.

Я понимаю, что руками в лялексе это можно сделать. Но это должна делать шина сама, а не автор каждой проги.

Кстати, для memfd можно вообще CoW сделать?

Исходная версия hateyoufeel, :

Ты не понял. Проблема в том, что один процесс-получатель может поднасрать другим. Если ты запишешь что-то в copy1, читающий из copy2 это увидит.

В идеальном варианте, как я себе это представляю, отправитель создаёт сообщение, отсылает его, а дальше если получатель один, то всё как обычно: страница просто удаляется из памяти отправителя и мапится в память получателя. Если же получателей много, страница с сообщением мапится каждому с CoW.

Я понимаю, что руками в лялексе это можно сделать. Но это должна делать шина сама, а не автор каждой проги.