kernel.sched_domain.cpu0.domain0.flags

[root@localhost ~]# sysctl kernel.sched_domain.cpu0.domain0.flags
kernel.sched_domain.cpu0.domain0.flags = 4655
其中4655的十六进制是0x11d6,这个值的含义是啥呢?
在linux/sched/topology.h 中通过下面的值组合处理
#define SD_BALANCE_NEWIDLE	0x0001	/* Balance when about to become idle */
#define SD_BALANCE_EXEC		0x0002	/* Balance on exec */
#define SD_BALANCE_FORK		0x0004	/* Balance on fork, clone */
#define SD_BALANCE_WAKE		0x0008  /* Balance on wakeup */
#define SD_WAKE_AFFINE		0x0010	/* Wake task to waking CPU */
#define SD_ASYM_CPUCAPACITY	0x0020  /* Domain members have different CPU capacities */
#define SD_SHARE_CPUCAPACITY	0x0040	/* Domain members share CPU capacity */
#define SD_SHARE_POWERDOMAIN	0x0080	/* Domain members share power domain */
#define SD_SHARE_PKG_RESOURCES	0x0100	/* Domain members share CPU pkg resources */
#define SD_SERIALIZE		0x0200	/* Only a single load balancing instance */
#define SD_ASYM_PACKING		0x0400  /* Place busy groups earlier in the domain */
#define SD_PREFER_SIBLING	0x0800	/* Prefer to place tasks in a sibling domain */
#define SD_OVERLAP		0x1000	/* sched_domains of this level overlap */
#define SD_NUMA			0x2000	/* cross-node balancing */

例如可以针对唤醒任务是考虑SD中的负载,选择负载低的cpu方式
则可以设置这个flags为123F,则是下面这些的组合
#define SD_OVERLAP		0x1000	/* sched_domains of this level overlap *
#define SD_SERIALIZE		0x0200	/* Only a single load balancing instance */
#define SD_WAKE_AFFINE		0x0010	/* Wake task to waking CPU */
#define SD_ASYM_CPUCAPACITY	0x0020  /* Domain members have different CPU capacities */
#define SD_BALANCE_NEWIDLE	0x0001	/* Balance when about to become idle */
#define SD_BALANCE_EXEC		0x0002	/* Balance on exec */
#define SD_BALANCE_FORK		0x0004	/* Balance on fork, clone */
#define SD_BALANCE_WAKE		0x0008  /* Balance on wakeup */

猜你喜欢

转载自blog.csdn.net/tiantao2012/article/details/109020997
今日推荐