1
0
Fork 0
mirror of https://github.com/ii64/gouring.git synced 2025-04-09 07:12:59 +02:00
Commit graph

53 commits

Author SHA1 Message Date
c05ef4f5a1
chore: example eventloop add debug 2023-04-26 00:28:02 +07:00
cf008fa0a8
chore: example read-write memfd verify bytes 2023-04-26 00:02:53 +07:00
fe8ee1c7be
chore: sync liburing queue 2023-04-26 00:02:19 +07:00
a826825a93
chore: go work add library 2023-04-25 23:07:58 +07:00
14a4d321ac
chore: example read-write intensive to memfd file 2023-04-24 21:53:45 +07:00
69433c4222
chore: example simple-eventloop run client on bg 2023-04-24 21:43:19 +07:00
0ebe45c00d
test: ring concurrent enqeue
Add test for ring concurrent enqueue.
2023-04-24 11:42:10 +07:00
b97c7aa767
chore: implement grace shutdown on simple eventloop 2023-04-18 12:04:03 +07:00
64d8c0e3b6
chore: simple eventloop example 2023-04-18 02:41:38 +07:00
f4992f93e1
feat: get probe ring 2023-04-17 18:38:30 +07:00
805d8d14fa
chore: tcp echo example
tcp echo example with:
- multishot accept
- provide buffers, automatic buffer selection
  https://lwn.net/Articles/815491/
2023-04-17 18:33:25 +07:00
56bbdd81d6
feat: added some prepare helper
* PrepAcceptMultishot (renamed)
* PrepAcceptMultishotDirect (renamed)
* PrepRecvmsgMultishot
* PrepSendSetAddr
* PrepSendto
* PrepRecvMultishot
* PrepFgetxattr
2023-04-16 17:50:51 +07:00
d3eea9e076
chore: adjust read-write, nvme example 2023-04-16 17:18:15 +07:00
8f4508a832
fix(nvme): constant folds for uring, ioctl cmd ops 2023-04-16 10:46:28 +07:00
c85becd14b
chore: cleanup debug 2023-04-16 04:19:02 +07:00
29583697c8
chore: basic usage example 2023-04-16 04:00:36 +07:00
ff91bfb1cd
feat: essential ioctl and nvme package support 2023-04-16 03:58:57 +07:00
0e7d4faaff
chore: sync liburing
* support for sqe128, cqe32
* using unsafe.Add
* compile-time size guard/check
* added support for uring_cmd
2023-04-16 03:56:10 +07:00
bd50af5d21
fix: syscall nr 2023-04-16 03:46:47 +07:00
f5548b679a
chore: setup go work 2023-04-16 02:49:09 +07:00
78032efb6a
doc: update graph 2022-10-25 18:23:01 +07:00
8dea91c509
ring: big cqe support 2022-10-25 15:36:16 +07:00
56c528fe00
ring: prepare sqe support
Added prepare SQE op:
 * fallocate
 * openat2
 * openat2_direct
 * statx
 * recv
 * epoll_ctl
 * multishot accept
 * multishot accept_direct
 * provide_buffers
 * remove_buffers
 * shutdown
 * unlinkat, unlink
 * renameat, rename
 * sync_file_range
 * mkdirat, mkdir
 * symlinkat, symlink
 * linkat, link
 * msg_ring
 * getxattr
 * setxattr
 * fsetxattr
