作者roylee17 (把我id还我阿......)
看板LinuxDev
标题Re: [问题] set processor affinity
时间Sat Jul 17 15:08:49 2010
※ 引述《GTFX (我达达的马蹄~)》之铭言:
: ※ 引述《roylee17 (把我id还我阿......)》之铭言:
: : $ taskset
: : taskset (util-linux-ng 2.17.2)
: : usage: taskset [options] [mask | cpu-list] [pid | cmd [args...]]
: : set or get the affinity of a process
: : -p, --pid operate on existing given pid
: : -c, --cpu-list display and specify cpus in list format
: : -h, --help display this help
: : -V, --version output version information
: : The default behavior is to run a new command:
: : taskset 03 sshd -b 1024
: : 你的 taskset 套件有不一样吗 :)
: 感谢 :) 是我没看清楚
: 另外问个问题,如果这个process create了一些thread,请问这些thread会migrate吗?
: 还是也是会bind在这个设定的core上面
设定的 cpumask 一样会套用在 child process/threads
这个 cpumask 会在 fork/clone 的时候被 child process 继承
该值对应在 task_struct 中,cpus_allowed 栏位
而在 fork/clone 的过程中,这个栏位会随着 task_struct 其他栏位
从 parent process 拷贝过来,参考下列的片段:
<LINUX/kernel/fork.c>:
do_fork()
copy_process()
dup_task_struct()
arch_dup_task_struct():
int __attribute__((weak))
arch_dup_task_struct(struct task_struct *dst,
struct task_struct *src)
{
*dst = *src;
return 0;
}
这是 kernel 提供的预设行为,各个 architecture 可以提供
自己的实做,不过没看到有哪个 architecture 对此行为作调整
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.104.36.142
1F:推 GTFX:感谢Roy 快回Andes吧 XD 07/17 16:01