Commit Graph

20 Commits (fcabfc89e991664e849c989acaa77ef01827ee43)

Author SHA1 Message Date
Vitaliy Filippov fcabfc89e9 Introduce VectoredReadOp
Read requests can now take vectored responses from the filesystem
implementation and send them to FUSE device via the writev() system call.

This allows file systems to send data without copying it into the
library-provided buffer if the data is already in memory.

The change also speeds up normal ReadFileOps as a side effect because
it removes extra memory allocations.
2021-09-01 14:14:15 +03:00
Michael Stapelberg 0630024b2b switch from assembly stubs to go:linkname comment
The go:linkname way works with Go 1.17 (with regabi), too.

Upstream did this in 2015 in
0b8d583320

See also https://sitano.github.io/2016/04/28/golang-private/ for more background
about both techniques.
2021-08-02 09:34:49 +02:00
Michael Stapelberg ae5da07e4c
remove naked returns across the code base (#75)
fixes #73
2020-01-28 10:10:08 +01:00
Michael Stapelberg 90d933551c fix formatting directives (to pass go test) 2019-09-16 18:28:45 +02:00
Aaron Jacobs a7c1a1474a buffer_test: fix build errors. 2016-12-19 13:14:54 +11:00
Aaron Jacobs 6e5247d16d buffer_test: make use of the new API. 2016-12-19 13:14:21 +11:00
Aaron Jacobs 10bc0e766c buffer_test: fix computation of the number of bytes cleared. 2016-12-19 13:14:05 +11:00
Aaron Jacobs 06b9c19b5e TestOutMessageHeader 2016-12-19 12:38:58 +11:00
Aaron Jacobs 78a1450a77 TestOutMessageShrinkTo 2016-12-19 12:32:22 +11:00
Aaron Jacobs 39f1f7c489 TestOutMessageAppendString 2016-12-19 12:31:08 +11:00
Aaron Jacobs c1af0dbdee TestOutMessageAppend 2016-12-19 12:30:42 +11:00
Aaron Jacobs e7b9860f41 buffer_test: expand the coverage of TestOutMessageGrow. 2016-12-19 12:26:59 +11:00
Aaron Jacobs 02e3f7895c buffer_test: expand the coverage of TestOutMessageReset. 2016-12-19 12:20:27 +11:00
Aaron Jacobs f250e46e83 buffer_test: add TODOs where more test coverage is necessary. 2016-12-19 12:16:51 +11:00
Aaron Jacobs ad65849346 Add a test for OutMessage.Grow. 2016-12-19 11:17:33 +11:00
Aaron Jacobs e329c0ef33 Add a test for OutMessage.Reset. 2016-12-19 11:17:33 +11:00
Aaron Jacobs 72fc9c96ca Add a benchmark for growing and shrinking.
This should better stress memclr.
2016-12-19 10:35:20 +11:00
Aaron Jacobs b87ffb528b Fix a bug in BenchmarkOutMessageReset.
I misunderstood what was being zeroed. Only the header is.
2016-12-19 10:26:19 +11:00
Aaron Jacobs d31e0a4eae Add a test for memclr. 2016-12-19 10:19:29 +11:00
Aaron Jacobs 92e3407014 Add benchmarks for OutMessage.Reset. 2016-12-19 09:46:08 +11:00