Xuewei Niu
89edba0f85
gha: Bump Rust version to 1.69.0
...
Keep Rust version the same as kata-containers repo 's version.
Signed-off-by: Xuewei Niu <niuxuewei.nxw@antgroup.com >
2023-07-31 15:01:17 +08:00
Amit Levy
328428ace4
Fixed documentation for cpu quota and period
...
nanoseconds -> microseonds
Noticed while debugging, also fits Red Hat documentation
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/resource_management_guide/sec-cpu
, and I read the implementation to confirm
Signed-off-by: Amit Levy <amitlevy49@gmail.com >
2023-02-06 11:40:42 +08:00
yaoyinnan
c9d02afe33
cgroup: support to set threaded mode in cgroup v2
...
Support to set threaded mode in cgroup v2. The premise of switching to threaded mode is that only the cgroup of cpuset, cpu and pids is supported.
Fixes : #90
Signed-off-by: yaoyinnan <yaoyinnan@foxmail.com >
2022-12-30 12:46:50 +08:00
bin liu
d387c6edc7
error: introduce thiserror to add path to error message
...
For some cgroup file operations, when failed, add the path
and the value (for write operation) to the error message.
Fixes : #93
Signed-off-by: bin liu <liubin0329@gmail.com >
2022-11-18 17:46:02 +08:00
Tim Zhang
99da9eeb1f
Merge pull request #88 from Tim-Zhang/customized-attr-blkio
...
blkio: Add support for customized-attributes
2022-09-23 19:09:11 +08:00
Tim Zhang
ed49cf77e2
blkio: Add support for customized-attributes
...
Customized attributes are useful for customized kernels
Signed-off-by: Tim Zhang <tim@hyper.sh >
2022-09-23 17:43:17 +08:00
quanwei.zqw
f863f31395
fix: support retry for rmdir cgroup path
...
Compatible with runC for remove dir operation
https://github.com/opencontainers/runc/blob/main/libcontainer/cgroups/utils.go#L272
Signed-off-by: quanwei.zqw <quanwei.zqw@alibaba-inc.com >
2022-09-23 10:26:03 +08:00
Felix Obenhuber
92122de48d
clippy: Fix clippy version 0.1.60
...
Fix clippy lints from clippy 0.1.60 (7737e0b 2022-04-04).
Signed-off-by: Felix Obenhuber <felix@obenhuber.de >
2022-04-28 16:36:57 +02:00
quanwei.zqw
fb55383273
fix: read task hang when the cgroup dir removed after open
...
Fixes #62
Signed-off-by: quanweiZhou <quanweiZhou@linux.alibaba.com >
2021-11-10 19:52:42 +08:00
Felix Obenhuber
09499e7614
Add Serialize/Deserialize to resource and stat types
...
Add feature "serde" that derives all resource and statistics types from
Serialize and Deserialize. The feature is turned off by default.
Fixes #54
Fixes #55
Fixes #56
Signed-off-by: Felix Obenhuber <felix@obenhuber.de >
2021-08-03 09:55:10 +02:00
Tim Zhang
ec4cda1dd9
Fix clippy for rust 1.53
...
There are new lints are added in clippy for rust 1.53
Signed-off-by: Tim Zhang <tim@hyper.sh >
2021-06-30 19:07:56 +08:00
Tim Zhang
5aa7e6c90e
Fix clippy for rust 1.52
...
There are new lints are added in clippy for rust 1.52
Signed-off-by: Tim Zhang <tim@hyper.sh >
2021-05-21 00:45:27 +08:00
Tim Zhang
9ec1010a15
Fix clippy warnings
...
Fix clippy warnings.
Signed-off-by: Tim Zhang <tim@hyper.sh >
2021-03-03 13:44:29 +08:00
fupan.lfp
cd5645bb14
cgroup: fix the issue of remove cgroup
...
It should remove the child cgroups recursively
and then remove the parent cgroup, otherwise,
it would remove failed.
Signed-off-by: fupan.lfp <fupan.lfp@antfin.com >
2021-01-25 17:36:49 +08:00
Tim Zhang
f0a695cc00
Add trait bound Sync for Hierarchy
...
So that the struct Cgroup could across await
Signed-off-by: Tim Zhang <tim@hyper.sh >
2021-01-06 22:31:04 +08:00
LiYa'nan
033fa4b857
optimize and refactor: read_to_string and read_i[u]64_from
...
There's so many Duplicated read_string_from method in different
subsystem's implementation, so as read_u64_from/read_i64_from methods.
(1) Move the read_string_from method into `lib.rs`,
called by each subsystem implementation as needed.
(2) Refactor read_u[i]64_from method with the help Rust Generic f
unction `read_from` and wrapped by read_u64_from or read_i64_from.
fix : #20
Signed-off-by: LiYa'nan <oliverliyn@gmail.com >
2020-12-24 09:25:00 +08:00
Tim Zhang
eb6577e3e0
Change package name to cgroups-rs
...
We need a new package name to create a new crate
Signed-off-by: Tim Zhang <tim@hyper.sh >
2020-12-21 15:46:30 +08:00
Tim Zhang
e160df0751
Make read_i64_from private and merge read_str_from to its caller
...
Also remove duplicated read_i64_from.
Signed-off-by: Tim Zhang <tim@hyper.sh >
2020-12-17 17:56:46 +08:00
Qingyuan Hou
a89f4a062e
Support set notify_on_release & release_agent
...
Support set notify_on_release & release_agent
Signed-off-by: Qingyuan Hou <qingyuan.hou@linux.alibaba.com >
2020-12-17 17:56:46 +08:00
Tim Zhang
42ee1bafbd
Make Cgroup can be stored in struct
...
- Change type of hier to remove lifetimes
- impl Clone, Default, Debug for Cgroup
Signed-off-by: Tim Zhang <tim@hyper.sh >
2020-12-17 17:56:46 +08:00
Tim Zhang
b6bb5ae947
docs: Hide Re-exports
...
Make `pub use crate::cgroup::Cgroup` display as struct in docs.
Signed-off-by: Tim Zhang <tim@hyper.sh >
2020-12-17 17:56:46 +08:00
Tim Zhang
abcb5ed031
Add more logs for create_dir error in controller.create
...
We need know the path name which failed to create.
Signed-off-by: Tim Zhang <tim@hyper.sh >
2020-12-17 17:56:46 +08:00
Tim Zhang
1f188be405
Detect subsystems and get root from /proc/self/mountinfo
...
Delete check_support and stop detecting subsystems by finding in the
root folders because the detecting method is not accurate.
Signed-off-by: Tim Zhang <tim@hyper.sh >
2020-12-17 17:56:46 +08:00
Tim Zhang
121f78d8e8
Expose deletion error
...
So that users can retry or do some aftercare.
Fixes : #18
Signed-off-by: Tim Zhang <tim@hyper.sh >
2020-12-17 17:56:46 +08:00
Tim Zhang
567cdb43b3
Use Option as resource fields, remove the update switch: update_values
...
Use idiomatic Option::None to represent optional fields.
This enables updates where not all fields need to be specified.
Signed-off-by: Tim Zhang <tim@hyper.sh >
2020-12-17 17:56:41 +08:00
Tim Zhang
0c18b0855e
Support customized attributes for CpuController and MemController
...
Customized attributes are useful for customized kernels.
Usage:
let resource = &mut cgroups::Resources::default();
resource.cpu.attrs.insert("cpu.cfs_init_buffer_us", "10".to_string());
// apply here
Signed-off-by: Tim Zhang <tim@hyper.sh >
2020-12-17 16:45:41 +08:00
Yang, Wei
ca610bb57e
add add_task_by_tgid
...
Add task by writing thread group id to cgroup.procs.
Signed-off-by: Yang, Wei <wei.yang1@linux.alibaba.com >
Signed-off-by: Tim Zhang <tim@hyper.sh >
2020-12-17 15:57:22 +08:00
Tim Zhang
42eb32765b
Make methods to_controller and controller_name of Subsystem public
...
We need these functions to detect whether subsystem path exists.
Signed-off-by: Tim Zhang <tim@hyper.sh >
2020-10-29 19:32:55 +08:00
zhanghj
cd7e737149
lib: fix compiling error for type i8 in aarch64 environment
...
c_char is equal to i8 on x86, but it is equal to u8 on arm arch,
so we need to use type c_char instead of i8 to avoid compiling error.
Fixes : #9
Signed-off-by: zhanghj <zhanghj.lc@inspur.com >
2020-09-21 05:40:57 -04:00
bin liu
f8d653e987
cpu: change cfs_quota from u64 to i64
...
cfs_quota can be set to -1 to indicate no limit
Fixes : #5
Signed-off-by: bin liu <bin@hyper.sh >
2020-09-14 13:00:43 +08:00
bin liu
250ada183a
cargo fmt
...
Signed-off-by: bin liu <bin@hyper.sh >
2020-09-09 16:42:55 +08:00
bin liu
ff6a0ea82a
add SPDX-License-Identifier for modified files
...
Signed-off-by: bin liu <bin@hyper.sh >
2020-09-09 13:35:46 +08:00
bin liu
bcbf438823
Merge remote-tracking branch 'upstream/master'
2020-09-09 13:27:12 +08:00
bin liu
86b245076c
add SPDX-License-Identifier for all source
...
Add SPDX-License-Identifier for all existing codes.
Fixes : #2
Signed-off-by: bin liu <bin@hyper.sh >
2020-09-07 20:29:40 +08:00
bin liu
cd2c748a74
add systemd controller; add more tests; update blkio stat for v2
...
Signed-off-by: bin liu <bin@hyper.sh >
2020-09-07 14:18:41 +08:00
bin liu
c623dc3fba
add basic v2 cpu/memory functions
...
Signed-off-by: bin liu <bin@hyper.sh >
2020-09-02 22:03:11 +08:00
bin liu
704db324ae
fix: create all dirs
...
Signed-off-by: bin liu <bin@hyper.sh >
2020-09-01 00:01:28 +08:00
bin liu
9fe6cb58e4
change *limit* in memory from u64 to i64
...
Signed-off-by: bin liu <bin@hyper.sh >
2020-08-27 23:06:44 +08:00
bin liu
6b1b26b1fe
copy cpuset after created
...
Signed-off-by: bin liu <bin@hyper.sh >
2020-08-25 10:51:29 +08:00
Levente Kurusa
ed1e8162d5
rust2018: remove extern crate
...
Signed-off-by: Levente Kurusa <lkurusa@acm.org >
2018-12-23 16:57:41 +01:00
Levente Kurusa
01a3c22829
Transition to Rust 2018
...
Signed-off-by: Levente Kurusa <lkurusa@acm.org >
2018-12-23 16:31:05 +01:00
Sam Wilson
751dbc7244
Replace some &String with &Path
2018-10-30 21:51:50 +01:00
Sam Wilson
3413b7d847
Expose the path of controllers for chown
2018-10-30 21:51:50 +01:00
Levente Kurusa
b4cc91f977
Builder pattern for control groups
...
Signed-off-by: Levente Kurusa <lkurusa@acm.org >
2018-10-30 21:47:18 +01:00
Sam Wilson
c63dad411b
Hide most of the previously undocumented methods in a sealed trait
2018-10-12 09:49:52 +02:00
Sam Wilson
7826b798bd
Implement ::std::error::Error
2018-10-12 09:49:52 +02:00
Sam Wilson
84ae587360
Replace println! calls with logging
2018-10-12 09:49:52 +02:00
Hidehito Yabuuchi
adc3323be4
Replace '/*' style comments with '//' style, which is recommended officially
2018-10-06 18:05:59 +02:00
Hidehito Yabuuchi
ae56cb02b9
Use mem::discriminant in impl PartialEq for CgroupError
2018-10-06 18:05:59 +02:00
Hidehito Yabuuchi
2149e1c0c4
Run rustfmt
2018-10-06 18:05:59 +02:00