)]}'
{
  "log": [
    {
      "commit": "f50246e2e2e33aacc68ac3ec41cf2d6a08860bc4",
      "tree": "68421df5c4808a0163d59a47c91e8fe4fe09f894",
      "parents": [
        "73787190d04a34e6da745da893b3ae8bedde418f"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Mon May 21 09:12:49 2012 +0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue May 22 11:19:16 2012 -0300"
      },
      "message": "perf test: Move parse event automated tests to separated object\n\nMoving event parsing specific tests into separated file:\n\n  util/parse-events-test.c\n\nAlso changing the code a bit to ease running separate tests.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1337584373-2741-2-git-send-email-jolsa@redhat.com\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "16ee6576e25b83806d26eb771138249fcfb5eddc",
      "tree": "7c717b80f28b5c59ba673dc00f2ca9bd0fc068d4",
      "parents": [
        "16fa7e8200fb9066b77a3f27cbed8e4a9fc71998",
        "9b63776fa3ca96c4ecda76f6fa947b7b0add66ac"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri May 18 13:13:33 2012 -0300"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri May 18 13:13:33 2012 -0300"
      },
      "message": "Merge remote-tracking branch \u0027tip/perf/urgent\u0027 into perf/core\n\nMerge reason: We are going to queue up a dependent patch:\n\n\"perf tools: Move parse event automated tests to separated object\"\n\nThat depends on:\n\ncommit e7c72d8\nperf tools: Add \u0027G\u0027 and \u0027H\u0027 modifiers to event parsing\n\nConflicts:\n\ttools/perf/builtin-stat.c\n\nConflicted with the recent \u0027perf_target\u0027 patches when checking the\nresult of perf_evsel open routines to see if a retry is needed to cope\nwith older kernels where the exclude guest/host perf_event_attr bits\nwere not used.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "d1cb9fce92c41454bd594fb0920575fc63301878",
      "tree": "02b1c6b97504b2ba3a2a8f3e33bbb651bb6e98e2",
      "parents": [
        "879d77d0cbe20ad1d6099a1e16f03b72c0649828"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung.kim@lge.com",
        "time": "Wed May 16 18:45:49 2012 +0900"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu May 17 12:32:54 2012 -0300"
      },
      "message": "perf target: Add uses_mmap field\n\nIf perf doesn\u0027t mmap on event (like perf stat), it should not create\nper-task-per-cpu events. So just use a dummy cpu map to create a\nper-task event for this case.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1337161549-9870-3-git-send-email-namhyung.kim@lge.com\n[ committer note: renamed .need_mmap to .uses_mmap ]\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "b809ac100e2f12ebf1b58ff522dba15651a77d27",
      "tree": "b5e4b894ed8cd8d0e1eb3e6252f2204f5bfae764",
      "parents": [
        "4bd0f2d2c0cf14de9c84c2fe689120c6b0f667c8"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung.kim@lge.com",
        "time": "Thu Apr 26 14:15:19 2012 +0900"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed May 02 15:23:11 2012 -0300"
      },
      "message": "perf evlist: Make create_maps() take struct perf_target\n\nNow we have all information that needed to create cpu/thread maps in\nstruct perf_target, it\u0027d be better using it as an argument.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nReviewed-by: David Ahern \u003cdsahern@gmail.com\u003e\nCc: David Ahern \u003cdsahern@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1335417327-11796-6-git-send-email-namhyung.kim@lge.com\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "bea0340582dc47b447a014f5bf9f460925afdaf4",
      "tree": "0fe4a6fe7b287367b127ac7394086ff0c913588a",
      "parents": [
        "c651214e90e5c150015f7524a6bfc298ad61435f"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung.kim@lge.com",
        "time": "Thu Apr 26 14:15:15 2012 +0900"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed May 02 15:17:58 2012 -0300"
      },
      "message": "perf tools: Introduce struct perf_target\n\nThe perf_target struct will be used for taking care of cpu/thread maps\nbased on user\u0027s input. Since it is used on various subcommands it\u0027d\nbetter factoring it out.\n\nThanks to Arnaldo for suggesting the better name.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nReviewed-by: David Ahern \u003cdsahern@gmail.com\u003e\nCc: David Ahern \u003cdsahern@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1335417327-11796-2-git-send-email-namhyung.kim@lge.com\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "23080e4cd224013c06444e7850fe0bcb55c129ff",
      "tree": "fd51e74b7630eec9e156ac1c87635704251a0a50",
      "parents": [
        "f3054c778e367d624ca0dfe68b8498b5c463a9d1"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Apr 26 16:22:09 2012 -0300"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed May 02 15:14:12 2012 -0300"
      },
      "message": "perf test: Make the rdpmc test honour \u0027verbose\u0027 mode\n\nIt was unconditionally printing debug stuff when in non -v mode we\nshould just print the name and result of the test.\n\nNow:\n\n[root@sandy ~]# perf test rdpmc\n 6: x86 rdpmc test: Ok\n[root@sandy ~]# perf test -v rdpmc\n 6: x86 rdpmc test:\n--- start ---\n             0:           6030\n             1:          60030\n             2:         600050\n             3:        6000056\n             4:       60000070\n             5:      600000266\n   ---- end ----\nx86 rdpmc test: Ok\n[root@sandy ~]#\n\nCc: David Ahern \u003cdsahern@gmail.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nLink: http://lkml.kernel.org/n/tip-0tjedaozsy9oarq30nvzg74b@git.kernel.org\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "e7c72d888dac2c81003401d663bd8abd68e7c5cd",
      "tree": "867f8b13c22c1da09c434a438de3def636c84849",
      "parents": [
        "6ffd7bdbf8516d691974d21098278af65d4817a5"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Tue Apr 17 14:13:45 2012 +0300"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 17 11:20:23 2012 -0300"
      },
      "message": "perf tools: Add \u0027G\u0027 and \u0027H\u0027 modifiers to event parsing\n\nThey were dropped during conversion of event parser. Add test case to\nmake sure this will not happen again.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nAcked-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Jiri Olsa \u003cjolsa@redhat.com\u003e\nLink: http://lkml.kernel.org/r/20120417111345.GK11918@redhat.com\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "5d7be90ed5cfb5dd3c9ab726d7daa91b86b81747",
      "tree": "9b40166a00566af8bef1c388d51b8863a92cc6fe",
      "parents": [
        "9fafd98f1bf14276f95b69f0186ad5675f1e1a18"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Tue Mar 20 19:15:40 2012 +0100"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Mar 22 15:11:38 2012 -0300"
      },
      "message": "perf tools: Fix modifier to be applied on correct events\n\nThe event modifier needs to be applied only on the event definition it\nis attached to.\n\nThe current state is that in case of multiple events definition (in\nsingle \u0027-e\u0027 option, separated by \u0027,\u0027) all will get modifier of the last\none.\n\nFixing this by adding separated list for each event definition, so the\nmodifier is applied only to proper event(s). Added automated test to\ncatch this, plus some other modifier tests.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1332267341-26338-3-git-send-email-jolsa@redhat.com\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "5f537a26590e696466aae7f41e6b77e92c8486d1",
      "tree": "6946ba5b2a4cc1133ab11d8a81c37465f794e655",
      "parents": [
        "cd82a32e9924d3a82bd27f830755d23e4ded25bc"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Thu Mar 15 20:09:18 2012 +0100"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Mar 16 14:30:13 2012 -0300"
      },
      "message": "perf tools: Add support to specify pmu style event\n\nAdded new event rule to the event definition grammar:\n\nevent_def: event_pmu |\n           ...\nevent_pmu: PE_NAME \u0027/\u0027 event_config \u0027/\u0027\n\nUsing this rule, event could be now specified like:\n  cpu/config\u003d1,config1\u003d2,config2\u003d3/u\n\nwhere pmu name \u0027cpu\u0027 is looked up via following path:\n  ${sysfs_mount}/bus/event_source/devices/${pmu}\n\nand config options are bound to the pmu\u0027s format definiton:\n  ${sysfs_mount}/bus/event_source/devices/${pmu}/format\n\nThe hardcoded config options still stays and have precedence\nover any format field defined with same name.\n\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nLink: http://lkml.kernel.org/n/tip-50d8nr94f8k4wkezutrxvthe@git.kernel.org\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "cd82a32e9924d3a82bd27f830755d23e4ded25bc",
      "tree": "63ff4fe274d372c22de3937bb867cfe37c7737d6",
      "parents": [
        "8f707d843c2f4023490a873dbc182f632a3a5906"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Thu Mar 15 20:09:17 2012 +0100"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Mar 16 14:29:35 2012 -0300"
      },
      "message": "perf tools: Add perf pmu object to access pmu format definition\n\nAdding pmu object which provides interface to pmu\u0027s sysfs\nevent format definition located at:\n  ${sysfs_mount}/bus/event_source/devices/${pmu}/format\n\nFollowing interface is exported:\n  struct perf_pmu* perf_pmu__find(char *name);\n  - this function returns pmu object, which is then\n    passed as a handle to other interface functions\n\n  int perf_pmu__config(struct perf_pmu *pmu, struct perf_event_attr *attr,\n                       struct list_head *head_terms);\n  - this function configures perf_event_attr struct based\n    on pmu\u0027s format definitions and config terms data,\n    containined in head_terms list.\n\nParser generator is used to retrive the pmu\u0027s format definition.\nThe generated parser is part of the patch. Added makefile rule\n\u0027pmu-parser\u0027 to generate the parser code out of the bison/flex\nsources.\n\nAdded builtin test \u0027Test perf pmu format parsing\u0027, which could\nbe run like:\n\tperf test pmu\n\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nLink: http://lkml.kernel.org/n/tip-errz96u1668gj9wlop1zhpht@git.kernel.org\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "8f707d843c2f4023490a873dbc182f632a3a5906",
      "tree": "e4c6d509756aa869314888de0d5873c4a20a7e92",
      "parents": [
        "89812fc81f8d62d70433a8ff63d26819f372e8ec"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Thu Mar 15 20:09:16 2012 +0100"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Mar 16 14:26:06 2012 -0300"
      },
      "message": "perf tools: Add config options support for event parsing\n\nAdding a new rule to the event grammar to be able to specify\nvalues of additional attributes of symbolic event.\n\nThe new syntax for event symbolic definition is:\n\nevent_legacy_symbol:  PE_NAME_SYM \u0027/\u0027 event_config \u0027/\u0027 |\n                      PE_NAME_SYM sep_slash_dc\n\nevent_config:         event_config \u0027,\u0027 event_term | event_term\n\nevent_term:           PE_NAME \u0027\u003d\u0027 PE_NAME |\n                      PE_NAME \u0027\u003d\u0027 PE_VALUE\n                      PE_NAME\n\nsep_slash_dc: \u0027/\u0027 | \u0027:\u0027 |\n\nAt the moment the config options are hardcoded to be used for legacy\nsymbol events to define several perf_event_attr fields. It is:\n\n  \u0027config\u0027   to define perf_event_attr::config\n  \u0027config1\u0027  to define perf_event_attr::config1\n  \u0027config2\u0027  to define perf_event_attr::config2\n  \u0027period\u0027   to define perf_event_attr::sample_period\n\nLegacy events could be now specified as:\n  cycles/period\u003d100000/\n\nIf term is specified without the value assignment, then 1 is\nassigned by default.\n\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nLink: http://lkml.kernel.org/n/tip-mgkavww9790jbt2jdkooyv4q@git.kernel.org\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "89812fc81f8d62d70433a8ff63d26819f372e8ec",
      "tree": "8d2c6ad6eee1200f5107fa8063a002f415887ba3",
      "parents": [
        "641cc938815dfd09f8fa1ec72deb814f0938ac33"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Thu Mar 15 20:09:15 2012 +0100"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Mar 16 14:20:21 2012 -0300"
      },
      "message": "perf tools: Add parser generator for events parsing\n\nChanging event parsing to use flex/bison parse generator.\nThe event syntax stays as it was.\n\ngrammar description:\n\nevents: events \u0027,\u0027 event | event\n\nevent:  event_def PE_MODIFIER_EVENT | event_def\n\nevent_def: event_legacy_symbol sep_dc     |\n           event_legacy_cache sep_dc      |\n           event_legacy_breakpoint sep_dc |\n           event_legacy_tracepoint sep_dc |\n           event_legacy_numeric sep_dc    |\n           event_legacy_raw sep_dc\n\nevent_legacy_symbol:      PE_NAME_SYM\n\nevent_legacy_cache:       PE_NAME_CACHE_TYPE \u0027-\u0027 PE_NAME_CACHE_OP_RESULT \u0027-\u0027 PE_NAME_CACHE_OP_RESULT |\n                          PE_NAME_CACHE_TYPE \u0027-\u0027 PE_NAME_CACHE_OP_RESULT  |\n                          PE_NAME_CACHE_TYPE\n\nevent_legacy_raw:         PE_SEP_RAW PE_VALUE\n\nevent_legacy_numeric:     PE_VALUE \u0027:\u0027 PE_VALUE\n\nevent_legacy_breakpoint:  PE_SEP_BP \u0027:\u0027 PE_VALUE \u0027:\u0027 PE_MODIFIER_BP\n\nevent_breakpoint_type:    PE_MODIFIER_BPTYPE | empty\n\nPE_NAME_SYM:              cpu-cycles|cycles                              |\n                          stalled-cycles-frontend|idle-cycles-frontend   |\n                          stalled-cycles-backend|idle-cycles-backend     |\n                          instructions                                   |\n                          cache-references                               |\n                          cache-misses                                   |\n                          branch-instructions|branches                   |\n                          branch-misses                                  |\n                          bus-cycles                                     |\n                          cpu-clock                                      |\n                          task-clock                                     |\n                          page-faults|faults                             |\n                          minor-faults                                   |\n                          major-faults                                   |\n                          context-switches|cs                            |\n                          cpu-migrations|migrations                      |\n                          alignment-faults                               |\n                          emulation-faults\n\nPE_NAME_CACHE_TYPE:       L1-dcache|l1-d|l1d|L1-data             |\n                          L1-icache|l1-i|l1i|L1-instruction      |\n                          LLC|L2                                 |\n                          dTLB|d-tlb|Data-TLB                    |\n                          iTLB|i-tlb|Instruction-TLB             |\n                          branch|branches|bpu|btb|bpc            |\n                          node\n\nPE_NAME_CACHE_OP_RESULT:  load|loads|read                        |\n                          store|stores|write                     |\n                          prefetch|prefetches                    |\n                          speculative-read|speculative-load      |\n                          refs|Reference|ops|access              |\n                          misses|miss\n\nPE_MODIFIER_EVENT:        [ukhp]{0,5}\n\nPE_MODIFIER_BP:           [rwx]\n\nPE_SEP_BP:                \u0027mem\u0027\n\nPE_SEP_RAW:               \u0027r\u0027\n\nsep_dc:                   \u0027:\u0027 |\n\nAdded flex/bison files for event grammar parsing. The generated\nparser is part of the patch. Added makefile rule \u0027event-parser\u0027\nto generate the parser code out of the bison/flex sources.\n\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nLink: http://lkml.kernel.org/n/tip-u4pfig5waq3ll2bfcdex8fgi@git.kernel.org\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "808e122630d45a7f036d25582474d70548a87e2c",
      "tree": "96a8d45358110ce48f184d2a62f7816022ff5c1a",
      "parents": [
        "0c9781280fb672ca09c997df3f14ba506bbdb977"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Feb 14 14:18:57 2012 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Feb 14 14:18:57 2012 -0200"
      },
      "message": "perf tools: Invert the sample_id_all logic\n\nInstead of requiring that users of perf_record_opts set\n.sample_id_all_avail to true, just invert the logic, using\n.sample_id_all_missing, that doesn\u0027t need to be explicitely initialized\nsince gcc will zero members ommitted in a struct initialization.\n\nJust like the newly introduced .exclude_{guest,host} feature test.\n\nCc: David Ahern \u003cdsahern@gmail.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nLink: http://lkml.kernel.org/n/tip-ab772uzk78cwybihf0vt7kxw@git.kernel.org\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "b52956c961be3a04182ae7b776623531601e0fb7",
      "tree": "2f7ebf4a910dc8cd9014ac9df59f7e2441a5b034",
      "parents": [
        "eca1c3e3f937307331fd1fd5ee5205e57f2131ca"
      ],
      "author": {
        "name": "David Ahern",
        "email": "dsahern@gmail.com",
        "time": "Wed Feb 08 09:32:52 2012 -0700"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Feb 13 22:54:11 2012 -0200"
      },
      "message": "perf tools: Allow multiple threads or processes in record, stat, top\n\nAllow a user to collect events for multiple threads or processes\nusing a comma separated list.\n\ne.g., collect data on a VM and its vhost thread:\n  perf top -p 21483,21485\n  perf stat -p 21483,21485 -ddd\n  perf record -p 21483,21485\n\nor monitoring vcpu threads\n  perf top -t 21488,21489\n  perf stat -t 21488,21489 -ddd\n  perf record -t 21488,21489\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLink: http://lkml.kernel.org/r/1328718772-16688-1-git-send-email-dsahern@gmail.com\nSigned-off-by: David Ahern \u003cdsahern@gmail.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "44a683971119bafb5bc30778f92ee773680ebb6f",
      "tree": "58648459f29d45c447bd2352e81844d4d9aa3a15",
      "parents": [
        "801493c2e249a7314e9e8e54ad60d613d0a86f14",
        "08aa0d1f376e9b966568316bd2019b3c1274d885"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 27 12:07:57 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 27 12:08:09 2012 +0100"
      },
      "message": "Merge branch \u0027perf/fast\u0027 into perf/core\n\nMerge reason: Lets ready it for v3.4\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0d37aa34f8806bb443dd3c8621fd9bdbb50c58bb",
      "tree": "3e245385cdb75fec299f5e145243f062b70fd652",
      "parents": [
        "9ae7d3351aac238eef9646479693105688fd9cc9"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Jan 19 14:08:15 2012 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Jan 24 19:47:37 2012 -0200"
      },
      "message": "perf tools: Introduce per user view\n\nThe new --uid command line option will show only the tasks for a given\nuser, using the proc interface to figure out the existing tasks.\n\nKernel work is needed to close races at startup, but this should already\nbe useful in many use cases.\n\nCc: David Ahern \u003cdsahern@gmail.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nLink: http://lkml.kernel.org/n/tip-bdnspm000gw2l984a2t53o8z@git.kernel.org\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "c30ab8aa084843159b4679e9a3d7f63187d5906a",
      "tree": "4871c987d818e5eeb3e24225c2ebd3c6990197d9",
      "parents": [
        "946ef2a24523e59e5cf931068ab7e9443c63c9df"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Sun Jan 08 02:25:26 2012 +0900"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sun Jan 08 13:25:00 2012 -0200"
      },
      "message": "perf test: Change type of \u0027-v\u0027 option to INCR\n\nThe \u0027-v\u0027 option is usually defined via OPT_INCR not _INTEGER.  Follow\nthe trend :).\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1325957132-10600-2-git-send-email-namhyung@gmail.com\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "08aa0d1f376e9b966568316bd2019b3c1274d885",
      "tree": "494c1ef502a8c9258a89a6a6c3d95c6137728e64",
      "parents": [
        "e3f3541c19c89a4daae39300defba68943301949"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Nov 21 14:42:47 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 21 12:21:42 2011 +0100"
      },
      "message": "perf tools: Add x86 RDPMC, RDTSC test\n\nImplement a simple test for the self-monitoring data from the\nperf mmap data area control page:\n\n 6: x86 rdpmc test:\n\n             0:           6053\n             1:          60053\n             2:         600059\n             3:        6000059\n             4:       60000075\n             5:      600000247\n    Ok\n\nThe counts are expected to increase monotonically - these\nare recovered via RDPMC, without calling into the kernel.\n\nIt might be nice to add logic to automagically turn these numbers into OK/FAIL.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Arun Sharma \u003casharma@fb.com\u003e\nLink: http://lkml.kernel.org/n/tip-evf5yii88ljdgmaihccbxxw1@git.kernel.org\n[ various small improvements ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "65c1e0452a3389f9b7b8c1b23305ed2922fafb2d",
      "tree": "7e6408b8e3794e3c399577c49b68a0fa0ff43fcf",
      "parents": [
        "cb8f4e9aa37c469ddd80dda51469f327606c0118"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Thu Dec 15 16:30:39 2011 +0100"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Dec 20 14:46:14 2011 -0200"
      },
      "message": "perf test: Add more automated tests for event parsing\n\nAdding automated tests for event parsing to include testing for modifier\nand \u0027,\u0027 operator.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: cjashfor@linux.vnet.ibm.com\nLink: http://lkml.kernel.org/r/1323963039-7602-4-git-send-email-jolsa@redhat.com\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\n[ committer note: Remove some tests that need group_leader \u0026 bison patchkits ]\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "f71c49e5e985897850406a152ab99001cfb86f2a",
      "tree": "8ab0b3afaeb770457a2034b961311207a143df72",
      "parents": [
        "3e7c439a7ce537ed662e347b9e6414d7881fb3dc"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Dec 02 13:53:04 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Dec 02 14:00:04 2011 -0200"
      },
      "message": "perf test: Soft errors shouldn\u0027t stop the \"Validate PERF_RECORD_\" test\n\nFor errors that don\u0027t preclude checking for further errors, aka \"soft\"\nerrors, just  continue testing for other errors.\n\nBetter coverage in verbose mode.\n\nSuggested-by: David Ahern \u003cdsahern@gmail.com\u003e\nCc: David Ahern \u003cdsahern@gmail.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nLink: http://lkml.kernel.org/n/tip-jafcokbj26m845dsgm2hx6az@git.kernel.org\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "3e7c439a7ce537ed662e347b9e6414d7881fb3dc",
      "tree": "2b1ccb94b15798727cd8eb0b71424b10c72f63ca",
      "parents": [
        "482ad89745f7121020f6cee38aa4e894a4e7d642"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Dec 02 11:13:50 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Dec 02 11:13:50 2011 -0200"
      },
      "message": "perf test: Validate PERF_RECORD_ events and perf_sample fields\n\nThis new test will validate these new routines extracted from \u0027perf\nrecord\u0027:\n\n - perf_evlist__config_attrs\n - perf_evlist__prepare_workload\n - perf_evlist__start_workload\n\nIn addition to several other perf_evlist methods.\n\nIt consists of starting a simple workload, setting up just one event to\nmonitor (\"cycles\") requesting that several PERF_SAMPLE_ fields be\npresent in all events.\n\nIt then will check that the expected PERF_RECORD_ events are produced\nand will sanity check all its fields.\n\nSome checks performed:\n\n. PERF_SAMPLE_TIME monotonically increases.\n\n. PERF_SAMPLE_CPU is the one requested with sched_setaffinity\n\n. PERF_SAMPLE_TID and PERF_SAMPLE_PID matches the one we forked\n  in perf_evlist__prepare_workload and that is stored in\n  evlist-\u003eworkload.pid\n\n. For the events where these fields are also present in its\n  pre-sample_id_all fields (e.g. event-\u003emmap.pid), that they are what\n  is expected too.\n\n. That we get a bunch of mmaps:\n\n  PATH/libcSUFFIX\n  PATH/ldSUFFIX\n  [vdso]\n  PATH/sleep\n\nExample:\n\n  [root@emilia ~]# taskset -c 3,4 perf test -v1 perf_sample\n   6: Validate PERF_RECORD_* events \u0026 perf_sample fields:\n  --- start ---\n  7159480799825 3 PERF_RECORD_SAMPLE\n  7159480805584 3 PERF_RECORD_SAMPLE\n  7159480807814 3 PERF_RECORD_SAMPLE\n  7159480810430 3 PERF_RECORD_SAMPLE\n  7159480861511 3 PERF_RECORD_MMAP 8086/8086: [0x7fffffffd000(0x2000) @ 0x7fffffffd000]: //anon\n  7159481052516 3 PERF_RECORD_COMM: sleep:8086\n  7159481070188 3 PERF_RECORD_MMAP 8086/8086: [0x400000(0x6000) @ 0]: /bin/sleep\n  7159481077104 3 PERF_RECORD_MMAP 8086/8086: [0x3d06400000(0x221000) @ 0]: /lib64/ld-2.12.so\n  7159481092912 3 PERF_RECORD_MMAP 8086/8086: [0x7fff1adff000(0x1000) @ 0x7fff1adff000]: [vdso]\n  7159481196779 3 PERF_RECORD_MMAP 8086/8086: [0x3d06800000(0x37f000) @ 0]: /lib64/libc-2.12.so\n  7160481558435 3 PERF_RECORD_EXIT(8086:8086):(8086:8086)\n  ---- end ----\n  Validate PERF_RECORD_* events \u0026 perf_sample fields: Ok\n  [root@emilia ~]#\n\nCc: David Ahern \u003cdsahern@gmail.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nLink: http://lkml.kernel.org/n/tip-svag18v2z4idas0dyz3umjpq@git.kernel.org\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "e60770a01bd889707faaaeb794f1e278e7160458",
      "tree": "8b8fa041131470e904326d49367100bf7420d7de",
      "parents": [
        "806fb63007447622dd61d9767b4403919737e120"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Nov 29 12:52:07 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Nov 29 14:04:35 2011 -0200"
      },
      "message": "perf test: Allow running just a subset of the available tests\n\nTo obtain a list of available tests:\n\n[root@emilia linux]# perf test list\n 1: vmlinux symtab matches kallsyms\n 2: detect open syscall event\n 3: detect open syscall event on all cpus\n 4: read samples using the mmap interface\n 5: parse events tests\n[root@emilia linux]#\n\nTo list just a subset:\n\n[root@emilia linux]# perf test list syscall\n 2: detect open syscall event\n 3: detect open syscall event on all cpus\n[root@emilia linux]#\n\nTo run a subset:\n\n[root@emilia linux]# perf test detect\n 2: detect open syscall event: Ok\n 3: detect open syscall event on all cpus: Ok\n[root@emilia linux]#\n\nSpecific tests can be chosen by number:\n\n[root@emilia linux]# perf test 1 3 parse\n 1: vmlinux symtab matches kallsyms: Ok\n 3: detect open syscall event on all cpus: Ok\n 5: parse events tests: Ok\n[root@emilia linux]#\n\nNow to write more tests!\n\nSuggested-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: David Ahern \u003cdsahern@gmail.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nLink: http://lkml.kernel.org/n/tip-nqec2145qfxdgimux28aw7v8@git.kernel.org\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "ebf294bf4f147aff29df5a16bfb0f8ebca15feaa",
      "tree": "37464624abf9243100eab47fdc663def4be121fe",
      "parents": [
        "c168fbfb93a1c4044287858c6784f0bd1f6cfe33"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Nov 16 14:03:07 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Nov 28 10:11:28 2011 -0200"
      },
      "message": "perf tools: Simplify debugfs mountpoint handling code\n\nWe don\u0027t need to have two PATH_MAX char sized arrays holding it, just\none in util/debugfs.c will do.\n\nAlso rename debugfs_path to tracing_events_path, as it is not the path\nto debugfs, that is debugfs_mountpoint. Both are now accessible.\n\nThis will allow accessing this code in the perf python binding without\nhaving to drag in perf.c and util/parse-events.c.\n\nThe defaults for these variables are the canonical \"/sys/kernel/debug\"\nand \"/sys/kernel/debug/tracing/events/\", removing the need for simple\ntools to call debugfs_mount(NULL).\n\nCc: David Ahern \u003cdsahern@gmail.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nLink: http://lkml.kernel.org/n/tip-ug9jvtjrsqbluuhqqxpvg30f@git.kernel.org\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "727ab04edbc4767711a7aeff5e00249b267ed4c1",
      "tree": "9cebc2c392b9b3bcaf68f0a50144273ef52a04f1",
      "parents": [
        "c752d04066a36ae30b29795f3fa3f536292c1f8c"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Oct 25 10:42:19 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Oct 26 10:25:02 2011 -0200"
      },
      "message": "perf evlist: Fix grouping of multiple events\n\nThe __perf_evsel__open routing was grouping just the threads for that\nspecific events per cpu when we want to group all threads in all events\nto the first fd opened on that cpu.\n\nSo pass the xyarray with the first event, where the other events will be\nable to get that first per cpu fd.\n\nAt some point top and record will switch to using perf_evlist__open that\ntakes care of this detail and probably will also handle the fallback\nfrom hw to soft counters, etc.\n\nReported-by: Deng-Cheng Zhu \u003cdczhu@mips.com\u003e\nTested-by: Deng-Cheng Zhu \u003cdczhu@mips.com\u003e\nCc: David Ahern \u003cdsahern@gmail.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nLink: http://lkml.kernel.org/n/tip-ebm34rh098i9y9v4cytfdp0x@git.kernel.org\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "936be50306a92356367f330ef9d44f1f62478d22",
      "tree": "5a69dbe1ee295fb7b09fd2605a37032d0a6b59b5",
      "parents": [
        "6bb8f311a870d6042e0310309eb3d607ae52fe3e"
      ],
      "author": {
        "name": "David Ahern",
        "email": "dsahern@gmail.com",
        "time": "Tue Sep 06 09:12:26 2011 -0600"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Sep 23 14:37:27 2011 -0300"
      },
      "message": "perf tool: Fix endianness handling of u32 data in samples\n\nCurrently, analyzing PPC data files on x86 the cpu field is always 0 and\nthe tid and pid are backwards. For example, analyzing a PPC file on PPC\nthe pid/tid fields show:\n\n        rsyslogd  1210/1212\n\nand analyzing the same PPC file using an x86 perf binary shows:\n\n        rsyslogd  1212/1210\n\nThe problem is that the swap_op method for samples is\nperf_event__all64_swap which assumes all elements in the sample_data\nstruct are u64s. cpu, tid and pid are u32s and need to be handled\nindividually. Given that the swap is done before the sample is parsed,\nthe simplest solution is to undo the 64-bit swap of those elements when\nthe sample is parsed and do the proper swap.\n\nThe RAW data field is generic and perf cannot have programmatic knowledge\nof how to treat that data. Instead a warning is given to the user.\n\nThanks to Anton Blanchard for providing a data file for a mult-CPU\nPPC system so I could verify the fix for the CPU fields.\n\nv3 -\u003e v4:\n- fixed use of WARN_ONCE\n\nv2 -\u003e v3:\n- used WARN_ONCE for message regarding raw data\n- removed struct wrapper around union\n- fixed whitespace issues\n\nv1 -\u003e v2:\n- added a union for undoing the byte-swap on u64 and redoing swap on\n  u32\u0027s to address compiler errors (see git commit 65014ab3)\n\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLink: http://lkml.kernel.org/r/1315321946-16993-1-git-send-email-dsahern@gmail.com\nSigned-off-by: David Ahern \u003cdsahern@gmail.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "baf040a0d1ac6319725c0fe400503683ac016580",
      "tree": "7491f6dbaf6d26017cbf9a0ec0428f8c90619530",
      "parents": [
        "13b62567e909125145f90e91625b1062196d1258"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Thu Jul 14 11:25:34 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 10:41:14 2011 +0200"
      },
      "message": "perf tools: Make test use the preset debugfs path\n\nUse preset debugfs path instead of hardcoded one.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: acme@redhat.com\nCc: a.p.zijlstra@chello.nl\nCc: paulus@samba.org\nLink: http://lkml.kernel.org/r/1310635534-4013-4-git-send-email-jolsa@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "13b62567e909125145f90e91625b1062196d1258",
      "tree": "1a8ad571b39ad97fdae1db6a33753ee94de21747",
      "parents": [
        "f120f9d51be3a7db8991e7b78dc08bab5f8ab8f3"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Thu Jul 14 11:25:33 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 10:41:13 2011 +0200"
      },
      "message": "perf tools: Add automated tests for events parsing\n\nAdding builtin test for parse_events function, which is\nresponsible for parsing/processing \"-e\" option for\nstat/top/record commands.\n\nThis new test will run within the builtin test command suite\n(perf test).\n\nOne or several tests were added for each type of event.\nMore tests could be added easily if needed.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: acme@redhat.com\nCc: a.p.zijlstra@chello.nl\nCc: paulus@samba.org\nLink: http://lkml.kernel.org/r/1310635534-4013-3-git-send-email-jolsa@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c2a70653af45c9cbb0cab900e8931b062e57b1ae",
      "tree": "e7b1b10cc71c5cccd3d3b7d20cb8001ec313fbff",
      "parents": [
        "5c6970af2f4be4e04b06fe78214f6809777a8354"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Jun 02 11:04:54 2011 -0300"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Jun 02 11:04:54 2011 -0300"
      },
      "message": "perf evlist: Don\u0027t die if sample_{id_all|type} is invalid\n\nFixes two more cases where the python binding would not load:\n\n. Not finding die(), which it shouldn\u0027t anyway, not good to just stop the\n  world because some particular perf.data file is invalid, just propagate\n  the error to the caller.\n\n. Not finding perf_sample_size: fix it by moving it from event.c to evsel,\n  where it belongs, as most cases are moving to operate on an evsel object.o\n\nOne of the fixed problems:\n\n[root@emilia ~]# python\n\u003e\u003e\u003e import perf\nTraceback (most recent call last):\n  File \"\u003cstdin\u003e\", line 1, in \u003cmodule\u003e\nImportError: /home/acme/git/build/perf/python/perf.so: undefined symbol: perf_sample_size\n\u003e\u003e\u003e\n[root@emilia ~]#\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nLink: http://lkml.kernel.org/n/tip-1hkj7b2cvgbfnoizsekjb6c9@git.kernel.org\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "3ac1bbcf13c56a19927df670f429eb0c3c11f8e5",
      "tree": "693e2b7f1a9cb0c6ed6d44375e370e1ae08c7ac9",
      "parents": [
        "a2d063ac216c1618bfc2b4d40b7176adffa63511",
        "5538becaec9ca2ff21e7826372941dc46f498487"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 22 10:07:37 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 22 10:10:01 2011 +0200"
      },
      "message": "Merge branch \u0027perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into perf/urgent\n\nConflicts:\n\ttools/perf/builtin-top.c\n\nSemantic conflict:\n\tutil/include/linux/list.h        # fix prefetch.h removal fallout\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5538becaec9ca2ff21e7826372941dc46f498487",
      "tree": "66b51fae732a6993f4af1434a1ffe4a83110c71c",
      "parents": [
        "98e1da905cbe64bb023a165c7c01eef5e800609e"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun May 22 02:17:22 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun May 22 03:38:49 2011 +0200"
      },
      "message": "perf tools: Propagate event parse error handling\n\nBetter handle event parsing error by propagating the details\nin upper layers or by dumping some failure message. So that\nthe user knows he has some crazy events in the batch.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\n"
    },
    {
      "commit": "a285412479b6d5af3e48273a92ec2f1987df8cd1",
      "tree": "29f68684cebb26b86c3dd0b0f0fc4e5d6553c989",
      "parents": [
        "74429964d8e29c0107fa6e9cdf35b8f33f57405d"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat May 21 19:33:04 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun May 22 03:38:36 2011 +0200"
      },
      "message": "perf tools: Pre-check sample size before parsing\n\nCheck that the total size of the sample fields having a fixed\nsize do not exceed the one of the whole event. This robustifies\nthe sample parsing.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\n"
    },
    {
      "commit": "aece948f5ddd70d70df2f35855c706ef9a4f62e2",
      "tree": "ea2611cea32c492d7b3f4f49ec26df05132d5607",
      "parents": [
        "b90194181988063266f3da0b7bf3e57268c627c8"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sun May 15 09:39:00 2011 -0300"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sun May 15 10:02:14 2011 -0300"
      },
      "message": "perf evlist: Fix per thread mmap setup\n\nThe PERF_EVENT_IOC_SET_OUTPUT ioctl was returning -EINVAL when using\n--pid when monitoring multithreaded apps, as we can only share a ring\nbuffer for events on the same thread if not doing per cpu.\n\nFix it by using per thread ring buffers.\n\nTested with:\n\n[root@felicio ~]# tuna -t 26131 -CP | nl\n  1                      thread       ctxt_switches\n  2    pid SCHED_ rtpri affinity voluntary nonvoluntary             cmd\n  3 26131   OTHER     0      0,1  10814276      2397830 chromium-browse\n  4  642    OTHER     0      0,1     14688            0 chromium-browse\n  5  26148  OTHER     0      0,1    713602       115479 chromium-browse\n  6  26149  OTHER     0      0,1    801958         2262 chromium-browse\n  7  26150  OTHER     0      0,1   1271128          248 chromium-browse\n  8  26151  OTHER     0      0,1         3            0 chromium-browse\n  9  27049  OTHER     0      0,1     36796            9 chromium-browse\n 10  618    OTHER     0      0,1     14711            0 chromium-browse\n 11  661    OTHER     0      0,1     14593            0 chromium-browse\n 12  29048  OTHER     0      0,1     28125            0 chromium-browse\n 13  26143  OTHER     0      0,1   2202789          781 chromium-browse\n[root@felicio ~]#\n\nSo 11 threads under pid 26131, then:\n\n[root@felicio ~]# perf record -F 50000 --pid 26131\n\n[root@felicio ~]# grep perf_event /proc/`pidof perf`/maps | nl\n  1 7fa4a2538000-7fa4a25b9000 rwxs 00000000 00:09 4064 anon_inode:[perf_event]\n  2 7fa4a25b9000-7fa4a263a000 rwxs 00000000 00:09 4064 anon_inode:[perf_event]\n  3 7fa4a263a000-7fa4a26bb000 rwxs 00000000 00:09 4064 anon_inode:[perf_event]\n  4 7fa4a26bb000-7fa4a273c000 rwxs 00000000 00:09 4064 anon_inode:[perf_event]\n  5 7fa4a273c000-7fa4a27bd000 rwxs 00000000 00:09 4064 anon_inode:[perf_event]\n  6 7fa4a27bd000-7fa4a283e000 rwxs 00000000 00:09 4064 anon_inode:[perf_event]\n  7 7fa4a283e000-7fa4a28bf000 rwxs 00000000 00:09 4064 anon_inode:[perf_event]\n  8 7fa4a28bf000-7fa4a2940000 rwxs 00000000 00:09 4064 anon_inode:[perf_event]\n  9 7fa4a2940000-7fa4a29c1000 rwxs 00000000 00:09 4064 anon_inode:[perf_event]\n 10 7fa4a29c1000-7fa4a2a42000 rwxs 00000000 00:09 4064 anon_inode:[perf_event]\n 11 7fa4a2a42000-7fa4a2ac3000 rwxs 00000000 00:09 4064 anon_inode:[perf_event]\n[root@felicio ~]#\n\n11 mmaps, one per thread since we didn\u0027t specify any CPU list, so we need one\nmmap per thread and:\n\n[root@felicio ~]# perf record -F 50000 --pid 26131\n^M\n^C[ perf record: Woken up 79 times to write data ]\n[ perf record: Captured and wrote 20.614 MB perf.data (~900639 samples) ]\n\n[root@felicio ~]# perf report -D | grep PERF_RECORD_SAMPLE | cut -d/ -f2 | cut -d: -f1 | sort -n | uniq -c | sort -nr | nl\n     1\t 371310 26131\n     2\t  96516 26148\n     3\t  95694 26149\n     4\t  95203 26150\n     5\t   7291 26143\n     6\t     87 27049\n     7\t     76 661\n     8\t     60 29048\n     9\t     47 618\n    10\t     43 642\n[root@felicio ~]#\n\nOk, one of the threads, 26151 was quiescent, so no samples there, but all the\nothers are there.\n\nThen, if I specify one CPU:\n\n[root@felicio ~]# perf record -F 50000 --pid 26131 --cpu 1\n^C[ perf record: Woken up 1 times to write data ]\n[ perf record: Captured and wrote 0.680 MB perf.data (~29730 samples) ]\n\n[root@felicio ~]# perf report -D | grep PERF_RECORD_SAMPLE | cut -d/ -f2 | cut -d: -f1 | sort -n | uniq -c | sort -nr | nl\n     1\t   8444 26131\n     2\t   2584 26149\n     3\t   2518 26148\n     4\t   2324 26150\n     5\t    123 26143\n     6\t      9 661\n     7\t      9 29048\n[root@felicio ~]#\n\nThis machine has two cores, so fewer threads appeared on the radar, and:\n\n[root@felicio ~]# grep perf_event /proc/`pidof perf`/maps | nl\n 1 7f484b922000-7f484b9a3000 rwxs 00000000 00:09 4064 anon_inode:[perf_event]\n[root@felicio ~]#\n\nJust one mmap, as now we can use just one per-cpu buffer instead of the\nper-thread needed in the previous case.\n\nFor global profiling:\n\n[root@felicio ~]# perf record -F 50000 -a\n^C[ perf record: Woken up 26 times to write data ]\n[ perf record: Captured and wrote 7.128 MB perf.data (~311412 samples) ]\n\n[root@felicio ~]# grep perf_event /proc/`pidof perf`/maps | nl\n     1\t7fb49b435000-7fb49b4b6000 rwxs 00000000 00:09 4064                       anon_inode:[perf_event]\n     2\t7fb49b4b6000-7fb49b537000 rwxs 00000000 00:09 4064                       anon_inode:[perf_event]\n[root@felicio ~]#\n\nIt uses per-cpu buffers.\n\nFor just one thread:\n\n[root@felicio ~]# perf record -F 50000 --tid 26148\n^C[ perf record: Woken up 2 times to write data ]\n[ perf record: Captured and wrote 0.330 MB perf.data (~14426 samples) ]\n\n[root@felicio ~]# perf report -D | grep PERF_RECORD_SAMPLE | cut -d/ -f2 | cut -d: -f1 | sort -n | uniq -c | sort -nr | nl\n     1\t   9969 26148\n[root@felicio ~]#\n\n[root@felicio ~]# grep perf_event /proc/`pidof perf`/maps | nl\n     1\t7f286a51b000-7f286a59c000 rwxs 00000000 00:09 4064                       anon_inode:[perf_event]\n[root@felicio ~]#\n\nTested-by: David Ahern \u003cdsahern@gmail.com\u003e\nTested-by: Lin Ming \u003cming.m.lin@intel.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLink: http://lkml.kernel.org/r/20110426204401.GB1746@ghostprotocols.net\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "5d2cd90922c778908bd0cd669e572a5b5eafd737",
      "tree": "0467726f17165b6e2461521e9cca4f54c959d6d6",
      "parents": [
        "db9a9cbc8142eed008e242e389938689c6feb1ba"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Apr 14 11:20:14 2011 -0300"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Apr 15 12:52:28 2011 -0300"
      },
      "message": "perf evsel: Fix use of inherit\n\nperf stat doesn\u0027t mmap and its perfectly fine for it to use task-bound\ncounters with inheritance.\n\nSo set the attr.inherit on the caller and leave the syscall itself to\nvalidate it.\n\nWhen the mmap fails perf_evlist__mmap will just emit a warning if this\nis the failure reason.\n\nReported-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLink: http://lkml.kernel.org/r/20110414170121.GC3229@ghostprotocols.net\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "7e2ed097538c57ff5268e9a6bced7c0b885809c8",
      "tree": "44f9998cc6054d5bef07d6c2979afb0e81ddf13c",
      "parents": [
        "f8a9530939ed87b9a1b1a038b90e355098b679a2"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sun Jan 30 11:59:43 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Jan 31 12:40:52 2011 -0200"
      },
      "message": "perf evlist: Store pointer to the cpu and thread maps\n\nSo that we don\u0027t have to pass it around to the several methods that\nneeds it, simplifying usage.\n\nThere is one case where we don\u0027t have the thread/cpu map in advance,\nwhich is in the parsing routines used by top, stat, record, that we have\nto wait till all options are parsed to know if a cpu or thread list was\npassed to then create those maps.\n\nFor that case consolidate the cpu and thread map creation via\nperf_evlist__create_maps() out of the code in top and record, while also\nproviding a perf_evlist__set_maps() for cases where multiple evlists\nshare maps or for when maps that represent CPU sockets, for instance,\nget crafted out of topology information or subsets of threads in a\nparticular application are to be monitored, providing more granularity\nin specifying which cpus and threads to monitor.\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "8115d60c323dd9931b95221c0a392aeddc1d6ef3",
      "tree": "13e75d71c5163c78efc9d8ab33988cc6c7be74a1",
      "parents": [
        "8d50e5b4171a69cf48ca94a1e7c14033d0b4771d"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Jan 29 14:01:45 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Jan 29 16:25:37 2011 -0200"
      },
      "message": "perf tools: Kill event_t typedef, use \u0027union perf_event\u0027 instead\n\nAnd move the event_t methods to the perf_event__ too.\n\nNo code changes, just namespace consistency.\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "8d50e5b4171a69cf48ca94a1e7c14033d0b4771d",
      "tree": "6ebf659f92f0770917c7f47c24449ebfe048ce61",
      "parents": [
        "93fc64f14472ae24fd640bf3834a178f59142842"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Jan 29 13:02:00 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Jan 29 16:25:20 2011 -0200"
      },
      "message": "perf tools: Rename \u0027struct sample_data\u0027 to \u0027struct perf_sample\u0027\n\nMaking the namespace more uniform.\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "54489c189b1a0c10eaf21c6d2c5916b50442c871",
      "tree": "8b612439f021de6c68a756f482ae2d3ee36b97ac",
      "parents": [
        "3c42258c9a4db70133fa6946a275b62a16792bb5"
      ],
      "author": {
        "name": "Han Pingtian",
        "email": "phan@redhat.com",
        "time": "Tue Jan 25 07:39:00 2011 +0800"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Jan 28 09:21:19 2011 -0200"
      },
      "message": "perf test: Fix return values checking\n\nFixing some cut\u0027n\u0027paste mistakes.\n\nLKML-Reference: \u003c20110124233900.GA3443@epc900.nay.redhat.com\u003e\nSigned-off-by: Han Pingtian \u003cphan@redhat.com\u003e\n[ committer note: I had already removed the CPU_ALLOC calls ]\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "d0dd74e853a0a6f37e8061d6d50be41c7034c54c",
      "tree": "1292a98711611cbc4595785ed17605f20a90800c",
      "parents": [
        "fd78260b5376173faeb17127bd63b3c99a8e8bfb"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Jan 21 13:46:41 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Jan 24 13:17:56 2011 -0200"
      },
      "message": "perf tools: Move event__parse_sample to evsel.c\n\nTo avoid linking more stuff in the python binding I\u0027m working on, future\ncsets will make the sample type be taken from the evsel itself, but for\nthat we need to first have one file per cpu and per sample_type, not a\nsingle perf.data file.\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "fd78260b5376173faeb17127bd63b3c99a8e8bfb",
      "tree": "7d3afaca981fee68929c365b39dd302f803e3bda",
      "parents": [
        "17ea1b70a87e28457821318341bead2b45563092"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Jan 18 15:15:24 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Jan 24 10:59:00 2011 -0200"
      },
      "message": "perf threads: Move thread_map to separate file\n\nTo untangle it from struct thread handling, that is tied to symbols, etc.\n\nRight now in the python bindings I\u0027m working on I need just a subset of\nthe util/ files, untangling it allows me to do that.\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "de5fa3a8a05cd60f59622e88cfeb90416760d78e",
      "tree": "aeafb466ef056e17c8cf043e396e9e5fcf348a7e",
      "parents": [
        "04391debc3e1195222a4dbb162ace6542dd89c1c"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Jan 15 10:42:46 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Jan 22 19:56:31 2011 -0200"
      },
      "message": "perf test: Add test for the evlist mmap routines\n\nThis test will generate random numbers of calls to some getpid syscalls,\nthen establish an mmap for a group of events that are created to monitor\nthese syscalls.\n\nIt will receive the events, using mmap, use its PERF_SAMPLE_ID generated\nsample.id field to map back to its respective perf_evsel instance.\n\nThen it checks if the number of syscalls reported as perf events by the\nkernel corresponds to the number of syscalls made.\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "98d77b78504a423fca911a26a17bee00ef2fdda2",
      "tree": "fbb246e981c5358fa28e1eaf3cf92dc753cc4afe",
      "parents": [
        "d2af9687c96f3864178de1860e6d83873aeef224"
      ],
      "author": {
        "name": "Han Pingtian",
        "email": "phan@redhat.com",
        "time": "Sat Jan 15 07:00:50 2011 +0800"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Jan 22 19:56:30 2011 -0200"
      },
      "message": "perf test: check if cpu_map__new() return NULL\n\nIt looks like we should check if cpus is NULL after\n\n\tcpus \u003d cpu_map__new(NULL);\n\nin test__open_syscall_event_on_all_cpus().\n\nLKML-Reference: \u003c20110114230050.GA7011@localhost\u003e\nSigned-off-by: Han Pingtian \u003cphan@redhat.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "d2af9687c96f3864178de1860e6d83873aeef224",
      "tree": "0185f96dc6c6b71b6bc6d649913ca468a650b8d5",
      "parents": [
        "915fce20ecf8f7ff4189d0fff42b62aebf6a57cc"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Jan 14 16:24:49 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Jan 22 19:56:30 2011 -0200"
      },
      "message": "perf test: Check counts on all cpus in test__open_syscall_event_on_all_cpus\n\nWe were bailing out after the first count mismatch, do it in all to see\nif only some CPUs are not getting the expected number of events.\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "9d04f1781772e11bd58806391555fc23ebb54377",
      "tree": "9b91c767bed360fcfd2ab6b90794cca784db279f",
      "parents": [
        "f08199d314458610d4ca52f8e86e0a4ec7a7bc54"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Jan 12 00:08:18 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Jan 22 19:56:29 2011 -0200"
      },
      "message": "perf evsel: Allow specifying if the inherit bit should be set\n\nAs this is a per-cpu attribute, we can\u0027t set it up in advance and use it\nfor all the calls.\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "f08199d314458610d4ca52f8e86e0a4ec7a7bc54",
      "tree": "80078cf09949aab97d9470f8126dc2b0ecc9656c",
      "parents": [
        "5c581041cf97aa7980b442de81ddea8273d6dcde"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Jan 11 23:42:19 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Jan 22 19:56:28 2011 -0200"
      },
      "message": "perf evsel: Support event groups\n\nThe perf_evsel__open now have an extra boolean argument specifying if\nevent grouping is desired.\n\nThe first file descriptor created on a CPU becomes the group leader.\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "9486aa38771661e96fbb51c549b9901b5df609d8",
      "tree": "72cecbff0cb5124c960feeec3a6ac1fff75c649a",
      "parents": [
        "57b84e53171ce672683faf1cab2e660965a6bdaf"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Jan 22 20:37:02 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Jan 22 23:41:57 2011 -0200"
      },
      "message": "perf tools: Fix 64 bit integer format strings\n\nUsing %L[uxd] has issues in some architectures, like on ppc64.  Fix it\nby making our 64 bit integers typedefs of stdint.h types and using\nPRI[ux]64 like, for instance, git does.\n\nReported by Denis Kirjanov that provided a patch for one case, I went\nand changed all cases.\n\nReported-by: Denis Kirjanov \u003cdkirjanov@kernel.org\u003e\nTested-by: Denis Kirjanov \u003cdkirjanov@kernel.org\u003e\nLKML-Reference: \u003c20110120093246.GA8031@hera.kernel.org\u003e\nCc: Denis Kirjanov \u003cdkirjanov@kernel.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Pingtian Han \u003cphan@redhat.com\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "57b84e53171ce672683faf1cab2e660965a6bdaf",
      "tree": "da17c60c30b5adf374b599804d3a28aa5c5280ce",
      "parents": [
        "01bb2dc4e47639c8e7eddb1718720a051bcdc955"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Jan 22 23:14:20 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Jan 22 23:14:20 2011 -0200"
      },
      "message": "perf test: Fix build on older glibcs\n\nWhere we don\u0027t have CPU_ALLOC \u0026 friends. As the tools are being used in older\ndistros where the only allowed change are to replace the kernel, like RHEL4 and\n5.\n\nReported-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Frederic 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\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "ffb5e0fb44d0829021a51f972df90166bc9b700e",
      "tree": "d0fc058c018522d940aceb56350e83f7a93a0be3",
      "parents": [
        "b2f8fb237e9cc407a02aca401369c15babae35dd"
      ],
      "author": {
        "name": "Han Pingtian",
        "email": "phan@redhat.com",
        "time": "Thu Jan 20 19:47:07 2011 +0800"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Jan 21 16:44:14 2011 -0200"
      },
      "message": "perf test: Use cpu_map-\u003e[cpu] when setting affinity\n\nWhen some of CPUs are offline:\n\n # cat /sys/devices/system/cpu/online\n 0,6-31\n\nperf test will fail on #3 testcase:\n\n   3: detect open syscall event on all cpus:\n   --- start ---\n   perf_evsel__read_on_cpu: expected to intercept 111 calls on cpu 0, got 681\n   perf_evsel__read_on_cpu: expected to intercept 112 calls on cpu 1, got 117\n   perf_evsel__read_on_cpu: expected to intercept 113 calls on cpu 2, got 118\n   perf_evsel__read_on_cpu: expected to intercept 114 calls on cpu 3, got 119\n   perf_evsel__read_on_cpu: expected to intercept 115 calls on cpu 4, got 120\n   perf_evsel__read_on_cpu: expected to intercept 116 calls on cpu 5, got 121\n   perf_evsel__read_on_cpu: expected to intercept 117 calls on cpu 6, got 122\n   perf_evsel__read_on_cpu: expected to intercept 118 calls on cpu 7, got 123\n   perf_evsel__read_on_cpu: expected to intercept 119 calls on cpu 8, got 124\n   perf_evsel__read_on_cpu: expected to intercept 120 calls on cpu 9, got 125\n   perf_evsel__read_on_cpu: expected to intercept 121 calls on cpu 10, got 126\n   ....\n\nThis patch try to use \u0027cpus-\u003emap[cpu]\u0027 when setting cpu affinity, and\nwill check the return code of sched_setaffinity()\n\nLKML-Reference: \u003c20110120114707.GA11781@hpt.nay.redhat.com\u003e\nSigned-off-by: Han Pingtian \u003cphan@redhat.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "0252208eb52f6fe8731a47804eddc7ba93f60a87",
      "tree": "deaddeda57a630a1d6813ea565fc972c699e2906",
      "parents": [
        "12f7e0364375ba1ba55abcc5ac082b68fb526c80"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Jan 04 11:55:27 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Jan 10 22:03:26 2011 -0200"
      },
      "message": "perf evsel: Support perf_evsel__open(cpus \u003e 1 \u0026\u0026 threads \u003e 1)\n\nAnd a test for it:\n\n[acme@felicio linux]$ perf test\n 1: vmlinux symtab matches kallsyms: Ok\n 2: detect open syscall event: Ok\n 3: detect open syscall event on all cpus: Ok\n[acme@felicio linux]$\n\nTranslating C the test does:\n\n1. generates different number of open syscalls on each CPU\n   by using sched_setaffinity\n2. Verifies that the expected number of events is generated\n   on each CPU\n\nIt works as expected.\n\nLKML-Reference: \u003cnew-submission\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "23a2f3ab46596d9fd0b0e592d2101bea90970594",
      "tree": "6b3d9e3755a3e71bb0e6b47e62b269e50b6cf37d",
      "parents": [
        "6b01f2c4f6188da50d8fe094e369a9c0390424ab"
      ],
      "author": {
        "name": "Lin Ming",
        "email": "ming.m.lin@intel.com",
        "time": "Fri Jan 07 11:11:09 2011 +0800"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Jan 07 01:44:36 2011 -0200"
      },
      "message": "perf tools: Pass whole attr to event selectors\n\nSince commit 69aad6f1(perf tools: Introduce event selectors), only\nperf_event_attr::type and ::config are passed to event selector, which\nmakes perf tool not work correctly.\n\nFor example, PEBS does not work because perf_event_attr::precise_ip is\nnot passed to the syscall.\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c1294369869.20563.19.camel@minggr.sh.intel.com\u003e\nSigned-off-by: Lin Ming \u003cming.m.lin@intel.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "454a3bbe9b75eb8cbddffcf383fbb8e97ea78f52",
      "tree": "d10cbe4a83a625908abf35581922b8ed3d6df2eb",
      "parents": [
        "74d91e3c6a66359bb754fb5d8a5b54fb6ba2f9a6"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Jan 04 10:40:08 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Jan 05 14:52:01 2011 -0200"
      },
      "message": "perf test: Clarify some error reports in the open syscall test\n\nRebooted my devel machine, first thing I ran was perf test, that expects\ndebugfs to be mounted, test fails. Be more clear about it.\n\nAlso add missing newlines and add more informative message when\nsys_perf_event_open fails.\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "d854861c4292a4e675a5d3bfd862c5f7421c81e8",
      "tree": "59a4012085b68bb302c61a9ebb8bb81477b59d98",
      "parents": [
        "4eed11d5e24540dc133003b6e8f904cb747ac4bb"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Jan 04 00:16:20 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Jan 04 00:32:06 2011 -0200"
      },
      "message": "perf test: Add test for counting open syscalls\n\nTo test the use of the perf_evsel class on something other than\nthe tools from where we refactored code to create it.\n\nIt calls open() N times and then checks if the event created to\nmonitor it returns N events.\n\n[acme@felicio linux]$ perf test\n 1: vmlinux symtab matches kallsyms: Ok\n 2: detect open syscall event: Ok\n[acme@felicio linux]$\n\nIt does.\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Han Pingtian \u003cphan@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "d3678758048308049cdad31ec3eae063be17c0db",
      "tree": "717d3995a21b4b60bf949b087eabb12a7a75a51c",
      "parents": [
        "3b01a413c196c91040d41c86e5b56f76bb369f74"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Dec 21 23:38:37 2010 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Dec 22 20:31:59 2010 -0200"
      },
      "message": "perf test: Look forward for symbol aliases\n\nNot just before, fixing these false positives:\n\n[acme@mica linux]$ perf test -v 1\n 1: vmlinux symtab matches kallsyms:\n--- start ---\nLooking at the vmlinux_path (6 entries long)\nUsing //lib/modules/2.6.37-rc5-00180-ge06b6bf/build/vmlinux for symbols\n0xffffffff81058dc0: diff name v: sys_vm86old k: sys_ni_syscall\n0xffffffff81058dc0: diff name v: sys_vm86 k: sys_ni_syscall\n0xffffffff81058dc0: diff name v: sys_subpage_prot k: sys_ni_syscall\n0xffffffff810b5f7c: diff name v: probe_kernel_write k: __probe_kernel_write\n0xffffffff810b5fe5: diff name v: probe_kernel_read k: __probe_kernel_read\n0xffffffff811bc380: diff name v: __memset k: memset\n0xffffffff81384a98: diff name v: __sched_text_start k: sleep_on_common\n0xffffffff81386750: diff name v: __sched_text_end k: _raw_spin_trylock\n0xffffffff8138cee8: diff name v: __irqentry_text_start k: do_IRQ\n0xffffffff8138f079: diff name v: __start_notes k: _etext\n0xffffffff8138f079: diff name v: __stop_notes k: _etext\n---- end ----\nvmlinux symtab matches kallsyms: FAILED!\n\n[acme@mica linux]$\n\nSome are weak functions, others are just markers, etc. They get in the rb tree\nwith the same addr, so we need to look around to find the symbol with the same\nname.\n\nWe were looking just at the previous entries with the same addr, look forward\ntoo.\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Han Pingtian \u003cphan@redhat.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\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "8035458fbb567ae138c77a5f710050107c6a7066",
      "tree": "0bd6e3730d96aa5d574e73d500f1820d2b195d8c",
      "parents": [
        "1967936d688c475b85d34d84e09858cf514c893c"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon May 17 15:51:10 2010 -0300"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon May 17 16:22:37 2010 -0300"
      },
      "message": "perf options: Type check OPT_BOOLEAN and fix the offenders\n\nCc: Frédéric Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "1c6a800cde3b818fd8320b5d402f2d77d2948c00",
      "tree": "2feb2a077e0dbc8c0cb24a70e92ca1d1daaef817",
      "parents": [
        "5c0541d53ef3897494768decb09eb8f1087953a5"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Apr 29 18:58:32 2010 -0300"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Apr 29 18:59:23 2010 -0300"
      },
      "message": "perf test: Initial regression testing command\n\nFirst an example with the first internal test:\n\n[acme@doppio linux-2.6-tip]$ perf test\n 1: vmlinux symtab matches kallsyms: Ok\n\nSo it run just one test, that is \"vmlinux symtab matches kallsyms\", and it was\nsuccessful.\n\nIf we run it in verbose mode, we\u0027ll see details about errors and extra warnings\nfor non-fatal problems:\n\n[acme@doppio linux-2.6-tip]$ perf test -v\n 1: vmlinux symtab matches kallsyms:\n--- start ---\nLooking at the vmlinux_path (5 entries long)\nNo build_id in vmlinux, ignoring it\nNo build_id in /boot/vmlinux, ignoring it\nNo build_id in /boot/vmlinux-2.6.34-rc4-tip+, ignoring it\nUsing /lib/modules/2.6.34-rc4-tip+/build/vmlinux for symbols\nMaps only in vmlinux:\n ffffffff81cb81b1-ffffffff81e1149b 0 [kernel].init.text\n ffffffff81e1149c-ffffffff9fffffff 0 [kernel].exit.text\n ffffffffff600000-ffffffffff6000ff 0 [kernel].vsyscall_0\n ffffffffff600100-ffffffffff6003ff 0 [kernel].vsyscall_fn\n ffffffffff600400-ffffffffff6007ff 0 [kernel].vsyscall_1\n ffffffffff600800-ffffffffffffffff 0 [kernel].vsyscall_2\nMaps in vmlinux with a different name in kallsyms:\n ffffffffff600000-ffffffffff6000ff 0 [kernel].vsyscall_0 in kallsyms as [kernel].0\n ffffffffff600100-ffffffffff6003ff 0 [kernel].vsyscall_fn in kallsyms as:\n*ffffffffff600100-ffffffffff60012f 0 [kernel].2\n ffffffffff600400-ffffffffff6007ff 0 [kernel].vsyscall_1 in kallsyms as [kernel].6\n ffffffffff600800-ffffffffffffffff 0 [kernel].vsyscall_2 in kallsyms as [kernel].8\nMaps only in kallsyms:\n ffffffffff600130-ffffffffff6003ff 0 [kernel].4\n---- end ----\nvmlinux symtab matches kallsyms: Ok\n[acme@doppio linux-2.6-tip]$\n\nIn the above case we only know the name of the non contiguous kernel ranges in\nthe address space when reading the symbol information from the ELF symtab in\nvmlinux.\n\nThe /proc/kallsyms file lack this, we only notice they are separate because\nthere are modules after the kernel and after that more kernel functions, so we\nneed to have a module rbtree backed by the module .ko path to get symtabs in\nthe vmlinux case.\n\nThe tool uses it to match by address to emit appropriate warning, but don\u0027t\nconsiders this fatal.\n\nThe .init.text and .exit.text ines, of course, aren\u0027t in kallsyms, so I left\nthese cases just as extra info in verbose mode.\n\nThe end of the sections also aren\u0027t in kallsyms, so we the symbols layer does\nanother pass and sets the end addresses as the next map start minus one, which\nsometimes pads, causing harmless mismatches.\n\nBut at least the symbols match, tested it by copying /proc/kallsyms to\n/tmp/kallsyms and doing changes to see if they were detected.\n\nThis first test also should serve as a first stab at documenting the\nsymbol library by providing a self contained example that exercises it\ntogether with comments about what is being done.\n\nMore tests to check if actions done on a monitored app, like doing mmaps, etc,\nmakes the kernel generate the expected events should be added next.\n\nCc: Frédéric Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    }
  ]
}
