include/linux/sunrpc/xprtrdma.h

Source file repositories/reference/linux-study-clean/include/linux/sunrpc/xprtrdma.h

File Facts

System
Linux kernel
Corpus path
include/linux/sunrpc/xprtrdma.h
Extension
.h
Size
3023 bytes
Lines
74
Domain
Core OS
Bucket
Core Kernel Interface
Inferred role
Core OS: implementation source
Status
source implementation candidate

Why This File Exists

Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.

Dependency Surface

Detected Declarations

Annotated Snippet

#ifndef _LINUX_SUNRPC_XPRTRDMA_H
#define _LINUX_SUNRPC_XPRTRDMA_H

/*
 * Constants. Max RPC/NFS header is big enough to account for
 * additional marshaling buffers passed down by Linux client.
 *
 * RDMA header is currently fixed max size, and is big enough for a
 * fully-chunked NFS message (read chunks are the largest). Note only
 * a single chunk type per message is supported currently.
 */
#define RPCRDMA_MIN_SLOT_TABLE	(4U)
#define RPCRDMA_DEF_SLOT_TABLE	(128U)
#define RPCRDMA_MAX_SLOT_TABLE	(16384U)

#define RPCRDMA_MIN_INLINE  (1024)	/* min inline thresh */
#define RPCRDMA_DEF_INLINE  (4096)	/* default inline thresh */
#define RPCRDMA_MAX_INLINE  (65536)	/* max inline thresh */

/* Memory registration strategies, by number.
 * This is part of a kernel / user space API. Do not remove. */
enum rpcrdma_memreg {
	RPCRDMA_BOUNCEBUFFERS = 0,
	RPCRDMA_REGISTER,
	RPCRDMA_MEMWINDOWS,
	RPCRDMA_MEMWINDOWS_ASYNC,
	RPCRDMA_MTHCAFMR,
	RPCRDMA_FRWR,
	RPCRDMA_ALLPHYSICAL,
	RPCRDMA_LAST
};

#endif /* _LINUX_SUNRPC_XPRTRDMA_H */

Annotation

Implementation Notes