)]}'
{
  "commit": "cfcde9d8c94c2ebd54a6f0a8ad52c48cc0dd7b9d",
  "tree": "293fe9abc47d2bd5dc758768d7ad7cb6c89d3c27",
  "parents": [
    "bb12127c0fefdf3c616121e27676f1fa0bec4a09"
  ],
  "author": {
    "name": "Swarna Prabhu",
    "email": "s.prabhu@samsung.com",
    "time": "Wed Aug 27 17:52:57 2025 +0000"
  },
  "committer": {
    "name": "Luis Chamberlain",
    "email": "mcgrof@kernel.org",
    "time": "Wed Sep 10 11:09:34 2025 -0700"
  },
  "message": "mm: add compaction success and failure tracepoints\n\nAdd extra compaction tracepoints to allow extended memory fragmentation\nintrospection:\n\n  - mm_compaction_success and\n  - mm_compaction_failure\n\nThis allows for better introspection of what exactly is happening at\neither failure or success of memory compaction, as we try to evaluate\nmemory fragmentation in extreme situations.\n\nChanges include:\n\n- Add two extra new tracepoints:\n  * mm_compaction_success\n  * mm_compaction_failure\n- Add COMPACTSUCCESS_EXTFRAG vmstat counter to track successful\n  compactions that still result in fragmented memory (fragmentation\n  index \u003e 0 and \u003c\u003d 1000)\n- Export fill_contig_page_info() and __fragmentation_index() from\n  vmstat.c to allow fragmentation calculation in page allocation path\n  capture detailed compaction outcomes with zone, order, and\n  fragmentation data\n- Calculate fragmentation index after successful compaction to determine\n  if memory remains fragmented despite successful allocation\n\nThe fragmentation index calculation helps identify cases where\ncompaction succeeds but still leaves the zone fragmented. A positive\nindex (0-1000) indicates some level of fragmentation exists, with\nhigher values meaning more fragmentation. This data is crucial for\nunderstanding:\n\n- How bad are situations, really?\n- At what order did a compaction fail?\n- Compaction efficiency in reducing fragmentation\n- Whether successful allocations are masking underlying fragmentation\n  issues\n- The relationship between allocation success and zone health\n\nThe new tracepoints provide runtime visibility into:\n\n- Which zones and orders are experiencing compaction events\n- The resulting fragmentation state after successful compaction\n- Failure patterns for specific allocation orders\n\nThis instrumentation will help us build visualizations of compaction\nover time.\n\nSigned-off-by: Swarna Prabhu \u003cs.prabhu@samsung.com\u003e\nSigned-off-by: Luis Chamberlain \u003cmcgrof@kernel.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9e15a088ba38e2d3864ea7bddf486e87a1ff4410",
      "old_mode": 33188,
      "old_path": "include/linux/vm_event_item.h",
      "new_id": "a26e790cd485700aeb2e069d22345c3af6f8f62f",
      "new_mode": 33188,
      "new_path": "include/linux/vm_event_item.h"
    },
    {
      "type": "modify",
      "old_id": "c287998908bf5fa062d0697fcd4eab036c808e73",
      "old_mode": 33188,
      "old_path": "include/linux/vmstat.h",
      "new_id": "e6560ed8795325abdacca0ec8ea1f7f2326f8384",
      "new_mode": 33188,
      "new_path": "include/linux/vmstat.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f9125c1a944236700fb100c3c517f13a6cad62f2",
      "new_mode": 33188,
      "new_path": "include/trace/events/page_alloc.h"
    },
    {
      "type": "modify",
      "old_id": "d1d037f97c5fc76f8a7739e8515d7593e0ad44f9",
      "old_mode": 33188,
      "old_path": "mm/page_alloc.c",
      "new_id": "a84ecaed4680ac49d037791575236fbb4b63d8e2",
      "new_mode": 33188,
      "new_path": "mm/page_alloc.c"
    },
    {
      "type": "modify",
      "old_id": "71cd1ceba191e15e74255a3eaf5d43a48f26eb34",
      "old_mode": 33188,
      "old_path": "mm/vmstat.c",
      "new_id": "ce82ddb5afccf41d8e678ce4404e838a193768bc",
      "new_mode": 33188,
      "new_path": "mm/vmstat.c"
    }
  ]
}
