Re: [PATCH v2] cpuset: use static key better and convert to new API

From: Zefan Li
Date: Thu Apr 14 2016 - 04:34:12 EST


On 2016/4/6 17:19, Vlastimil Babka wrote:
> An important function for cpusets is cpuset_node_allowed(), which optimizes on
> the fact if there's a single root CPU set, it must be trivially allowed. But
> the check "nr_cpusets() <= 1" doesn't use the cpusets_enabled_key static key
> the right way where static keys eliminate branching overhead with jump labels.
>
> This patch converts it so that static key is used properly. It's also switched
> to the new static key API and the checking functions are converted to return
> bool instead of int. We also provide a new variant __cpuset_zone_allowed()
> which expects that the static key check was already done and they key was
> enabled. This is needed for get_page_from_freelist() where we want to also
> avoid the relatively slower check when ALLOC_CPUSET is not set in alloc_flags.
>
> Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx>

Looks good to me.

Acked-by: Zefan Li <lizefan@xxxxxxxxxx>