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

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to