Date: Tue, 17 Dec 1996 10:01:37 -0700 (MST) From: Terry Lambert <terry@lambert.org> To: scrappy@hub.org (Marc G. Fournier) Cc: terry@lambert.org, hackers@freebsd.org Subject: Re: Almost have mmap() figured, I think... Message-ID: <199612171701.KAA08511@phaeton.artisoft.com> In-Reply-To: <Pine.NEB.3.95.961216212824.283H-100000@hub.org> from "Marc G. Fournier" at Dec 16, 96 09:38:34 pm
index | next in thread | previous in thread | raw e-mail
> size = mmap( 0, sizeof(int) * FRAMES, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0));
> for(i = 0; i < FRAMES; i++)
> framesize[i] = start + i * sizeof(int);
>
> ?
or:
start = mmap( 0, (sizeof(int)+FRAMESIZE)*FRAMES, PROT_READ|PROT_WRITE,...
for(i = 0; i < FRAMES; i++) {
framesize[i] = start;
start += sizeof(int);
}
for(i = 0; i < FRAMES; i++) {
frame[i] = start;
start += FRAMESIZE;
}
...and again, use only one mapping.
> > Also: Are you mapping in both the client and the server? Or just
> > the server?
>
> Not quite sure what you mean here...client has:
[ ... ]
OK, you are mapping in both.
I don't know if you are allowed to have PROT_READ|PROT_WRITE in one and
only PROT_READ in the other; John Dyson would be the guy to ask...
> I'm using "Advanced Programming in the Unix Environment" by
> Stevens as my new "bible", and it states that "MAP_SHARED or MAP_PRIVATE
> must be specified"...unfortunately, his only "example" happens to have
> two different files MMAP'd, and then he's doing an memcpy() between
> them :( Is the above incorrect?
The Stevens book is the bible... but that example you might want to
consider most relevent is in the cp code in /src/bin/cp/utils.c.
John: there is still "#ifdef VM_AND_BUFFER_CACHE_SYNCHRONIZED" in that
code... is that right now?
> Binary data, so this may be correct, since the "data" that I'm
> getting on the opposite end is exactly the same as the data on the server
> end...
Hey, if it's working, don't fix it.
Also: look in the -current list archive for the mmap() functionality
testing code that was posted a while back...
Terry Lambert
terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199612171701.KAA08511>
