CHECK_ASYM_PACKING(9) Driver Basics CHECK_ASYM_PACKING(9)NAME
check_asym_packing - Check to see if the group is packed into the sched
doman.
SYNOPSIS
int check_asym_packing(struct lb_env * env, struct sd_lb_stats * sds);
ARGUMENTS
env
The load balancing environment.
sds
Statistics of the sched_domain which is to be packed
DESCRIPTION
This is primarily intended to used at the sibling level. Some cores
like POWER7 prefer to use lower numbered SMT threads. In the case of
POWER7, it can move to lower SMT modes only when higher threads are
idle. When in lower SMT modes, the threads will perform better since
they share less core resources. Hence when we have idle threads, we
want them to be the higher ones.
This packing function is run on idle threads. It checks to see if the
busiest CPU in this domain (core in the P7 case) has a higher CPU
number than the packing function is being run on. Here we are assuming
lower CPU number will be equivalent to lower a SMT thread number.
RETURN
1 when packing is required and a task should be moved to this CPU. The
amount of the imbalance is returned in *imbalance.
COPYRIGHTKernel Hackers Manual 3.11 November 2013 CHECK_ASYM_PACKING(9)