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: ceph-devel-owner@xxxxxxxxxxxxxxx [ceph-devel-owner@xxxxxxxxxxxxxxx] on behalf of Andreas Joachim Peters [Andreas.Joachim.Peters@xxxxxxx] Sent: 18 September 2014 14:18 To: Janne Grunau; ceph-devel@xxxxxxxxxxxxxxx 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: ceph-devel-owner@xxxxxxxxxxxxxxx [ceph-devel-owner@xxxxxxxxxxxxxxx] on behalf of Janne Grunau [j@xxxxxxxxxx] Sent: 18 September 2014 12:33 To: ceph-devel@xxxxxxxxxxxxxxx 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 majordomo@xxxxxxxxxxxxxxx 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 majordomo@xxxxxxxxxxxxxxx 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html