Skip to content

introduce bio-cgroup into io-throttle

Gui Jianfeng containers lkml 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest7 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/7porting bio-cgroup to 2.6.28-rc2-mm1block/blk-ioc.c fs/buffer.c fs/direct-io.c +16 more+452 -260 replies
2/7Porting io-throttle v11 to 2.6.28-rc2-mm1Documentation/controllers/io-throttle.txt block/Makefile block/blk-core.c +15 more+1474 -190 replies
3/7Introduction for new featureDocumentation/controllers/io-throttle.txt+28 -10 replies
4/7enables bio-cgroup in io-throttle, have to mount togetherblock/blk-io-throttle.c include/linux/biotrack.h include/linux/memcontrol.h +3 more+43 -360 replies
5/7announce tasks moving in bio-cgroupinclude/linux/biotrack.h mm/biotrack.c+41 -00 replies
6/7support checking of subsystem dependenciesDocumentation/cgroups/cgroups.txt include/linux/cgroup.h kernel/cgroup.c+27 -10 replies
7/7let io-throttle support using bio-cgroup idblock/blk-core.c block/blk-io-throttle.c include/linux/biotrack.h +2 more+339 -70 replies

Reviews trailers per patch

None of the 7 patches has a Reviewed-by or Acked-by.

PatchGui Jianfeng
SeriesSigned-of-by Signed-of-by Signed-of-by
1/7
2/7
3/7
4/7Signed-of-by
5/7Signed-of-by
6/7
7/7Signed-of-by

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 0/7] introduce bio-cgroup into io-throttle

Hi all,

For the moment, io-throttle can trace buffered-io by means of memcg. This
patchset introduces bio-cgroup into io-throttle, and splits it from memcg.
For the current implemetation, there are two ways can be used to trace
buffered-io. The first is mount io-throttle and bio-cgroup together.
This is a aggressive way, because there might have some troubles if other
subsystem also want to use bio-cgroup.
The other way is more gentle, io-throttle can use the bio-cgroup id to
associate with a given bio-cgroup. If an association is created, synchronization
between two groups will be performed automatically. This means if one task
adds into or removes from an associated bio-cgroup group, the corresponding
io-throttle group will also add or remove this task.
If one io-throttle associates with a bio-cgroup group, tasks moving in this
io-throttle group is forbidden.
A new io-throttle file blockio.bio_id is added. This file is used to create or remove an association. blockio.bio_id accessing in root hierarchy is not allowed. Following command
is valid.
$echo 1 > /mnt/throttle/group1/blockio.bio_id (associate this io-throttle group with bio-cgroup 1) $echo -1 > /mnt/throttle/group1/blockio.bio_id (remove association between this io-throttle group and bio-cgroup 1)

One bio-cgroup group can't be associated twice. If you do so, error message will show. If io-throttle has been mounted with bio-cgroup, all blockio.bio_id related actions are of no effect.

Dependency checking callback is introduced into cgroup.
You can't mount io-throttle with other subsystems except bio-cgroup. Beacuse other subsystem might break the association between io-throttle and bio-cgroup.

This patchset is against 2.6.28-rc2-mm1.

Signature · 2 lines
Regards
Gui Jianfeng