dat_lmr_sync_rdma_write man page on OpenIndiana

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

dat_lmr_sync_rdma_wDirectDAccess Transport Librardat_lmr_sync_rdma_write(3DAT)

NAME
       dat_lmr_sync_rdma_write	-  synchronize local memory with RDMA write on
       non-coherent memory

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

       DAT_RETURN
	   dat_lmr_sync_rdma_write (
	   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	 argu‐
			 ment.

DESCRIPTION
       The  dat_lmr_sync_rdma_write()  function	 makes	effects of an incoming
       RDMA Write operation visible to the Consumer. This operation guarantees
       consistency by locally invalidating the non-coherent cache whose buffer
       has been populated by remote peer RDMA write operations.

       The dat_lmr_sync_rdma_write() function is needed if  and	 only  if  the
       Provider	 attribute  specifies  that  this operation is needed after an
       incoming	  RDMA	 Write	 operation.    The    Consumer	  must	  call
       dat_lmr_sync_rdma_write()  before  reading  data from a memory range in
       this region that was the target of an incoming  RDMA  Write  operation.
       The  dat_lmr_sync_rdma_write()  function	 must be called after the RDMA
       Write operation completes, and the memory range that  was  modified  by
       the  RDMA  Write	 must be supplied by the caller in the local_ segments
       array. After this call returns, the Consumer may safely see  the	 modi‐
       fied  contents of the memory range. It is permissible to batch synchro‐
       nizations of multiple RDMA Write operations in a single call by passing
       a  local_segments  array	 that includes all modified memory ranges. The
       local_segments entries need not contain the same LMR and need not be in
       the same Protection Zone.

       The  Consumer  must  also use dat_lmr_sync_rdma_write() when performing
       local writes to a memory range that was or will be the target of incom‐
       ing  RDMA  writes.  After performing the local write, the Consumer must
       call dat_lmr_sync_rdma_write() before  the  RDMA	 Write	is  initiated.
       Conversely,  after  an  RDMA  Write  completes,	the Consumer must call
       dat_lmr_sync_rdma_write() before performing a local write to  the  same
       range.

       If  the	Provider attribute specifies that this operation is needed and
       the Consumer attempts to read from a memory range  in  an  LMR  without
       properly	 synchronizing	using  dat_lmr_sync_rdma_write(), the returned
       contents are undefined. If the Consumer attempts to write to  a	memory
       range  without properly synchronizing, the contents of the memory range
       become 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	 corresponding
				Local  Memory  Region  or  the	LMR handle was
				invalid.

USAGE
       Determining when an RDMA Write completes and determining	 which	memory
       range was modified is the Consumer's responsibility. One possibility is
       for the RDMA Write initiator to post a Send DTO message after each RDMA
       Write  that  identifies the range in the body of the Send. The Consumer
       at the target of the RDMA Write can receive the message and  know  when
       and how to call dat_lmr_sync_rdma_write().

       This  call  ensures  that  the Provider receives a coherent view of the
       buffer contents after a subsequent remote RDMA Write  operation.	 After
       the  call completes, the Consumer can be assured that all platform-spe‐
       cific buffer and cache updates have been performed, and	that  the  LMR
       range  has  consistency with the Provider hardware. Any subsequent read
       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 Write depends on the
       cache type:

	   o	  I/O noncoherent cache will be flushed.

	   o	  CPU noncoherent cache will be invalidated.

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

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

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

SunOS 5.11			  16 Jul 2004	 dat_lmr_sync_rdma_write(3DAT)
[top]

List of man pages available for OpenIndiana

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