隔离cpu
1.运行htop,观察各个cpu负载情况:
2.修改/etc/default/grub
GRUB_CMDLINE_LINUX=“isolcpus=2”
更新
sudo update-grub
重启
3.htop查看负载分布
cpu的隔离没有问题。
编写内核模块来开启内核线程并绑定cpu
内核线程操作的头文件为<linux/kthread.h>,其中
kthread_create为一个宏定义函数,实则调用的是kthread_create_on_node。用来开启一个线程。
kthread_bind将创建的线程绑定到cpu上面
wake_up_process启动线程
kthread_stop是停止线程
内核模块程序
#include <linux/module.h>
#include <linux/fs.h>
#include <linux/cdev.h>
#include <linux/timer.h>
#include <linux/kthread.h>
#include <linux/sched.h>
#include <linux/delay.h>