首页
开源
资讯
活动
开源许可证
软件工程云服务
软件代码质量检测云服务
持续集成与部署云服务
社区个性化内容推荐服务
贡献审阅人推荐服务
群体化学习服务
重睛鸟代码扫描工具
登录
注册
代码拉取完成,页面将自动刷新
Watch
17
Star
55
Fork
14
anolis
/
plugsched
Fork 仓库
加载中
取消
确认
代码
Issues
4
Pull Requests
0
Wiki
1
统计
发行版
最新版
v1.3.0
5dcb156
2023-07-04 17:35
对比
v1.3.0
dtc
## Features - Move sidecar files to independent dir under mod/. - Add conflict check with plugbpf. - Improve Dockerfile and dependent libraries. - Standardized spec of scheduler package. ## Bugfix - Fix a bug when extern var inside a function. - Prevent compiler optimization of static functions in sidecar. - Fix a bug when building with multiple sidecar files. - Fix a bug when handling multiple lines of EXPORT_SYMBOL in macro. - Use the right rule to reference symbols in module. - Fixed a bug with __mod_ symbol reference count. - Set the default value for the new configs. - Don't collect syscalls from sidecars. - Don't keep inline function's code if it's not optimized. - Fix the bug that tasks enqueue between clear_sched_state() and rebuild_sched_state(). ## Docs - Add SPDX to all source files. - Update README about the location information of the RPM package storage and the system versions that plugsched supports by default. ## Tests - Rebuild the container image when test. - Adapt to use colorlog (instead of coloredlogs) with main programs.
最后提交信息为:
Merge pull request #213 from dtcccc/master
v1.2.0
bae17b8
2023-02-17 10:55
对比
v1.2.0
Erwei Deng
# Features - Migrate from Python2 to Python3. - Add tool compile_and_create_rpm.sh to make creating rpm from patch easier. - Bump AnolisOS base docker image from 8.4 to 8.6. - Speed up plugsched-cli init by optimizing the data collection. - Allow more code to be customized by modularizing header files too. - Generalize "boundary/" to be reused by the scheduler, eBPF and etc. - Moving sidecar to init stage, which takes part in modularization. And improve its user experience. - Support the kernel 5.10. - Support the kernel 3.10. (x86_64 only) - Reduce unneccessary callbacks by migrate sched_class for every task during update and rollback. - Add yeild and sched_exec to interface function set. - Print logging to stdio for better user experience when building the scheduler. - Improve stability of extraction, avoiding nasty compiling errors. (tested with kernel/{bpf,sched} and 5.10, 4.19) - Improve readability of extracted code by deleting __init function in unused macro branches. - Support explicitly refer to the module's and vmlinux's symbol with __mod_ and __orig_ preifx respectively. - Add conflict detection of ftrace or others hooked functions' header. # Bugfix - Fix a compiling error of stack_trace_save_tsk function passing a wrong type of argument. - Fix the mempool error that the functions or variables in headers should be static to avoid conflicts with kernel code. - Fix the unknown symbol error when installing module. Add the __used attribute to function pointers. - Fix the bug of extraction of va_list and "..." parameter in export_jump.h. - Fix the bug that some internal functions may be exported functions. Remove them outside. - Fix removing cgroup file twice in syscall test case, that can cause test to fail. - Fix panic and compiling bugs of stack-protector for aarch64. - Fix test/ bug catch_error print error when exitcode=0 and ENOPERM bug when chrt in test_sched_syscall. - Fix tainted_functions that includes __init functions. - Fix the backslashes cannot be deleted when deleting code in extraction stage. - Fix some bugs of the unnamed unions, enums and structures, that can cause the building errors. - Fix the bug where undefined function sets contained optimized functions, which can cause installation failure. - Fix some bugs of plugsched service. Keep service active and remove daemon-reload after starting service. - Fix the bug that some variables only used in __init function will be removed, because scheduler may be use them. - Fix some static interface functions been optimized that will be removed. - Fix both strong and weak symbol existing, and treat overriden weak symbols as outsiders. - Fix two race conditions bewteen redirecting and state rebuilding, that may cause panic. - Fix the bug that num_online_cpus maybe changed between parallel_state_check_init and stop_machine, which may cause system hung. - Fix a panic bug that stack check exits too early when insmod/rmmod. - Fix the stack checker not checking the __sched functions, which may cause panic. - Fix the bug about container that after installing some packages, containers refuses "podman exec -it". - Forbid redirecting mangled functions. - Fix the rebuilding of dying task that cannot found in init_tasklist, which can cause panic. # Docs - Fix some typoes. - Update documentation for new sidecar implementation. # Tests - Remove test case for sched_rt_runtime_us. - Add test case for stack pivot. - Add test case for memory pressure. - Add test case for reboot. - Add test case for bare package run-time performance. # Others - Using inner function __sched_setscheduler() to replace the interface function sched_setscheduler().
最后提交信息为:
Merge pull request #188 from Dengerwei/master
v1.1.1
cee8730
2022-06-30 17:34
对比
v1.1.1
Yihao Wu
- Fix wrong list of optimized functions caused by the bug makefile and module.symvers gets overwritten when cli init.
最后提交信息为:
cli: put off copying the vmlinux and Module.symver files
v1.1.0
3324dd0
2022-06-16 11:32
对比
v1.1.0
Yihao Wu
Features --- - Add a test framework. And integrate 5 automated test cases into CI. - Add fully support aarch64. - Add fully support for AnolisOS 8. - Add the per-cpu mempool infrastructure. It could be used like Linux kernel's per-cpu variable, as an extension to the existing mempool. - Support installing multiple versions of scheduler in multiple kernel versions system. BugFixes --- - Fix installing failure bug in the Quick Start, that it used to break once cloud OS images upgrade. - Fix installing failure bug by ignoring confliction among hotfixes themselve, instead of with Plugsched. - Fix installing failure bug that after rebooting, scheduler won't be loaded. - Fix memory leak when using mempool. - Fix user-unfriendly bug that experimental BAD scheduler.rpm (maybe poorly programmed by user) couldn't be erased. - Fix potential panic bug caused by bottom-half of __schedule by adding callees of the bottom-half as interfaces. - Fix potential panic bug caused by GCC mangling (.isra, .constprop, .cold, etc.). - Fix potential panic bug caused by kernel modules (mainly KVM), because modules didn't participate in modularization. - Fix confliction checking with hotfixes. Now we check it each time scheduler is loaded, rather than only when installing rpm. - Fix some warnings with no harm. Docs --- - Clarify how Plugsched deals with data-upgrade (Rebuild or inherit or reinitialize), now this technique is illustrated clearly. - Clarify that users shouldn't modify the size and semantic of data structure or its fields. - Enrich the Quick Start, let users get hands on with sched-feature too. - Update the architecture description figure. Other improvements --- - Simplify sched_boundary.yaml by removing useless keys (sched_outsider & force_outsider). Now users won't be confused about them. - Improve user experience when debugging by outputting make result to the screen. Now users locate compiling errors more easily.
最后提交信息为:
!48
Update changelog for release 1.1.0
v1.0
18b58c3
2022-03-07 14:34
对比
v1.0.0
Yihao Wu
First release
最后提交信息为:
!7
Add two docs of non-standard scenarios and doc for sidecar
下载
请输入验证码,防止盗链导致资源被占用
取消
下载