[Pvfs2-cvs] commit by slang in pvfs2/src/io/trove/trove-dbpf:
dbpf-bstream.c
CVS commit program
cvs at parl.clemson.edu
Tue Aug 15 16:24:27 EDT 2006
Update of /projects/cvsroot/pvfs2/src/io/trove/trove-dbpf
In directory parlweb1:/tmp/cvs-serv18021/src/io/trove/trove-dbpf
Modified Files:
dbpf-bstream.c
Log Message:
[phil]: flow-proto-tuning: This patch adds "FlowBufferSizeBytes" and "FlowBuffersPerFlow" options to the configuration file format. They allow you to specify the buffer size that the default flow protocol will use as well as the maximum number of buffers to use per flow. Note that if you change either of these parameters, then you need to remount any active clients so that they pick up the configuration change before performing any I/O.
[phil]: max-aio: This patch adds "TroveMaxConcurrentIO" to the configuration file format. It allows you to specify the maximum number of I/O operations that trove will allow to proceed concurrently (currently 16). Note from the previous email regarding AIO that depending on your access pattern, AIO may queue all of your operations anyway regardless of this setting. It probably doesn't have much effect unless you are accessing more than one file at a time, or if you are using an alternative to the stock AIO implementation.
Index: dbpf-bstream.c
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/io/trove/trove-dbpf/dbpf-bstream.c,v
diff -p -u -r1.69 -r1.70
--- dbpf-bstream.c 11 Aug 2006 19:18:07 -0000 1.69
+++ dbpf-bstream.c 15 Aug 2006 20:24:26 -0000 1.70
@@ -31,7 +31,7 @@ extern gen_mutex_t dbpf_attr_cache_mutex
#define AIOCB_ARRAY_SZ 64
-#define DBPF_MAX_IOS_IN_PROGRESS 16
+extern int TROVE_max_concurrent_io;
static int s_dbpf_ios_in_progress = 0;
static dbpf_op_queue_p s_dbpf_io_ready_queue = NULL;
static gen_mutex_t s_dbpf_io_mutex = GEN_MUTEX_INITIALIZER;
@@ -312,9 +312,6 @@ static void start_delayed_ops_if_any(int
(cur_op->op.type == BSTREAM_WRITE_LIST));
dbpf_op_queue_remove(cur_op);
- assert(s_dbpf_ios_in_progress <
- (DBPF_MAX_IOS_IN_PROGRESS + 1));
-
gossip_debug(GOSSIP_TROVE_DEBUG, "starting delayed I/O "
"operation %p (%d in progress)\n", cur_op,
s_dbpf_ios_in_progress);
@@ -398,7 +395,7 @@ static int issue_or_delay_io_operation(
{
s_dbpf_ios_in_progress--;
}
- if (s_dbpf_ios_in_progress < DBPF_MAX_IOS_IN_PROGRESS)
+ if (s_dbpf_ios_in_progress < TROVE_max_concurrent_io)
{
s_dbpf_ios_in_progress++;
}
More information about the Pvfs2-cvs
mailing list