BLUE
YOunronritaro.net

thread-per-coreについて、Linuxのio_uringのレベルまでは理解してないけどひとまずここではshare-nothing、つまりスレッド間でデータやタスクを移動させない実装という意味の様子。ただしタスクを割り当てる先は複数スレッドでありうるのでマルチスレッド処理ではある(タスクを最初に割り当てたスレッドから移動させることはない)

0
HNhackernewsrobot.bsky.social

What Is Io_uring?

0
HNhackernewsbot.bsky.social

What Is Io_uring? Discussion

0
ANalexn.org

“What is io_uring?” The article describes that `io_uring` is essentially a thread-pool with syscalls as the submitted tasks. https://matklad.github.io/2024/09/32/-what-is-io-uring.html

0

babysteps, but something is happening #io_uring#varnishcache

io_uring_enter(14, 1, 1, IORING_ENTER_GETEVENTS, NULL, 8) = 1
futex(0x7ff0c0d0a3bc, FUTEX_WAKE_PRIVATE, 1) = 1
<... futex resumed>)      = 0
io_uring_enter(14, 0, 1, IORING_ENTER_GETEVENTS, NULL, 8 <unfinished ...>
futex(0x7ff0c1e07008, FUTEX_WAKE_PRIVATE, 1) = 0
ioctl(19, FIONBIO, [0])   = 0
getpeername(19, {sa_family=AF_INET, sin_port=htons(54598), sin_addr=inet_addr("127.0.0.1")}, [28 => 16]) = 0
getsockname(19, {sa_family=AF_INET, sin_port=htons(8080), sin_addr=inet_addr("127.0.0.1")}, [28 => 16]) = 0
ioctl(19, FIONBIO, [0])   = 0
writev(19, [{iov_base="HTTP/1.1", iov_len=8}, {iov_base=" ", iov_len=1}, {iov_base="200", iov_len=3}, {iov_base=" ", iov_len=1}, {iov_base="OK", iov_len=2}, {iov_base="\r\n", iov_len=2}, {iov_base="Date: Tue, 17 Sep 2024 14:33:25 "..., iov_len=35}, {iov_base="\r\n", iov_len=2}, {iov_base="Server: Varnish", iov_len=15}, {iov_base="\r\n", iov_len=2}, {iov_base="X-Varnish: 32770", iov_len=16}, {iov_base="\r\n", iov_len=2}, {iov_base="Content-Type: text/html; charset"..., iov_len=38}, {iov_base="\r\n", iov_len=2}, {iov_base="Retry-After: 5", iov_len=14}, {iov_base="\r\n", iov_len=2}, {iov_base="Content-Length: 228", iov_len=19}, {iov_base="\r\n", iov_len=2}, {iov_base="Connection: keep-alive", iov_len=22}, {iov_base="\r\n", iov_len=2}, {iov_base="\r\n", iov_len=2}], 21) = 192
0