axboe/liburing

Library providing helpers for the Linux kernel io_uring support

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 18 minutes ago
Type:Library / SDKCategory(s):Core & Utility LibrariesLanguages & Runtimes
Added to GitGenius on September 18th, 2026
Created on August 5th, 2019
Open Issues & Pull Requests: 72 (+0)
GitHub issues: Enabled
Number of forks: 537
Total Stargazers: 3,766 (+0)
Total Subscribers: 105 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 5.7 hours
Mean response time: 39.7 days
90th percentile: 39.6 days
Tracked items: 283

Most active contributors

Sign in to see contributor activity.

How this project is maintained

About 9% of issues opened in the past year have never received a reply. 100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. 62% of issues opened in the past year have been closed, leaving a working backlog. Three people close 81% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 42
New in 7 days: 1
Closed in 7 days: 0
Avg open age: 388 days
Stale 30+ days: 33
Stale 90+ days: 26

Recent activity

Opened in 7 days: 1
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 2

Top labels

  • enhancement (3)
  • bug (1)
  • good first issue (1)
  • help wanted (1)

Detailed Description

liburing is a C library that provides helpers for setting up and using the Linux kernel io_uring interface.

The library solves the problem of simplifying io_uring integration for applications that want to leverage asynchronous I/O without directly managing the full kernel-side implementation. It offers helper functions for io_uring instance setup and teardown, along with a simplified interface that abstracts away complexity while still allowing applications that need it to access the full kernel implementation details.

Developers should choose liburing if they are building applications on Linux that benefit from asynchronous I/O operations. The library is not tied to any specific kernel release, so newer versions can run on older kernels, though newer features require more recent kernel support. One important consideration is that io_uring accounts memory under the rlimit memlocked setting, which can be restrictive for regular users on some systems; this affects kernels up to version 5.11, with newer kernels being less dependent on this limit. The library provides both shared and static library variants, including FFI-specific versions for languages and applications that cannot use static inline functions.

The project includes an extensive regression and unit test suite covering both the library and kernel io_uring support, though this test suite is not expected to pass on older kernels and may even crash or hang them. The build system supports standard configuration and out-of-source builds, with options to specify C and C++ compilers. The library is dual licensed under LGPL and MIT, with kernel headers included under GPL with a Linux-syscall-note exception and MIT.