2022-10-25 15:31:31 +07:00
6338cf3427
ring: io_uring syscall nr for __ALPHA__ 2022-10-25 15:31:01 +07:00
5a76c34f61
fix: use sigset from golang.org/x/sys/unix 2022-10-25 15:27:19 +07:00
510f87a46e
chore: ignore code workspace 2022-10-24 11:34:09 +07:00
1abd875eb9
feat: seq_cst implementation 2022-10-13 22:08:46 +07:00
527c11cde6
feat: sync liburing
revision: 1c469ee303d0f458a
2022-10-13 22:08:27 +07:00
8d37b05bc1
fix: change base type of UserData to uint64 2022-10-13 22:03:46 +07:00
4937c09d11
ring: support sqe128, cqe32 index array 2022-10-12 23:19:37 +07:00
b60c5ed2ba
test: sqe and cqe size check 2022-10-12 23:17:41 +07:00
3409c752f2
fix: unresolved typo 2022-10-12 23:16:02 +07:00
fzn0x
4ed8bc99bd
fix: minor code typo ()
* fix: minor code typo
2022-10-02 19:20:08 +07:00
d0c4e7f98f
Merge pull request from ii64/doc/add-license
doc: add license
2022-09-04 17:43:27 +07:00
aad8211d3e
doc: add license
Fixes 
2022-09-04 17:41:10 +07:00
98f78a3b9f
bench/perf: handle interrupt from iouring enter
Other adjustments:
 * Fix miss results, using `SeenCqe` to pop CQ entry.
 * Increase sqpoll thread cpu to 16.
 * Fix CQE/SQE to Cqe/Sqe function name.
 * Fix UserData usage.

Benchmark:
 * Increase number of N to 10_000_000
2022-07-28 19:48:32 +07:00
0fee4d7a7f
doc: update graph 2022-07-28 19:47:38 +07:00
7eedf9754b
all: use of unsafe pointer for ring, and adjustments
There's other adjustment/addition:
 * Function name CQE/SQE renamed to Cqe/Sqe.
 * SQ entry union sets value withput util to reduce function
   complexity, so leaving function budget for another stuff.
 * UserData has its own type, implement for uint64, uintptr,
   and unsafe.
 * TODO: decide what to use `Syscall` or `RawSyscall`.
 * Exposed `SeenCqe`.
 * Ignore *.test file extension.
 * Inline cost tool.

Signed-off-by: Nugraha <richiisei@gmail.com>
2022-07-28 19:45:51 +07:00
56090b50c8
bench/perf: use of go sched
Signed-off-by: Nugraha <richiisei@gmail.com>
2022-07-07 23:31:18 +07:00
a5a0584e4d
doc: update graph
Signed-off-by: Nugraha <richiisei@gmail.com>
2022-07-07 23:30:52 +07:00
25e599231f
all: use constant for sizeof, add bench test
Signed-off-by: Nugraha <richiisei@gmail.com>
2022-07-07 23:23:00 +07:00
254fa28928
doc: update graph
Signed-off-by: Nugraha <richiisei@gmail.com>
2022-07-07 23:21:52 +07:00
f3ba7e7189
queue: fix cqe peek batch, and improve test
Signed-off-by: Nugraha <richiisei@gmail.com>
2022-07-07 23:20:18 +07:00
501014a053
bench/perf: fix sqpoll result mismatch
Signed-off-by: Nugraha <richiisei@gmail.com>
2022-07-07 23:19:07 +07:00
7c0e1c4ef7
bench/perf: perf script nop sq entry
Signed-off-by: Nugraha <richiisei@gmail.com>
2022-07-07 09:59:36 +07:00
cd2c4242e8
doc: add graph
Signed-off-by: Nugraha <richiisei@gmail.com>
2022-07-07 09:57:32 +07:00
734c7883b8
doc: add example on readme
Signed-off-by: Nugraha <richiisei@gmail.com>
2022-07-07 08:27:55 +07:00
7fa3c507b1
api: impl get sqe, wait cqe, and test
Signed-off-by: Nugraha <richiisei@gmail.com>
2022-07-07 08:26:44 +07:00
aa6bf08729
setup: fix ring fd not set
Signed-off-by: Nugraha <richiisei@gmail.com>
2022-07-07 08:25:45 +07:00
793e0b8cbd
queue: impl wait cqe, and tests
Signed-off-by: Nugraha <richiisei@gmail.com>
2022-07-07 08:24:46 +07:00