)]}'
{
  "log": [
    {
      "commit": "a3b721a32242006b59cb12bd62c9133632af3a2d",
      "tree": "fb68e9245440ad7709490a9a10c5c2ebaa573f13",
      "parents": [
        "e95863ca50a73e6faa105955e6e590ef66b40255",
        "2a9a6b56a9df84c27f6df5aeebe8a8b9f36ff452"
      ],
      "author": {
        "name": "Yuan Yao",
        "email": "yuanyaogoog@google.com",
        "time": "Wed Mar 26 18:29:27 2025 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 26 18:29:27 2025 -0700"
      },
      "message": "Merge \"init: flush ext4 file system on shutdown\" into main"
    },
    {
      "commit": "e95863ca50a73e6faa105955e6e590ef66b40255",
      "tree": "aad917913526c5b212cdbb686b3b8454c7282140",
      "parents": [
        "3158998f0ae608faf4dca4b7b3beab0caf6844f3",
        "547dc31c6df75c468f652a349cb32d9788a4bb54"
      ],
      "author": {
        "name": "Sandeep Dhavale",
        "email": "dhavale@google.com",
        "time": "Wed Mar 26 10:03:19 2025 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 26 10:03:19 2025 -0700"
      },
      "message": "Merge \"create_snapshot: improve copy operation by reordering\" into main"
    },
    {
      "commit": "3158998f0ae608faf4dca4b7b3beab0caf6844f3",
      "tree": "e811150041b2a6e715dc8c5b22651857c9453a20",
      "parents": [
        "182b9333bb0f9b9117d9ab977541ce7e56566ebf",
        "58473c253f53f6d32f8749494400f3f293baf6b3"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Mar 26 03:27:26 2025 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 26 03:27:26 2025 -0700"
      },
      "message": "Merge changes from topic \"revert-3556468-FZSHFLNSWZ\" into main\n\n* changes:\n  Revert \"Parallel Module Loading: Refactor threads pool and architecture\"\n  Revert \"Parallel Module Loading: Add performance mode\"\n  Revert \"Parallel Module Loading: Add conservative mode\"\n  Revert \"Parallel module loading: Fix typo and simplify logic\"\n"
    },
    {
      "commit": "58473c253f53f6d32f8749494400f3f293baf6b3",
      "tree": "3a487596df6f8accc254a2fed3e5cc72343b8be0",
      "parents": [
        "0f62f623fb06724ad8792eac99651f670b1fa7d3"
      ],
      "author": {
        "name": "Chung-Kai (Michael) Mei",
        "email": "chungkai@google.com",
        "time": "Wed Mar 26 02:05:00 2025 -0700"
      },
      "committer": {
        "name": "Chung-Kai (Michael) Mei",
        "email": "chungkai@google.com",
        "time": "Wed Mar 26 02:05:18 2025 -0700"
      },
      "message": "Revert \"Parallel Module Loading: Refactor threads pool and architecture\"\n\nThis reverts commit 435557c989e5e32e4b3dd563dcbd8969a8d542ec.\n\nReason for revert: stability issue\nBug: 406160196\n\nChange-Id: Ic84dc4f6189f8950c73620a709e1ccceceb94faf\n"
    },
    {
      "commit": "0f62f623fb06724ad8792eac99651f670b1fa7d3",
      "tree": "190acbb04a18f131901c0549be9503d7b629d8c9",
      "parents": [
        "3a3df3dcaa4610428c9e04db2b2a1a4212eac7f4"
      ],
      "author": {
        "name": "Chung-Kai (Michael) Mei",
        "email": "chungkai@google.com",
        "time": "Wed Mar 26 01:55:44 2025 -0700"
      },
      "committer": {
        "name": "Chung-Kai (Michael) Mei",
        "email": "chungkai@google.com",
        "time": "Wed Mar 26 02:03:01 2025 -0700"
      },
      "message": "Revert \"Parallel Module Loading: Add performance mode\"\n\nRevert submission 3556468\n\nReason for revert: stability issue\n\nReverted changes: /q/submissionid:3556468\n\nBug: 406160196\nChange-Id: I5566ccde4003b674bad51d4f8f449090fb890f67\n"
    },
    {
      "commit": "3a3df3dcaa4610428c9e04db2b2a1a4212eac7f4",
      "tree": "f26c53088c7481a287bbf0c87adcd6b5ed250a4d",
      "parents": [
        "e5777c3a470c9383dba70769e1b891c26d751eb9"
      ],
      "author": {
        "name": "Chung-Kai (Michael) Mei",
        "email": "chungkai@google.com",
        "time": "Wed Mar 26 01:55:44 2025 -0700"
      },
      "committer": {
        "name": "Chung-Kai (Michael) Mei",
        "email": "chungkai@google.com",
        "time": "Wed Mar 26 02:02:28 2025 -0700"
      },
      "message": "Revert \"Parallel Module Loading: Add conservative mode\"\n\nRevert submission 3556468\n\nReason for revert: stability issue\n\nReverted changes: /q/submissionid:3556468\n\nBug: 406160196\nChange-Id: Ic3d2c950249ed745134761bb43cd3eeb5889b303\n"
    },
    {
      "commit": "e5777c3a470c9383dba70769e1b891c26d751eb9",
      "tree": "a005c6504140563858a956d77f17d0bfba436d9f",
      "parents": [
        "0455ecee35417d8405e031b9ed37e508e4bd8fd5"
      ],
      "author": {
        "name": "Chung-Kai (Michael) Mei",
        "email": "chungkai@google.com",
        "time": "Wed Mar 26 01:54:29 2025 -0700"
      },
      "committer": {
        "name": "Chung-Kai (Michael) Mei",
        "email": "chungkai@google.com",
        "time": "Wed Mar 26 01:59:44 2025 -0700"
      },
      "message": "Revert \"Parallel module loading: Fix typo and simplify logic\"\n\nThis reverts commit 0455ecee35417d8405e031b9ed37e508e4bd8fd5.\n\nReason for revert: stability issue\n\nBug: 406160196\nChange-Id: Ia452e970add145a2a9bd6d4ea56455756c411cec\n"
    },
    {
      "commit": "182b9333bb0f9b9117d9ab977541ce7e56566ebf",
      "tree": "a02af007bd0820b6b3da93a4f0da183ccd56ea24",
      "parents": [
        "cd96d1d5d78940f8946ff25397b54008eea44bdb",
        "700dee8abc8a70549665ca58980b41918be09a30"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Mar 25 23:04:48 2025 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 25 23:04:48 2025 -0700"
      },
      "message": "Merge \"snapshotctl: Check for empty directory\" into main"
    },
    {
      "commit": "700dee8abc8a70549665ca58980b41918be09a30",
      "tree": "a02af007bd0820b6b3da93a4f0da183ccd56ea24",
      "parents": [
        "cd96d1d5d78940f8946ff25397b54008eea44bdb"
      ],
      "author": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Tue Mar 25 21:40:49 2025 -0700"
      },
      "committer": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Tue Mar 25 21:43:23 2025 -0700"
      },
      "message": "snapshotctl: Check for empty directory\n\nTest: snapshotctl apply-update \u003cempty-directory\u003e\nChange-Id: Ieda5fe24b74182cdebf9f2c6c0c0a455cd8bfcc7\nSigned-off-by: Akilesh Kailash \u003cakailash@google.com\u003e\n"
    },
    {
      "commit": "2a9a6b56a9df84c27f6df5aeebe8a8b9f36ff452",
      "tree": "ebc0c87f0455de67f86ed2cdb960d6ddad6e1b34",
      "parents": [
        "a47b636eb5853cc137e602022a68861a1fc9b22c"
      ],
      "author": {
        "name": "Junichi Uekawa",
        "email": "uekawa@google.com",
        "time": "Fri Mar 14 11:33:41 2025 +0900"
      },
      "committer": {
        "name": "Yuan Yao",
        "email": "yuanyaogoog@google.com",
        "time": "Wed Mar 26 02:15:06 2025 +0000"
      },
      "message": "init: flush ext4 file system on shutdown\n\nPreviously, only f2fs /data filesystems were shutdown using the\nF2FS_IOC_SHUTDOWN ioctl. This change adds support for shutting down ext4\n/data filesystem with the EXT4_IOC_SHUTDOWN ioctl.\n\nBug: 403381187\nTest: Verify /data was clean after reboot on desktop\nTest: Verify e2fsck returns immediately when booting on desktop\n\nChange-Id: I08208888d839649efe54fcab5d73177e9e06ec88\n"
    },
    {
      "commit": "547dc31c6df75c468f652a349cb32d9788a4bb54",
      "tree": "9dcc72e13d795251ba038bb4705678a738780a4d",
      "parents": [
        "7e74ffd905e36032198a63dbdb7df498280dc339"
      ],
      "author": {
        "name": "Sandeep Dhavale",
        "email": "dhavale@google.com",
        "time": "Tue Mar 25 13:25:57 2025 -0700"
      },
      "committer": {
        "name": "Sandeep Dhavale",
        "email": "dhavale@google.com",
        "time": "Tue Mar 25 15:26:18 2025 -0700"
      },
      "message": "create_snapshot: improve copy operation by reordering\n\nSort the copy blocks so consecutive target blocks can be together.\n\nFix WriteOrderedSnapshots() to go through copy operations\nusing topological sort and re-order them so we can maximize\ncopy operations and reduce the replace operations further.\n\nIf we detect the cycles in dependency, convert only those blocks\nto replace blocks.\n\nTest: create_snapshot on 2 builds before and after, patch size reduced\nby 10x (~900MB -\u003e ~90MB).\n\nBug: 401284556\n\nChange-Id: I4aaa02849164575d1a4dbf1578cdfc1627230c5c\nSigned-off-by: Sandeep Dhavale \u003cdhavale@google.com\u003e\n"
    },
    {
      "commit": "cd96d1d5d78940f8946ff25397b54008eea44bdb",
      "tree": "fb3c3b31fdd7de6d8918369c2050c86e0733acb3",
      "parents": [
        "124e0b6d3eb45263d6707271771166d290774a22",
        "afc80f06f2e2be08deaea472334900706bc9ce6f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Mar 25 12:03:52 2025 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 25 12:03:52 2025 -0700"
      },
      "message": "Merge \"trusty_driver_test: Filter out some tainted bits\" into main"
    },
    {
      "commit": "124e0b6d3eb45263d6707271771166d290774a22",
      "tree": "ae3628180f007ebfc810490634fa5a6b3593e34c",
      "parents": [
        "a47b636eb5853cc137e602022a68861a1fc9b22c",
        "0455ecee35417d8405e031b9ed37e508e4bd8fd5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Mar 25 11:58:32 2025 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 25 11:58:32 2025 -0700"
      },
      "message": "Merge \"Parallel module loading: Fix typo and simplify logic\" into main"
    },
    {
      "commit": "0455ecee35417d8405e031b9ed37e508e4bd8fd5",
      "tree": "ae3628180f007ebfc810490634fa5a6b3593e34c",
      "parents": [
        "a47b636eb5853cc137e602022a68861a1fc9b22c"
      ],
      "author": {
        "name": "Chungkai Mei",
        "email": "chungkai@google.com",
        "time": "Tue Mar 25 08:30:56 2025 +0000"
      },
      "committer": {
        "name": "Chung-Kai (Michael) Mei",
        "email": "chungkai@google.com",
        "time": "Tue Mar 25 02:17:10 2025 -0700"
      },
      "message": "Parallel module loading: Fix typo and simplify logic\n\nRemove redundant `find()` call as `insert()` performs an internal search and use `load_modules_parallel` directly for all mode selection.\n\nBug: 402263126\nChange-Id: Ib87d45843fe34df41eee33fdc72179c964061c73\nSigned-off-by: Chungkai Mei \u003cchungkai@google.com\u003e\n"
    },
    {
      "commit": "a47b636eb5853cc137e602022a68861a1fc9b22c",
      "tree": "a005c6504140563858a956d77f17d0bfba436d9f",
      "parents": [
        "900221fe337e185924d2870d5b123392d5f227c1",
        "23fe418cda1dbd494c230a74e017be237e6af165"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Mon Mar 24 18:18:42 2025 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 24 18:18:42 2025 -0700"
      },
      "message": "Merge \"trusty_driver_test: Scan for new device sysfs paths\" into main"
    },
    {
      "commit": "afc80f06f2e2be08deaea472334900706bc9ce6f",
      "tree": "b9ee4e57cc38864a0081edf4c48a0678c2d01d8c",
      "parents": [
        "23fe418cda1dbd494c230a74e017be237e6af165"
      ],
      "author": {
        "name": "Andrei Homescu",
        "email": "ahomescu@google.com",
        "time": "Mon Mar 24 23:39:09 2025 +0000"
      },
      "committer": {
        "name": "Andrei Homescu",
        "email": "ahomescu@google.com",
        "time": "Mon Mar 24 23:45:14 2025 +0000"
      },
      "message": "trusty_driver_test: Filter out some tainted bits\n\nFilter out the out-of-tree and unsigned module bits\nbecause our CI builds always have one or both of those.\n\nBug: 284057071\nTest: adb shell /.../trusty_driver_test\nChange-Id: I2c736fbb413b44d82558e71e2a8eac66e69cbdee\n"
    },
    {
      "commit": "23fe418cda1dbd494c230a74e017be237e6af165",
      "tree": "a005c6504140563858a956d77f17d0bfba436d9f",
      "parents": [
        "900221fe337e185924d2870d5b123392d5f227c1"
      ],
      "author": {
        "name": "Andrei Homescu",
        "email": "ahomescu@google.com",
        "time": "Mon Nov 25 22:35:30 2024 +0000"
      },
      "committer": {
        "name": "Andrei Homescu",
        "email": "ahomescu@google.com",
        "time": "Mon Mar 24 23:45:14 2025 +0000"
      },
      "message": "trusty_driver_test: Scan for new device sysfs paths\n\nThe FF-A changes add new names for the Trusty devices\n(trusty-ffa and trusty-core) and expand the device hierarchy.\n\nSee https://r.android.com/3369480 and https://r.android.com/3368602\nfor the corresponding changes to the Trusty test-map.\n\nBug: 284057071\nTest: adb sync data \u0026\u0026 trusty_driver_test.py\nChange-Id: I509cf3a78214c3cf4a54727cc6c8d057ae2257ad\n"
    },
    {
      "commit": "900221fe337e185924d2870d5b123392d5f227c1",
      "tree": "a43faa094cd6a980a4f3d13ee060618348120cfe",
      "parents": [
        "341f7e963e1bfdcd2b9e1fbd0d39c5679c090b76",
        "a4211aeb4c6b47e9d45f5aa7b751514fc84e084b"
      ],
      "author": {
        "name": "William McVicker",
        "email": "willmcvicker@google.com",
        "time": "Mon Mar 24 11:52:12 2025 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 24 11:52:12 2025 -0700"
      },
      "message": "Merge changes I41ebaf72,I638bc2d7 into main\n\n* changes:\n  Parallel Module Loading: Add conservative mode\n  Parallel Module Loading: Add performance mode\n"
    },
    {
      "commit": "a4211aeb4c6b47e9d45f5aa7b751514fc84e084b",
      "tree": "a43faa094cd6a980a4f3d13ee060618348120cfe",
      "parents": [
        "6f3c362bb91b52e09bd7c4b5fa6b47fa493751c9"
      ],
      "author": {
        "name": "Chungkai Mei",
        "email": "chungkai@google.com",
        "time": "Mon Mar 10 03:46:29 2025 +0000"
      },
      "committer": {
        "name": "Chungkai Mei",
        "email": "chungkai@google.com",
        "time": "Mon Mar 24 05:52:03 2025 +0000"
      },
      "message": "Parallel Module Loading: Add conservative mode\n\nit help us to debug or load modules more conservatively.\n\nBug: 385049709\nChange-Id: I41ebaf7298398652475918c2c3a3127c4bf6ac3f\nSigned-off-by: Chungkai Mei \u003cchungkai@google.com\u003e\n"
    },
    {
      "commit": "6f3c362bb91b52e09bd7c4b5fa6b47fa493751c9",
      "tree": "61e0fac125106667b84ce510d37b5b255083418a",
      "parents": [
        "341f7e963e1bfdcd2b9e1fbd0d39c5679c090b76"
      ],
      "author": {
        "name": "Chungkai Mei",
        "email": "chungkai@google.com",
        "time": "Tue Mar 11 02:48:34 2025 +0000"
      },
      "committer": {
        "name": "Chungkai Mei",
        "email": "chungkai@google.com",
        "time": "Mon Mar 24 05:37:31 2025 +0000"
      },
      "message": "Parallel Module Loading: Add performance mode\n\nAdd the performance mode. It improved parallel module loading performance by enabling the main thread to identify any new independent modules without waiting for subthreads to load all the old independent threads.\n\nBug: 385049709\nChange-Id: I638bc2d7d8fea6457be503c2b7aecd975250835a\nSigned-off-by: Chungkai Mei \u003cchungkai@google.com\u003e\n"
    },
    {
      "commit": "341f7e963e1bfdcd2b9e1fbd0d39c5679c090b76",
      "tree": "86fc0cd1ab7c180045c71bd13011022399aefd3d",
      "parents": [
        "81abbe149015d640930bc789fd9b4e104f1f89a3",
        "435557c989e5e32e4b3dd563dcbd8969a8d542ec"
      ],
      "author": {
        "name": "Chung-Kai (Michael) Mei",
        "email": "chungkai@google.com",
        "time": "Sun Mar 23 19:16:07 2025 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sun Mar 23 19:16:07 2025 -0700"
      },
      "message": "Merge \"Parallel Module Loading: Refactor threads pool and architecture\" into main"
    },
    {
      "commit": "81abbe149015d640930bc789fd9b4e104f1f89a3",
      "tree": "1a7e136596b175b4c9a3d64828181d3539155404",
      "parents": [
        "1a0f1623332bdae62ed1a5cf9500a1ed91ff70f1",
        "92ca277fb7c7c9d504ad68e415d5397d71388579"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Mar 21 10:23:01 2025 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 21 10:23:01 2025 -0700"
      },
      "message": "Merge \"libprocessgroup: memcg v2 default MaxActivationDepth \u003d 3\" into main"
    },
    {
      "commit": "1a0f1623332bdae62ed1a5cf9500a1ed91ff70f1",
      "tree": "3c76dccff75ea6ee3e2ec4b6f2624254e446e6ad",
      "parents": [
        "7e74ffd905e36032198a63dbdb7df498280dc339",
        "55bf2ffb3e8ee4143fe6c6bee0114cf5dfd08e8b"
      ],
      "author": {
        "name": "Soichiro Fujii",
        "email": "soichirof@google.com",
        "time": "Fri Mar 21 04:36:50 2025 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 21 04:36:50 2025 -0700"
      },
      "message": "Merge \"libprefetch: fix regex to match 5.x/6.x ftrace event format\" into main"
    },
    {
      "commit": "55bf2ffb3e8ee4143fe6c6bee0114cf5dfd08e8b",
      "tree": "3c76dccff75ea6ee3e2ec4b6f2624254e446e6ad",
      "parents": [
        "7e74ffd905e36032198a63dbdb7df498280dc339"
      ],
      "author": {
        "name": "Soichiro Fujii",
        "email": "soichirof@google.com",
        "time": "Fri Mar 21 13:32:38 2025 +0900"
      },
      "committer": {
        "name": "Soichiro Fujii",
        "email": "soichirof@google.com",
        "time": "Fri Mar 21 17:46:57 2025 +0900"
      },
      "message": "libprefetch: fix regex to match 5.x/6.x ftrace event format\n\n`mm_filemap_add_to_page_cache` event has a different formatting\ndepending on whether the version of kernel is 5.x or 6.x.\n\n1. 5.x has a `page\u003d` section after inode, while 6.x does not.\n2. 6.x has a `order\u003d` section at the end, while 5.x does not.\n\nCurrent regex only matches to 6.x versions, which causes `cargo test`\nto fail as the test uses 5.x format for testing.\n\nFix the regex to match on both existing 5.x test input, and newly\nadded 6.x test input.\n\nBug: 365889232\nTest: `cargo test` passes with mixed 5.x and 6.x test input\nTest: on emulator with 6.6 kernel, observe that pack file is\ngenerated correctly.\n\nChange-Id: I869b5570e4d1cb2c155eceb3fd00c177ed4676f6\n"
    },
    {
      "commit": "92ca277fb7c7c9d504ad68e415d5397d71388579",
      "tree": "50f4fff4d608b5901911511634bcc74c5ce91d33",
      "parents": [
        "7e74ffd905e36032198a63dbdb7df498280dc339"
      ],
      "author": {
        "name": "T.J. Mercier",
        "email": "tjmercier@google.com",
        "time": "Thu Mar 20 15:10:04 2025 -0700"
      },
      "committer": {
        "name": "T.J. Mercier",
        "email": "tjmercier@google.com",
        "time": "Thu Mar 20 15:10:04 2025 -0700"
      },
      "message": "libprocessgroup: memcg v2 default MaxActivationDepth \u003d 3\n\nEnable per-PID memcgs by default.\n\nVendor overrides to alternate MaxActivationDepths are supported in Android 16. Overrides to memcg v1 are also supported in Android 16. [1]\n\nIn Android 17 these overrides are not likely to be supported.\n\n[1] https://source.android.com/docs/core/perf/cgroups#per-api-level-task-profiles\n\nBug: 386797284\nChange-Id: Ia2107ac2244dcd9d05c918fe964529d0f83a13cf\n"
    },
    {
      "commit": "435557c989e5e32e4b3dd563dcbd8969a8d542ec",
      "tree": "93182cb6f2adf28d5d7bae1784a36a53202e93b2",
      "parents": [
        "dcf5858c66e5eae63dab213b9ac1ff1b4a4ddf55"
      ],
      "author": {
        "name": "Chungkai Mei",
        "email": "chungkai@google.com",
        "time": "Wed Dec 25 06:02:16 2024 +0000"
      },
      "committer": {
        "name": "Chungkai Mei",
        "email": "chungkai@google.com",
        "time": "Thu Mar 20 07:01:00 2025 +0000"
      },
      "message": "Parallel Module Loading: Refactor threads pool and architecture\n\nInstead of creating new threads in each run, reuse same threads to load the modules and we can keep the utilization of threads and cpufreq higher.\n\nAnd let subthreads dedicated to loading modules in parallel or alone, main thread only needs to update independent module pool. this architecture should be simpler and more readable.\n\nBug: 402263126\nChange-Id: If3f07a18cd7c43132ff799d32786d2466f3110f1\nSigned-off-by: Chungkai Mei \u003cchungkai@google.com\u003e\n"
    },
    {
      "commit": "7e74ffd905e36032198a63dbdb7df498280dc339",
      "tree": "9e3a1200c97da1f73128adfaa2a8a485f29268d8",
      "parents": [
        "5a964ac084130dad0578a0b33c2c4acf65f77f0e",
        "0a1a8356c9477e8795d657f679e21157453a0f93"
      ],
      "author": {
        "name": "Priyanka Advani (xWF)",
        "email": "padvani@google.com",
        "time": "Wed Mar 19 15:34:31 2025 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 19 15:34:31 2025 -0700"
      },
      "message": "Merge \"Revert^2 \"Update trusty to use secretkeeper hal V1\"\" into main"
    },
    {
      "commit": "0a1a8356c9477e8795d657f679e21157453a0f93",
      "tree": "4ed87da223b32599187ee25ccc69de2ef44c49e5",
      "parents": [
        "84efbc566cf602e3a78be7cdf3da118c62f8203a"
      ],
      "author": {
        "name": "Priyanka Advani (xWF)",
        "email": "padvani@google.com",
        "time": "Wed Mar 19 13:59:57 2025 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 19 13:59:57 2025 -0700"
      },
      "message": "Revert^2 \"Update trusty to use secretkeeper hal V1\"\n\nThis reverts commit 84efbc566cf602e3a78be7cdf3da118c62f8203a.\n\nReason for revert: Droidmonitor created revert due to b/404901840. Will be verifying through ABTD before submission.\n\nChange-Id: I92ac8a1868753758f082ad20fd5967da7bbb1701\n"
    },
    {
      "commit": "5a964ac084130dad0578a0b33c2c4acf65f77f0e",
      "tree": "cc38bac1c96be68b795b4f4cb0e7c945fc077c6c",
      "parents": [
        "30b0fbe957f8667a6b0d0e3f54009ddc839b7789",
        "84efbc566cf602e3a78be7cdf3da118c62f8203a"
      ],
      "author": {
        "name": "Matt Gilbride",
        "email": "mattgilbride@google.com",
        "time": "Wed Mar 19 11:09:32 2025 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 19 11:09:32 2025 -0700"
      },
      "message": "Merge \"Revert \"Update trusty to use secretkeeper hal V1\"\" into main"
    },
    {
      "commit": "30b0fbe957f8667a6b0d0e3f54009ddc839b7789",
      "tree": "9e3a1200c97da1f73128adfaa2a8a485f29268d8",
      "parents": [
        "e9560e72d21436ab7e9d69cb7e5496e435935369",
        "9cdca9a61d484b7defea4101c0eb3e90aff779b2"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Mar 19 01:18:29 2025 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 19 01:18:29 2025 -0700"
      },
      "message": "Merge \"Remove obsolete configs from fs_config.cpp\" into main"
    },
    {
      "commit": "9cdca9a61d484b7defea4101c0eb3e90aff779b2",
      "tree": "9e3a1200c97da1f73128adfaa2a8a485f29268d8",
      "parents": [
        "e9560e72d21436ab7e9d69cb7e5496e435935369"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Tue Mar 18 13:25:29 2025 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Tue Mar 18 14:42:29 2025 +0900"
      },
      "message": "Remove obsolete configs from fs_config.cpp\n\nThe removed lines are for configuring directories or files in the\nflattened APEXes. Since flattened APEX no longer exists, these lines are\nobsolete, and thus removing.\n\nOwnership and mode of files/dirs in APEXes are configured via the\ncanned_fs_config files specific to the APEXes.\n\nBug: 402962730\nTest: build the tethering APEX, check the owner ahd mode of the\nfor-system directory in it.\n\nChange-Id: I58e9b67f5cedd8233e02b4d2f4d9c277d6f64f8c\n"
    },
    {
      "commit": "e9560e72d21436ab7e9d69cb7e5496e435935369",
      "tree": "1a6319989f257f5b5a723abce7f35bfab214504b",
      "parents": [
        "45a6009f07f0838b256b7d86648a38f40564ec60",
        "d1ca7e8017973616b4ecec16525eb87c5853a205"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Mon Mar 17 19:47:33 2025 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 17 19:47:33 2025 -0700"
      },
      "message": "Merge \"change ownership of for-system subdirs to AID_CLAT\" into main"
    },
    {
      "commit": "84efbc566cf602e3a78be7cdf3da118c62f8203a",
      "tree": "ba820b2cc5682fde3bcef37c6dbb7c70c2566e20",
      "parents": [
        "7a1cf9a52d526ed265ce0a3c2ea380fb65e58bcc"
      ],
      "author": {
        "name": "Matt Gilbride",
        "email": "mattgilbride@google.com",
        "time": "Mon Mar 17 12:06:35 2025 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 17 12:06:35 2025 -0700"
      },
      "message": "Revert \"Update trusty to use secretkeeper hal V1\"\n\nThis reverts commit 7a1cf9a52d526ed265ce0a3c2ea380fb65e58bcc.\n\nReason for revert: Trusty prebuilt ready to use hal V2\n\nChange-Id: Ia0a27a88ba0b1a5fbc75c1c1de060105b9a790e0\n"
    },
    {
      "commit": "45a6009f07f0838b256b7d86648a38f40564ec60",
      "tree": "73babfe8ed4b78fdc69f7a0570921635d30b59ad",
      "parents": [
        "95b890708da19801f93e864d4436dfa1d5c33f73",
        "9f79a97af1e808bc136b3ec92330d74038365c04"
      ],
      "author": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Fri Mar 14 13:10:10 2025 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 14 13:10:10 2025 -0700"
      },
      "message": "Merge \"libsnapshot: Reinitiaze SnapshotMergeStats instance\" into main"
    },
    {
      "commit": "9f79a97af1e808bc136b3ec92330d74038365c04",
      "tree": "3bdcbd0487a57c93d44aff0b5991e30d01f2d38c",
      "parents": [
        "e69593fee70258ecab79fb32d9736d951dff5a4b"
      ],
      "author": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Fri Mar 14 10:41:47 2025 -0700"
      },
      "committer": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Fri Mar 14 10:41:47 2025 -0700"
      },
      "message": "libsnapshot: Reinitiaze SnapshotMergeStats instance\n\nIf SnapshotManager instance merge path has changed,\nthen reinitialize the SnapshotMergeStats instance.\n\nBug: 401952955\nTest: OTA on Pixel\nChange-Id: I1a6b2de0274afa223f081787726cc87e787e5f30\nSigned-off-by: Akilesh Kailash \u003cakailash@google.com\u003e\n"
    },
    {
      "commit": "d1ca7e8017973616b4ecec16525eb87c5853a205",
      "tree": "b400d0953ab738e4d9d8746b18129a702acf10ed",
      "parents": [
        "95b890708da19801f93e864d4436dfa1d5c33f73"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Mar 14 09:25:21 2025 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Mar 14 09:26:37 2025 -0700"
      },
      "message": "change ownership of for-system subdirs to AID_CLAT\n\nBug: 402962730\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Id8a4de6468d96fa2ae430edb2d90547ab435f598\n"
    },
    {
      "commit": "95b890708da19801f93e864d4436dfa1d5c33f73",
      "tree": "c0cf33b7d83a75d0e12fc7c86f718a65c18a4192",
      "parents": [
        "67e0a3539b11129b889a577fd4f353fd9eb78114",
        "e69593fee70258ecab79fb32d9736d951dff5a4b"
      ],
      "author": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Wed Mar 12 17:08:14 2025 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 12 17:08:14 2025 -0700"
      },
      "message": "Merge \"Verify partitions using registered buffers\" into main"
    },
    {
      "commit": "67e0a3539b11129b889a577fd4f353fd9eb78114",
      "tree": "2e121575267afdf56a483c4e48a1e3f53361aea6",
      "parents": [
        "9c0613f31d948782e3c9c7e564400c74daa2d635",
        "ec6e99816272712ccfb29375446b13654f3a7fe8"
      ],
      "author": {
        "name": "Marcin Radomski",
        "email": "dextero@google.com",
        "time": "Wed Mar 12 13:03:17 2025 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 12 13:03:17 2025 -0700"
      },
      "message": "Merge \"init: fix SELinux denials on remounting from new netns\" into main"
    },
    {
      "commit": "9c0613f31d948782e3c9c7e564400c74daa2d635",
      "tree": "411fdb1c91d5f988b10ce4c486be7e50af4095cc",
      "parents": [
        "1ca87c72053347af7322a0d1228073a3f0938498",
        "3d75ea011a026fc6103fffa5a2e9d086ad1d7b11"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Tue Mar 11 17:30:38 2025 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 11 17:30:38 2025 -0700"
      },
      "message": "Merge \"The unit of memory.soft_limit_in_bytes(memcg v1) or memory.low(memcg v2) should be \u0027M\u0027, \u0027MB\u0027 is the invalid argument.\" into main"
    },
    {
      "commit": "e69593fee70258ecab79fb32d9736d951dff5a4b",
      "tree": "edaac6f747dcac10dc35d2d5680a510cc3793995",
      "parents": [
        "3a0c0952538a31c33b33bda259c982b5f1385c32"
      ],
      "author": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Thu Mar 06 15:17:22 2025 -0800"
      },
      "committer": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Tue Mar 11 12:22:10 2025 -0700"
      },
      "message": "Verify partitions using registered buffers\n\n1: Single thread per partition is used for verification but with a\n   default queue depth of 4\n2: Since the buffers are pre-registered, buffer allocation will\n   not be from CMA memory.\n\nPartition verification when every block is a COPY operation:\n\nPartition: system_dlkm Duration : 123 ms\nPartition: vendor_dlkm Duration : 135 ms\nPartition: system_ext Duration : 1421 ms\nPartition: system Size: 945278976 Duration : 2834 ms\nPartition: vendor Size: 998957056 Duration : 2881 ms\nPartition: product Size: 3941609472 Duration : 6246 ms\n\nBug: 400674947\nTest: Boot device off snapshots and verify partition verification is\nsuccessful. OTA on Pixel\nChange-Id: Ife88c13e7ef00a46aef55e755ae841e33bc7e913\nSigned-off-by: Akilesh Kailash \u003cakailash@google.com\u003e\n"
    },
    {
      "commit": "ec6e99816272712ccfb29375446b13654f3a7fe8",
      "tree": "c14c561518a731c3c632b94c8a1cbac8f73645bd",
      "parents": [
        "1ca87c72053347af7322a0d1228073a3f0938498"
      ],
      "author": {
        "name": "Marcin Radomski",
        "email": "dextero@google.com",
        "time": "Tue Mar 11 19:06:33 2025 +0000"
      },
      "committer": {
        "name": "Marcin Radomski",
        "email": "dextero@google.com",
        "time": "Tue Mar 11 19:11:56 2025 +0000"
      },
      "message": "init: fix SELinux denials on remounting from new netns\n\nNever mount /sys/kernel/debug/tracing. This is the *one* mount that is\nspecial within Linux kernel: for backward compatibility tracefs gets\nauto-mounted there whenever one mounts debugfs [1].\n\nThe auto-mounting logic used to be guarded by an Android-specific kernel\nconfig flag in some older Android kernels 5.10 [2], but that patch was\nnot cherry picked into newer kernels, so the automounting happens\nwhether we want it or not.\n\nAttempting to mount the filesystem here will cause SELinux denials,\nbecause unlike *all other* filesystems in Android, it\u0027s not init who\nmounted it so there\u0027s no policy that would allow it.\n\nThis caused test failures in CI on\naosp_cf_x86_64_auto-trunk_staging-userdebug [3].\n\n[1] https://lore.kernel.org/lkml/20150204143755.694479564@goodmis.org/\n[2] https://android-review.googlesource.com/c/kernel/common/+/1664712\n[3] https://android-build.corp.google.com/test_investigate/invocation/I06400010375485931/test/TR91729660607423480/\n\nBug: 399071958\nTest: abtd run of aosp_cf_x86_64_auto-trunk\nChange-Id: I6692d2b11d26fdcc8ed6411776a955a6d97d9e29\n"
    },
    {
      "commit": "1ca87c72053347af7322a0d1228073a3f0938498",
      "tree": "e5d40343838890f53472320f40a25f6a05d778d7",
      "parents": [
        "a55651a6e246cd7eb42aa7df3bc71e0733ca05a7",
        "3f89c663093febb590dda56022f6dd44a8b81478"
      ],
      "author": {
        "name": "Karuna Wadhera",
        "email": "kwadhera@google.com",
        "time": "Tue Mar 11 07:09:27 2025 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 11 07:09:27 2025 -0700"
      },
      "message": "Merge \"Bootchart updates\" into main"
    },
    {
      "commit": "a55651a6e246cd7eb42aa7df3bc71e0733ca05a7",
      "tree": "4cb9004813fa70e9ad42c927ac7edcfe7dd36b0b",
      "parents": [
        "941fc2973e8e9a32553a46a601d79c36a95529f1",
        "08bde8b3e6ef53e6df8324573c094cc2196a26c1"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Tue Mar 11 06:50:09 2025 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 11 06:50:09 2025 -0700"
      },
      "message": "Merge \"Do not assume MTE is always on if supported\" into main"
    },
    {
      "commit": "941fc2973e8e9a32553a46a601d79c36a95529f1",
      "tree": "348e396dfeebe3a3c522c36d1e413d56751755f9",
      "parents": [
        "ef130ff78894514228797bebd729033dcd48f748",
        "19e26545f51a550ba37d7ade1a78195b1b1e7bc4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 11 05:18:51 2025 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 11 05:18:51 2025 -0700"
      },
      "message": "Merge \"Test that uid 0 isn\u0027t dropped in proto to text conversion.\" into main"
    },
    {
      "commit": "3d75ea011a026fc6103fffa5a2e9d086ad1d7b11",
      "tree": "d2ce426cd2932cd55fb7ceab50bc994c1f469889",
      "parents": [
        "82040a8c5b16e50326db810170cd18ee00273b8f"
      ],
      "author": {
        "name": "xiaomei.li",
        "email": "xiaomei.li@unisoc.com",
        "time": "Tue Mar 11 09:54:21 2025 +0800"
      },
      "committer": {
        "name": "Xiaomei Li",
        "email": "xiaomei.li@unisoc.com",
        "time": "Mon Mar 10 20:24:57 2025 -0700"
      },
      "message": "The unit of memory.soft_limit_in_bytes(memcg v1) or memory.low(memcg v2) should be \u0027M\u0027, \u0027MB\u0027 is the invalid argument.\n\nBug: 402259910\nChange-Id: I683bfd21dc287e98bc3d0d272729368b406af7f3\n"
    },
    {
      "commit": "3f89c663093febb590dda56022f6dd44a8b81478",
      "tree": "f7f7b36ea50b461885385b20ca6d517d53084b39",
      "parents": [
        "79bbceb90110e24346216a6f8e93d977ba897acf"
      ],
      "author": {
        "name": "Karuna Wadhera",
        "email": "kwadhera@google.com",
        "time": "Tue Mar 11 00:19:42 2025 +0000"
      },
      "committer": {
        "name": "Karuna Wadhera",
        "email": "kwadhera@google.com",
        "time": "Mon Mar 10 20:12:26 2025 -0700"
      },
      "message": "Bootchart updates\n\nTest: Change was tested when bootcharting aosp/3433145\nChange-Id: I8ed2f03b692788565e11ee8169a379f7b387b1b5\n"
    },
    {
      "commit": "ef130ff78894514228797bebd729033dcd48f748",
      "tree": "c2fafbbde9b78d7050491e88e633535a48cca033",
      "parents": [
        "82040a8c5b16e50326db810170cd18ee00273b8f",
        "fae5e95a95a006dd1778c43a5da84854833220f7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Mon Mar 10 19:37:41 2025 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 10 19:37:41 2025 -0700"
      },
      "message": "Merge \"Revert tests from \"trusty: Add TRUSTY_SEND_SECURE_OR_SHARE\"\" into main"
    },
    {
      "commit": "fae5e95a95a006dd1778c43a5da84854833220f7",
      "tree": "728299e28f3f9add509b4e6095bdc37ffb57ea71",
      "parents": [
        "aeb5aaed46b2e4ba18693bc8daf7b0e4339329e8"
      ],
      "author": {
        "name": "Andrei Homescu (xWF)",
        "email": "ahomescu@google.com",
        "time": "Mon Mar 10 15:05:09 2025 -0700"
      },
      "committer": {
        "name": "Andrei Homescu",
        "email": "ahomescu@google.com",
        "time": "Mon Mar 10 22:32:48 2025 +0000"
      },
      "message": "Revert tests from \"trusty: Add TRUSTY_SEND_SECURE_OR_SHARE\"\n\nThis reverts the tests from commit 1b75aba47ee8c6ebd2bb3a2ae059aff5a73a7c1b.\n\nReason for revert: Broken, needs more work\n\nChange-Id: I904041c774f336934b7f1a2d3fbf4a97753402a8\n"
    },
    {
      "commit": "82040a8c5b16e50326db810170cd18ee00273b8f",
      "tree": "20bbd5903e6892a02b2ff821dec508908710b973",
      "parents": [
        "3a0c0952538a31c33b33bda259c982b5f1385c32",
        "fc1521251ac00600545b671cc6f8a8b8e841f5b8"
      ],
      "author": {
        "name": "Karuna Wadhera",
        "email": "kwadhera@google.com",
        "time": "Mon Mar 10 15:27:02 2025 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 10 15:27:02 2025 -0700"
      },
      "message": "Merge \"Revert^5 \"Run module code only after KeyMints receive module info\"\" into main"
    },
    {
      "commit": "fc1521251ac00600545b671cc6f8a8b8e841f5b8",
      "tree": "7adb9ce87b5d2ce820c69b378db34979948100a5",
      "parents": [
        "9c830c45921c7220183bc791ea9b749f03868b6c"
      ],
      "author": {
        "name": "Liana Kazanova (xWF)",
        "email": "lkazanova@google.com",
        "time": "Mon Mar 10 15:07:13 2025 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 10 15:07:13 2025 -0700"
      },
      "message": "Revert^5 \"Run module code only after KeyMints receive module info\"\n\nThis reverts commit 9c830c45921c7220183bc791ea9b749f03868b6c.\n\nReason for revert: DroidMonitor: Potential culprit for http://b/402202667 - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.\n\nChange-Id: I45a04b41866f37c924e486d2cfe024327760fd67\n"
    },
    {
      "commit": "08bde8b3e6ef53e6df8324573c094cc2196a26c1",
      "tree": "f8cb76211d07b20e8ebafd9c1191328a49c94ced",
      "parents": [
        "adc9a64d1ebc47d27b58a55ea2d306d1908508cd"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Fri Mar 07 16:36:56 2025 -0800"
      },
      "committer": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Mon Mar 10 13:02:59 2025 -0700"
      },
      "message": "Do not assume MTE is always on if supported\n\nTest: atest debuggerd_test on hwasan build w/ https://r.android.com/3531684\nChange-Id: I036c67f39e0ff5a6d7f5b218fdeb75f4e4956523\n"
    },
    {
      "commit": "3a0c0952538a31c33b33bda259c982b5f1385c32",
      "tree": "04a1343fa53fb994305fce8a92fa9e89be0edb4c",
      "parents": [
        "2324fda135710d2fc5d0b619e85ff8a911fd411c",
        "981d145117e8992842cdddee555c57e60c7a220a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 10 12:42:13 2025 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 10 12:42:13 2025 -0700"
      },
      "message": "Merge \"Explicitly mention a confusing proto3 infelicity.\" into main"
    },
    {
      "commit": "19e26545f51a550ba37d7ade1a78195b1b1e7bc4",
      "tree": "7b530722e866ebdb6e8e340e7d5e2332c1891409",
      "parents": [
        "dcf5858c66e5eae63dab213b9ac1ff1b4a4ddf55"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 10 12:32:35 2025 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 10 12:32:35 2025 -0700"
      },
      "message": "Test that uid 0 isn\u0027t dropped in proto to text conversion.\n\nBug: http://b/401182697\nChange-Id: I0bbb11d1babfcf19a98cacb14f16487006182e0b\n"
    },
    {
      "commit": "2324fda135710d2fc5d0b619e85ff8a911fd411c",
      "tree": "6fc8465008fbd82164abe379727edf8879c28cd6",
      "parents": [
        "158a0c9ebc3734ebc0b98965c3637d4ed54745f9",
        "b9b3708676bd64cd063df084defb97b00ed94958"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Mon Mar 10 11:00:00 2025 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 10 11:00:00 2025 -0700"
      },
      "message": "Merge \"Merge 25Q1 (ab/BP1A.250305.020) to AOSP main\" into main"
    },
    {
      "commit": "158a0c9ebc3734ebc0b98965c3637d4ed54745f9",
      "tree": "6b4795f0907f8cd3b3fcfdee8e58ac2a8ca5790c",
      "parents": [
        "8b30d46f3aede1476643f40be0dc48834ceee838",
        "9c830c45921c7220183bc791ea9b749f03868b6c"
      ],
      "author": {
        "name": "Karuna Wadhera",
        "email": "kwadhera@google.com",
        "time": "Mon Mar 10 10:50:39 2025 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 10 10:50:39 2025 -0700"
      },
      "message": "Merge \"Revert^4 \"Run module code only after KeyMints receive module info\"\" into main"
    },
    {
      "commit": "8b30d46f3aede1476643f40be0dc48834ceee838",
      "tree": "7a2548542ff2cb3448c5d6cecea858eea4bed6a3",
      "parents": [
        "92a97843c4c95a2c4a0da34c8aa271fd3624991c",
        "635e5b4f3c7c34d9d327bcccc61c35a0f44feb95"
      ],
      "author": {
        "name": "Hung Nguyen",
        "email": "hungmn@google.com",
        "time": "Mon Mar 10 10:41:18 2025 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 10 10:41:18 2025 -0700"
      },
      "message": "Merge \"Add init-mmd-prop.rc in case mmd is not built\" into main"
    },
    {
      "commit": "981d145117e8992842cdddee555c57e60c7a220a",
      "tree": "559f59955e97474edff0ae81fc5af7c3b9d38966",
      "parents": [
        "92a97843c4c95a2c4a0da34c8aa271fd3624991c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 10 09:05:06 2025 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 10 09:05:06 2025 -0800"
      },
      "message": "Explicitly mention a confusing proto3 infelicity.\n\nThis controversial choice is a popular topic of discussion on protobuf forums, but there\u0027s nothing we can do beyond document it.\n\nBug: http://b/401182697\nChange-Id: I6edf28ca586c2e20c0f6bb5bdc09734d4d166b58\n"
    },
    {
      "commit": "92a97843c4c95a2c4a0da34c8aa271fd3624991c",
      "tree": "bc18bf8a7424da42455b7f4cbeb19dfb00658680",
      "parents": [
        "dcf5858c66e5eae63dab213b9ac1ff1b4a4ddf55",
        "8e650d38744df6ff84de1ad9f4a175f3c8070206"
      ],
      "author": {
        "name": "Soichiro Fujii",
        "email": "soichirof@google.com",
        "time": "Mon Mar 10 03:21:31 2025 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 10 03:21:31 2025 -0700"
      },
      "message": "Merge changes Iadce8bd7,I4ee818dd into main\n\n* changes:\n  libprefetch: check `ro.prefetch_boot.enabled` internally\n  libprefetch: Increase default fd count to 1024\n"
    },
    {
      "commit": "635e5b4f3c7c34d9d327bcccc61c35a0f44feb95",
      "tree": "1bf5ec346ec6e9dc4343e69f3ef392b34105b495",
      "parents": [
        "facb64dcb4dbaf72cdbb9a2674077f6e19191c4b"
      ],
      "author": {
        "name": "Shintaro Kawamura",
        "email": "kawasin@google.com",
        "time": "Thu Mar 06 16:21:12 2025 +0900"
      },
      "committer": {
        "name": "Shintaro Kawamura",
        "email": "kawasin@google.com",
        "time": "Mon Mar 10 11:14:16 2025 +0900"
      },
      "message": "Add init-mmd-prop.rc in case mmd is not built\n\nThe build flag RELEASE_MEMORY_MANAGEMENT_DAEMON will be eventually\nenabled. If mmd is not built into the image, init-mmd-prop.rc sets\n\"mmd.enabled_aconfig\" sysprop to unblock swapon_all execution.\n\nDevices launching mmd in Trunkfood and Nextfood are supposed to execute\nswapon_all command on \"on property:mmd.enabled_aconfig\u003d*\" trigger.\n\nOn devices with mmd enabled, we need `mmd.enabled_aconfig` sysprop to be\nempty by default, to let swapon_all command wait until aconfig flag\nvalue is loaded to the system property.\n\nBug: 393481329\nTest: manual\n\nChange-Id: Iaba4cee2b5006a10403d5e03532bed008ab80019\n"
    },
    {
      "commit": "b9b3708676bd64cd063df084defb97b00ed94958",
      "tree": "f4865a2227b7bed2c435c44a7f035f66316e7574",
      "parents": [
        "dcf5858c66e5eae63dab213b9ac1ff1b4a4ddf55",
        "ab808938a08b05f150b90d0f43a7fbb8b697c828"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Sat Mar 08 16:10:05 2025 -0800"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Sat Mar 08 16:10:05 2025 -0800"
      },
      "message": "Merge 25Q1 (ab/BP1A.250305.020) to AOSP main\n\nBug: 385190204\nMerged-In: I02624d2b431b630a1c02864738df8be546c3b4ea\nChange-Id: I11b623d99844b053f6b8615df59153ae107be757\n"
    },
    {
      "commit": "8e650d38744df6ff84de1ad9f4a175f3c8070206",
      "tree": "b6bb3adbfa1090bc8f4eb1da2a089f56cc682932",
      "parents": [
        "31da755b716eeb1eb5c94950f239fccf4301b62b"
      ],
      "author": {
        "name": "Soichiro Fujii",
        "email": "soichirof@google.com",
        "time": "Fri Mar 07 16:53:14 2025 +0900"
      },
      "committer": {
        "name": "Soichiro Fujii",
        "email": "soichirof@google.com",
        "time": "Fri Mar 07 17:44:48 2025 +0900"
      },
      "message": "libprefetch: check `ro.prefetch_boot.enabled` internally\n\nChecking this value on the prefetch internally prevents\nit from starting unless you explicitly enable the feature.\n\nBug: 380766679\nTest: Builds\nTest: Build emulator image with `ro.prefetch_boot.enabled 0`.\nobserve prefetch record exiting even when other condition meets.\n\nChange-Id: Iadce8bd77a6b5299f33efdf5e195e715798f5104\n"
    },
    {
      "commit": "31da755b716eeb1eb5c94950f239fccf4301b62b",
      "tree": "f9b3f9389a870df0b40e212562f15d0c933012d7",
      "parents": [
        "178e031ad05e5b4f4c1988e260a11f510607b4e5"
      ],
      "author": {
        "name": "Soichiro Fujii",
        "email": "soichirof@google.com",
        "time": "Fri Mar 07 14:09:57 2025 +0900"
      },
      "committer": {
        "name": "Soichiro Fujii",
        "email": "soichirof@google.com",
        "time": "Fri Mar 07 17:37:00 2025 +0900"
      },
      "message": "libprefetch: Increase default fd count to 1024\n\nMaximum capacity of 128 fds for replaying pack file\nfound to be too small. increasing it to 1024 should\nbe safe for most devices.\n\nBug: 380766679\nTest: Builds\nTest: run on devices, observe no performance regression\nChange-Id: I4ee818dd5a9eb87b1a852c616ebda1bf5813d0da\n"
    },
    {
      "commit": "ab808938a08b05f150b90d0f43a7fbb8b697c828",
      "tree": "f4865a2227b7bed2c435c44a7f035f66316e7574",
      "parents": [
        "b9578b5ce75eed90fdc5c0d547d44340922d9034",
        "dcf5858c66e5eae63dab213b9ac1ff1b4a4ddf55"
      ],
      "author": {
        "name": "Soichiro Fujii",
        "email": "soichirof@google.com",
        "time": "Thu Mar 06 23:15:42 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Mar 06 23:15:42 2025 -0800"
      },
      "message": "Merge changes Idb791187,Iad926450 into main am: dcf5858c66\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/core/+/3526294\n\nChange-Id: I24dfbf4d5d84fdf9435655615bc3b92cafb808aa\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "dcf5858c66e5eae63dab213b9ac1ff1b4a4ddf55",
      "tree": "4c18e3ef2c861af4728222213f4339ab9806e18b",
      "parents": [
        "aeb5aaed46b2e4ba18693bc8daf7b0e4339329e8",
        "178e031ad05e5b4f4c1988e260a11f510607b4e5"
      ],
      "author": {
        "name": "Soichiro Fujii",
        "email": "soichirof@google.com",
        "time": "Thu Mar 06 22:44:04 2025 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 06 22:44:04 2025 -0800"
      },
      "message": "Merge changes Idb791187,Iad926450 into main\n\n* changes:\n  libprefetch: Remove `start` command\n  libprefetch: replay/record checks if they can run on its own\n"
    },
    {
      "commit": "b9578b5ce75eed90fdc5c0d547d44340922d9034",
      "tree": "c4a59301bc1302da39a7ccc6898ef0c69ab15a97",
      "parents": [
        "0c98986dfbf9f1352382233a9145e91c7014ab02",
        "aeb5aaed46b2e4ba18693bc8daf7b0e4339329e8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu Mar 06 19:05:47 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Mar 06 19:05:47 2025 -0800"
      },
      "message": "Merge changes from topic \"memfd-ashmem-compat-platform-tests\" into main am: aeb5aaed46\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/core/+/3521635\n\nChange-Id: I687f4056aacce18a2fa0c7403dbdd6b16e5cf323\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "0c98986dfbf9f1352382233a9145e91c7014ab02",
      "tree": "acdcf9f037041671492c7bb1f15472c34b14b189",
      "parents": [
        "58ec6d1841bf3155a41f74d9f9cba70a390764be",
        "eba19fb800204af6747b483b69cd188054bc6708"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu Mar 06 19:04:06 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Mar 06 19:04:06 2025 -0800"
      },
      "message": "Merge \"Revert \"ashmem: Ensure all memfds have non-executable permissions by default\"\" into main am: eba19fb800\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/core/+/3530510\n\nChange-Id: I1d85aca20a31224266d0eb1d23cd6ba7fd3e07a4\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "aeb5aaed46b2e4ba18693bc8daf7b0e4339329e8",
      "tree": "f3285ca198b17c350daa8003160a35686bb3ccfc",
      "parents": [
        "eba19fb800204af6747b483b69cd188054bc6708",
        "2eb0e91233b4b0ce42ce46d5d8a2a7d7d589880a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu Mar 06 18:32:20 2025 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 06 18:32:20 2025 -0800"
      },
      "message": "Merge changes from topic \"memfd-ashmem-compat-platform-tests\" into main\n\n* changes:\n  ashmem_test: Add tests for memfd-ashmem compatibility layer\n  ashmem: Expose has_memfd_support() for ashmem-tests to use\n"
    },
    {
      "commit": "eba19fb800204af6747b483b69cd188054bc6708",
      "tree": "4455825ec9fafe813de2b2836cae98765e356c2c",
      "parents": [
        "0bb109896514d5a02e5f568f43ac657379294dbb",
        "7b1de50e3c798221481f97412a1f9d0d76c963ed"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu Mar 06 18:09:33 2025 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 06 18:09:33 2025 -0800"
      },
      "message": "Merge \"Revert \"ashmem: Ensure all memfds have non-executable permissions by default\"\" into main"
    },
    {
      "commit": "58ec6d1841bf3155a41f74d9f9cba70a390764be",
      "tree": "d7a7caedb8d05c35e5f9f448725c2284d0949f39",
      "parents": [
        "2e6da5238daadf04cc0c4df80bebafb6a74a03b6",
        "0bb109896514d5a02e5f568f43ac657379294dbb"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Thu Mar 06 14:27:49 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Mar 06 14:27:49 2025 -0800"
      },
      "message": "Merge \"libsnapshot: Don\u0027t call RemoveAllSnapshots on normal boot.\" into main am: 0bb1098965\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/core/+/3508341\n\nChange-Id: I7dc608bae935fee9c2f39aef389240c8cce3d5fa\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "0bb109896514d5a02e5f568f43ac657379294dbb",
      "tree": "6965532255f7aa82b9e519c83a88ba4c564dec86",
      "parents": [
        "f73a959785dad45d52212044b83ffbc33bb172c0",
        "e49a9df8368b597142df425c2066409d349e3589"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Thu Mar 06 13:19:38 2025 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 06 13:19:38 2025 -0800"
      },
      "message": "Merge \"libsnapshot: Don\u0027t call RemoveAllSnapshots on normal boot.\" into main"
    },
    {
      "commit": "2e6da5238daadf04cc0c4df80bebafb6a74a03b6",
      "tree": "882475aeb7c96c4f3f0956ea0d0e087f5f27c360",
      "parents": [
        "9780fcc3c5129ec467593e2d798988ca5f8a9c78",
        "f73a959785dad45d52212044b83ffbc33bb172c0"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu Mar 06 12:27:35 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Mar 06 12:27:35 2025 -0800"
      },
      "message": "Merge \"init: restore mounts under /sys after enter_namespace\" into main am: f73a959785\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/core/+/3528451\n\nChange-Id: I080643c924474a7edb8565a7c3e76eaa41ec395c\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "f73a959785dad45d52212044b83ffbc33bb172c0",
      "tree": "e5b127f1ffbfc4fad5d4eb1f084abdc8c293d4c2",
      "parents": [
        "facb64dcb4dbaf72cdbb9a2674077f6e19191c4b",
        "77e36c890d0cc15fe41a80e4d4bd7dee7cf9b546"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu Mar 06 11:44:10 2025 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 06 11:44:10 2025 -0800"
      },
      "message": "Merge \"init: restore mounts under /sys after enter_namespace\" into main"
    },
    {
      "commit": "77e36c890d0cc15fe41a80e4d4bd7dee7cf9b546",
      "tree": "3c12f367c9508fdc788544880f8aa6db156f5508",
      "parents": [
        "efe2276999a344f5f96d4a038c72be752b8bce88"
      ],
      "author": {
        "name": "Marcin Radomski",
        "email": "dextero@google.com",
        "time": "Wed Mar 05 19:11:31 2025 +0000"
      },
      "committer": {
        "name": "Marcin Radomski",
        "email": "dextero@google.com",
        "time": "Thu Mar 06 18:15:03 2025 +0000"
      },
      "message": "init: restore mounts under /sys after enter_namespace\n\nEntering a network namespace requires remounting sysfs to update contents of\n/sys/class/net whose contents depend on the network namespace of the process\nthat mounted it rather than the effective network namespace of the reading\nprocess.\n\nA side effect of the remounting is unmounting all filesystems mounted under\n/sys. In particular, unmounting tracefs (/sys/kernel/tracing) prevents\ncollecting ATrace traces from any init service that uses `enter_namespace\nnet`.\n\nThis CL makes init iterate over all current mounts and remount anything\nunder /sys/ after it remounts /sys for the service being started.\n\nA minor change is to pass \"sysfs\" rather than the empty string as the\nblock device argument to mount. Otherwise, /proc/$PID/mounts inside the\nprocess in network namespace contains a sysfs entry with no block device\nname, which confuses the Fstab parser into thinking that /sys is the\nblock device, which made the included test fail.\n\nBug: 399071958\nTest: th (test included)\nTest: manual check: capture perfetto trace for a process started inside\nTest: a network namespace, see ATrace traces showing up that weren\u0027t\nTest: there before\nChange-Id: Icc1e763dff115a06ac23b37f14cfbdd328bbe659\n"
    },
    {
      "commit": "7b1de50e3c798221481f97412a1f9d0d76c963ed",
      "tree": "bd93f8c83c75d52c9cb0c7a0e52e8360cf0e7f8f",
      "parents": [
        "efe2276999a344f5f96d4a038c72be752b8bce88"
      ],
      "author": {
        "name": "Isaac Manjarres",
        "email": "isaacmanjarres@google.com",
        "time": "Thu Mar 06 05:56:40 2025 -0800"
      },
      "committer": {
        "name": "Isaac J. Manjarres",
        "email": "isaacmanjarres@google.com",
        "time": "Thu Mar 06 05:59:52 2025 -0800"
      },
      "message": "Revert \"ashmem: Ensure all memfds have non-executable permissions by default\"\n\nThis reverts commit ee7a713757314366023e855a76ff17943b6b9296.\n\nReason for revert: We would like to evaluate switching libcutils to\nmemfd against older kernels that don\u0027t support MFD_NOEXEC_SEAL, so\ntemporarily revert it. MFD_NOEXEC_SEAL will be brought back when\ntesting has concluded.\n\nBug: 401214539\nBug: 111903542\nChange-Id: I2cf76e3545ac46a65b54889f9030ad44cb1e4d27\n"
    },
    {
      "commit": "178e031ad05e5b4f4c1988e260a11f510607b4e5",
      "tree": "d6b6509c70e4a190709f826da6d425239de6c9ad",
      "parents": [
        "a0c570bfd1e0a5ca49caef2da0c169adba9cdc74"
      ],
      "author": {
        "name": "Soichiro Fujii",
        "email": "soichirof@google.com",
        "time": "Tue Mar 04 18:25:23 2025 +0900"
      },
      "committer": {
        "name": "Soichiro Fujii",
        "email": "soichirof@google.com",
        "time": "Thu Mar 06 11:08:23 2025 +0900"
      },
      "message": "libprefetch: Remove `start` command\n\nThis command evaluates the current state of device\nand sets either `record` or `replay` property depending\non the result.\n\nAs these checks are now performed by its respective\ncommands by their own, `start` is now obsolete and can\nbe removed.\n\nBug: 380766679\nTest: Build\nTest: on cuttlefish, observe that record only starts when\nthe same condition originally checked in start is met.\nTest: on cuttlefish, observe that replay only starts when\nthe same condition originally checked in start is met.\n\nChange-Id: Idb791187b1c8d3c69a1d7f662a4b74413f6819a2\n"
    },
    {
      "commit": "a0c570bfd1e0a5ca49caef2da0c169adba9cdc74",
      "tree": "187882d25872b5851f8cc35b6ad881284f5b19d6",
      "parents": [
        "efe2276999a344f5f96d4a038c72be752b8bce88"
      ],
      "author": {
        "name": "Soichiro Fujii",
        "email": "soichirof@google.com",
        "time": "Tue Mar 04 10:41:43 2025 +0900"
      },
      "committer": {
        "name": "Soichiro Fujii",
        "email": "soichirof@google.com",
        "time": "Thu Mar 06 11:06:51 2025 +0900"
      },
      "message": "libprefetch: replay/record checks if they can run on its own\n\nCurrently, prefetch `record` or `replay` command is executed\nwhen the respective property is set, which is done by `start`\ncommand. However, due to the timing of which property trigger\ngets executed, this results in prefetch not starting neither\n`record` or `replay` until the very end of boot phase.\n\nInstead of going through `start` to determine which command\nto run using property, each command will check whether they\ncan execute on their own. this way we can tweak exactly when\nwe want to run each commands.\n\nBug: 380766679\nTest: Builds\nTest: On cuttlefish, observe replay correctly exiting when\nreplay condition is not met.\nTest: On cuttlefish, observe record correctly exiting when\nrecord condition is not met.\n\nChange-Id: Iad926450f00984d703f72c9c7b1876a0b3d3ecfd\n"
    },
    {
      "commit": "2eb0e91233b4b0ce42ce46d5d8a2a7d7d589880a",
      "tree": "519054778b1d9ba001b0aa923393520727100939",
      "parents": [
        "78541b718d631348eb494e18ca55be219bd709dc"
      ],
      "author": {
        "name": "Isaac J. Manjarres",
        "email": "isaacmanjarres@google.com",
        "time": "Mon Mar 03 17:55:35 2025 -0800"
      },
      "committer": {
        "name": "Isaac Manjarres",
        "email": "isaacmanjarres@google.com",
        "time": "Wed Mar 05 17:34:46 2025 -0800"
      },
      "message": "ashmem_test: Add tests for memfd-ashmem compatibility layer\n\nRun tests to evaluate the implementation of the memfd-ashmem\ncompatibility layer. These tests will only be run if the memfd-ashmem\ncompatibility support is present.\n\nBug: 111903542\nChange-Id: I318417769e5256b45f060073893a88af8a68ecfc\nSigned-off-by: Isaac J. Manjarres \u003cisaacmanjarres@google.com\u003e\n"
    },
    {
      "commit": "78541b718d631348eb494e18ca55be219bd709dc",
      "tree": "9ad68a7a78415c37934d981e35abe5dea6204825",
      "parents": [
        "facb64dcb4dbaf72cdbb9a2674077f6e19191c4b"
      ],
      "author": {
        "name": "Isaac J. Manjarres",
        "email": "isaacmanjarres@google.com",
        "time": "Mon Mar 03 16:06:58 2025 -0800"
      },
      "committer": {
        "name": "Isaac Manjarres",
        "email": "isaacmanjarres@google.com",
        "time": "Wed Mar 05 17:34:26 2025 -0800"
      },
      "message": "ashmem: Expose has_memfd_support() for ashmem-tests to use\n\nhas_memfd_support() can be used to determine if memfds support ashmem\nioctl commands. This will be useful for the ashmem test suite, as it\ncan use that information to determine if it should test the\nimplementation of the memfd-ashmem ioctls.\n\nTherefore, expose has_memfd_support() but only for ashmem-tests to use.\nAshmem clients do not need/must not use this function.\n\nBug: 111903542\nChange-Id: If1378f73ddbba9a94c45375357ebf56fb0170b51\nSigned-off-by: Isaac J. Manjarres \u003cisaacmanjarres@google.com\u003e\n"
    },
    {
      "commit": "9780fcc3c5129ec467593e2d798988ca5f8a9c78",
      "tree": "7ecd74487ea325557857de2c449d05fa580da62b",
      "parents": [
        "741522fc0ca39b43a76f487b18fa3342a3e3aeb1",
        "facb64dcb4dbaf72cdbb9a2674077f6e19191c4b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Mar 05 13:40:37 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Mar 05 13:40:37 2025 -0800"
      },
      "message": "Merge \"Stop using deprecated (and removed in C23) ATOMIC_VAR_INIT().\" into main am: facb64dcb4\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/core/+/3528252\n\nChange-Id: I3373f5b1ca972346de44171c482ba683f9e6ed21\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "facb64dcb4dbaf72cdbb9a2674077f6e19191c4b",
      "tree": "b04a391a0c3cd5b587d6812d3bbb14ee38cf99c0",
      "parents": [
        "efe2276999a344f5f96d4a038c72be752b8bce88",
        "54e1aacb40c2b92461d529eefcf047e4c7e2afb3"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Mar 05 13:21:49 2025 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 05 13:21:49 2025 -0800"
      },
      "message": "Merge \"Stop using deprecated (and removed in C23) ATOMIC_VAR_INIT().\" into main"
    },
    {
      "commit": "54e1aacb40c2b92461d529eefcf047e4c7e2afb3",
      "tree": "b04a391a0c3cd5b587d6812d3bbb14ee38cf99c0",
      "parents": [
        "efe2276999a344f5f96d4a038c72be752b8bce88"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 05 09:35:10 2025 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 05 09:35:10 2025 -0800"
      },
      "message": "Stop using deprecated (and removed in C23) ATOMIC_VAR_INIT().\n\nChange-Id: I608532fc80bc768aab04c55675656157e7949835\n"
    },
    {
      "commit": "741522fc0ca39b43a76f487b18fa3342a3e3aeb1",
      "tree": "3355716ba149dc321d63ec7253c1f87a54c30182",
      "parents": [
        "d1a8d34fb06a53ce739bbc96006d3cdbdae96bbc",
        "efe2276999a344f5f96d4a038c72be752b8bce88"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Mar 04 17:40:51 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Mar 04 17:40:51 2025 -0800"
      },
      "message": "Merge \"apply-update: Add option to boot device off snapshots\" into main am: efe2276999\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/core/+/3524958\n\nChange-Id: I48390aef6578c7877fed7d357649299fb9907a0a\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "efe2276999a344f5f96d4a038c72be752b8bce88",
      "tree": "8119f91804ccf862f476825afc30ab177ffec93d",
      "parents": [
        "2c45fa7df7b48f9f457bf06bff2081e17bfc57bf",
        "9c228ce317d43b6a26ee252499bb25b9cf7a8701"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Mar 04 17:05:09 2025 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 04 17:05:09 2025 -0800"
      },
      "message": "Merge \"apply-update: Add option to boot device off snapshots\" into main"
    },
    {
      "commit": "d1a8d34fb06a53ce739bbc96006d3cdbdae96bbc",
      "tree": "4f405ddd5661707e02b61a66839ab29770a5bd21",
      "parents": [
        "898beb214d869e8b7029e4767f1fec391f24fdf0",
        "2c45fa7df7b48f9f457bf06bff2081e17bfc57bf"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Mar 04 16:19:20 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Mar 04 16:19:20 2025 -0800"
      },
      "message": "Merge \"libsnapuserd: Handle error message\" into main am: 2c45fa7df7\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/core/+/3525131\n\nChange-Id: Id58b2cda0adc52368f87eb5b67752320ec418510\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "2c45fa7df7b48f9f457bf06bff2081e17bfc57bf",
      "tree": "3ab3ac6886f01d0ee23e6df1360105b1d53f9dde",
      "parents": [
        "79e84ac78b1aace8a0b699c699e089d81f978216",
        "8eeceb69f1c8b6dc56da53112f4b91128e63e930"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Mar 04 15:53:49 2025 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 04 15:53:49 2025 -0800"
      },
      "message": "Merge \"libsnapuserd: Handle error message\" into main"
    },
    {
      "commit": "9c228ce317d43b6a26ee252499bb25b9cf7a8701",
      "tree": "0af27973f8a73ce5e166d0b7bc93f224ee906572",
      "parents": [
        "8eeceb69f1c8b6dc56da53112f4b91128e63e930"
      ],
      "author": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Tue Mar 04 14:41:16 2025 -0800"
      },
      "committer": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Tue Mar 04 14:41:16 2025 -0800"
      },
      "message": "apply-update: Add option to boot device off snapshots\n\n$apply_update --boot_snapshot\n\n~20 seconds to boot off the snapshots\n\nTo revert back to original state:\n`adb shell snapshotctl revert-snapshots`\n\nBug: 400723109\nTest: apply_update --boot_snapshot\nChange-Id: Ia71c93b606149f0f0824085b50a9dc9e76ac5d2a\nSigned-off-by: Akilesh Kailash \u003cakailash@google.com\u003e\n"
    },
    {
      "commit": "8eeceb69f1c8b6dc56da53112f4b91128e63e930",
      "tree": "8bc775f69ebeec96260fb28ae381ae03935c8dc7",
      "parents": [
        "91e33fb214efefba6b250a88f1d133968631446c"
      ],
      "author": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Tue Mar 04 13:34:25 2025 -0800"
      },
      "committer": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Tue Mar 04 13:34:25 2025 -0800"
      },
      "message": "libsnapuserd: Handle error message\n\nBug: 400723109\nTest: snapshotctl pause-merge\nsnapshotctl resume-merge\n\nChange-Id: Ifbcbc14c9be69f849ad9680414614ca4851cfec2\nSigned-off-by: Akilesh Kailash \u003cakailash@google.com\u003e\n"
    },
    {
      "commit": "898beb214d869e8b7029e4767f1fec391f24fdf0",
      "tree": "17b14972aaac9ad14d230b21b10a23f53575e981",
      "parents": [
        "f8805194748fb1534e92ff040f224464ad7c96f4",
        "79e84ac78b1aace8a0b699c699e089d81f978216"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Mar 04 11:43:50 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Mar 04 11:43:50 2025 -0800"
      },
      "message": "Merge \"snapshotctl: Support pause/resume of snapshot merge\" into main am: 79e84ac78b\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/core/+/3523637\n\nChange-Id: I5fe6d5a1278085e9ae4b2a6332f519fad0031cd3\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "f8805194748fb1534e92ff040f224464ad7c96f4",
      "tree": "8dbd2e5ef14e76ce8a4e7333fe2cab5de0b41902",
      "parents": [
        "ea76c8e95bc8c323ceae45fec43f1da39bf104b8",
        "1dc1edfd47ce2ff8d69d9720166e9dfec3f614a4"
      ],
      "author": {
        "name": "Isaac Manjarres",
        "email": "isaacmanjarres@google.com",
        "time": "Tue Mar 04 11:43:38 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Mar 04 11:43:38 2025 -0800"
      },
      "message": "Merge \"ashmem: Remove backwards compatibility for R APEXes running on Q\" into main am: 1dc1edfd47\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/core/+/3521631\n\nChange-Id: I32eab668e355aeac5a6b3ef5211409624b35636b\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "79e84ac78b1aace8a0b699c699e089d81f978216",
      "tree": "8c6abecd162652c239776c2e701e00c26dcb8031",
      "parents": [
        "1dc1edfd47ce2ff8d69d9720166e9dfec3f614a4",
        "91e33fb214efefba6b250a88f1d133968631446c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Mar 04 11:40:15 2025 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 04 11:40:15 2025 -0800"
      },
      "message": "Merge \"snapshotctl: Support pause/resume of snapshot merge\" into main"
    },
    {
      "commit": "1dc1edfd47ce2ff8d69d9720166e9dfec3f614a4",
      "tree": "63f2866c13a346fcade1b401102009bb25312407",
      "parents": [
        "4cd076ad1fa872740cdfddedc25bfaac99ff6464",
        "6d4e75a593f594268535b964c732f9c4c51d3612"
      ],
      "author": {
        "name": "Isaac Manjarres",
        "email": "isaacmanjarres@google.com",
        "time": "Tue Mar 04 11:38:50 2025 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 04 11:38:50 2025 -0800"
      },
      "message": "Merge \"ashmem: Remove backwards compatibility for R APEXes running on Q\" into main"
    },
    {
      "commit": "ea76c8e95bc8c323ceae45fec43f1da39bf104b8",
      "tree": "0aca7c7118058343fd221a5bfaecd8314130ddd4",
      "parents": [
        "86e65989de35eb62141cf39caf5dc46cda344716",
        "4cd076ad1fa872740cdfddedc25bfaac99ff6464"
      ],
      "author": {
        "name": "Weston Carvalho",
        "email": "westoncarvalho@google.com",
        "time": "Tue Mar 04 11:32:14 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Mar 04 11:32:14 2025 -0800"
      },
      "message": "Merge \"storageproxyd: Remove duplicate interface definition\" into main am: 4cd076ad1f\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/core/+/3499233\n\nChange-Id: I47d9772d587bcfa39c6d2bd4a85709d1e59fb2ee\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "4cd076ad1fa872740cdfddedc25bfaac99ff6464",
      "tree": "641db9a80bae4918e523ae552695cd60efbe4813",
      "parents": [
        "88cb60c8d294cfdb1d5b07c04cf9c44b269661bc",
        "29d02f5451b476056ad3c7f9c2f707d58eed96c8"
      ],
      "author": {
        "name": "Weston Carvalho",
        "email": "westoncarvalho@google.com",
        "time": "Tue Mar 04 11:03:51 2025 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 04 11:03:51 2025 -0800"
      },
      "message": "Merge \"storageproxyd: Remove duplicate interface definition\" into main"
    },
    {
      "commit": "91e33fb214efefba6b250a88f1d133968631446c",
      "tree": "b32d08239456ea865a71dfc871da90fc7c1d6b13",
      "parents": [
        "88cb60c8d294cfdb1d5b07c04cf9c44b269661bc"
      ],
      "author": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Tue Mar 04 10:02:32 2025 -0800"
      },
      "committer": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Tue Mar 04 10:02:32 2025 -0800"
      },
      "message": "snapshotctl: Support pause/resume of snapshot merge\n\nAdd Resume snapshot-merge API.\n\nBug: 400723109\nTest: snapshotctl pause-merge\nsnapshotctl resume-merge\n\nChange-Id: I92dd3325f2e26127303a828fa01b7632fa730c50\nSigned-off-by: Akilesh Kailash \u003cakailash@google.com\u003e\n"
    },
    {
      "commit": "6d4e75a593f594268535b964c732f9c4c51d3612",
      "tree": "85873001feb06437b60f33b544bc7f7ea556ab74",
      "parents": [
        "88cb60c8d294cfdb1d5b07c04cf9c44b269661bc"
      ],
      "author": {
        "name": "Isaac J. Manjarres",
        "email": "isaacmanjarres@google.com",
        "time": "Mon Mar 03 14:07:06 2025 -0800"
      },
      "committer": {
        "name": "Isaac Manjarres",
        "email": "isaacmanjarres@google.com",
        "time": "Tue Mar 04 09:53:09 2025 -0800"
      },
      "message": "ashmem: Remove backwards compatibility for R APEXes running on Q\n\nMainline modules aren\u0027t supported on Q anymore, so remove the relevant\ncode for it.\n\nBug: 400506628\nChange-Id: Iaaf29b49ef757d1753e8b30b5979832f21be80e2\nSigned-off-by: Isaac J. Manjarres \u003cisaacmanjarres@google.com\u003e\n"
    },
    {
      "commit": "86e65989de35eb62141cf39caf5dc46cda344716",
      "tree": "56ba527ce7ef317c00a7d3ebc9a39cf55c96baeb",
      "parents": [
        "d17dd1f3ec63bf368bf55ed9fc815c9496cd3d82",
        "88cb60c8d294cfdb1d5b07c04cf9c44b269661bc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 04 05:57:34 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Mar 04 05:57:34 2025 -0800"
      },
      "message": "Merge \"libcutils: clean up the ashmem code a bit.\" into main am: 88cb60c8d2\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/core/+/3506451\n\nChange-Id: I5b032486c5a55b3374cdfedf568b0d4666d0b863\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "88cb60c8d294cfdb1d5b07c04cf9c44b269661bc",
      "tree": "509aeea4c27c6054e5273c9ae1a805ebadecff20",
      "parents": [
        "4c235b170a6130457f4341277dbfe7bcaa5b9e7d",
        "c026325ede55b6f336fcb1757a4c925c1373dd4f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 04 05:06:06 2025 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 04 05:06:06 2025 -0800"
      },
      "message": "Merge \"libcutils: clean up the ashmem code a bit.\" into main"
    },
    {
      "commit": "d17dd1f3ec63bf368bf55ed9fc815c9496cd3d82",
      "tree": "2f3549862cbc4aef8bbf19d65268594f1984d18a",
      "parents": [
        "3c07a2a7390d9f7ac27887d72b08b96f7ee26a09",
        "4c235b170a6130457f4341277dbfe7bcaa5b9e7d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Mon Mar 03 22:31:00 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Mar 03 22:31:00 2025 -0800"
      },
      "message": "Merge \"init.rc: remove /data/apex/sessions\" into main am: 4c235b170a\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/core/+/3513016\n\nChange-Id: I1b959b7a1e440989661877307fe88b44f52ec3b8\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "4c235b170a6130457f4341277dbfe7bcaa5b9e7d",
      "tree": "88ae6369c0dfcc7c9877097520f83c7f56322e4a",
      "parents": [
        "ebb5cce5f72c5eaf393b6044ce44a8b62040761b",
        "f01026f963b8689f6b0e046cb7cbe04b86a830fe"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Mon Mar 03 22:07:50 2025 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 03 22:07:50 2025 -0800"
      },
      "message": "Merge \"init.rc: remove /data/apex/sessions\" into main"
    },
    {
      "commit": "3c07a2a7390d9f7ac27887d72b08b96f7ee26a09",
      "tree": "6d91dcd181493e3d73d1825a9856ad17204e8d18",
      "parents": [
        "ee0acacaf0db2843b7c1d2f3b9e1721dc044af9f",
        "ebb5cce5f72c5eaf393b6044ce44a8b62040761b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Mon Mar 03 13:33:54 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Mar 03 13:33:54 2025 -0800"
      },
      "message": "Merge \"Cleanup python version properties\" into main am: ebb5cce5f7\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/core/+/3518392\n\nChange-Id: I998ec79df6972cbabfa858015ea6add635d2234a\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    }
  ],
  "next": "ebb5cce5f72c5eaf393b6044ce44a8b62040761b"
}
