From 3afce36dd4f6624c88c9720c4890b9f9cb9e0c90 Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Tue, 18 Dec 2018 15:17:21 -0800 Subject: [PATCH] ircd::info: Get sysconf() for maximum AIO operations. --- include/ircd/info.h | 1 + ircd/info.cc | 13 +++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/include/ircd/info.h b/include/ircd/info.h index 1515ff9fd..8e52faefe 100644 --- a/include/ircd/info.h +++ b/include/ircd/info.h @@ -52,6 +52,7 @@ namespace ircd::info extern const int glibc_version[3]; extern const string_view glibc_version_str; + extern const int aio_max_ops; extern const int aio_reqprio_max; extern const size_t iov_max; #ifdef HAVE_SYS_UTSNAME_H diff --git a/ircd/info.cc b/ircd/info.cc index 919d11467..2a0c06b5e 100644 --- a/ircd/info.cc +++ b/ircd/info.cc @@ -77,13 +77,14 @@ ircd::info::dump() // This message flashes posix information about the resource limits log::debug { - "AS=%lu DATA=%lu RSS=%lu NOFILE=%lu; RTTIME=%lu aio_reqprio_max=%d", + "AS=%lu DATA=%lu RSS=%lu NOFILE=%lu; RTTIME=%lu aio_max_ops=%d aio_reqprio_max=%d", rlimit_as, rlimit_data, rlimit_rss, rlimit_nofile, rlimit_rttime, - aio_reqprio_max + aio_max_ops, + aio_reqprio_max, }; } @@ -199,6 +200,14 @@ ircd::info::glibc_version_str glibc_version[2]) ); +decltype(ircd::info::aio_max_ops) +ircd::info::aio_max_ops +{ + #ifdef _SC_AIO_MAX + int(syscall(::sysconf, _SC_AIO_MAX)) + #endif +}; + decltype(ircd::info::aio_reqprio_max) ircd::info::aio_reqprio_max {