Age | Commit message (Collapse) | Author |
|
|
|
I was reading from the buffer as if the WRAP flag was enabled, but it
actually isn't supported with a 64K buffer.
Besides, if it worked correctly, then the code for updating the ring
position would land in the wrong place, because it didn't take WARP
into account.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Those had a lot of repeating code, but I'm not sure if this is the
right change. Well, apart from making pipe_joinqueue more consistent.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
~3x speedup in tests
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$ iostress 32 512 0 > /vtty # before
512 calls, 0 bytes. avg 121133
$ iostress 32 512 0 > /vtty # after
512 calls, 0 bytes. avg 103540
103540/121133 = ~85%
I think the tiny bit of added complexity is worth it here.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|