mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-31 23:27:20 +00:00

After reverting the transition to the generic min heap library, bcache no longer depends on MIN_HEAP. The select entry can be removed to reduce code size and shrink the kernel's attack surface. This change effectively reverts the bcache-related part of commit92a8b224b8
("lib/min_heap: introduce non-inline versions of min heap API functions"). This is part of a series of changes to address a performance regression caused by the use of the generic min_heap implementation. As reported by Robert, bcache now suffers from latency spikes, with P100 (max) latency increasing from 600 ms to 2.4 seconds every 5 minutes. These regressions degrade bcache's effectiveness as a low-latency cache layer and lead to frequent timeouts and application stalls in production environments. Link: https://lore.kernel.org/lkml/CAJhEC05+0S69z+3+FB2Cd0hD+pCRyWTKLEOsc8BOmH73p1m+KQ@mail.gmail.com Link: https://lkml.kernel.org/r/20250614202353.1632957-4-visitorckw@gmail.com Fixes:866898efbb
("bcache: remove heap-related macros and switch to generic min_heap") Fixes:92a8b224b8
("lib/min_heap: introduce non-inline versions of min heap API functions") Signed-off-by: Kuan-Wei Chiu <visitorckw@gmail.com> Reported-by: Robert Pang <robertpang@google.com> Closes: https://lore.kernel.org/linux-bcache/CAJhEC06F_AtrPgw2-7CvCqZgeStgCtitbD-ryuPpXQA-JG5XXw@mail.gmail.com Acked-by: Coly Li <colyli@kernel.org> Cc: Ching-Chun (Jim) Huang <jserv@ccns.ncku.edu.tw> Cc: Kent Overstreet <kent.overstreet@linux.dev> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
30 lines
864 B
Text
30 lines
864 B
Text
# SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
config BCACHE
|
|
tristate "Block device as cache"
|
|
select BLOCK_HOLDER_DEPRECATED if SYSFS
|
|
select CRC64
|
|
select CLOSURES
|
|
help
|
|
Allows a block device to be used as cache for other devices; uses
|
|
a btree for indexing and the layout is optimized for SSDs.
|
|
|
|
See Documentation/admin-guide/bcache.rst for details.
|
|
|
|
config BCACHE_DEBUG
|
|
bool "Bcache debugging"
|
|
depends on BCACHE
|
|
help
|
|
Don't select this option unless you're a developer
|
|
|
|
Enables extra debugging tools, allows expensive runtime checks to be
|
|
turned on.
|
|
|
|
config BCACHE_ASYNC_REGISTRATION
|
|
bool "Asynchronous device registration"
|
|
depends on BCACHE
|
|
help
|
|
Add a sysfs file /sys/fs/bcache/register_async. Writing registering
|
|
device path into this file will returns immediately and the real
|
|
registration work is handled in kernel work queue in asynchronous
|
|
way.
|