Aaron Jacobs
a95b1fb276
PageCacheTest.SingleFileHandle_NoKeepCache
2015-07-29 05:41:31 +00:00
Aaron Jacobs
28ee2de1e9
Added test names.
2015-07-29 05:37:55 +00:00
Aaron Jacobs
b5be88054f
Defined SetKeepCache and read behavior.
2015-07-29 15:32:49 +10:00
Aaron Jacobs
9e84136ee5
Don't run sprintf when unnecessary.
2015-07-29 15:13:22 +10:00
Aaron Jacobs
30cdb148b9
Allow the kernel to send other requests while waiting for a read.
...
On Linux this significantly increases gcsfuse sequential read throughput.
2015-07-29 14:59:35 +10:00
Aaron Jacobs
cf5cfbccfd
Fixed a (new) test bug on Linux.
2015-07-29 14:59:10 +10:00
Aaron Jacobs
d45752960a
Use a custom logging for interruptOp, to aid in debugging.
2015-07-29 14:53:09 +10:00
Aaron Jacobs
96b8ce71f0
Fixed a bug: the flags parameter is in and out.
2015-07-29 14:53:09 +10:00
Aaron Jacobs
3f954b3056
Enable async reads.
...
As best I can tell, this instructs the kernel not to synchronize on the
completion of a read request before sending further requests. This
definitely means further read requests, but I believe it means any sort
of request as well. It appears to make a big difference to gcsfuse read
support.
2015-07-29 14:53:09 +10:00
Aaron Jacobs
0114453672
Expanded interruptfs to also cover testing interrupts during flush.
2015-07-29 14:52:49 +10:00
Aaron Jacobs
be5974e914
InterruptFSTest.InterruptedDuringFlush
2015-07-29 14:52:03 +10:00
Aaron Jacobs
85439be549
InterruptFSTest.InterruptedDuringRead
2015-07-29 14:51:33 +10:00
Aaron Jacobs
0796c46a9c
Updated the interruptfs API.
2015-07-29 14:51:10 +10:00
Aaron Jacobs
94e31a27b6
Use the fuse ID in debug logs.
...
It's too confusing with a distinct set of IDs for logging.
2015-07-29 14:29:31 +10:00
Aaron Jacobs
c80811a735
Don't spam the everloving shit out of the console for debug logging.
2015-07-29 12:02:58 +10:00
Aaron Jacobs
e157c6bc8d
Eliminated an allocation and a copy for each ReadFileOp.
...
This adds up to a significant performance gain for gcsfuse, in its sequential
read benchmark.
Also ReadDirOp.
2015-07-29 11:19:03 +10:00
Aaron Jacobs
ab0580a452
Fixed a very dumb bug.
2015-07-29 11:14:17 +10:00
Aaron Jacobs
ea97708e20
Read directly into out messages for directories.
2015-07-29 11:03:27 +10:00
Aaron Jacobs
bbb262ee48
Read directly into out messages for files.
2015-07-29 11:02:29 +10:00
Aaron Jacobs
2e422a1305
Move where out messages are created.
2015-07-29 10:51:24 +10:00
Aaron Jacobs
d903c709d3
Refactored allocation out OutMessage structs.
...
In preparation for allocating them up-front for ReadFile and ReadDir.
2015-07-29 10:47:41 +10:00
Aaron Jacobs
4fd46371a2
Rejiggered the ReadFile and ReadDir API.
...
The new API lends itself toward reading directly into the output buffer, saving
a memmove and allowing for easy reuse of output buffers.
2015-07-29 10:24:11 +10:00
Aaron Jacobs
c12f80b1e2
Fixed flushfs.
2015-07-29 10:23:51 +10:00
Aaron Jacobs
85b3f9ed42
Fixed hellofs.
2015-07-29 10:22:26 +10:00
Aaron Jacobs
b0d206254f
Fixed another dumb bug.
2015-07-29 10:20:53 +10:00
Aaron Jacobs
5296835c1f
Fixed a dumb bug.
2015-07-29 10:12:59 +10:00
Aaron Jacobs
339bc03e5e
Attempted to fix memfs.
2015-07-29 10:12:11 +10:00
Aaron Jacobs
6d01ffa44f
Replaced AppendDirent with WriteDirent.
2015-07-29 10:08:16 +10:00
Aaron Jacobs
c08043788a
Fixed conversions.go.
2015-07-29 09:49:28 +10:00
Aaron Jacobs
f5d80cf9ab
Defined the new API for ReadFileOp and ReadDirOp.
2015-07-29 09:48:18 +10:00
Aaron Jacobs
314b93c7c0
Use a freelist for outgoing messages.
...
This eliminates about half of the allocations by bytes for gcsfuse's sequential
read benchmark.
2015-07-28 16:36:05 +10:00
Aaron Jacobs
240465913f
Fixed the build on Linux.
2015-07-28 16:31:59 +10:00
Aaron Jacobs
a1fc133e32
Finished OutMessage.
2015-07-28 16:29:30 +10:00
Aaron Jacobs
a25c297e41
OutMessage.AppendString
2015-07-28 16:29:09 +10:00
Aaron Jacobs
bb88db68e0
OutMessage.Append
2015-07-28 16:28:21 +10:00
Aaron Jacobs
75e2706a4b
Renamed two files.
2015-07-28 16:26:42 +10:00
Aaron Jacobs
e2aa0ec1be
OutMessage.GrowNoZero
2015-07-28 16:24:45 +10:00
Aaron Jacobs
9a55ffcd7d
OutMessage.Grow
2015-07-28 16:23:59 +10:00
Aaron Jacobs
2e3cba1928
OutMessage.OutHeader
2015-07-28 16:23:34 +10:00
Aaron Jacobs
114432703b
Check alignment.
2015-07-28 16:23:10 +10:00
Aaron Jacobs
c210aa8a95
OutMessage.Reset
2015-07-28 16:20:50 +10:00
Aaron Jacobs
8b845a25ee
Implemented memclr.
2015-07-28 16:19:37 +10:00
Aaron Jacobs
f419bd4578
Declared memclr.
2015-07-28 16:19:03 +10:00
Aaron Jacobs
5b3f5df8cc
Specify that append methods panic.
2015-07-28 16:17:56 +10:00
Aaron Jacobs
384f32c2a3
Connection.kernelResponseForOp
2015-07-28 16:17:06 +10:00
Aaron Jacobs
5238806cff
Connection.Reply
2015-07-28 16:14:58 +10:00
Aaron Jacobs
0becfa3df2
Began fixing Connection.
2015-07-28 16:13:18 +10:00
Aaron Jacobs
c0e60edb32
Defined the new OutMessage API.
2015-07-28 16:09:27 +10:00
Aaron Jacobs
3371ab70ac
Redefined the contents of OutMessage.
2015-07-28 16:06:23 +10:00
Aaron Jacobs
2d3078f8b9
Refactored the way freelists work.
2015-07-28 15:53:53 +10:00