Re: [ 20/27] s390/mm: have 16 byte aligned struct pages

From: Heiko Carstens
Date: Fri Dec 07 2012 - 04:58:51 EST


On Thu, Dec 06, 2012 at 04:59:04PM -0800, Greg Kroah-Hartman wrote:
> 3.6-stable review patch. If anyone has any objections, please let me know.
>
> ------------------
>
> From: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
>
> commit 4bffbb3455372a26816e364fb4448810f7014452 upstream.
>
> Select HAVE_ALIGNED_STRUCT_PAGE on s390, so that the slub allocator can make
> use of compare and swap double for lockless updates. This increases the size
> of struct page to 64 bytes (instead of 56 bytes), however the performance gain
> justifies the increased size:
>
> - now excactly four struct pages fit into a single cache line; the
> case that accessing a struct page causes two cache line loads
> does not exist anymore.
> - calculating the offset of a struct page within the memmap array
> is only a simple shift instead of a more expensive multiplication.
>
> A "hackbench 200 process 200" run on a 32 cpu system did show an 8% runtime
> improvement.
>
> Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
> Signed-off-by: CAI Qian <caiqian@xxxxxxxxxx>
> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

Same as for 3.4: compare and swap double is not available for 3.6 on s390.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/