)]}'
{
  "commit": "4cf40131a5cf4918e83b3756e58a1fc9e984f8ef",
  "tree": "88df943f704ce3a52660f975195a0b4b1b91243d",
  "parents": [
    "55aa640f54280da25046acd2075842d464f451e6"
  ],
  "author": {
    "name": "Arnaldo Carvalho de Melo",
    "email": "acme@redhat.com",
    "time": "Sun Dec 27 21:37:06 2009 -0200"
  },
  "committer": {
    "name": "Ingo Molnar",
    "email": "mingo@elte.hu",
    "time": "Mon Dec 28 09:03:36 2009 +0100"
  },
  "message": "perf record: Introduce a symtab cache\n\nNow a cache will be created in a ~/.debug debuginfo like\nhierarchy, so that at the end of a \u0027perf record\u0027 session all the\nbinaries (with build-ids) involved get collected and indexed by\ntheir build-ids, so that perf report can find them.\n\nThis is interesting when developing software where you want to\ndo a \u0027perf diff\u0027 with the previous build and opens avenues for\nlots more interesting tools, like a \u0027perf diff --graph\u0027 that\ntakes more than two binaries into account.\n\nTunables for collecting just the symtabs can be added if one\ndoesn\u0027t want to have the full binary, but having the full binary\nallows things like \u0027perf rerecord\u0027 or other tools that can\nre-run the tests by having access to the exact binary in some\nperf.data file, so it may well be interesting to keep the full\nbinary there.\n\nSpace consumption is minimised by trying to use hard links, a\n\u0027perf cache\u0027 tool to manage the space used, a la ccache is\nrequired to purge older entries.\n\nWith this in place it will be possible also to introduce new\ncommands, \u0027perf archive\u0027 and \u0027perf restore\u0027 (or some more\nsuitable and future proof names) to create a cpio/tar file with\nthe perf data and the files in the cache that _had_ perf hits of\ninterest.\n\nThere are more aspects to polish, like finding the right vmlinux\nfile to cache, etc, but this is enough for a first step.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frédéric Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c1261957026-15580-10-git-send-email-acme@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fafea0b6f323ec8709a4e50410167da4415dc0d3",
      "old_mode": 33188,
      "old_path": "tools/perf/Makefile",
      "new_id": "7c846424aebf933673c51a729671246a9bdf0ebd",
      "new_mode": 33188,
      "new_path": "tools/perf/Makefile"
    },
    {
      "type": "modify",
      "old_id": "8a0bca55106f8d4ddb15492404367ef5b3f3de88",
      "old_mode": 33188,
      "old_path": "tools/perf/util/header.c",
      "new_id": "df237c3a041b6b64fee96a8b52f11e6d56ba21b3",
      "new_mode": 33188,
      "new_path": "tools/perf/util/header.c"
    },
    {
      "type": "modify",
      "old_id": "ab92763edb03f757e2941f95040133f96f84da02",
      "old_mode": 33188,
      "old_path": "tools/perf/util/symbol.c",
      "new_id": "79ca6a099f96a70447ba81d5973d121a761ad983",
      "new_mode": 33188,
      "new_path": "tools/perf/util/symbol.c"
    },
    {
      "type": "modify",
      "old_id": "9eabd60f819d0150830c35efda3339fcc4bf1c14",
      "old_mode": 33188,
      "old_path": "tools/perf/util/symbol.h",
      "new_id": "f27e158943e9b5f6d12b609741a96b961afd47be",
      "new_mode": 33188,
      "new_path": "tools/perf/util/symbol.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f3c0798a5e7801994680e14bdd3057324561a9f1",
      "new_mode": 33188,
      "new_path": "tools/perf/util/util.c"
    },
    {
      "type": "modify",
      "old_id": "c673d8825883ce2bec91b03f5c1e474a756fde19",
      "old_mode": 33188,
      "old_path": "tools/perf/util/util.h",
      "new_id": "0f5b2a6f1080f6cd6a75f265ea2aa20787fc98e2",
      "new_mode": 33188,
      "new_path": "tools/perf/util/util.h"
    }
  ]
}
