On Tue, Mar 18, 2025 at 08:42:36AM +0000, John Garry wrote:
I see that this is what's done in the current series now. But that feels
very wrong. Why do you want to deprive the user of this nice and useful
code if they don't have the right hardware?
I don't think it's fair to say that we deprive the user - so far we just
don't and nobody has asked for atomics without HW support.
You're still keeping this nice functionality from the users..
Why do we limit us to the
hardware supported size when we support more in software?
As I see, HW offload gives fast and predictable performance.
The COW method is just a (slow) fallback is when HW offload is not possible.
If we want to allow the user to avail of atomics greater than the mounted
bdev, then we should have a method to tell the user of the optimised
threshold. They could read the bdev atomic limits and infer this, but that
is not a good user experience.
Yes, there should be an interface to expose that.
But even without
the hardware acceleration a guaranteed untorn write is a really nice
feature to have.