]> git.apps.os.sepia.ceph.com Git - ceph-ci.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)
committerLaura Flores <lflores@ibm.com>
Wed, 9 Jul 2025 15:47:25 +0000 (15:47 +0000)
commit3f5e619bbf89e40b67d335bd00917e7d041e500a
tree080cec6b1e4a49b3d2391fad55b5579fb7b7015a
parent9d97bec9c80eb28ce912bfb900d1b4c7f86f5d86
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>
(cherry picked from commit 6bbc3f9b9947575d91748bba849d9e7a1e7d27e5)
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