small_io_total_bytes_fix.patch:
Fixed an issue with the small I/O total size being passed to the
trove_bstream_write_list(). The uint32_t was being casted to
(TROVE_size *)&s_op->req->u.small_io.total_bytes on line 162 of
small_io.sm.
process_multiple_aiocbs.patch:
Fixed the dbpf_bstream_listio_convert() function to actually handle more
than a single aiocb at a time. This should boost noncontiguous I/O
performance quite a bit.
Index: pvfs2-req-proto.h
===================================================================
RCS file: /anoncvs/pvfs2/src/proto/pvfs2-req-proto.h,v
retrieving revision 1.138
diff -u -r1.138 pvfs2-req-proto.h
--- pvfs2-req-proto.h 24 Jan 2006 21:33:24 -0000 1.138
+++ pvfs2-req-proto.h 18 May 2006 21:29:34 -0000
@@ -953,7 +953,7 @@
PVFS_offset offsets[SMALL_IO_MAX_SEGMENTS];
PVFS_size sizes[SMALL_IO_MAX_SEGMENTS];
- uint32_t total_bytes;
+ PVFS_size total_bytes; /* changed from int32_t */
void * buffer;
};
Index: dbpf-bstream-aio.c
===================================================================
RCS file: /anoncvs/pvfs2/src/io/trove/trove-dbpf/dbpf-bstream-aio.c,v
retrieving revision 1.22
diff -u -r1.22 dbpf-bstream-aio.c
--- dbpf-bstream-aio.c 5 Apr 2006 19:24:32 -0000 1.22
+++ dbpf-bstream-aio.c 18 May 2006 21:30:46 -0000
@@ -100,11 +100,19 @@
cur_mem_size = mem_size_array[++mct];
cur_mem_off = mem_offset_array[mct];
}
+ else
+ {
+ cur_mem_size = 0;
+ }
if (!oos)
{
cur_stream_size = stream_size_array[++sct];
cur_stream_off = stream_offset_array[sct];
}
+ else
+ {
+ cur_stream_size = 0;
+ }
}
else if (cur_mem_size < cur_stream_size)
{
@@ -119,6 +127,10 @@
cur_mem_size = mem_size_array[++mct];
cur_mem_off = mem_offset_array[mct];
}
+ else
+ {
+ cur_mem_size = 0;
+ }
}
else /* cur_mem_size > cur_stream_size */
{
@@ -133,10 +145,14 @@
cur_stream_size = stream_size_array[++sct];
cur_stream_off = stream_offset_array[sct];
}
+ else
+ {
+ cur_stream_size = 0;
+ }
}
cur_aiocb_ptr = &aiocb_array[++act];
- if (oom || oos)
+ if ((oom && cur_mem_size == 0) || (oos && cur_stream_size == 0))
{
break;
}
_______________________________________________
Pvfs2-developers mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers