Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!uwm.edu!linac!pacific.mps.ohio-state.edu!tut.cis.ohio-state.edu!sei.cmu.edu!fs7.ece.cmu.edu!o.gp.cs.cmu.edu!andrew.cmu.edu!+ From: Richard.Draves@cs.cmu.edu Newsgroups: comp.os.mach Subject: Re: message passing & migration Message-ID: Date: 29 Mar 91 04:18:55 GMT References: <2991@redstar.cs.qmw.ac.uk>, Organization: Carnegie Mellon, Pittsburgh, PA Lines: 24 In-Reply-To: > Excerpts from netnews.comp.os.mach: 18-Mar-91 Re: message passing & > migra.. Michael I Bushnell@geech (3703) > c. Could somebody clarify when I can/should/must use out-of-line > data as > opposed to in-line data? Out-of-line data is useful for > scatter/gather, but > does it have to be used for "large" amounts of data, and is > out-of-line > data always sent copy-on-write (intramachine), and therefore must be > page-aligned? What, in practice, do programmers (mostly) do? > You can use it whenever you want. If it isn't page aligned, or an > integral number of pages, then the receiver will be able to read some > data before/after the data you intended to send, but other than that > it works correctly. According to the interface spec, the receiver should not be able to read data that you did not intend to send. If out-of-line data isn't page aligned or an integral number of pages, then the excess data should show up zeroed. Michael is correct in that the correct VM copy-on-write code does not zero, but this is a bug. Rich