gshipman wrote:
The fork() problem is due to memory registration aggravated by
registration cache. Memory registration in itself is a hack from the OS
point of view, and you already know a lot about the various problems
related to registration cache.

So Gleb is indicating that this is a problem in the pipeline protocol which does not use a registration cache. I think the registration cache, while increasing the probability of badness after fork, is not the culprit.

Indeed, it makes things worse by extending the vulnerability outside the time frame of an asynchronous communication. Without the registration cache, the bad case is limited to a process that forks while a com is pending and touches the same pages before they are read/written by the hardware. This is not very likely because the window of time is very small, but still possible. However, it is not limited to the last partial page of the buffer, it can happen for any pinned page.

Patrick
--
Patrick Geoffray
Myricom, Inc.
http://www.myri.com

Reply via email to