)]}'
{
  "commit": "eed91ba4a035479ee4119e65d70b7e625501fa33",
  "tree": "2b58b881256dcfe82069c71bdadd8af72c0d433c",
  "parents": [
    "7565bcb84a77a0ab6f38ffb125d52ee42ae8b9f1"
  ],
  "author": {
    "name": "Quentin Perret",
    "email": "quentin.perret@arm.com",
    "time": "Wed Feb 27 11:21:24 2019 +0000"
  },
  "committer": {
    "name": "Quentin Perret",
    "email": "qperret@google.com",
    "time": "Mon Dec 02 10:03:57 2019 +0000"
  },
  "message": "ANDROID: sched/fair: Bias EAS placement for latency\n\nAdd to find_energy_efficient_cpu() a latency sensitive case which mimics\nwhat was done for prefer-idle in android-4.19 and before (see [1] for\nreference).\n\nThis isn\u0027t strictly equivalent to the legacy algorithm but comes real\nclose, and isn\u0027t very invasive. Overall, the idea is to select the\nbiggest idle CPU we can find for latency-sensitive boosted tasks, and\nthe smallest CPU where the can fit for latency-sensitive non-boosted\ntasks.\n\nThe main differences with the legacy behaviour are the following:\n\n 1. the policy for \u0027prefer idle\u0027 when there isn\u0027t a single idle CPU in\n    the system is simpler now. We just pick the CPU with the highest\n    spare capacity;\n\n 2. the cstate awareness is implemented by minimizing the exit latency\n    rather than the idle state index. This is how it is done in the slow\n    path (find_idlest_group_cpu()), it doesn\u0027t require us to keep hooks\n    into CPUIdle, and should actually be better because what we want is\n    a CPU that can wake up quickly;\n\n 3. non-latency-sensitive tasks just use the standard mainline\n    energy-aware wake-up path, which decides the placement using the\n    Energy Model;\n\n 4. the \u0027boosted\u0027 and \u0027latency_sensitive\u0027 attributes of a task come from\n    util_clamp (which now replaces schedtune).\n\n[1] https://android.googlesource.com/kernel/common.git/+/c27c56105dcaaae54ecc39ef33fbfac87a1486fc\n\nChange-Id: Ia58516906e9cb5abe08385a8cd088097043d8703\nSigned-off-by: Quentin Perret \u003cquentin.perret@arm.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ec7565ad589ec09d7a6260ffef5cf16c8c096b59",
      "old_mode": 33188,
      "old_path": "kernel/sched/fair.c",
      "new_id": "f6b6f4b251be0f9de4412031795a6c374a612be6",
      "new_mode": 33188,
      "new_path": "kernel/sched/fair.c"
    }
  ]
}
