dat_lmr_sync_rdma_read man page on Solaris

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
Solaris logo
[printable version]

dat_lmr_sync_rdma_rDirectAAccess Transport Librarydat_lmr_sync_rdma_read(3DAT)

NAME
       dat_lmr_sync_rdma_read  -  synchronize  local  memory with RDMA read on
       non-coherent memory

SYNOPSIS
       cc [ flag... ] file... -ldat [ library... ]
       #include <dat/udat.h>

       DAT_RETURN
	   dat_lmr_sync_rdma_read (
	   IN DAT_IA_HANDLE ia_handle,
	   IN const DAT_LMR_TRIPLET *local_segments,
	   IN DAT_VLEN num_segments
	   )

PARAMETERS
       ia_handle       A handle for an open instance of the IA.

       local_segments  An array of buffer segments.

       num_segments    The number of segments in the local_segments argument.

DESCRIPTION
       The dat_lmr_sync_rdma_read() function makes memory changes  visible  to
       an  incoming RDMA Read operation. This operation guarantees consistency
       by locally flushing the non-coherent cache prior to it being  retrieved
       by remote peer RDMA read operations.

       The  dat_lmr_sync_rdma_read()  function	is  needed  if and only if the
       Provider attribute specifies that this operation is needed prior to  an
       incoming	   RDMA	   Read	   operation.	 The	Consumer   must	  call
       dat_lmr_sync_rdma_read() after modifying data in a memory range in this
       region  that will be the target of an incoming RDMA Read operation. The
       dat_lmr_sync_rdma_read() function must be called after the Consumer has
       modified	 the  memory  range but before the RDMA Read operation begins.
       The memory range that will be accessed by the RDMA read operation  must
       be  supplied by the caller in the local_segments array. After this call
       returns, the RDMA Read operation can safely see the  modified  contents
       of  the	memory	range. It is permissible to batch synchronizations for
       multiple RDMA Read operations in a single call by passing a  local_seg‐
       ments  array  that  includes all modified memory ranges. The local_seg‐
       ments entries need not contain the same LMR and need not be in the same
       Protection Zone.

       If  the	Provider  attribute specifying that this operation is required
       attempts to read from a memory range that is not properly  synchronized
       using dat_lmr_sync_rdma_read(), the returned contents are undefined.

RETURN VALUES
       DAT_SUCCESS

	   The operation was successful.

       DAT_INVALID_HANDLE

	   The DAT handle is invalid.

       DAT_INVALID_PARAMETER

	   One	of  the	 parameters is invalid. For example, the address range
	   for a local segment fell outside the boundaries of the  correspond‐
	   ing Local Memory Region or the LMR handle was invalid.

USAGE
       Determining  when an RDMA Read will start and what memory range it will
       read is the Consumer's responsibility. One possibility is to  have  the
       Consumer	 that  is  modifying  memory call dat_lmr_sync_rdma_read() and
       then post a Send DTO message that identifies the range in the  body  of
       the  Send.  The	Consumer  wanting to perform the RDMA Read can receive
       this message and know when it is safe to initiate the RDMA Read	opera‐
       tion.

       This  call  ensures  that  the Provider receives a coherent view of the
       buffer contents upon a subsequent remote RDMA Read operation. After the
       call  completes, the Consumer can be assured that all platform-specific
       buffer and cache updates have been performed, and that  the  LMR	 range
       has consistency with the Provider hardware. Any subsequent write by the
       Consumer can void this consistency. The Provider	 is  not  required  to
       detect such access.

       The  action  performed on the cache before the RDMA Read depends on the
       cache type:

	 ·  I/O noncoherent cache will be invalidated.

	 ·  CPU noncoherent cache will be flushed.

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌─────────────────────────────┬─────────────────────────────┐
       │      ATTRIBUTE TYPE	     │	    ATTRIBUTE VALUE	   │
       ├─────────────────────────────┼─────────────────────────────┤
       │Interface Stability	     │Standard: uDAPL, 1.2	   │
       ├─────────────────────────────┼─────────────────────────────┤
       │MT-Level		     │Unsafe			   │
       └─────────────────────────────┴─────────────────────────────┘

SEE ALSO
       dat_lmr_sync_rdma_write(3DAT), libdat(3LIB), attributes(5)

SunOS 5.10			  16 Jul 2004	  dat_lmr_sync_rdma_read(3DAT)
[top]

List of man pages available for Solaris

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net