EXTSHM=ON

EXTSHM=ON

Post by Anand Nada » Wed, 25 Nov 1998 04:00:00



Hello all,

What are implications of setting the environment variable EXTSHM=ON? Any
pointers to this parameter will also be appreciated.

Thank you.

Anand Nadar

 
 
 

EXTSHM=ON

Post by Serge.Noira » Thu, 26 Nov 1998 04:00:00


" > : "Hello all,
" > : "
" > : "What are implications of setting the environment variable EXTSHM=ON? Any
" > : "pointers to this parameter will also be appreciated.
" > : "
" > : "Thank you.
For background, my understanding of shared memory history is as follows:

 Before AIX 4.2.1

       o   A single <shared> <memory> region, whatever its size may be,
           always consumed a 256MB region of the address space.

       o   Only 10 regions could be attached to a process.

  AIX 4.2 Provides

       o   AIX Version 4.2 provided enhancements to the number of <shared>
           <memory> regions a process can attach.
           A process can now attach to 11 <shared> <memory> regions, each
           up 256MB in size.

       o   AIX Version 4.2.1 also provides the ability to attach more than
           ten <shared> <memory> regions to a process when the process
           is created in a shell with an environment variable defined
           (for example, EXTSHM=ON).
           In this environment, a <shared> <memory> region can be as small
           as one page in size (4096 bytes) and as large as 256MB.  
           The address space consumed is exactly the size of the <shared>
           <memory> region.  The number of regions a process can attach is
           now limited only by the available address space.  
           The total amount of address space available in this mode is also
           11*256MB.

  AIX 4.3.0 Provides

       o   All the features of AIX Version 4.2.  
           The only change in any values is the Maximum bytes on queue which
           has changed from 64KB to 4MB.

  AIX 4.3.1 Provides

       o   All the features of AIX Version 4.3.0.
           The only change in any values is the Maximum size of a <shared>
           <memory> that can be addressed at a time has changed from 256MB
           to 2GB. (The underlying segment size is still 256MB, and there
           are still a  maximum of 11 segments).

  AIX 4.3.2 Provides

       o   All the features of AIX Version 4.3.1.
           The only change in any values is the Maximum number of message
           queues, semaphore sets, and <shared> <memory> segments which has
           changed from 4096 to 131072.

If you are using 64-bit hardware architecture machines, obviously the number
of memory segments available will be more.

" > : "
" > : "Anand Nadar
" > : "

--
Serge Noiraud                     BULL S.A. France - BULL TeleService

http://www.bull.com               44073 - Nantes CEDEX 3 FRANCE
http://www.bull.fr                Fax    : (33) 02 51 81 48 20

 
 
 

1. EXTSHM and non-EXTSHM segments

EXTSHM=ON gives AIX the ability to create many small SHM segments
within the same 256MB range.  The problem is that I have a large single
SHM segment in which I need to do I/O.  I/O is not possible when EXTSHM
is used.  I have tried to first create the large segment, then set
EXTSHM using putenv(),
and the create my many small segments.  It appears that EXTSHM is only
checked
at process startup and applies to all segments created.

Given that seg 2, the data segment, can still have IO done to it shen
EXTSHM is set
there should be a way of making seg 3 & 4(For example) a large SHM
segment and then
to use EXTSHM to create many small ones in a different segment(256MB
chunk) entirely.

How do I control the EXTSHM'ness of one AIX segment of memory?
Given that the shmid_ds structure in shm.h has "shm_extshm", the page
granularity,
for each segment I hope I might be able to use it to control this
better.
Of course I understand that a single 256MB region of memory could not
hold both
at the same time.

Also, how does the EXTSHM env. var. work?  Does the loader switch which
shared
libaries it uses when this is seen or does it mark the process and how
does it do that?

- dwood

2. Netscape and replies

3. EXTSHM & shmat()

4. Installing Red Hat 4.1 on a Notebook without Floppy drive

5. EXTSHM & shmat(), part 2!

6. search files in a directory?