Re: [PATCH 0/8] Fix bcache regression with equality-aware heap APIs
From: Andrew Morton
Date: Fri Jun 13 2025 - 14:04:52 EST
On Fri, 13 Jun 2025 23:26:33 +0900 Robert Pang <robertpang@xxxxxxxxxx> wrote:
> Hi Andrew
>
> Bcache is designed to boost the I/O performance of slower storage
> (HDDs, network-attached storage) by leveraging fast SSDs as a block
> cache. This functionality is critical in significantly reducing I/O
> latency. Therefore, any notable increase in bcache's latency severely
> diminishes its value. For instance, our tests show a P100 (max)
> latency spike from 600 ms to 2.4 seconds every 5 minutes due to this
> regression. In real-world environments, this increase will cause
> frequent timeouts and stalls in end-user applications that rely on
> bcache's latency improvements, highlighting the urgent need to address
> this issue.
Great, thanks. Let's please incorporate this into the v2 changelogging.
> > > Also, if we are to address this regression in -stable kernels then
> > > reverting 866898efbb25 is an obvious way - it is far far safer. So
> > > please also tell us why the proposed patchset is a better way for us to
> > > go.
> > >
> > I agree that reverting 866898efbb25 is a much safer and smaller change
> > for backporting. In fact, I previously raised the discussion of whether
> > we should revert the commit or instead introduce an equality-aware API
> > and use it. The bcache maintainer preferred the latter, and I also
> > believe that it is a more forward-looking approach. Given that bcache
> > has run into this issue, it's likely that other users with similar use
> > cases may encounter it as well. We wouldn't want those users to
> > continue relying on the current default heapify behavior. So, although
> > reverting may be more suitable for stable in isolation, adding an
> > equality-aware API could better serve a broader set of use cases going
> > forward.
"much safer and smaller" is very desirable for backporting, please.
After all, 866898efbb25 didn't really fix anything and reverting that
takes us back to a known-to-work implementation.
I of course have no problem making the changes in this patchset for
"going forward"!
So if agreeable, please prepare a patch which reverts 866898efbb25.
Robert's words above are a great basis for that patch's description.