mirror-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
..
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
alloc.c Revert "bcache: remove heap-related macros and switch to generic min_heap" 2025-06-19 20:48:03 -07:00
bcache.h Revert "bcache: remove heap-related macros and switch to generic min_heap" 2025-06-19 20:48:03 -07:00
bcache_ondisk.h
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
debug.c
debug.h
extents.c Revert "bcache: remove heap-related macros and switch to generic min_heap" 2025-06-19 20:48:03 -07:00
extents.h
features.c
features.h
io.c
journal.c closures: CLOSURE_CALLBACK() to fix type punning 2023-11-24 00:29:58 -05:00
journal.h
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
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
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