2
0
mirror of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-09-04 20:19:47 +08:00
linux/drivers/md/bcache
Kuan-Wei Chiu 95b2e31e17 bcache: remove unnecessary select MIN_HEAP
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 commit
92a8b224b8 ("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>
2025-06-19 20:48:03 -07:00
..
alloc.c Revert "bcache: remove heap-related macros and switch to generic min_heap" 2025-06-19 20:48:03 -07:00
bcache_ondisk.h flexible-array transformations for 6.3-rc1 2023-02-25 12:53:42 -08:00
bcache.h Revert "bcache: remove heap-related macros and switch to generic min_heap" 2025-06-19 20:48:03 -07:00
bset.c Revert "bcache: remove heap-related macros and switch to generic min_heap" 2025-06-19 20:48:03 -07:00
bset.h Revert "bcache: remove heap-related macros and switch to generic min_heap" 2025-06-19 20:48:03 -07:00
btree.c Revert "bcache: remove heap-related macros and switch to generic min_heap" 2025-06-19 20:48:03 -07:00
btree.h Locking changes for v6.5: 2023-06-27 14:14:30 -07:00
debug.c block: turn bio_kmalloc into a simple kmalloc wrapper 2022-04-17 19:30:41 -06:00
debug.h bcache: add identifier names to arguments of function definitions 2018-08-11 15:46:41 -06:00
extents.c Revert "bcache: remove heap-related macros and switch to generic min_heap" 2025-06-19 20:48:03 -07:00
extents.h bcache: add identifier names to arguments of function definitions 2018-08-11 15:46:41 -06:00
features.c bcache: move uapi header bcache.h to bcache code directory 2021-10-29 06:43:21 -06:00
features.h bcache: move uapi header bcache.h to bcache code directory 2021-10-29 06:43:21 -06:00
io.c block: pass a block_device and opf to bio_init 2022-02-02 07:49:59 -07:00
journal.c closures: CLOSURE_CALLBACK() to fix type punning 2023-11-24 00:29:58 -05:00
journal.h bcache: avoid journal no-space deadlock by reserving 1 journal bucket 2022-05-24 06:19:33 -06:00
Kconfig bcache: remove unnecessary select MIN_HEAP 2025-06-19 20:48:03 -07:00
Makefile bcache: move closures to lib/ 2023-10-19 14:47:33 -04:00
movinggc.c Revert "bcache: remove heap-related macros and switch to generic min_heap" 2025-06-19 20:48:03 -07:00
request.c bcache: call force_wake_up_gc() if necessary in check_should_bypass() 2024-05-28 06:55:59 -06:00
request.h closures: CLOSURE_CALLBACK() to fix type punning 2023-11-24 00:29:58 -05:00
stats.c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
stats.h bcache: Remove dead references to cache_readaheads 2023-06-15 07:30:11 -06:00
super.c Revert "bcache: remove heap-related macros and switch to generic min_heap" 2025-06-19 20:48:03 -07:00
sysfs.c Revert "bcache: remove heap-related macros and switch to generic min_heap" 2025-06-19 20:48:03 -07:00
sysfs.h bcache: make kobj_type structures constant 2023-06-15 07:30:11 -06:00
trace.c
util.c bcache: fix typo 2024-06-24 22:24:56 -07:00
util.h Revert "bcache: remove heap-related macros and switch to generic min_heap" 2025-06-19 20:48:03 -07:00
writeback.c Revert "bcache: remove heap-related macros and switch to generic min_heap" 2025-06-19 20:48:03 -07:00
writeback.h bcache: improve multithreaded bch_sectors_dirty_init() 2022-05-24 06:19:33 -06:00