)]}'
{
  "commit": "552a3aec24fb6069473a54304e75cd631dfa1173",
  "tree": "ab2ba5471d159a57da54175010a0140e2ad20ef8",
  "parents": [
    "b82a8a2e62971bca3b6d0d760cb21b613547448f"
  ],
  "author": {
    "name": "Tejun Heo",
    "email": "tj@kernel.org",
    "time": "Mon May 18 15:49:55 2015 -0400"
  },
  "committer": {
    "name": "Tejun Heo",
    "email": "tj@kernel.org",
    "time": "Fri Sep 11 14:49:22 2015 -0400"
  },
  "message": "cgroup: make cgroup_update_dfl_csses() migrate all target processes atomically\n\ncgroup_update_dfl_csses() is responsible for migrating processes when\ncontrollers are enabled or disabled on the default hierarchy.  As the\ncss association changes for all the processes in the affected cgroups,\nthis involves migrating multiple processes.\n\nUp until now, it was implemented by migrating process-by-process until\nthe source css_sets are empty; however, this means that if a process\nfails to migrate after some succeed before it, the recovery is very\ntricky.  This was considered okay as subsystems weren\u0027t allowed to\nreject process migration on the default hierarchy; unfortunately,\nenforcing this policy turned out to be problematic for certain types\nof resources - realtime slices for now.\n\nAs such, the default hierarchy is gonna allow restricted failures\nduring migration and to support that this patch makes\ncgroup_update_dfl_csses() migrate all target processes atomically\nrather than one-by-one.  The preceding patches made subsystems ready\nfor multi-process migration and factored out taskset operations making\nthis almost trivial.  All tasks of the target processes are put in the\nsame taskset and the migration operations are performed once which\neither fails or succeeds for all.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Zefan Li \u003clizefan@huawei.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fa63b9216c373579b3009f68e8d6f0130b212edd",
      "old_mode": 33188,
      "old_path": "kernel/cgroup.c",
      "new_id": "cb07a2ca13522989940abd47a063d7c5c574ab3f",
      "new_mode": 33188,
      "new_path": "kernel/cgroup.c"
    }
  ]
}
