Shared memory problems under SVr2
Frank Mayhar
fmayhar at killer.UUCP
Thu May 26 16:24:39 AEST 1988
Help!
We're working on a project that will provide an optical disk archival system for
our mainframe operating system. The drives themselves are on a scsi bus
connected to a Motorola Unix system that will act as an intelligent peripheral.
The Motorola system is VME-based, 68020 CPU, running System V rel 2.2. Software
runs on the 68020 that talks to the mainframe and to the drives. This software
uses shared memory and a couple of concurrently-running processes to let us do
double-buffering (we write one buffer while we fill another, concurrently).
We chose this scheme for performance reasons, since the data rate to the
optical disk is much slower than that to the mainframe. Since we write large
amount of data at once (roughly 96k), we write directly from the shared memory.
This is where we run into problems. Apparently, the virtual address we pass
to the write (a pointer into the shared memory area) is not being mapped to
physical memory correctly. We put a printf() in our scsi driver to print the
address returned by physio(), just to see what was happening. Given a passed
pointer of 0x20001, the resolved address is 0x1. Sigh. Does anyone know why
this is happening, and, more importantly, how to fix it? Or if it's fixed in
SVR3? It's way too late to change our design (we have to meet inflexible dead-
lines), so we would prefer a fix to SVR2.
I've been talking to people at Motorola, but I thought I would try to get the
benefit of some of the expertise in this newsgroup. Suggestions are solicited.
Please reply via email (preferably to 'Frank-Mayhar%ladc at BCO-MULTICS.ARPA',
my work address), since I don't have ready access to this newsgroup from work.
Thanks in advance!
--
Frank Mayhar UUCP: ..!{ihnp4,dj3b1}!killer!fmayhar
ARPA: Frank-Mayhar%ladc at BCO-MULTICS.ARPA
USmail: 2116 Nelson Ave. Apt A, Redondo Beach, CA 90278
Phone: (213) 371-3979 (home) (213) 216-6241 (work)
More information about the Comp.unix.wizards
mailing list