Linux Plumbers

  • Upload
    openvz

  • View
    27

  • Download
    0

Embed Size (px)

Citation preview

  1. 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. 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. 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. 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. 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. 6. checkpoint-restore 3/3 TODO: some shared resources (fdtable, mm_struct) signals handling sockets container environment namespaces IPC networking
  7. 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. 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