linux plumbers
TRANSCRIPT
- 1. List of topics 1. Control loops in userspace 2. Hierarchical Cgroup support in userland 3. Efficient utilization by overcommitment 4. dcache management 5. Memory controller improvements 6. Checkpoint/restart in the userspace 7. Container in a file 8. Proc fs virtualization 9. Entering a container 10.vzctl for LXC 11.Extending CPU accounting stats
- 2. dcache mgmt 1/2: problems Problem 1 the number of dentries grows uncontrollable Entries can be pinned with low effort, leading to all memory being used and unreclaimable Leading to system being unresponsive/stuck Problem 2 Unfair dentry cache usage distribution among containers
- 3. dcache mgmt 2/2: Solution Account for and limit dcache usage per (smth) Currently (smth) is superblock Shrink dcache per (smth) once limit it hit
- 4. checkpoint-restore 1/3 Checkpoint: freeze task(s) with freezer cgroup read tasks creds via /proc some patches extending kernel API required read tasks regs with PTRACE dump tasks mem with PTRASE_SEIZE (new)
- 5. checkpoint-restore 2/3 Restore: Fork task tree CLONE_SETPID required each task restores its creds uid/gid open files capabilities etc. each task calls execve() on an image ELF binfmt handler extension required
- 6. checkpoint-restore 3/3 TODO: some shared resources (fdtable, mm_struct) signals handling sockets container environment namespaces IPC networking
- 7. Container in a file 1/2 Currently containers' files reside on host partition and tasks work in plain chroot Problems: extX journal is performance bottleneck hackish live migration (rsync) not effective management (tons of small files)
- 8. Container in a file 2/2 Solution loop-like block device Parallels implementation block device, that remaps bio-s with FS bmap call Possible implementation DM extension block map provided by userspace block map got from FS bmap call