[Pvfs2-cvs] commit by slang in pvfs2/src/client/sysint: sys-io.sm
CVS commit program
cvs at parl.clemson.edu
Tue Aug 15 16:24:25 EDT 2006
Update of /projects/cvsroot/pvfs2/src/client/sysint
In directory parlweb1:/tmp/cvs-serv18021/src/client/sysint
Modified Files:
sys-io.sm
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: sys-io.sm
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/client/sysint/sys-io.sm,v
diff -p -u -r1.147 -r1.148
--- sys-io.sm 11 Aug 2006 19:18:04 -0000 1.147
+++ sys-io.sm 15 Aug 2006 20:24:24 -0000 1.148
@@ -1657,6 +1657,7 @@ static inline int io_post_flow(
PVFS_object_attr *attr = NULL;
struct server_configuration_s *server_config = NULL;
unsigned long status_user_tag = 0;
+ struct filesystem_configuration_s * fs_config;
gossip_debug(GOSSIP_IO_DEBUG, "- build_context_flow called\n");
@@ -1721,7 +1722,16 @@ static inline int io_post_flow(
status_user_tag = ((4 * cur_ctx->index) + IO_SM_PHASE_FLOW);
- server_config = PINT_get_server_config_struct(sm_p->object_ref.fs_id);
+ server_config = PINT_get_server_config_struct(sm_p->object_ref.fs_id);
+
+ fs_config = PINT_config_find_fs_id(server_config, cur_ctx->msg.fs_id);
+ if(fs_config)
+ {
+ /* pick up any buffer settings overrides from fs conf */
+ cur_ctx->flow_desc.buffer_size = fs_config->fp_buffer_size;
+ cur_ctx->flow_desc.buffers_per_flow = fs_config->fp_buffers_per_flow;
+ }
+
ret = job_flow(
&cur_ctx->flow_desc, sm_p, status_user_tag,
&cur_ctx->flow_status, &cur_ctx->flow_job_id,
More information about the Pvfs2-cvs
mailing list