Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
fmr_pool.c File Reference
#include <linux/errno.h>
#include <linux/spinlock.h>
#include <linux/export.h>
#include <linux/slab.h>
#include <linux/jhash.h>
#include <linux/kthread.h>
#include <rdma/ib_fmr_pool.h>
#include "core_priv.h"

Go to the source code of this file.

Data Structures

struct  ib_fmr_pool
 

Macros

#define PFX   "fmr_pool: "
 

Enumerations

enum  { IB_FMR_MAX_REMAPS = 32, IB_FMR_HASH_BITS = 8, IB_FMR_HASH_SIZE = 1 << IB_FMR_HASH_BITS, IB_FMR_HASH_MASK = IB_FMR_HASH_SIZE - 1 }
 

Functions

struct ib_fmr_poolib_create_fmr_pool (struct ib_pd *pd, struct ib_fmr_pool_param *params)
 
 EXPORT_SYMBOL (ib_create_fmr_pool)
 
void ib_destroy_fmr_pool (struct ib_fmr_pool *pool)
 
 EXPORT_SYMBOL (ib_destroy_fmr_pool)
 
int ib_flush_fmr_pool (struct ib_fmr_pool *pool)
 
 EXPORT_SYMBOL (ib_flush_fmr_pool)
 
struct ib_pool_fmrib_fmr_pool_map_phys (struct ib_fmr_pool *pool_handle, u64 *page_list, int list_len, u64 io_virtual_address)
 
 EXPORT_SYMBOL (ib_fmr_pool_map_phys)
 
int ib_fmr_pool_unmap (struct ib_pool_fmr *fmr)
 
 EXPORT_SYMBOL (ib_fmr_pool_unmap)
 

Macro Definition Documentation

#define PFX   "fmr_pool: "

Definition at line 45 of file fmr_pool.c.

Enumeration Type Documentation

anonymous enum
Enumerator:
IB_FMR_MAX_REMAPS 
IB_FMR_HASH_BITS 
IB_FMR_HASH_SIZE 
IB_FMR_HASH_MASK 

Definition at line 47 of file fmr_pool.c.

Function Documentation

EXPORT_SYMBOL ( ib_create_fmr_pool  )
EXPORT_SYMBOL ( ib_destroy_fmr_pool  )
EXPORT_SYMBOL ( ib_flush_fmr_pool  )
EXPORT_SYMBOL ( ib_fmr_pool_map_phys  )
EXPORT_SYMBOL ( ib_fmr_pool_unmap  )
struct ib_fmr_pool* ib_create_fmr_pool ( struct ib_pd pd,
struct ib_fmr_pool_param params 
)
read

ib_create_fmr_pool - Create an FMR pool :Protection domain for FMRs :FMR pool parameters

Create a pool of FMRs. Return value is pointer to new pool or error code if creation failed.

Definition at line 211 of file fmr_pool.c.

void ib_destroy_fmr_pool ( struct ib_fmr_pool pool)

ib_destroy_fmr_pool - Free FMR pool :FMR pool to free

Destroy an FMR pool and free all associated resources.

Definition at line 359 of file fmr_pool.c.

int ib_flush_fmr_pool ( struct ib_fmr_pool pool)

ib_flush_fmr_pool - Invalidate all unmapped FMRs :FMR pool to flush

Ensure that all unmapped FMRs are fully invalidated.

Definition at line 397 of file fmr_pool.c.

struct ib_pool_fmr* ib_fmr_pool_map_phys ( struct ib_fmr_pool pool_handle,
u64 page_list,
int  list_len,
u64  io_virtual_address 
)
read

ib_fmr_pool_map_phys - :FMR pool to allocate FMR from :List of pages to map :Number of pages in :I/O virtual address for new FMR

Map an FMR from an FMR pool.

Definition at line 435 of file fmr_pool.c.

int ib_fmr_pool_unmap ( struct ib_pool_fmr fmr)

ib_fmr_pool_unmap - Unmap FMR :FMR to unmap

Unmap an FMR. The FMR mapping may remain valid until the FMR is reused (or until ib_flush_fmr_pool() is called).

Definition at line 513 of file fmr_pool.c.