JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Programming Interfaces Guide     Oracle Solaris 11 Information Library
search filter icon
search icon

Document Information

Preface

1.  Memory and CPU Management

2.  Remote Shared Memory API for Oracle Solaris Clusters

Overview of the Shared Memory Model

API Framework

API Library Functions

Interconnect Controller Operations

rsm_get_controller

rsm_release_controller

rsm_get_controller_attr

Cluster Topology Operations

rsm_get_interconnect_topology

rsm_free_interconnect_topology

Data Structures

Administrative Operations

Memory Segment Operations

Export-Side Memory Segment Operations

Memory Segment Creation and Destruction

Memory Segment Publish, Republish, and Unpublish

Memory Segment Rebind

Import-Side Memory Segment Operations

Memory Segment Connection and Disconnection

Memory Access Primitives

Scatter-Gather Access

Segment Mapping

Barrier Operations

Event Operations

RSMAPI General Usage Notes

Segment Allocation and File Descriptor Usage

Export-Side Considerations

Import-Side Considerations

RSM Configurable Parameters

3.  Session Description Protocol API

4.  Process Scheduler

5.  Locality Group APIs

6.  Input/Output Interfaces

7.  Interprocess Communication

8.  Socket Interfaces

9.  Programming With XTI and TLI

10.  Packet Filtering Hooks

11.  Transport Selection and Name-to-Address Mapping

12.  Real-time Programming and Administration

13.  The Oracle Solaris ABI and ABI Tools

A.  UNIX Domain Sockets

Index

RSMAPI General Usage Notes

These usage notes describe general considerations for the export and import sides of a shared-memory operation. These usage notes also contain general information regarding segments, file descriptors, and RSM configurable parameters.

Segment Allocation and File Descriptor Usage

The system allocates a file descriptor, which is inaccessible to the application importing or exporting memory, for each export operation or import operation. The default limit on file descriptor allocation for each process is 256. The importing or exporting application must adjust the allocation limit appropriately. If the application increases the file descriptor limit beyond 256, the values of the file descriptors that are allocated for export segments and import segments starts at 256. These file descriptor values are chosen to avoid interfering with normal file descriptor allocation by the application. This behavior accommodates the use of certain libc functions in 32-bit applications that only work with file descriptor values lower than 256.

Export-Side Considerations

The application must prevent access to segment data until the rebind operation is complete. Segment data access during rebind does not cause a system failure, but data content results are undefined. The virtual address space must be currently mapped and valid.

Import-Side Considerations

The controller that is specified for a segment import must have a physical connection with the controller that is used in the export of the segment.

RSM Configurable Parameters

The SUNWrsm software package includes an rsm.conf file. This file is located in /usr/kernel/drv. This file is a configuration file for RSM. The rsm.conf file can be used to specify values for certain configurable RSM properties. The configurable properties currently defined in rsm.conf include max-exported-memory and enable-dynamic-reconfiguration.

max-exported-memory

This property specifies an upper limit on the amount of exportable memory. The upper limit is expressed as a percentage of total available memory. Giving this property a value of zero indicates that the amount of exportable memory is unlimited.

enable-dynamic-reconfiguration

The value of this property indicates whether dynamic reconfiguration is enabled. A value of zero indicates dynamic reconfiguration is disabled. A value of one enables dynamic reconfiguration support. The default value for this property is one.