)]}'
{
  "log": [
    {
      "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": "76ba7e846fcc89d9d4b25b89e303c9058de96d60",
      "tree": "1bf5ac30708ed35a203ba9b1101cd9e597b77016",
      "parents": [
        "794e43b56c18b95fc9776c914a2659e7d558a352"
      ],
      "author": {
        "name": "Hitoshi Mitake",
        "email": "mitake@dcl.info.waseda.ac.jp",
        "time": "Sat May 08 17:10:29 2010 +0900"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun May 09 21:52:27 2010 +0200"
      },
      "message": "perf lock: Drop \"-a\" option from cmd_record() default arguments set\n\nThis patch drops \"-a\" from the default arguments passed to\nperf record by perf lock.\n\nIf a user wants to do a system wide record of lock events,\n        perf lock record -a \u003cprogram\u003e \u003cargument\u003e ...\nis enough for this purpose.\n\nThis can reduce the size of the perf.data file.\n\n% sudo ./perf lock record whoami\nroot\n[ perf record: Woken up 1 times to write data ]\n[ perf record: Captured and wrote 0.439 MB perf.data (~19170 samples) ]\n% sudo ./perf lock record -a whoami   # with -a option\nroot\n[ perf record: Woken up 0 times to write data ]\n[ perf record: Captured and wrote 48.962 MB perf.data (~2139197 samples) ]\n\nSigned-off-by: Hitoshi Mitake \u003cmitake@dcl.info.waseda.ac.jp\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nLKML-Reference: Message-Id: \u003c1273306229-5216-1-git-send-email-mitake@dcl.info.waseda.ac.jp\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "90c0e5fc7b73d2575c7367e1da70ff9521718e5e",
      "tree": "555df001b47f27ae0a4339725e9ba06175e94ff1",
      "parents": [
        "5efe08cf685f33f562566dc68b6077b6f6a4f706"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri May 07 02:33:42 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun May 09 13:45:30 2010 +0200"
      },
      "message": "perf lock: Always check min AND max wait time\n\nWhen a lock is acquired after beeing contended, we update the\nwait time statistics for the given lock.\nBut if the min wait time is updated, we don\u0027t check the max wait\ntime. This is wrong because the first time we update the wait time,\nwe want to update both min and max wait time.\n\nBefore:\n\tName   acquired  contended total wait (ns)   max wait (ns)   min wait (ns)\n\tkey          8          1           21656           0           21656\n\nAfter:\n\tName   acquired  contended total wait (ns)   max wait (ns)   min wait (ns)\n\tkey          8          1           21656           21656           21656\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: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Hitoshi Mitake \u003cmitake@dcl.info.waseda.ac.jp\u003e\n"
    },
    {
      "commit": "5efe08cf685f33f562566dc68b6077b6f6a4f706",
      "tree": "ae792d0ba092caed622825a39fec84eb6c67174c",
      "parents": [
        "84c7a21791eb2e962a27e19bab5b77d5d9e13a34"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu May 06 04:55:22 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun May 09 13:45:29 2010 +0200"
      },
      "message": "perf: Fix perf lock bad rate\n\nFix the cast made to get the bad rate. It is made in the result\ninstead of the operands. We need the operands to be cast in double,\notherwise the result will always be zero.\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: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Hitoshi Mitake \u003cmitake@dcl.info.waseda.ac.jp\u003e\n"
    },
    {
      "commit": "84c7a21791eb2e962a27e19bab5b77d5d9e13a34",
      "tree": "f61363b358a58c164b5b457a70e4eb9d0da0fdd1",
      "parents": [
        "10350ec362b48f79f3df8447c25813790075e27c"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed May 05 23:57:25 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun May 09 13:45:27 2010 +0200"
      },
      "message": "perf: Humanize lock flags in perf lock\n\nUse an enum instead of plain constants for lock flags.\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: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Hitoshi Mitake \u003cmitake@dcl.info.waseda.ac.jp\u003e\n"
    },
    {
      "commit": "10350ec362b48f79f3df8447c25813790075e27c",
      "tree": "b822c3e43038e43abc1da04a8bf359a2f7af0ea1",
      "parents": [
        "26242d859c9be9eea61f7f19514e9d272ae8ce26"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed May 05 23:47:28 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun May 09 13:45:26 2010 +0200"
      },
      "message": "perf: Cleanup perf lock broken states\n\nUse enum to get a human view of bad_hist indexes and\nput bad histogram output in its own function.\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: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Hitoshi Mitake \u003cmitake@dcl.info.waseda.ac.jp\u003e\n"
    },
    {
      "commit": "26242d859c9be9eea61f7f19514e9d272ae8ce26",
      "tree": "b1a69c955ec3eb6be804a90beb17b0cafd95d3c0",
      "parents": [
        "d6b17bebd79dae2e3577f2ea27a832af4991a5e6"
      ],
      "author": {
        "name": "Hitoshi Mitake",
        "email": "mitake@dcl.info.waseda.ac.jp",
        "time": "Mon May 03 14:12:00 2010 +0900"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun May 09 13:45:24 2010 +0200"
      },
      "message": "perf lock: Add \"info\" subcommand for dumping misc information\n\nThis adds the \"info\" subcommand to perf lock which can be used\nto dump metadata like threads or addresses of lock instances.\n\"map\" was removed because info should do the work for it.\n\nThis will be useful not only for debugging but also for ordinary\nanalyzing.\n\nv2: adding example of usage\n% sudo ./perf lock info -t\n | Thread ID: comm\n | \t 0: swapper\n |         1: init\n |        18: migration/5\n |        29: events/2\n |        32: events/5\n |        33: events/6\n...\n\n% sudo ./perf lock info -m\n| Address of instance: name of class\n|  0xffff8800b95adae0: \u0026(\u0026sighand-\u003esiglock)-\u003erlock\n|  0xffff8800bbb41ae0: \u0026(\u0026sighand-\u003esiglock)-\u003erlock\n|  0xffff8800bf165ae0: \u0026(\u0026sighand-\u003esiglock)-\u003erlock\n|  0xffff8800b9576a98: \u0026p-\u003ecred_guard_mutex\n|  0xffff8800bb890a08: \u0026(\u0026p-\u003ealloc_lock)-\u003erlock\n|  0xffff8800b9522a08: \u0026(\u0026p-\u003ealloc_lock)-\u003erlock\n|  0xffff8800bb8aaa08: \u0026(\u0026p-\u003ealloc_lock)-\u003erlock\n|  0xffff8800bba72a08: \u0026(\u0026p-\u003ealloc_lock)-\u003erlock\n|  0xffff8800bf18ea08: \u0026(\u0026p-\u003ealloc_lock)-\u003erlock\n|  0xffff8800b8a0d8a0: \u0026(\u0026ip-\u003ei_lock)-\u003emr_lock\n|  0xffff88009bf818a0: \u0026(\u0026ip-\u003ei_lock)-\u003emr_lock\n|  0xffff88004c66b8a0: \u0026(\u0026ip-\u003ei_lock)-\u003emr_lock\n|  0xffff8800bb6478a0: \u0026(shost-\u003ehost_lock)-\u003erlock\n\nv3: fixed some problems Frederic pointed out\n * better rbtree tracking in dump_threads()\n * removed printf() and used pr_info() and pr_debug()\n\nSigned-off-by: Hitoshi Mitake \u003cmitake@dcl.info.waseda.ac.jp\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nLKML-Reference: \u003c1272863520-16179-1-git-send-email-mitake@dcl.info.waseda.ac.jp\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "454c407ec17a0c63e4023ac0877d687945a7df4a",
      "tree": "1271299a59a89419c0dd4dcbf29b4492b63555ca",
      "parents": [
        "789688faef5b3ba78065beaf2f3d6f1c839f74a3"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "tzanussi@gmail.com",
        "time": "Sat May 01 01:41:20 2010 -0500"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sun May 02 13:36:56 2010 -0300"
      },
      "message": "perf: add perf-inject builtin\n\nCurrently, perf \u0027live mode\u0027 writes build-ids at the end of the\nsession, which isn\u0027t actually useful for processing live mode events.\n\nWhat would be better would be to have the build-ids sent before any of\nthe samples that reference them, which can be done by processing the\nevent stream and retrieving the build-ids on the first hit.  Doing\nthat in perf-record itself, however, is off-limits.\n\nThis patch introduces perf-inject, which does the same job while\nleaving perf-record untouched.  Normal mode perf still records the\nbuild-ids at the end of the session as it should, but for live mode,\nperf-inject can be injected in between the record and report steps\ne.g.:\n\nperf record -o - ./hackbench 10 | perf inject -v -b | perf report -v -i -\n\nperf-inject reads a perf-record event stream and repipes it to stdout.\nAt any point the processing code can inject other events into the\nevent stream - in this case build-ids (-b option) are read and\ninjected as needed into the event stream.\n\nBuild-ids are just the first user of perf-inject - potentially\nanything that needs userspace processing to augment the trace stream\nwith additional information could make use of this facility.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frédéric Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c1272696080-16435-3-git-send-email-tzanussi@gmail.com\u003e\nSigned-off-by: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "c61e52ee705f938596d307625dce00cc4345aaf0",
      "tree": "6bb8a1d2662790c6b5ee8d09e0b94d91c97d1da0",
      "parents": [
        "5710fcad7c367adefe5634dc998f1f88780a8457"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Apr 24 00:04:12 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Apr 24 03:49:58 2010 +0200"
      },
      "message": "perf: Generalize perf lock\u0027s sample event reordering to the session layer\n\nThe sample events recorded by perf record are not time ordered\nbecause we have one buffer per cpu for each event (even demultiplexed\nper task/per cpu for task bound events). But when we read trace events\nwe want them to be ordered by time because many state machines are\ninvolved.\n\nThere are currently two ways perf tools deal with that:\n\n- use -M to multiplex every buffers (perf sched, perf kmem)\n  But this creates a lot of contention in SMP machines on\n  record time.\n\n- use a post-processing time reordering (perf timechart, perf lock)\n  The reordering used by timechart is simple but doesn\u0027t scale well\n  with huge flow of events, in terms of performance and memory use\n  (unusable with perf lock for example).\n  Perf lock has its own samples reordering that flushes its memory\n  use in a regular basis and that uses a sorting based on the\n  previous event queued (a new event to be queued is close to the\n  previous one most of the time).\n\nThis patch proposes to export perf lock\u0027s samples reordering facility\nto the session layer that reads the events. So if a tool wants to\nget ordered sample events, it needs to set its\nstruct perf_event_ops::ordered_samples to true and that\u0027s it.\n\nThis prepares tracing based perf tools to get rid of the need to\nuse buffers multiplexing (-M) or to implement their own\nreordering.\n\nAlso lower the flush period to 2 as it\u0027s sufficient already.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Hitoshi Mitake \u003cmitake@dcl.info.waseda.ac.jp\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\n"
    },
    {
      "commit": "e4cef1f65061429c3e8b356233e87dc6653a9da5",
      "tree": "00262af5d37a4648778ed8c3f732a08f1b0776d8",
      "parents": [
        "4093b150e52e6da20e9496df8aa007423952ae42"
      ],
      "author": {
        "name": "Hitoshi Mitake",
        "email": "mitake@dcl.info.waseda.ac.jp",
        "time": "Wed Apr 21 21:23:54 2010 +0900"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Apr 24 03:23:14 2010 +0200"
      },
      "message": "perf lock: Fix state machine to recognize lock sequence\n\nPrevious state machine of perf lock was really broken.\nThis patch improves it a little.\n\nThis patch prepares the list of state machine that represents\nlock sequences for each threads.\n\nThese state machines can be one of these sequences:\n\n      1) acquire -\u003e acquired -\u003e release\n      2) acquire -\u003e contended -\u003e acquired -\u003e release\n      3) acquire (w/ try) -\u003e release\n      4) acquire (w/ read) -\u003e release\n\nThe case of 4) is a little special.\nDouble acquire of read lock is allowed, so the state machine\ncounts read lock number, and permits double acquire and release.\n\nBut, things are not so simple. Something in my model is still wrong.\nI counted the number of lock instances with bad sequence,\nand ratio is like this (case of tracing whoami): bad:233, total:2279\n\nversion 2:\n * threads are now identified with tid, not pid\n * prepared SEQ_STATE_READ_ACQUIRED for read lock.\n * bunch of struct lock_seq_stat is now linked list\n * debug information enhanced (this have to be removed someday)\n   e.g.\n     | \u003d\u003d\u003d output for debug\u003d\u003d\u003d\n     |\n     | bad:233, total:2279\n     | bad rate:0.000000\n     | histogram of events caused bad sequence\n     |     acquire: 165\n     |    acquired: 0\n     |   contended: 0\n     |     release: 68\n\nSigned-off-by: Hitoshi Mitake \u003cmitake@dcl.info.waseda.ac.jp\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nLKML-Reference: \u003c1271852634-9351-1-git-send-email-mitake@dcl.info.waseda.ac.jp\u003e\n[rename SEQ_STATE_UNINITED to SEQ_STATE_UNINITIALIZED]\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "c05556421742eb47f80301767653a4bcb19de9de",
      "tree": "1e9c441a457acee41d2585e05692cc90c1d88be2",
      "parents": [
        "53e5b5c215ce8372250e227f2c9acf9892de8434"
      ],
      "author": {
        "name": "Ian Munsie",
        "email": "imunsie@au.ibm.com",
        "time": "Tue Apr 13 18:37:33 2010 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 14 11:26:44 2010 +0200"
      },
      "message": "perf: Fix endianness argument compatibility with OPT_BOOLEAN() and introduce OPT_INCR()\n\nParsing an option from the command line with OPT_BOOLEAN on a\nbool data type would not work on a big-endian machine due to the\nmanner in which the boolean was being cast into an int and\nincremented. For example, running \u0027perf probe --list\u0027 on a\nPowerPC machine would fail to properly set the list_events bool\nand would therefore print out the usage information and\nterminate.\n\nThis patch makes OPT_BOOLEAN work as expected with a bool\ndatatype. For cases where the original OPT_BOOLEAN was\nintentionally being used to increment an int each time it was\npassed in on the command line, this patch introduces OPT_INCR\nwith the old behaviour of OPT_BOOLEAN (the verbose variable is\ncurrently the only such example of this).\n\nI have reviewed every use of OPT_BOOLEAN to verify that a true\nC99 bool was passed. Where integers were used, I verified that\nthey were only being used for boolean logic and changed them to\nbools to ensure that they would not be mistakenly used as ints.\nThe major exception was the verbose variable which now uses\nOPT_INCR instead of OPT_BOOLEAN.\n\nSigned-off-by: Ian Munsie \u003cimunsie@au.ibm.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: \u003cstable@kernel.org\u003e # NOTE: wont apply to .3[34].x cleanly, please backport\nCc: Git development list \u003cgit@vger.kernel.org\u003e\nCc: Ian Munsie \u003cimunsie@au1.ibm.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Hitoshi Mitake \u003cmitake@dcl.info.waseda.ac.jp\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Eric B Munson \u003cebmunson@us.ibm.com\u003e\nCc: Valdis.Kletnieks@vt.edu\nCc: WANG Cong \u003camwang@redhat.com\u003e\nCc: Thiago Farina \u003ctfransosi@gmail.com\u003e\nCc: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nCc: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1271147857-11604-1-git-send-email-imunsie@au.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b67577dfb45580c498bfdb1bc76c00c3b2ad6310",
      "tree": "6d3c8a49706fea39d4279382618b84a9e8625951",
      "parents": [
        "84c6f88fc8265d7a712d7d6ed8fc1a878dfc84d1"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Feb 03 09:09:33 2010 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Feb 27 17:06:19 2010 +0100"
      },
      "message": "perf lock: Drop the buffers multiplexing dependency\n\nWe need to deal with time ordered events to build a correct\nstate machine of lock events. This is why we multiplex the lock\nevents buffers. But the ordering is done from the kernel, on\nthe tracing fast path, leading to high contention between cpus.\n\nWithout multiplexing, the events appears in a weak order.\nIf we have four events, each split per cpu, perf record will\nread the events buffers in the following order:\n\n[ CPU0 ev0, CPU0 ev1, CPU0 ev3, CPU0 ev4, CPU1 ev0, CPU1 ev0....]\n\nTo handle a post processing reordering, we could just read and sort\nthe whole in memory, but it just doesn\u0027t scale with high amounts\nof events: lock events can fill huge amounts in few times.\n\nBasically we need to sort in memory and find a \"grace period\"\npoint when we know that a given slice of previously sorted events\ncan be committed for post-processing, so that we can unload the\nmemory usage step by step and keep a scalable sorting list.\n\nThere is no strong rules about how to define such \"grace period\".\nWhat does this patch is:\n\nWe define a FLUSH_PERIOD value that defines a grace period in\nseconds.\nWe want to have a slice of events covering 2 * FLUSH_PERIOD in our\nsorted list.\nIf FLUSH_PERIOD is big enough, it ensures every events that occured\nin the first half of the timeslice have all been buffered and there\nare none remaining and there won\u0027t be further to put inside this\nfirst timeslice. Then once we reach the 2 * FLUSH_PERIOD\ntimeslice, we flush the first half to be gentle with the memory\n(the second half can still get new events in the middle, so wait\nanother period to flush it)\n\nFLUSH_PERIOD is defined to 5 seconds. Say the first event started on\ntime t0. We can safely assume that at the time we are processing\nevents of t0 + 10 seconds, ther won\u0027t be anymore events to read\nfrom perf.data that occured between t0 and t0 + 5 seconds. Hence\nwe can safely flush the first half.\n\nTo point out funky bugs, we have a guardian that checks a new event\ntimestamp is not below the last event\u0027s timestamp flushed and that\ndisplays a warning in this case.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Hitoshi Mitake \u003cmitake@dcl.info.waseda.ac.jp\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "59f411b62c9282891274e721fea29026b0eda3cc",
      "tree": "51c24d069bbf6e2caced60e3190373a9e5e04678",
      "parents": [
        "9b5e350c7a46a471d5b452836dbafe9aeaeca435"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 31 08:27:58 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 31 09:08:27 2010 +0100"
      },
      "message": "perf lock: Clean up various details\n\nFix up a few small stylistic details:\n\n - use consistent vertical spacing/alignment\n - remove line80 artifacts\n - group some global variables better\n - remove dead code\n\nPlus rename \u0027prof\u0027 to \u0027report\u0027 to make it more in line with other\ntools, and remove the line/file keying as we really want to use\nIPs like the other tools do.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Hitoshi Mitake \u003cmitake@dcl.info.waseda.ac.jp\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c1264851813-8413-12-git-send-email-mitake@dcl.info.waseda.ac.jp\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9b5e350c7a46a471d5b452836dbafe9aeaeca435",
      "tree": "e9c434ba978ad35712941a2531e3741a03361215",
      "parents": [
        "c965be10ca3cb0bdd04016c852764afaf8e647c8"
      ],
      "author": {
        "name": "Hitoshi Mitake",
        "email": "mitake@dcl.info.waseda.ac.jp",
        "time": "Sat Jan 30 20:43:33 2010 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 31 09:08:26 2010 +0100"
      },
      "message": "perf lock: Introduce new tool \"perf lock\", for analyzing lock statistics\n\nAdding new subcommand \"perf lock\" to perf.\n\nI have a lot of remaining ToDos, but for now perf lock can\nalready provide minimal functionality for analyzing lock\nstatistics.\n\nSigned-off-by: Hitoshi Mitake \u003cmitake@dcl.info.waseda.ac.jp\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c1264851813-8413-12-git-send-email-mitake@dcl.info.waseda.ac.jp\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ]
}
