Prelimilary results: - CPU usage drops significantly. For example, in T1Q8 128K write test against stub_uring_osd with 10G network and Athlon X4 860k CPU it drops from 100% to 30% - Latency becomes slightly worse. In T1Q1 4K write test in the same environment latency increases from 56 to 63 us. - Small write throughput also becomes slightly worse. In T1Q128 4K write test against stub iops decreases from 138k to ~110k (unstable, fluctuates 100k..120k). Note that this is without io_uring, of course.
14 lines
455 B
C
14 lines
455 B
C
// Copyright (c) Vitaliy Filippov, 2019+
|
|
// License: VNPL-1.1 or GNU GPL-2.0+ (see README.md for details)
|
|
|
|
#pragma once
|
|
|
|
#include <unistd.h>
|
|
#include <sys/uio.h>
|
|
|
|
int read_blocking(int fd, void *read_buf, size_t remaining);
|
|
int write_blocking(int fd, void *write_buf, size_t remaining);
|
|
int readv_blocking(int fd, iovec *iov, int iovcnt);
|
|
int writev_blocking(int fd, iovec *iov, int iovcnt);
|
|
int sendv_blocking(int fd, iovec *iov, int iovcnt, int flags);
|