[PVFS2-CVS] commit by pcarns in pvfs2/src/server/request-scheduler: request-scheduler.c

CVS commit program cvs at parl.clemson.edu
Fri Jul 30 10:11:43 EDT 2004


Update of /projects/cvsroot/pvfs2/src/server/request-scheduler
In directory parlweb:/tmp/cvs-serv18582/src/server/request-scheduler

Modified Files:
	request-scheduler.c 
Log Message:
add functionality in request scheduler to allow operations to pass through
immediately without any scheduling, make "noop" work this way


Index: request-scheduler.c
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/server/request-scheduler/request-scheduler.c,v
diff -p -u -r1.47 -r1.48
--- request-scheduler.c	28 Jul 2004 14:32:57 -0000	1.47
+++ request-scheduler.c	30 Jul 2004 13:11:43 -0000	1.48
@@ -186,6 +186,8 @@ int PINT_req_sched_finalize(
  * returns 0 on success, -errno on failure
  * NOTE: a handle value of 0 and a return value of 0 indicates
  * that the request does not operate on any particular handle
+ * NOTE: a return value of 1 indicates that we can let this operation pass
+ * through without any scheduling
  *
  * TODO: we need to fix this function and all of its callers if we 
  * define something besides "0" to represent an invalid handle value
@@ -269,7 +271,7 @@ int PINT_req_sched_target_handle(
 	*fs_id = req->u.flush.fs_id;
 	return (0);
     case PVFS_SERV_MGMT_NOOP:
-	return (0);
+	return (1);
     case PVFS_SERV_MGMT_PERF_MON:
 	return (0);
     case PVFS_SERV_MGMT_EVENT_MON:
@@ -333,6 +335,11 @@ int PINT_req_sched_post(
     {
 	return (ret);
     }
+    if(ret == 1)
+    {
+        *out_id = 0;
+        return(1);
+    }
 
     /* NOTE: handle == 0 is a special case, the request isn't
      * operating on a particular handle, but we will queue anyway
@@ -722,6 +729,14 @@ int PINT_req_sched_release(
      * need to fill in the out_id
      */
     *out_id = 0;
+
+    if(in_completed_id == 0)
+    {
+        /* the scheduler let this operation pass through; no infrastructure
+         * to clean up
+         */
+        return(1);
+    }
 
     /* retrieve the element directly from the id */
     tmp_element = id_gen_fast_lookup(in_completed_id);



More information about the PVFS2-CVS mailing list