Anolis龙蜥操作系统安装测试plugsched

简介: Anolis龙蜥操作系统安装测试plugsched

Anolis开源plugsched 是 Linux 内核调度器子系统热升级的 SDK,它可以实现在不重启系统、应用的情况下动态替换调度器子系统。

龙蜥实验室中2核的机器1小时的时间不能完成内核的编译,需要阿里云ECS创建一台16核以上的按量计费机器,安装 Anolis OS 7.9 ANCK镜像,下载的kernel源码包是匹配这个版本的系统
因为需要编译内核,所以占用cpu较多,其他模块占用cpu较少
plugsched sdk在容器中可以找到
运行的脚本内容为以下内容,按 https://gitee.com/anolis/plugsched 说明整理,包括debuginfo包安装,容器启动,编译rpm包,安装rpm包,测试等过程,都在脚本中完成

#  Anolis OS 7.9 ANCK 使用
echo "=====安装 debuginfo====="
yum install anolis-repos -y
yum install yum-utils podman kernel-debuginfo-$(uname -r) kernel-devel-$(uname -r) --enablerepo=Plus-debuginfo --enablerepo=Plus -y
# yum install 如果没有安装debuginfo包,这里下载后安装
wget -c https://mirrors.openanolis.cn/anolis/7.9/Plus/x86_64/debug/Packages/kernel-debuginfo-common-x86_64-$(uname -r).rpm
rpm -ivh kernel-debuginfo-common-x86_64-$(uname -r).rpm
wget -c https://mirrors.openanolis.cn/anolis/7.9/Plus/x86_64/debug/Packages/kernel-debuginfo-$(uname -r).rpm
rpm -ivh kernel-debuginfo-$(uname -r).rpm
mkdir /tmp/work && cd /tmp/work
yumdownloader --source kernel-$(uname -r) --enablerepo=Plus --enablerepo=Plus-debuginfo
wget -c https://mirrors.openanolis.cn/anolis/7.9/Plus/source/Packages/kernel-4.19.91-25.7.an7.src.rpm
# 启动容器
podman run -itd --name=plugsched -v /tmp/work:/tmp/work -v /usr/src/kernels:/usr/src/kernels -v /usr/lib/debug/lib/modules:/usr/lib/debug/lib/modules docker.io/plugsched/plugsched-sdk

echo "=====创建 rpm====="
cat >/tmp/work/core.diff <<EOF
diff --git a/scheduler/kernel/sched/mod/core.c b/scheduler/kernel/sched/mod/core.c
index 9f16b72..21262fd 100644
--- a/scheduler/kernel/sched/mod/core.c
+++ b/scheduler/kernel/sched/mod/core.c
@@ -3234,6 +3234,9 @@ static void __sched notrace __schedule(bool preempt)
        struct rq *rq;
        int cpu;
 
+       if (sched_feat(PLUGSCHED_TEST))
+               printk_once("I am the new scheduler: __schedule\n");
+
        cpu = smp_processor_id();
        rq = cpu_rq(cpu);
        prev = rq->curr;
