Main Page | Modules | Data Structures | File List | Data Fields | Globals

Request scheduler

The request scheduler maintains structures that track ongoing and incoming requests for the purposes of maintaining consistency and server-side scheduling for performance. More...

Files

file  request-scheduler.c
file  request-scheduler.h

Functions

int PINT_req_sched_initialize (void)
int PINT_req_sched_finalize (void)
int PINT_req_sched_post (enum PVFS_server_op op, PVFS_fs_id fs_id, PVFS_handle handle, enum PINT_server_req_access_type access_type, enum PINT_server_sched_policy sched_policy, void *in_user_ptr, req_sched_id *out_id)
enum PVFS_server_mode PINT_req_sched_get_mode (void)
int PINT_req_sched_unpost (req_sched_id in_id, void **returned_user_ptr)
int PINT_req_sched_release (req_sched_id in_completed_id, void *in_user_ptr, req_sched_id *out_id)
int PINT_req_sched_post_timer (int msecs, void *in_user_ptr, req_sched_id *out_id)
int PINT_req_sched_test (req_sched_id in_id, int *out_count_p, void **returned_user_ptr_p, req_sched_error_code *out_status)
int PINT_req_sched_testsome (req_sched_id *in_id_array, int *inout_count_p, int *out_index_array, void **returned_user_ptr_array, req_sched_error_code *out_status_array)
int PINT_req_sched_testworld (int *inout_count_p, req_sched_id *out_id_array, void **returned_user_ptr_array, req_sched_error_code *out_status_array)

Detailed Description

The request scheduler maintains structures that track ongoing and incoming requests for the purposes of maintaining consistency and server-side scheduling for performance.


Function Documentation

int PINT_req_sched_finalize void   ) 
 

Tears down the request scheduler and its data structures.

Returns:
0 on success, -errno on failure

enum PVFS_server_mode PINT_req_sched_get_mode void   ) 
 

returns current mode of server

int PINT_req_sched_initialize void   ) 
 

Initializes the request scheduler.

Must be called before any other request scheduler routines.

Returns:
0 on success, -errno on failure

int PINT_req_sched_post enum PVFS_server_op  op,
PVFS_fs_id  fs_id,
PVFS_handle  handle,
enum PINT_server_req_access_type  access_type,
enum PINT_server_sched_policy  sched_policy,
void *  in_user_ptr,
req_sched_id *  out_id
 

Posts an incoming request to the scheduler.

Returns:
1 if request should proceed immediately, 0 if the request will be scheduled later, and -errno on failure

int PINT_req_sched_post_timer int  msecs,
void *  in_user_ptr,
req_sched_id *  out_id
 

posts a timer - will complete like a normal request at approximately the interval specified

Returns:
1 on immediate completion, 0 if caller should test later, -errno on failure

int PINT_req_sched_release req_sched_id  in_completed_id,
void *  in_user_ptr,
req_sched_id *  out_id
 

releases a completed request from the scheduler, potentially allowing other requests to proceed

Returns:
1 on immediate successful completion, 0 to test later, -errno on failure

int PINT_req_sched_test req_sched_id  in_id,
int *  out_count_p,
void **  returned_user_ptr_p,
req_sched_error_code *  out_status
 

Tests for completion of a single scheduler operation.

Returns:
0 on success, -errno on failure

int PINT_req_sched_testsome req_sched_id *  in_id_array,
int *  inout_count_p,
int *  out_index_array,
void **  returned_user_ptr_array,
req_sched_error_code *  out_status_array
 

Tests for completion of one or more of a set of scheduler operations.

int PINT_req_sched_testworld int *  inout_count_p,
req_sched_id *  out_id_array,
void **  returned_user_ptr_array,
req_sched_error_code *  out_status_array
 

Tests for completion of any scheduler request.

int PINT_req_sched_unpost req_sched_id  in_id,
void **  returned_user_ptr
 

Removes a request from the scheduler before it has even been scheduled.

Returns:
0 on success, -errno on failure


Generated on Tue Feb 7 02:44:17 2012 for PVFS by doxygen 1.3.5