I agree with Eric*com. Rice rice baby, popo. Don't Tread on my 9p server. On Mon, Oct 3, 2016 at 8:08 AM, James A. Robinson <j...@highwire.org> wrote:
> On Mon, Oct 3, 2016 at 6:54 AM Chris McGee <newton...@gmail.com> wrote: > >> Lately, I’m looking at the “iounit.” Initially, I had thought of it as a >> way to give the size of a file on Topen. After some testing I realized that >> the network subsystem in plan9 is expecting the iounit to be large enough >> to write commands into a /net/tcp ctl file. With a small iounit, the >> network subsystem truncates the commands, such as “connect xyz|1234” to >> match the size of the iounit. >> >> So, what is this mysterious iounit? Is there another man page or plan9 >> document that describes it in more detail? >> > > Given that there are comments like this: > > /* ample room for Twrite/Rread header (iounit) */ > > paired with an old message from Mr. Quanstrom below, I suspect the > value is "as large as your network / disk can manage, but at least as > large as the protocol overhead". But that's just a WAG. > > ---------- Forwarded message --------- > From: erik quanstrom <quans...@quanstro.net> > Date: Sat, Nov 16, 2013 at 6:45 PM > Subject: [9fans] simple gofast trick > To: <9fans@9fans.net> > > > this is a one-liner. here's a little demo: > > chula; sed 's:8192:64*1024:g' </sys/src/cmd/cat.c > fatcat.c && > tmk fatcat.c > 6c -FVTw fatcat.c > 6l -o 6.fatcat fatcat.6 > chula; cat /bin/gs>/dev/null;for(i in cat 6.fatcat)time $i /bin/gs > > /dev/null > 0.00u 0.01s 0.41r cat /bin/gs > 0.00u 0.00s 0.23r 6.fatcat /bin/gs > > the trick is only to increase IOUNIT to 48k in both file server and cpu > server. > > this works since the mtu of the network is 1500 bytes and the Rread > messages > are up to 48k + 9p overhead, the network layer has multiple outstanding > messages and overlapping acks at the network layer much of the time, even > though the mount driver continues keeping a single outstanding message > per system call. > > - erik > >