Re: [PATCH 01/11] DIO: Separate fields only used in the submission path from struct dio

From: Jeff Moyer
Date: Mon Aug 08 2011 - 13:59:30 EST


Andi Kleen <andi@xxxxxxxxxxxxxx> writes:

> From: Andi Kleen <ak@xxxxxxxxxxxxxxx>
>
> This large, but largely mechanic, patch moves all fields in struct dio
> that are only used in the submission path into a separate on stack
> data structure. This has the advantage that the memory is very likely
> cache hot, which is not guaranteed for memory fresh out of kmalloc.
>
> This also gives gcc more optimization potential because it can easier
> determine that there are no external aliases for these variables.
>
> The sdio initialization is a initialization now instead of memset.
> This allows gcc to break sdio into individual fields and optimize
> away unnecessary zeroing (after all the functions are inlined)
>
> Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>

The pages array is only used on submission. Why did it land in the
struct dio? I would also think you'd want to keep it close to
curr_page, head, tail.

Cheers,
Jeff
--
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/