diff --git a/scheduler/kernel/sched/mod/features.h b/scheduler/kernel/sched/mod/features.h
index 4c40fac..8d1eafd 100644
--- a/scheduler/kernel/sched/mod/features.h
+++ b/scheduler/kernel/sched/mod/features.h
@@ -1,4 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0 */
+SCHED_FEAT(PLUGSCHED_TEST, false)
+
 /*
  * Only give sleepers 50% of their service deficit. This allows
  * them to run sooner, but does not allow tons of sleepers to
EOF

cat >/tmp/work/create_rpm.sh <<EOF
set -x
cd /tmp/work
uname_r=\$(uname -r)
plugsched-cli extract_src kernel-\${uname_r%.*}.src.rpm ./kernel
plugsched-cli init $(uname -r) ./kernel ./scheduler
patch -p1 <core.diff
plugsched-cli build /tmp/work/scheduler
cp /usr/local/lib/plugsched/rpmbuild/RPMS/x86_64/scheduler-xxx-\${uname_r%.*}.yyy.x86_64.rpm /tmp/work/scheduler-xxx.rpm
EOF

# 执行容器中命令
podman exec plugsched bash /tmp/work/create_rpm.sh

echo "=====安装 scheduler====="
cat /sys/kernel/debug/sched_features
rpm -ivh /tmp/work/scheduler-xxx.rpm
lsmod | grep scheduler
dmesg | tail -n 10
cat /sys/kernel/debug/sched_features
echo PLUGSCHED_TEST > /sys/kernel/debug/sched_features
dmesg | tail -n 5

echo "=====移除 scheduler====="
rpm -e scheduler-xxx
dmesg | tail -n 8
cat /sys/kernel/debug/sched_features
相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
目录
相关文章
|
5天前
|
弹性计算 运维 开发者
os-copilot-操作系统智能助手测试和总结
OS-copilot的深度测评,使用co提供的 -t自动开启agent通道,-f批量处理task任务,通道 | 参数的文件理解和解析。
|
5天前
|
运维 关系型数据库 MySQL
os-copilot安装_配置_功能测试全集
我是一位中级运维工程师,我平时工作会涉及到 各类服务器的 数据库 与 java环境配置 操作。 我顺利使用了OS Copilot的 -t -f | 功能,我的疑惑是不能在自动操作过程中直接给与脚本运行权限,必须需要自己运行一下 chmod 这个既然有了最高的权限,为什么就不能直接给与运行权限呢。 我认为 -t 功能有用,能解决后台运行基础命令操作。 我认为 -f 功能有用,可以通过task文件中撰写连续任务操作。 我认为 | 对文件理解上有很直接的解读,可以在理解新程序上有很大帮助。
149 84
|
4天前
|
人工智能 Ubuntu Linux
os-copilot使用之全面配置与使用测试
作为一名个人开发者,我主要从事云服务器架设工作。近期,我成功使用了OS Copilot的 `-t -f |` 功能,解决了执行语句、连续提问及快速理解文件的问题。我发现这些功能非常实用,特别是在使用Workbench时能快速调用AI助手。此外,建议将AI功能与xShell工具联动,进一步提升效率。文中详细记录了购买服务器、远程连接、安装配置OS Copilot以及具体命令测试的过程,展示了如何通过快捷键和命令行操作实现高效开发。
105 67
|
7天前
|
弹性计算 运维 监控
OS Copilot-操作系统智能助手测试报告-新人体验
测试体验OS copilo安装、启动,体验copilot的提供的`-t`、`-f`、`|`通道的指令在在精准分析、批量任务处理、文件分析的能力。并记录下来。
142 18
|
2天前
|
弹性计算 运维 自然语言处理
OS Copilot综合功能测试
作为一名初级运维工程师,我主要负责服务器的基础运维操作。最近使用了阿里云的OS Copilot工具,其 `-t`、`-f` 和 | 功能极大地提升了我的工作效率。 -t 功能帮助我查询环境状态,解决了许多配置问题。 -f 功能支持多任务处理,例如搭建并测试Nginx服务。 | 功能可辅助分析文件内容,简化了复杂日志和脚本的解读。 建议:希望未来版本中能合并 `-t` 和 `-f` 的功能,并添加直接获取最高权限操作的参数,进一步提升效率。
32 8
|
1天前
|
人工智能 运维 监控
os-copilot-操作系统智能助手-测试人员使用总结
os-copilot-操作系统智能助手`-t`、`-f`、`|`等功能的使用总结
|
5天前
|
弹性计算 运维 Ubuntu
os-copilot在Alibaba Cloud Linux镜像下的安装与功能测试
我顺利使用了OS Copilot的 -t -f 功能,我的疑惑是在换行的时候就直接进行提问了,每次只能写一个问题,没法连续换行更有逻辑的输入问题。 我认为 -t 管道 功能有用 ,能解决环境问题的连续性操作。 我认为 -f 管道 功能有用 ,可以单独创建可连续性提问的task问题。 我认为 | 对文件直接理解在新的服务器理解有很大的帮助。 此外,我还有建议 可以在非 co 的环境下也能进行连续性的提问。
47 7
|
7天前
|
人工智能 Anolis 芯片
英特尔携手龙蜥,共筑未来操作系统 | 2024龙蜥大会
在2024龙蜥大会中,本次分享的主题是关于英特尔公司与龙蜥社区的合作成果和未来计划。 1.Inter与龙蜥携手共建社区 2.Inter Arch SIG近期内核贡献 3.Inter:龙蜥内核历年贡献总结 4.Inter:开源技术贡献 5.Inter与龙蜥社区实践展示 6.Inter+龙蜥:未来展望
|
7天前
|
存储 人工智能 算法
加速推进 AI+OS 深度融合,打造最 AI 的服务器操作系统 | 2024龙蜥大会主论坛
本次方案的主题是加速推进 AI+OS 深度融合,打造最 AI 的服务器操作系统,从产业洞察、创新实践、发展建议三个方面,指出 AI 原生应用对操作系统提出更高要求,需要以应用为导向、以系统为核心进行架构创新设计,要打造最 AI 的服务器操作系统。 1. 产业洞察 2. 创新实践 3. 发展建议
|
7天前
|
人工智能 Cloud Native 安全
圆桌会议:聚焦AI时代机遇下操作系统产业的进化与重构 | 2024龙蜥大会主论坛
2024龙蜥大会主论坛聚焦AI时代的操作系统产业进化与重构。专家们围绕开源社区建设、商业化衍生、替代方案及AI应用等议题展开讨论。中国工程院陈纯院士强调开源社区的重要性,阿里云蒋江伟提出操作系统的兼容性和包容性,AMD潘晓明表示将加强国际合作,中兴通讯刘东则探讨了操作系统与AI的深度融合。会议一致认为,龙蜥操作系统应抓住AI发展机遇,构建安全可靠的生态体系,推动国产操作系统走向国际化。

热门文章

最新文章