[PATCH 16/16] mm: pass get_user_pages_fast iterator arguments in a structure

Nadav Amit nadav.amit at gmail.com
Wed Jun 12 11:27:09 AEST 2019


> On Jun 11, 2019, at 5:52 PM, Nicholas Piggin <npiggin at gmail.com> wrote:
> 
> Christoph Hellwig's on June 12, 2019 12:41 am:
>> Instead of passing a set of always repeated arguments down the
>> get_user_pages_fast iterators, create a struct gup_args to hold them and
>> pass that by reference.  This leads to an over 100 byte .text size
>> reduction for x86-64.
> 
> What does this do for performance? I've found this pattern can be
> bad for store aliasing detection.

Note that sometimes such an optimization can also have adverse effect due to
stack protector code that gcc emits when you use such structs.

Matthew Wilcox encountered such a case:
https://patchwork.kernel.org/patch/10702741/


More information about the Linuxppc-dev mailing list