Path: utzoo!attcan!uunet!husc6!mailrus!tut.cis.ohio-state.edu!osu-cis!killer!fmayhar From: fmayhar@killer.UUCP (Frank Mayhar) Newsgroups: comp.unix.wizards Subject: Re: Shared memory problems under SVr2 Summary: Resolution kludge. Keywords: shared memory, read()/write(), broken kernel, aargh! Message-ID: <4221@killer.UUCP> Date: 29 May 88 01:14:57 GMT References: <4182@killer.UUCP> Reply-To: fmayhar@killer.UUCP (Frank Mayhar) Organization: The Unix(R) Connection BBS, Dallas, Tx Lines: 21 In article ron@topaz.rutgers.edu (Ron Natalie) writes: >Can't say I can fix your problem, but I can suggest what we did. >Get a better SCSI controller. [...] Well, we figured out what was wrong, and it was a bug in Motorola's version 2.2 of SVR2. When I looked at the mmu_entry for the affected process with crash, I noticed that the p_addr for the shared memory segment was zero. So yesterday we traced the shmget() code to figure out where to get the right p_addr (from the page table for that shared memory area). We're kludging around the problem by using an ioctl() into our SCSI driver to fill in the proper physical address in the mmu_entry (we do the ioctl() _after_ the shmat()), by tracing down the page table tree. Apparently, this problem is fixed in version 3.0. Since it only affects doing I/O directly from shared memory, everything else worked properly. Tuesday we get to test our kludge. Please wish us luck! Thanks for the couple of responses! -- Frank Mayhar UUCP: ..!{ihnp4,dj3b1}!killer!fmayhar ARPA: Frank-Mayhar%ladc@BCO-MULTICS.ARPA USmail: 2116 Nelson Ave. Apt A, Redondo Beach, CA 90278 Phone: (213) 371-3979 (home) (213) 216-6241 (work)