Joakim Frostegård
|
2e67f11caf
|
udp: add experimental io_uring implementation (#131)
* WIP: add udp uring support
* WIP: fix udp uring address parsing
* WIP: udp uring: resubmit recv when needed
* WIP: udp uring: add OutMessageStorage, send swarm responses
* WIP: udp uring: increase ring entries to 1024
* WIP: udp uring: add constants
* WIP: udp uring: use sqpoll, avoid kernel calls
* WIP: udp uring: disable sqpoll
* WIP: udp uring: use VecDeque for local responses
* udp uring: enable setup_coop_taskrun
* udp uring: add RecvMsgStorage
* udp: improve split of uring and mio implementations
* udp uring: clean up
* udp uring: initial ipv6 support
* udp uring: improve helper structs
* udp uring: clean up, use constants for important data
* udp: share create_socket fn between implementations
* udp uring: improve send buffer free index finding
* udp uring: work on SendBuffers.try_add
* udp uring: split into modules
* udp uring: Rename RecvMsgMultiHelper to RecvHelper
* udp uring: improve SendBuffers
* udp uring: fix copyright attribution in buf_ring module
* udp uring: stop always consuming 100% cpu
* udp uring: clean up
* udp uring: add handle_recv_cqe
* udp uring: move local_responses into SocketWorker
* udp uring: move timeout_timespec into SocketWorker
* Update TODO
* udp: make io-uring optional
* Update TODO
* udp uring: enqueue timeout before sends
* udp uring: move likely empty buffer tracking logic into SendBuffers
* udp uring: improve error handling and logging
* udp uring: keep one timeout submitted at a time
* udp uring: update pending_scrape_valid_until
* udp uring: add second timeout for cleaning
* Update TODO
* udp uring: store resubmittable squeue entries in a Vec
* udp uring: add comment, remove a log statement
* Update TODO
* Update TODO
* udp: io_uring: fall back to mio if io_uring support not recent enough
* udp: uring: add bytes_received statistics
* udp: uring: add bytes_sent statistics
* udp: uring: add more statistics
* Update TODO
* udp: uring: improve SendBuffers code
* udp: uring: remove unneeded squeue sync calls
* udp: uring: replace buf_ring impl with one from tokio-uring
* udp: uring: store ring in TLS so it can be used in Drop impls
* udp: uring: store BufRing in SocketWorker
* udp: uring: silence buf_ring dead code warnings, improve comment
* Update TODO
* udp: uring: improve CurrentRing docs, use anonymous struct field
* udp: uring: improve ring setup
* udp: uring: get ipv6 working
* udp: uring: make ring entry count configurable, use more send entries
* udp: uring: log number of pending responses (info level)
* udp: uring: improve comment on send_buffer_entries calculation
* udp: improve config comments
* udp: uring: add to responses stats when they are confirmed as sent
* Update TODO
* udp: uring: enable IoUring setup_submit_all
* Update README
|
2023-03-07 19:01:37 +01:00 |
|