]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd: Make EC alignment independent of page size.
authorAlex Ainscow <aainscow@uk.ibm.com>
Wed, 9 Apr 2025 12:49:49 +0000 (13:49 +0100)
committerAlex Ainscow <aainscow@uk.ibm.com>
Tue, 1 Jul 2025 12:03:30 +0000 (13:03 +0100)
commit6bbc3f9b9947575d91748bba849d9e7a1e7d27e5
tree16e5bbceaf82185fdd801f20aeef931f7e9e5142
parentd17f06b5fcb2fc749c4d0cbae9beb963bd06c145
osd: Make EC alignment independent of page size.

Code which manipulates full pages is often faster. To exploit this
optimised EC was written to deal with 4k alignment wherever possible.
When inputs are not aligned, they are quickly aligned to 4k.

Not all architectures use 4k page sizes. Some power architectures for
example have a 64k page size.  In such situations, it is unlikely that
using 64k page alignment will provide any performance boost, indeed it
is likely to hurt performance significantly.  As such, EC has been
moved to maintain its internal alignment (4k), whcih can be configured.

This has the added advantage, that we can can potentially tweak this
value in the future.

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
src/osd/ECBackend.cc
src/osd/ECCommon.cc
src/osd/ECTransaction.cc
src/osd/ECUtil.cc
src/osd/ECUtil.h
src/test/osd/TestECBackend.cc
src/test/osd/test_ec_transaction.cc
src/test/osd/test_extent_cache.cc