Re: [PATCH] mm, page_alloc: convert page_group_by_mobility_disable to static key

From: Mel Gorman
Date: Thu Dec 29 2016 - 07:00:32 EST


On Tue, Dec 20, 2016 at 02:43:12PM +0100, Vlastimil Babka wrote:
> The flag is rarely enabled or even changed, so it's an ideal static key
> candidate. Since it's being checked in the page allocator fastpath via
> gfpflags_to_migratetype(), it may actually save some valuable cycles.
>
> Here's a diff excerpt from __alloc_pages_nodemask() assembly:
>
> -movl page_group_by_mobility_disabled(%rip), %ecx
> +.byte 0x0f,0x1f,0x44,0x00,0
> movl %r9d, %eax
> shrl $3, %eax
> andl $3, %eax
> -testl %ecx, %ecx
> -movl $0, %ecx
> -cmovne %ecx, %eax
>
> I.e. a NOP instead of test, conditional move and some assisting moves.
>
> Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx>

Acked-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx>

--
Mel Gorman
SUSE Labs