)]}'
{
  "log": [
    {
      "commit": "ae0b2903872e1b8e8865230f332bf69690270104",
      "tree": "59dca0e8dbca813abe63b9abc286033f4b1814c8",
      "parents": [
        "780ea239f2fc14a324277a9beab99a4540919329"
      ],
      "author": {
        "name": "T.J. Mercier",
        "email": "tjmercier@google.com",
        "time": "Mon Aug 05 18:18:35 2024 +0000"
      },
      "committer": {
        "name": "T.J. Mercier",
        "email": "tjmercier@google.com",
        "time": "Mon Aug 12 21:15:09 2024 +0000"
      },
      "message": "libprocessgroup: Convert libprocessgroup_util to static library\n\nTo avoid duplicate symbol linker error and prep for addition of json\ndescriptor reading and activation functions in upcoming changes.\n\nBug: 349105928\nTest: m\nChange-Id: I5cd663d6007ef330b872b8cf8ed046ee68b6d736\n"
    },
    {
      "commit": "28b37f27048679874f1e1185fe9f852d36872e73",
      "tree": "5653ed424ca801dd9b7fff78fe75f1a698d1d665",
      "parents": [
        "283b2037ce3ec675b10543a4d03dbaed174f2109"
      ],
      "author": {
        "name": "T.J. Mercier",
        "email": "tjmercier@google.com",
        "time": "Fri Jun 07 18:34:19 2024 +0000"
      },
      "committer": {
        "name": "T.J. Mercier",
        "email": "tjmercier@google.com",
        "time": "Tue Jun 18 15:50:21 2024 +0000"
      },
      "message": "libprocessgroup: Add MaxActivationDepth\n\nCgroup v2 controllers can be enabled in a subtree of the shared\nhierarchy. That allows users to limit the number of cgroups with a\ncontroller enabled to less than the total number of cgroups. [1]\n\nThere are costs for each cgroup. Kernel memory is used for each cgroup,\nplus additional memory for each active controller in each cgroup. Some\nkernel operations scale with the number of cgroups (with a given\ncontroller enabled), so it can be desirable to minimize the number of\ncgroups with that controller enabled.\n\nThis change allows each v2 controller configuration to specify a maximum\nactivation depth, past which the controller will not be activated deeper\nin the Android cgroup v2 hierarchy. The hierarchy root is defined as\ndepth 0. MaxActivationDepth is the field name for this purpose for\ncontrollers in the Controllers array under Cgroups2 in cgroups.json.\n\nHere are two examples:\n\n\"MaxActivationDepth\": 1\nThis will activate the controller in every per-application cgroup, but\nnot in the per-process cgroups below.\n\n/sys/fs/cgroup                depth\u003d0  active\u003dtrue  (controller listed in cgroup.subtree_control)\n/sys/fs/cgroup/uid_0          depth\u003d1  active\u003dtrue  (controller NOT listed in cgroup.subtree_control)\n/sys/fs/cgroup/uid_0/pid_100  depth\u003d2  active\u003dfalse (controller NOT listed in cgroup.subtree_control)\n\nThis can also be used with\nPRODUCT_CGROUP_V2_SYS_APP_ISOLATION_ENABLED :\u003d true.\n\n\"MaxActivationDepth\": 1\nThis will activate the controller only at the app / system level, but\nnot in per-application cgroups below. This results in a total of only\n3 cgroups with the controller enabled (root, apps, system).\n\n/sys/fs/cgroup                         depth\u003d0  active\u003dtrue  (controller listed in cgroup.subtree_control)\n/sys/fs/cgroup/apps                    depth\u003d1  active\u003dtrue  (controller NOT listed in cgroup.subtree_control)\n/sys/fs/cgroup/apps/uid_10000          depth\u003d2  active\u003dfalse (controller NOT listed in cgroup.subtree_control)\n/sys/fs/cgroup/apps/uid_10000/pid_100  depth\u003d3  active\u003dfalse (controller NOT listed in cgroup.subtree_control)\n\n[1] https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html#enabling-and-disabling\n\nBug: 346584259\nTest: Cuttlefish with memcg v2\nChange-Id: I62109ea935261c51fc30b2054c4d28d0360f7985\n"
    },
    {
      "commit": "110308e5ab096a720c44b9d01d0ffe2535bb4b28",
      "tree": "1d2b2dcb60d737bf8a0ed2bed2bae9a3bc6b4e3d",
      "parents": [
        "ba1e0bdd6ce524a2c89e7b53bfb1f873afd59b9f",
        "ad8cf52c4c2b60250d52f1b0b90648fdf407dff4"
      ],
      "author": {
        "name": "Kiyoung Kim",
        "email": "kiyoungkim@google.com",
        "time": "Thu May 23 00:38:19 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 23 00:38:19 2024 +0000"
      },
      "message": "Merge \"Remove VNDK definition(s)\" into main"
    },
    {
      "commit": "1cfa2c4111f563c12b292bd066f651ddc8d1c0c7",
      "tree": "dc4c966d26a35e2e7815387ef1e4e2eeb54d64b4",
      "parents": [
        "f8901767e63636d1fa884255cf9bfe0c7ab368b9"
      ],
      "author": {
        "name": "T.J. Mercier",
        "email": "tjmercier@google.com",
        "time": "Mon Apr 08 21:14:32 2024 +0000"
      },
      "committer": {
        "name": "T.J. Mercier",
        "email": "tjmercier@google.com",
        "time": "Mon Apr 08 21:15:48 2024 +0000"
      },
      "message": "Add build flag to split the cgroup v2 hierarchy into apps/system\n\nThis flag adds \"apps\" and \"system\" cgroups underneath the v2 hierarchy\nroot. Cgroups with UIDs \u003c 10000 (AID_APP_START) will be placed\nunder \"system\" and others will be placed under \"apps\". UIDs under 10000\nare reserved for core Android subsystems. This allows us to\napply different cgroup controls collectively to system processes and\nnormal applications.\n\nBug: 327480673\nChange-Id: I40837dee27a59691f81fef48e66a86c5eacda892\n"
    },
    {
      "commit": "f8901767e63636d1fa884255cf9bfe0c7ab368b9",
      "tree": "d729f1dcc43d9bcf228eed98428038d3b857091e",
      "parents": [
        "d1e048f95618b6fb7f66c81e1c650482d95cd452"
      ],
      "author": {
        "name": "T.J. Mercier",
        "email": "tjmercier@google.com",
        "time": "Tue Mar 05 21:55:15 2024 +0000"
      },
      "committer": {
        "name": "T.J. Mercier",
        "email": "tjmercier@google.com",
        "time": "Mon Apr 08 21:15:48 2024 +0000"
      },
      "message": "Add build flag to force memcg to the v2 cgroup hierarchy\n\nThis flag prevents memcg from being mounted as a v1 hierarchy, even if\ncgroups.json specifies it should be mounted as v1. It will activate\nmemcg in the v2 hierarchy even if cgroups.json does not specify that it\nshould be activated in the v2 hierarchy.\n\nThe cgroup_disable\u003dmemory kernel command line argument will still\nprevent memcg from being activated, as this forced memcg controller\nis marked as optional.\n\nBug: 327480673\nChange-Id: Iad2491dd0c1576156ee2346928d041d85af890f0\n"
    },
    {
      "commit": "44eb705480fe7b134d6178746d5430ced247bc74",
      "tree": "7dba36dc6e003a790e52377bb95866816af045e4",
      "parents": [
        "bc3476d5dc6fed6fe8401144df5486fa7174ecd2"
      ],
      "author": {
        "name": "T.J. Mercier",
        "email": "tjmercier@google.com",
        "time": "Wed Mar 27 23:40:43 2024 +0000"
      },
      "committer": {
        "name": "T.J. Mercier",
        "email": "tjmercier@google.com",
        "time": "Mon Apr 08 21:15:48 2024 +0000"
      },
      "message": "Fix unused params and remove unneeded cflags\n\nWe already get -Wall and -Werror from the build system, and we do not\nwant/need -Wexit-time-destructors since it prevents local statics with\nnon-trivial destructors.\n\nTest: m\nChange-Id: I8283bf223404d6c253861d3888c1b720c099386e\n"
    },
    {
      "commit": "ad8cf52c4c2b60250d52f1b0b90648fdf407dff4",
      "tree": "d0c9557f0c68831d2a8c8546a0c87b3888ddf12f",
      "parents": [
        "b2bfb972e8c612356abe319c9b6109dccc2e03ed"
      ],
      "author": {
        "name": "Kiyoung Kim",
        "email": "kiyoungkim@google.com",
        "time": "Mon Mar 11 13:04:38 2024 +0900"
      },
      "committer": {
        "name": "Kiyoung Kim",
        "email": "kiyoungkim@google.com",
        "time": "Fri Mar 15 08:19:44 2024 +0000"
      },
      "message": "Remove VNDK definition(s)\n\nAs of VNDK deprecation, any libraries that defines vndk is no longer\nvalid anymore. This change removes all VNDK definition(s) from modules\nwhich was VNDK. Any former VNDK-SP libraries will be marked as double-loadable,\nso it can keep be able to be referenced by LLNDK libraries.\n\nBug: 328994089\nTest: AOSP CF build succeeded\nChange-Id: I1662f16e5e446bb28167b0bb278cd63997267d2a\n"
    },
    {
      "commit": "a823bee9d349b7cd51536ee7751c1ab6d36265f9",
      "tree": "fa0ccd03238435d1ff30cb3c6f8a9d0eae66cd76",
      "parents": [
        "b3ff0cf8c81a4471612fefc6ba55c15a7129dd0a"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@google.com",
        "time": "Mon Aug 08 11:12:55 2022 -0700"
      },
      "committer": {
        "name": "Bart Van Assche",
        "email": "bvanassche@google.com",
        "time": "Thu Aug 18 12:34:21 2022 -0700"
      },
      "message": "libprocessgroup: Switch from gnu++-17 to gnu++-20\n\nThis change enables headers like \u003cspan\u003e. Inside the \u003cspan\u003e header file\nfile the following guard makes its functionality unavailable when\nbuilding with std\u003dgnu++-17:\n\n #if _LIBCPP_STD_VER \u003e 17\n [ ... ]\n #endif\n\nBug: 213617178\nChange-Id: I5c40708ea196ab112990b5ca6fae9370b75f8752\nSigned-off-by: Bart Van Assche \u003cbvanassche@google.com\u003e\n"
    },
    {
      "commit": "59af680023912e0006c5e585ab71399668fa17ff",
      "tree": "aec909cf78873d2653e95e3016985a4888411f85",
      "parents": [
        "4e0a7f22faaafcbc976a5740d3142e1c1ea19fcf"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@google.com",
        "time": "Mon Jan 24 21:08:57 2022 +0000"
      },
      "committer": {
        "name": "Bart Van Assche",
        "email": "bvanassche@google.com",
        "time": "Wed Mar 16 19:55:46 2022 +0000"
      },
      "message": "Add support for optional cgroup attributes\n\nCgroup attributes like io.weight or io.bfq.weight only exist if the\ncorresponding I/O scheduler has been loaded. Hence add support for\nignoring failures to write to a cgroup attribute that does not exist.\n\nBug: 213617178\nTest: This patch has been tested in combination with patch \"Migrate the blkio controller to the cgroup v2 hierarchy\".\nChange-Id: I5debafabc4dd430a1b98ea343bf3740c764edcc3\nSigned-off-by: Bart Van Assche \u003cbvanassche@google.com\u003e\n"
    },
    {
      "commit": "d69ad69a938a27021adfcc2435dc1fd2ad0c8e1a",
      "tree": "184b620c9b0cddc4b15efa718ddc3961d2ce3d64",
      "parents": [
        "d57652f15b078d06d9258094f8a951374a677f2c"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Tue Feb 16 19:02:14 2021 -0800"
      },
      "committer": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Fri Feb 19 12:59:05 2021 -0800"
      },
      "message": "[LSC] Add LOCAL_LICENSE_KINDS to system/core\n\nAdded SPDX-license-identifier-Apache-2.0 to:\n  bootstat/Android.bp\n  cli-test/Android.bp\n  code_coverage/Android.bp\n  cpio/Android.bp\n  debuggerd/crasher/Android.bp\n  debuggerd/proto/Android.bp\n  diagnose_usb/Android.bp\n  fs_mgr/libdm/Android.bp\n  fs_mgr/libfiemap/Android.bp\n  fs_mgr/liblp/Android.bp\n  fs_mgr/libsnapshot/Android.bp\n  fs_mgr/libstorage_literals/Android.bp\n  fs_mgr/libvbmeta/Android.bp\n  fs_mgr/tests/Android.bp\n  fs_mgr/tools/Android.bp\n  gatekeeperd/Android.bp\n  healthd/Android.bp\n  healthd/testdata/Android.bp\n  init/Android.bp\n  init/Android.mk\n  init/sysprop/Android.bp\n  init/test_kill_services/Android.bp\n  init/test_service/Android.bp\n  libappfuse/Android.bp\n  libasyncio/Android.bp\n  libbinderwrapper/Android.bp\n  libcrypto_utils/Android.bp\n  libcrypto_utils/tests/Android.bp\n  libdiskconfig/Android.bp\n  libgrallocusage/Android.bp\n  libkeyutils/mini_keyctl/Android.bp\n  libmodprobe/Android.bp\n  libnetutils/Android.bp\n  libpackagelistparser/Android.bp\n  libprocessgroup/Android.bp\n  libprocessgroup/cgrouprc/Android.bp\n  libprocessgroup/cgrouprc_format/Android.bp\n  libprocessgroup/profiles/Android.bp\n  libprocessgroup/setup/Android.bp\n  libqtaguid/Android.bp\n  libsparse/Android.bp\n  libstats/push_compat/Android.bp\n  libsuspend/Android.bp\n  libsync/Android.bp\n  libsystem/Android.bp\n  libsysutils/Android.bp\n  libusbhost/Android.bp\n  libutils/Android.bp\n  libvndksupport/Android.bp\n  libvndksupport/tests/Android.bp\n  llkd/Android.bp\n  llkd/tests/Android.bp\n  property_service/libpropertyinfoparser/Android.bp\n  property_service/libpropertyinfoserializer/Android.bp\n  property_service/property_info_checker/Android.bp\n  qemu_pipe/Android.bp\n  reboot/Android.bp\n  rootdir/Android.bp\n  rootdir/Android.mk\n  rootdir/avb/Android.bp\n  rootdir/avb/Android.mk\n  run-as/Android.bp\n  sdcard/Android.bp\n  set-verity-state/Android.bp\n  shell_and_utilities/Android.bp\n  storaged/Android.bp\n  toolbox/Android.bp\n  trusty/apploader/Android.bp\n  trusty/confirmationui/Android.bp\n  trusty/confirmationui/fuzz/Android.bp\n  trusty/coverage/Android.bp\n  trusty/fuzz/Android.bp\n  trusty/fuzz/test/Android.bp\n  trusty/gatekeeper/Android.bp\n  trusty/gatekeeper/fuzz/Android.bp\n  trusty/keymaster/Android.bp\n  trusty/keymaster/fuzz/Android.bp\n  trusty/libtrusty/Android.bp\n  trusty/libtrusty/tipc-test/Android.bp\n  trusty/secure_dpu/Android.bp\n  trusty/storage/interface/Android.bp\n  trusty/storage/lib/Android.bp\n  trusty/storage/proxy/Android.bp\n  trusty/storage/tests/Android.bp\n  trusty/utils/spiproxyd/Android.bp\n  trusty/utils/trusty-ut-ctrl/Android.bp\n  usbd/Android.bp\n  watchdogd/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to:\n  debuggerd/Android.bp\n  fastboot/Android.bp\n  libkeyutils/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD\n    SPDX-license-identifier-MIT\nto:\n  libcutils/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT\nto:\n  fs_mgr/Android.bp\n  fs_mgr/libfs_avb/Android.bp\n  trusty/Android.bp\n  trusty/utils/rpmb_dev/Android.bp\n\nAdded SPDX-license-identifier-BSD\nto:\n  fastboot/fuzzy_fastboot/Android.bp\n\nBug: 68860345\nBug: 151177513\nBug: 151953481\n\nTest: m all\n\nExempt-From-Owner-Approval: janitorial work\nChange-Id: Id740a7d2884556081fdb68876584b25eb95e1bef\n"
    },
    {
      "commit": "c3a206ccda9a78dd45d06b7d68dbe83e1fba779e",
      "tree": "cd137e76557bf1aadffe3cb43e02ab642bc81c71",
      "parents": [
        "187b7d19504ca8bdcbc6217c06a117017b4c6287"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 16 20:01:20 2021 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 16 20:01:20 2021 +0000"
      },
      "message": "Revert \"[LSC] Add LOCAL_LICENSE_KINDS to system/core\"\n\nThis reverts commit 187b7d19504ca8bdcbc6217c06a117017b4c6287.\n\nReason for revert: system/core is multiple projects, not one.\n\nChange-Id: I790ea41741f8cd9b8b6db2f59a49e71fb0958fd6\n"
    },
    {
      "commit": "187b7d19504ca8bdcbc6217c06a117017b4c6287",
      "tree": "0656ad03ff6e56b17ab0d4a8677955cab2c16cba",
      "parents": [
        "83eae36647eef27b75b128c5bce4732229d2ca0d"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Fri Feb 12 17:48:16 2021 -0800"
      },
      "committer": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Tue Feb 16 04:10:03 2021 -0800"
      },
      "message": "[LSC] Add LOCAL_LICENSE_KINDS to system/core\n\nAdded SPDX-license-identifier-Apache-2.0 to:\n  bootstat/Android.bp\n  cli-test/Android.bp\n  code_coverage/Android.bp\n  cpio/Android.bp\n  debuggerd/crasher/Android.bp\n  debuggerd/proto/Android.bp\n  diagnose_usb/Android.bp\n  fs_mgr/libdm/Android.bp\n  fs_mgr/libfiemap/Android.bp\n  fs_mgr/liblp/Android.bp\n  fs_mgr/libsnapshot/Android.bp\n  fs_mgr/libstorage_literals/Android.bp\n  fs_mgr/libvbmeta/Android.bp\n  fs_mgr/tests/Android.bp\n  fs_mgr/tools/Android.bp\n  gatekeeperd/Android.bp\n  healthd/Android.bp\n  healthd/testdata/Android.bp\n  init/Android.bp\n  init/Android.mk\n  init/sysprop/Android.bp\n  init/test_kill_services/Android.bp\n  init/test_service/Android.bp\n  libappfuse/Android.bp\n  libasyncio/Android.bp\n  libbinderwrapper/Android.bp\n  libcrypto_utils/Android.bp\n  libcrypto_utils/tests/Android.bp\n  libdiskconfig/Android.bp\n  libgrallocusage/Android.bp\n  libkeyutils/mini_keyctl/Android.bp\n  libmodprobe/Android.bp\n  libnetutils/Android.bp\n  libpackagelistparser/Android.bp\n  libprocessgroup/Android.bp\n  libprocessgroup/cgrouprc/Android.bp\n  libprocessgroup/cgrouprc_format/Android.bp\n  libprocessgroup/profiles/Android.bp\n  libprocessgroup/setup/Android.bp\n  libqtaguid/Android.bp\n  libsparse/Android.bp\n  libstats/push_compat/Android.bp\n  libsuspend/Android.bp\n  libsync/Android.bp\n  libsystem/Android.bp\n  libsysutils/Android.bp\n  libusbhost/Android.bp\n  libutils/Android.bp\n  libvndksupport/Android.bp\n  libvndksupport/tests/Android.bp\n  llkd/Android.bp\n  llkd/tests/Android.bp\n  property_service/libpropertyinfoparser/Android.bp\n  property_service/libpropertyinfoserializer/Android.bp\n  property_service/property_info_checker/Android.bp\n  qemu_pipe/Android.bp\n  reboot/Android.bp\n  rootdir/Android.bp\n  rootdir/Android.mk\n  rootdir/avb/Android.bp\n  rootdir/avb/Android.mk\n  run-as/Android.bp\n  sdcard/Android.bp\n  set-verity-state/Android.bp\n  shell_and_utilities/Android.bp\n  storaged/Android.bp\n  toolbox/Android.bp\n  trusty/apploader/Android.bp\n  trusty/confirmationui/Android.bp\n  trusty/confirmationui/fuzz/Android.bp\n  trusty/coverage/Android.bp\n  trusty/fuzz/Android.bp\n  trusty/fuzz/test/Android.bp\n  trusty/gatekeeper/Android.bp\n  trusty/gatekeeper/fuzz/Android.bp\n  trusty/keymaster/Android.bp\n  trusty/keymaster/fuzz/Android.bp\n  trusty/libtrusty/Android.bp\n  trusty/libtrusty/tipc-test/Android.bp\n  trusty/secure_dpu/Android.bp\n  trusty/storage/interface/Android.bp\n  trusty/storage/lib/Android.bp\n  trusty/storage/proxy/Android.bp\n  trusty/storage/tests/Android.bp\n  trusty/utils/spiproxyd/Android.bp\n  trusty/utils/trusty-ut-ctrl/Android.bp\n  usbd/Android.bp\n  watchdogd/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to:\n  debuggerd/Android.bp\n  fastboot/Android.bp\n  libkeyutils/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD\n    SPDX-license-identifier-MIT\nto:\n  Android.bp\n  libcutils/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT\nto:\n  fs_mgr/Android.bp\n  fs_mgr/libfs_avb/Android.bp\n  trusty/utils/rpmb_dev/Android.bp\n\nAdded SPDX-license-identifier-BSD\nto:\n  fastboot/fuzzy_fastboot/Android.bp\n\nBug: 68860345\nBug: 151177513\nBug: 151953481\n\nTest: m all\n\nExempt-From-Owner-Approval: janitorial work\nChange-Id: I5bd81adb5cdcf2b4dd4141b204eb430ff526af8f\n"
    },
    {
      "commit": "feef4d390ff508a4154bc8ff39ebc5e32f77f054",
      "tree": "bef3de82cd64747ad8ead57a64a12fd87c6beafb",
      "parents": [
        "382d70e770278a56057773721840feb0a50aa031"
      ],
      "author": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Wed Nov 11 19:17:40 2020 +0900"
      },
      "committer": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Fri Dec 04 09:59:20 2020 +0900"
      },
      "message": "Add product_available to product available modules\n\nvendor_available modules were available to product modules.\nHowever, not all vendor_available modules are required to be\navailable to product modules. Some modules want to be available only\nto product modules but not vendor modules.\n\nTo cover the requirement, we separate product_available from\nvendor_available.\nvendor_available will not provide product available module.\n\nRename libcutils/include_vndk to libcutils/include_outside_system as\nit provides the headers to the modules outside the system partition\nincluding /product.\n\nBug: 150902910\nTest: build\nChange-Id: I791b5a6a1dc99442065debfce6fa0f54a335fcea\n"
    },
    {
      "commit": "89d1c19ca037cd27d27ea5d8792b69273bb6dd53",
      "tree": "41224b3f3a38e26e4e94118bb6fe0f09faf8b782",
      "parents": [
        "67c71a1b4ffb0eef658e2641ead06f819673f277"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Wed Oct 21 18:07:28 2020 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Wed Oct 28 10:57:51 2020 -0700"
      },
      "message": "Make libraries {vendor_,}ramdisk_available.\n\nTest: pass\nBug: 156098440\nChange-Id: I07bb2fdc5113a5113b648795a1f60c09f20e12f1\n"
    },
    {
      "commit": "67c71a1b4ffb0eef658e2641ead06f819673f277",
      "tree": "4f36df0f54f2695c01d6c7415775a88e7850890a",
      "parents": [
        "2ec92cfc280c20c5526782c6e4b2e82fa00f8cbb"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Wed Oct 28 10:49:35 2020 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Wed Oct 28 10:57:51 2020 -0700"
      },
      "message": "libprocessgroup_headers: make vendor_ramdisk_available.\n\nTest: pass\nBug: 156098440\nChange-Id: I4d66c3e0aa2bbc972d2d6fe16dec95a45bfb2889\n"
    },
    {
      "commit": "4f55f3efd3b811b991f3c39d0dac238612ac5713",
      "tree": "94f43c0285e343975640ccbb55122cf52df0c29b",
      "parents": [
        "ffadbc8bacd0ea8b212cbf3a53761415f04db59f"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Thu Apr 16 18:48:33 2020 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Thu Apr 23 23:53:19 2020 +0900"
      },
      "message": "processgroup: Set min_sdk_version\n\nModules contributing mainline modules (APK/APEX) should set\nmin_sdk_version as well as apex_available.\n\nFor now setting min_sdk_version doesn\u0027t change build outputs.\nBut build-time checks will be added soon.\n\nBug: 152655956\nTest: m\nChange-Id: Idaa27ce24cc13d13145eaef85a08b9033922c7bc\n"
    },
    {
      "commit": "e3d371e319d93e415c729d6feb6fb0ee2562816f",
      "tree": "72412127a5fefc337669f9ad5190f88e5e64917e",
      "parents": [
        "89cce05891ce0afde18477be05303d01353258f5"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed Apr 08 22:37:42 2020 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed Apr 08 22:37:42 2020 +0900"
      },
      "message": "Set apex_available property\n\nThe marked library(ies) were available to the APEXes via the\nhand-written whitelist in build/soong/apex/apex.go. Trying to remove the\nwhitelist by adding apex_available property to the Android.bp of the\nlibraries.\n\nBug: 150999716\nTest: m\nChange-Id: Id08058f3105463558c6c82298344a33af0efb2d3\n"
    },
    {
      "commit": "b495b0d403b578ec7c441d633256762ef80bc862",
      "tree": "890b6ca9557210b720dc8279004ac2f268fb2055",
      "parents": [
        "548218961299fb5a96f2ba8f6fbec09b4756a893"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Jun 17 12:44:39 2019 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Jun 17 12:48:06 2019 -0700"
      },
      "message": "libprocessgroup: move native_bridge_support\n\nTo avoid merge conflict.\n\nBug: 135293492\nBug: 135298384\nTest: N/A\nChange-Id: I034b989c7e0f8a477b29ef7ca40bba8f2dc929e5\n"
    },
    {
      "commit": "49c1f6efea5267ec40343a8dc6445b9c594a72ec",
      "tree": "1bc5677abf25979dc28c99d23a6de712f6ed9e48",
      "parents": [
        "051d5cba801ada2130159cbe6fa56104e76e1c8b"
      ],
      "author": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Thu May 16 14:19:09 2019 +0200"
      },
      "committer": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Thu May 16 14:19:09 2019 +0200"
      },
      "message": "Enable native_bridge_support for libprocessgroup\n\nAndroid build system added support for building translated binaries\nused on natively bridged targets (arm on x86 for example).\n\nHowever in order to avoid building unnecessary binaries and libraries\nfor such architectures most modules do not support native bridge by default.\n\nAll needed modules have to explicitly indicate if they may be used as part\nof translated binary build.\n\nThis change enabled native bridge support for libprocessgroup modules\nneeded by libutils greylisted library (available for apps targeting\nAndroid version \u003c N).\n\nBug: http://b/77159578\nTest: make\nChange-Id: I8d6f33e95e9f7424f5fa12f6fbabafa1d6c37413\n"
    },
    {
      "commit": "d167cb2958bcea8977d6ed43f98022f36388eee6",
      "tree": "50043cf018e37be49f5d9d6bcdb0104f4a8720d8",
      "parents": [
        "72fe284022888fb72e35763dc63bb0eef5638863"
      ],
      "author": {
        "name": "Vic Yang",
        "email": "victoryang@google.com",
        "time": "Wed May 08 12:50:56 2019 -0700"
      },
      "committer": {
        "name": "Vic Yang",
        "email": "victoryang@google.com",
        "time": "Wed May 08 20:29:44 2019 -0700"
      },
      "message": "Static link libjsoncpp in libprocessgroup\n\nThe majority of libjsoncpp use is due to libprocessgroup.  Static\nlinking reduces relocations required at runtime as well as compacts the\npages dirtied by relocations.  On a 32-bit system, where this matters\nthe most, this reduces 8KB of dirty pages per libprocessgroup load.\nOverall, the dirty page reduction on 32-bit cuttlefish is ~500KB.\n\nBug: 132275636\nTest: Boot on cuttlefish.  Calculate total amount of dirty memory used\n      for libprocessgroup and libjsoncpp.\nChange-Id: I1135bb45a3764f96a4a3a47c98fbcdee3913c988\n(cherry picked from commit b562e685037e395b0526a9262977bb73318ff994)\n"
    },
    {
      "commit": "53e0deb7b287df2f59ca765a845bcca1fb45f5e4",
      "tree": "94daa7533820b226fd2fcdbc1b845a68f82f0500",
      "parents": [
        "d8ce1fb1d1b93f2d67e5b786484a82bf42d15bd6"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Fri Mar 22 17:01:08 2019 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Tue Apr 02 22:31:57 2019 -0700"
      },
      "message": "libprocessgroup: use libcgrouprc to read cgroup.rc\n\nUse the LL-NDK library to read cgroup.rc.\n\nAs a side-effect, the CgroupController class is changed\nto a wrapper of ACgroupController* from the library. The\nclass itself essentially becomes the pointer, and can be\ntrivially copied. Modify all client code for this change.\n\nTest: builds and boots\nBug: 123664216\n\nChange-Id: I635d9885db62e82f37421f6d20f59c84a6f4cbb2\nMerged-In: I635d9885db62e82f37421f6d20f59c84a6f4cbb2\n"
    },
    {
      "commit": "be87d447b40ee471ae0fdc8efde2c33d4bcc68b0",
      "tree": "bf16d90103a4a9dc09c57a0a4cb8850a992e9f2e",
      "parents": [
        "f959fffc1c8ce9fcf1665a2e39ab6add986d9e6e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 26 18:50:22 2019 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 26 18:50:22 2019 -0700"
      },
      "message": "libprocessgroup: add -Wexit-time-destructors.\n\nExit time destructors already caused trouble (see\ndba6d44376a3301acfb8fd7e7c5159b25736b09e), and without this warning,\nit\u0027s too easy to reintroduce issues.\n\nBug: 129023204\nTest: builds\nChange-Id: If5fb4d0c11c74ba4971bb218059c6d37edeaf4df\n"
    },
    {
      "commit": "82b72a566761b8379fd2964ed801696803867510",
      "tree": "d6183b112c31fc4dc3c391924e7651c1d77f6354",
      "parents": [
        "503cf84f76a3f65d3a2a02f97a6510f7fe3502a6"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Fri Dec 21 11:41:50 2018 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sun Feb 03 16:48:35 2019 +0000"
      },
      "message": "libprocessgroup: Add support for task profiles\n\nAbstract usage of cgroups into task profiles that allows for changes\nin cgroup hierarchy and version without affecting framework codebase.\nRework current processgroup and sched_policy API function implementations\nto use task profiles instead of hardcoded paths and attributes.\nMount cgroups using information from cgroups.json rather than from init.rc\n\nExempt-From-Owner-Approval: already approved in internal master\n\nBug: 111307099\nTest: builds, boots\n\nChange-Id: If5532d6dc570add825cebd5b5148e00c7d688e32\nMerged-In: If5532d6dc570add825cebd5b5148e00c7d688e32\nSigned-off-by: Suren Baghdasaryan \u003csurenb@google.com\u003e\n"
    },
    {
      "commit": "949107830044b8eaa58b7fca57bd0e0737646c1d",
      "tree": "a57411d663713e5d654d4456a94390979ee08f8c",
      "parents": [
        "1bd127b72ebcca808b1e8eba2ed9facd9991a210"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Fri Jan 25 05:32:52 2019 +0000"
      },
      "committer": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Fri Jan 25 16:49:18 2019 +0000"
      },
      "message": "DO NOT MERGE: Revert \"Revert \"Add dependencies on libprocessgroup for sched_policy users\"\"\n\nThis reverts commit 1bef8c550c6c9118969a93f14d9c5933cb7b2811.\n\nReason for revert: AOSP is fixed with new vendor image\n\nChange-Id: Ib341ac80e2f88c13a7815a490ea2d9422ebdf55f\nSigned-off-by: Suren Baghdasaryan \u003csurenb@google.com\u003e\n"
    },
    {
      "commit": "1bd127b72ebcca808b1e8eba2ed9facd9991a210",
      "tree": "c6a4829481c8d6ad196a918b4edfc9df94bb3867",
      "parents": [
        "7bf4381a82d9462f6df6c47b046c05e934464a4d"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Fri Jan 25 05:30:52 2019 +0000"
      },
      "committer": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Fri Jan 25 16:49:09 2019 +0000"
      },
      "message": "DO NOT MERGE: Revert \"Revert \"libcutils: Move sched_policy functions into libprocessgroup\"\"\n\nThis reverts commit b5394db682fff34e7357672527a6a2cde1a49a49.\n\nReason for revert: AOSP is fixed with new vendor image\n\nChange-Id: Ie1a2e0200600214a65f4fe2250c903c8e8ce0a29\nSigned-off-by: Suren Baghdasaryan \u003csurenb@google.com\u003e\n"
    },
    {
      "commit": "7bf4381a82d9462f6df6c47b046c05e934464a4d",
      "tree": "68f7354962718e02db575cc2b4e6b48b75331f90",
      "parents": [
        "1420c1371f39ef686eb3ed4b87343dd0aac32781"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Fri Jan 25 05:29:55 2019 +0000"
      },
      "committer": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Fri Jan 25 16:48:58 2019 +0000"
      },
      "message": "DO NOT MERGE: Revert \"Revert \"Add libprocessgroup into VNDK\"\"\n\nThis reverts commit c4a02d25a96f4fbf29ed92976715accc2256367d.\n\nReason for revert: AOSP is fixed with new vendor image\n\nChange-Id: Ifc1c4d51aa1b168ef62cf58275b908d98b9a04bf\nSigned-off-by: Suren Baghdasaryan \u003csurenb@google.com\u003e\n"
    },
    {
      "commit": "c4a02d25a96f4fbf29ed92976715accc2256367d",
      "tree": "5d3ed3ccf131150d2858f0deb9373f740b8ef5cc",
      "parents": [
        "b5394db682fff34e7357672527a6a2cde1a49a49"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Wed Jan 23 20:44:21 2019 -0800"
      },
      "committer": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Wed Jan 23 20:44:47 2019 -0800"
      },
      "message": "DO NOT MERGE: Revert \"Add libprocessgroup into VNDK\"\n\nThis reverts commit dad4749731b6796e34fa239739caf0a4e643889f.\n\nReason for revert: Broke AOSP\n\nChange-Id: I019e1226a65b31495984cf47ad471771b4880c45\nSigned-off-by: Suren Baghdasaryan \u003csurenb@google.com\u003e\n"
    },
    {
      "commit": "b5394db682fff34e7357672527a6a2cde1a49a49",
      "tree": "0ea2f463801e30bbc9b211ca36faabd2be71b54b",
      "parents": [
        "1bef8c550c6c9118969a93f14d9c5933cb7b2811"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Wed Jan 23 20:43:46 2019 -0800"
      },
      "committer": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Wed Jan 23 20:44:09 2019 -0800"
      },
      "message": "DO NOT MERGE: Revert \"libcutils: Move sched_policy functions into libprocessgroup\"\n\nThis reverts commit facd40d0e1dc681f7a483810cc1e72448f270cf6.\n\nReason for revert: Broke AOSP\n\nChange-Id: Id333417d4970ced800ab801bddfed880cafa056d\nSigned-off-by: Suren Baghdasaryan \u003csurenb@google.com\u003e\n"
    },
    {
      "commit": "1bef8c550c6c9118969a93f14d9c5933cb7b2811",
      "tree": "207bd17d5bc2622ee0acb37a3a7cbd120d964661",
      "parents": [
        "c98b1efd4c8ea8e4b7a93c8bd58b3eb6f1c129bd"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Wed Jan 23 20:43:03 2019 -0800"
      },
      "committer": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Wed Jan 23 20:43:28 2019 -0800"
      },
      "message": "DO NOT MERGE: Revert \"Add dependencies on libprocessgroup for sched_policy users\"\n\nThis reverts commit 02843339f998f05c712549658c9f8f8bc14ff57d.\n\nReason for revert: Broke AOSP\n\nChange-Id: I62f91c0adf440b5da0a145862b04dd27a7016faf\nSigned-off-by: Suren Baghdasaryan \u003csurenb@google.com\u003e\n"
    },
    {
      "commit": "02843339f998f05c712549658c9f8f8bc14ff57d",
      "tree": "ae1f7ffe78d0ef28c4974b8bf6349fa8243adb1d",
      "parents": [
        "facd40d0e1dc681f7a483810cc1e72448f270cf6"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Fri Dec 21 12:30:16 2018 -0800"
      },
      "committer": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Tue Jan 22 18:19:45 2019 +0000"
      },
      "message": "Add dependencies on libprocessgroup for sched_policy users\n\nAfter moving sched_policy functions into libprocessgroup its users require\nadditional dependency and inclusion of sched_policy_ctrl.h header.\n\nExempt-From-Owner-Approval: janitorial\n\nBug: 111307099\nTest: builds, boots\n\nMerged-In: Icc052080e1bce46ce06f7264446950cab0490a95\nChange-Id: Icc052080e1bce46ce06f7264446950cab0490a95\nSigned-off-by: Suren Baghdasaryan \u003csurenb@google.com\u003e\n"
    },
    {
      "commit": "facd40d0e1dc681f7a483810cc1e72448f270cf6",
      "tree": "1d9739572987ece340b020a687d65642d47cf4e4",
      "parents": [
        "dad4749731b6796e34fa239739caf0a4e643889f"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Fri Dec 21 11:34:23 2018 -0800"
      },
      "committer": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Tue Jan 22 18:18:48 2019 +0000"
      },
      "message": "libcutils: Move sched_policy functions into libprocessgroup\n\nMove functions operating on cgroups from sched_policy.h in libcutils\ninto sched_policy_ctrl.h under libprocessgroup. This consolidates\ncgroup-related functionality inside libprocessgroup.\n\nBug: 111307099\nTest: builds, boots\n\nMerged-In: Iba75f33281162b889989214d0325a5973d53ed2d\nChange-Id: Iba75f33281162b889989214d0325a5973d53ed2d\nSigned-off-by: Suren Baghdasaryan \u003csurenb@google.com\u003e\n"
    },
    {
      "commit": "dad4749731b6796e34fa239739caf0a4e643889f",
      "tree": "97dc002126ec0f59a218059e11d03a5069a8265f",
      "parents": [
        "5d7439ff5be06d74a05da1fb7986af0e4404c644"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Mon Jan 14 16:57:55 2019 -0800"
      },
      "committer": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Tue Jan 22 18:18:22 2019 +0000"
      },
      "message": "Add libprocessgroup into VNDK\n\nInclude libprocessgroup into vndk in preparation for sched_policy\nfunctions to be moved into it.\n\nBug: 111307099\nTest: builds, boots\nMerged-In: I09a528cac8821df3201c2428b151fd2eaece3ccb\nChange-Id: I09a528cac8821df3201c2428b151fd2eaece3ccb\nSigned-off-by: Suren Baghdasaryan \u003csurenb@google.com\u003e\n"
    },
    {
      "commit": "1151d15be5df5d8df699688abc05fbbcfa98edf5",
      "tree": "c091111c945d795d06f94dfaac7df74bd8160a6d",
      "parents": [
        "1d2b29a9022ae9910bda2e1371066179bbd176d6"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Jul 24 13:45:09 2018 -0700"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Jul 24 13:45:50 2018 -0700"
      },
      "message": "Add recovery_available: true to init dependencies\n\nInit needs this in order to be built in Android.bp\n\nTest: build\nChange-Id: I695438d69cc71b739b7648c4008ff3760da58ef0\n"
    },
    {
      "commit": "574a0816238748be8cbd35cf1009a8ebced6e75b",
      "tree": "a3139e3af91e5a60274fc9d01d81b1665ac43e50",
      "parents": [
        "cdf778f5d92ab8748897a4d95693524d3273c23a"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Fri Feb 23 13:04:40 2018 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Feb 27 14:12:19 2018 -0800"
      },
      "message": "libprocessgroup: remove legacy C string handling and build for host\n\nBug: 36970783\nTest: kill zygote and see that its children die correctly\nChange-Id: I1b0e9a9cdb834a000fec82323d690e3bd288692d\n"
    },
    {
      "commit": "efa81080fda2591bcc7411053c7a560ff32df1b7",
      "tree": "e1ea59d94efa52c9d1d55063f3d8bb7d31f7d105",
      "parents": [
        "46bb1ffa8ad3a4cb3d2fe31f6f7baee418b5df6e"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue May 09 17:44:49 2017 -0700"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Thu May 11 17:55:04 2017 -0700"
      },
      "message": "Enable libprocessgroup on host bionic\n\nBug: 31559095\n\nTest: Build\nChange-Id: I1ee9fb492137c6c16f0d02586393837616127972\n"
    },
    {
      "commit": "419ce36c7d3911002e8cbabffe5e8addc1388a0c",
      "tree": "9bb85c1d94f2b3ada542a70e8847d02850347972",
      "parents": [
        "8b318d0c26c89acd7c716fb571bfd08d4393d12f"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Apr 19 14:12:52 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Apr 19 14:29:08 2017 -0700"
      },
      "message": "libprocessgroup: Android.mk -\u003e Android.bp\n\nTest: links\nTest: (sanity) boot marlin in recovery + to system UI\nBug: 37512442\nChange-Id: Ie19c02bda9df7c0cfdeeaf34c48f251b2b93961d\n"
    }
  ]
}
