Hi Andreas, The per_chunk_alignment addresses a backward compatible change in the way they are calculated. The problem was that the initial calculation lead to oversized chunks. The long explanation is at https://github.com/ceph/ceph/commit/c7daaaf5e63d0bd1d444385e62611fe276f6ce29
Please let me know if you see something wrong :-) Cheers On 18/09/2014 14:34, Andreas Joachim Peters wrote: > Hi Janne/Loic, > there is more confusion atleast on my side ... > > I had now a look at the jerasure plug-in and I am now slightly confused why > you have two ways to return in get_alignment ... one is as I assume and > another one is "per_chunk_alignment" ... what should the function return Loic? > > Cheers Andreas. > ________________________________________ > From: [email protected] [[email protected]] on > behalf of Andreas Joachim Peters [[email protected]] > Sent: 18 September 2014 14:18 > To: Janne Grunau; [email protected] > Subject: RE: v2 aligned buffer changes for erasure codes > > Hi Janne, > => (src/erasure-code/isa/README claims it needs 16*k byte aligned buffers > > I should update the README since it is misleading ... it should say 8*k or > 16*k byte aligned chunk size depending on the compiler/platform used, it is > not the alignment of the allocated buffer addresses.The get_alignment in the > plug-in function is used to compute the chunk size for the encoding (as I > said not the start address alignment). > > If you pass k buffers for decoding each buffer should be aligned at least to > 16 or as you pointed out better 32 bytes. > > For encoding there is normally a single buffer split 'virtually' into k > pieces. To make all pieces starting at an aligned address one needs to align > the chunk size to e.g. 16*k. For the best possible performance on all > platforms we should change the get_alignment function in the ISA plug-in to > return 32*k if there are no other objections ?!?! > > Cheers Andreas. > ________________________________________ > From: [email protected] [[email protected]] on > behalf of Janne Grunau [[email protected]] > Sent: 18 September 2014 12:33 > To: [email protected] > Subject: v2 aligned buffer changes for erasure codes > > Hi, > > following a is an updated patchset. It passes now make check in src > > It has following changes: > * use 32-byte alignment since the isa plugin use AVX2 > (src/erasure-code/isa/README claims it needs 16*k byte aligned buffers > but I can't see a reason why it would need more than 32-bytes > * ErasureCode::encode_prepare() handles more than one chunk with padding > > cheers > > Janne > -- > To unsubscribe from this list: send the line "unsubscribe ceph-devel" in > the body of a message to [email protected] > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- > To unsubscribe from this list: send the line "unsubscribe ceph-devel" in > the body of a message to [email protected] > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- > To unsubscribe from this list: send the line "unsubscribe ceph-devel" in > the body of a message to [email protected] > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- Loïc Dachary, Artisan Logiciel Libre
signature.asc
Description: OpenPGP digital signature
