Skip site navigation (1)Skip section navigation (2)
Date:      20 Mar 96 22:21:39 EST
From:      Weston Ruch <103350.3250@compuserve.com>
To:        INTERNET <questions@freebsd.org>
Subject:   Shared Memory Question
Message-ID:  <960321032138_103350.3250_JHL113-1@CompuServe.COM>

next in thread | raw e-mail | index | archive | help
I'm wondering if there is a problem with the shared memory implementation in
FreeBSD 2.1.

There is no problem when the shared memory segment is small.  I've tested it
extensively with 1 Kilobyte shared memory segments and everything is fine.

But problems occur when I try to utilize large shared memory segments.  When
writing to the segment, the program always terminates due to an invalid memory
reference.  For example, when a 32 Kbyte segment is utilized, a SIGSEGV signal
is encountered when writing to address 0x80b2000.  When writing to a 64 Kbyte
segment, the seg fault occurs at 0x80ba000.

The system always allocates the memory at or about these address ranges and its
no problem when shared memory segments are about 1 Kbyte.  I don't quite
understand the addresses though, since the former address corresponds to 127
Mbytes, and the latter corresponds to 128 Mbytes and I don't have nearly that
much memory or swap space.

When I look at the core file for 32 Kbyte case in the debugger, the above
addresses are verified, but it also states that the program had difficulty
writing to address 0x7453203a, and I don't doubt it.

I believe that either the kernel needs to be configured for more kernel memory
(but there doesn't seem to be a parameter to do this), or perhaps there is a
problem in the implementation.

I hope I've described the situation adequately.   Thanks for any info regarding
this matter.

Best Regards,

Weston Ruch




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?960321032138_103350.3250_JHL113-1>