Linux kernel source tree
Go to file
Burak Emir 2cdae413cd rust: add dynamic ID pool abstraction for bitmap
This is a port of the Binder data structure introduced in commit
15d9da3f81 ("binder: use bitmap for faster descriptor lookup") to
Rust.

Like drivers/android/dbitmap.h, the ID pool abstraction lets
clients acquire and release IDs. The implementation uses a bitmap to
know what IDs are in use, and gives clients fine-grained control over
the time of allocation. This fine-grained control is needed in the
Android Binder. We provide an example that release a spinlock for
allocation and unit tests (rustdoc examples).

The implementation does not permit shrinking below capacity below
BITS_PER_LONG.

Suggested-by: Alice Ryhl <aliceryhl@google.com>
Suggested-by: Yury Norov <yury.norov@gmail.com>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Signed-off-by: Burak Emir <bqe@google.com>
Signed-off-by: Yury Norov (NVIDIA) <yury.norov@gmail.com>
2025-09-22 15:52:44 -04:00
Documentation sound fixes for 6.17-rc5 2025-09-02 13:38:07 -07:00
LICENSES LICENSES: Replace the obsolete address of the FSF in the GFDL-1.2 2025-07-24 11:15:39 +02:00
arch arc: Fix __fls() const-foldability via __builtin_clzl() 2025-09-02 19:30:51 -04:00
block block: validate QoS before calling __rq_qos_done_bio() 2025-08-26 10:34:08 -06:00
certs
crypto Significant patch series in this pull request: 2025-08-03 16:23:09 -07:00
drivers phy: rockchip-pcie: switch to FIELD_PREP_WM16 macro 2025-09-22 15:52:44 -04:00
fs 17 hotfixes. 13 are cc:stable and the remainder address post-6.16 issues 2025-09-02 13:18:00 -07:00
include bitmap: introduce hardware-specific bitfield operations 2025-09-02 19:59:16 -04:00
init hardening: Require clang 20.1.0 for __counted_by 2025-08-29 12:04:53 -07:00
io_uring io_uring/kbuf: always use READ_ONCE() to read ring provided buffer lengths 2025-08-28 05:48:34 -06:00
ipc vfs-6.17-rc1.mmap_prepare 2025-07-28 13:43:25 -07:00
kernel - Fix a stall on the CPU offline path due to mis-counting a deadline server 2025-08-31 09:13:00 -07:00
lib rust: add find_bit_benchmark_rust module. 2025-09-22 15:52:44 -04:00
mm 17 hotfixes. 13 are cc:stable and the remainder address post-6.16 issues 2025-09-02 13:18:00 -07:00
net net: ipv4: fix regression in local-broadcast routes 2025-08-28 10:52:30 +02:00
rust rust: add dynamic ID pool abstraction for bitmap 2025-09-22 15:52:44 -04:00
samples Significant patch series in this pull request: 2025-08-03 16:23:09 -07:00
scripts kasan: fix GCC mem-intrinsic prefix with sw tags 2025-08-27 22:45:43 -07:00
security rust: add bitmap API. 2025-09-22 15:52:44 -04:00
sound ASoC: rockchip: i2s-tdm: switch to FIELD_PREP_WM16_CONST macro 2025-09-02 20:06:47 -04:00
tools 17 hotfixes. 13 are cc:stable and the remainder address post-6.16 issues 2025-09-02 13:18:00 -07:00
usr
virt Merge tag 'kvm-x86-no_assignment-6.17' of https://github.com/kvm-x86/linux into HEAD 2025-07-29 08:36:42 -04:00
.clang-format
.clippy.toml
.cocciconfig
.editorconfig
.get_maintainer.ignore
.gitattributes
.gitignore gitignore: allow .pylintrc to be tracked 2025-07-02 17:10:04 -06:00
.mailmap .mailmap: add entry for Easwar Hariharan 2025-08-19 16:35:55 -07:00
.pylintrc
.rustfmt.toml
COPYING
CREDITS MAINTAINERS: retire Boris from TLS maintainers 2025-08-26 17:36:01 -07:00
Kbuild
Kconfig
MAINTAINERS rust: add dynamic ID pool abstraction for bitmap 2025-09-22 15:52:44 -04:00
Makefile Linux 6.17-rc4 2025-08-31 15:33:07 -07:00
README

README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the reStructuredText markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.