)]}'
{
  "log": [
    {
      "commit": "0fdc7e67dd312986e30b861adff48732bd33eb3f",
      "tree": "5d5133f36e3f20d174f0754defca47d244224e7c",
      "parents": [
        "d20ff6bd6bba2e7e6681fa17565347b410c46ab3"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Tue Jul 21 10:30:36 2009 +0200"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 22 18:05:58 2009 +0200"
      },
      "message": "perf_counter tools: Give perf top inherit option\n\nCurrently, perf top -p only tracks the pid provided, which isn\u0027t very useful\nfor watching forky loads, so give it an inherit option.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1248165036.9795.10.camel@marge.simson.net\u003e\n"
    },
    {
      "commit": "d20ff6bd6bba2e7e6681fa17565347b410c46ab3",
      "tree": "ee66a9f5e73dd5deffdd012aa0d1e6d1628ba2af",
      "parents": [
        "5beeded123c5befa21f1c6e16219f2a3eb7dd197"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Mon Jul 20 14:01:38 2009 +0200"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 22 18:05:58 2009 +0200"
      },
      "message": "perf_counter tools: Fix vmlinux symbol generation breakage\n\nvmlinux meets the criteria for symbol adjustment, which breaks vmlinux generated symbols.\nFix this by exempting vmlinux.  This is a bit fragile in that someone could change the\nkernel dso\u0027s name, but currently that name is also hardwired.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1248091298.18702.18.camel@marge.simson.net\u003e\n"
    },
    {
      "commit": "5beeded123c5befa21f1c6e16219f2a3eb7dd197",
      "tree": "4ac812126910994516300c53171c7267b97f6f5d",
      "parents": [
        "f6bdafef2ab911f03321fa83d8da1df99878009e"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Tue Jul 21 14:16:29 2009 -0400"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 22 18:05:57 2009 +0200"
      },
      "message": "perf_counter: Detect debugfs location\n\nIf \"/sys/kernel/debug\" is not a debugfs mount point, search for the debugfs\nfilesystem in /proc/mounts, but also allows the user to specify\n\u0027--debugfs-dir\u003dblah\u0027 or set the environment variable: \u0027PERF_DEBUGFS_DIR\u0027\n\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\n[ also made it probe \"/debug\" by default ]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20090721181629.GA3094@redhat.com\u003e\n"
    },
    {
      "commit": "f6bdafef2ab911f03321fa83d8da1df99878009e",
      "tree": "a948428dcda80abccbe6071036662b7cf07db268",
      "parents": [
        "28ac909b49a155856c957d080f8a796b3c1d1f3e"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Tue Jul 21 12:20:22 2009 -0400"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 22 18:05:57 2009 +0200"
      },
      "message": "perf_counter: Add tracepoint support to perf list, perf stat\n\nAdd support to \u0027perf list\u0027 and \u0027perf stat\u0027 for kernel tracepoints. The\nimplementation creates a \u0027for_each_subsystem\u0027 and \u0027for_each_event\u0027 for\neasy iteration over the tracepoints.\n\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c426129bf9fcc8ee63bb094cf736e7316a7dcd77a.1248190728.git.jbaron@redhat.com\u003e\n"
    },
    {
      "commit": "28ac909b49a155856c957d080f8a796b3c1d1f3e",
      "tree": "cdc46c36edc29c1847cabd98b7f5e35e2c39e778",
      "parents": [
        "dfe5a50461db90fab901cb697eff0d3d2e9fd229"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Jul 20 14:14:12 2009 -0300"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 22 18:05:57 2009 +0200"
      },
      "message": "perf symbol: C++ demangling\n\n[acme@doppio ~]$ perf report -s comm,dso,symbol -C firefox -d /usr/lib64/xulrunner-1.9.1/libxul.so | grep :: | head\n     2.21%  [.] nsDeque::Push(void*)\n     1.78%  [.] GraphWalker::DoWalk(nsDeque\u0026)\n     1.30%  [.] GCGraphBuilder::AddNode(void*, nsCycleCollectionParticipant*)\n     1.27%  [.] XPCWrappedNative::CallMethod(XPCCallContext\u0026, XPCWrappedNative::CallMode)\n     1.18%  [.] imgContainer::DrawFrameTo(gfxIImageFrame*, gfxIImageFrame*, nsRect\u0026)\n     1.13%  [.] nsDeque::PopFront()\n     1.11%  [.] nsGlobalWindow::RunTimeout(nsTimeout*)\n     0.97%  [.] nsXPConnect::Traverse(void*, nsCycleCollectionTraversalCallback\u0026)\n     0.95%  [.] nsJSEventListener::cycleCollection::Traverse(void*, nsCycleCollectionTraversalCallback\u0026)\n     0.95%  [.] nsCOMPtr_base::~nsCOMPtr_base()\n[acme@doppio ~]$\n\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Frédéric Weisbecker \u003cfweisbec@gmail.com\u003e\nSuggested-by: Clark Williams \u003cwilliams@redhat.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20090720171412.GB10410@ghostprotocols.net\u003e\n"
    },
    {
      "commit": "dfe5a50461db90fab901cb697eff0d3d2e9fd229",
      "tree": "1a9a6f4a7fd759fd7a5eeaffe475dca678a2651c",
      "parents": [
        "966ee4d6b887c14159043ac80b8c3661d2bbe5e2"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Jul 20 22:54:26 2009 -0700"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 22 18:05:57 2009 +0200"
      },
      "message": "perf: avoid structure size confusion by using a fixed size\n\nfor some reason, this structure gets compiled as 36 bytes in some files\n(the ones that alloacte it) but 40 bytes in others (the ones that use it).\nThe cause is an off_t type that gets a different size in different\ncompilation units for some yet-to-be-explained reason.\n\nBut the effect is disasterous; the size/offset members of the struct\nare at different offsets, and result in mostly complete garbage.\nThe parser in perf is so robust that this all gets hidden, and after\nskipping an certain amount of samples, it recovers.... so this bug\nis not normally noticed.\n\n.... except when you want every sample to be exact.\n\nFix this by just using an explicitly sized type.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c4A655917.9080504@linux.intel.com\u003e\n"
    },
    {
      "commit": "966ee4d6b887c14159043ac80b8c3661d2bbe5e2",
      "tree": "2f06225dc023f5fc07f1135147dd09f19601ba2b",
      "parents": [
        "a0541234f89c93f313961ce7b28676e11488a5f0"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Wed Jul 22 23:05:46 2009 +1000"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 22 18:05:56 2009 +0200"
      },
      "message": "perf_counter: Fix throttle/unthrottle event logging\n\nRight now we only print PERF_EVENT_THROTTLE + 1 (ie PERF_EVENT_UNTHROTTLE).\nFix this to print both a throttle and unthrottle event.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20090722130546.GE9029@kryten\u003e\n"
    },
    {
      "commit": "a0541234f89c93f313961ce7b28676e11488a5f0",
      "tree": "b6006cad6fc36f60c8c027f4b6493a8cc686c37f",
      "parents": [
        "7f453c24b95a085fc7bd35d53b33abc4dc5a048b"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Wed Jul 22 23:04:12 2009 +1000"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 22 18:05:56 2009 +0200"
      },
      "message": "perf_counter: Improve perf stat and perf record option parsing\n\nperf stat and perf record currently look for all options on the command\nline. This can lead to some confusion:\n\n# perf stat ls -l\n  Error: unknown switch `l\u0027\n\nWhile we can work around this by adding \u0027--\u0027 before the command, the git\noption parsing code can stop at the first non option:\n\n# perf stat ls -l\n Performance counter stats for \u0027ls -l\u0027:\n....\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20090722130412.GD9029@kryten\u003e\n"
    },
    {
      "commit": "7f453c24b95a085fc7bd35d53b33abc4dc5a048b",
      "tree": "63d2b80acb3095a3e1a56c69d20a8137a1337aed",
      "parents": [
        "573402db02746179b3f95f83a11a787501f52d0a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jul 21 13:19:40 2009 +0200"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 22 18:05:56 2009 +0200"
      },
      "message": "perf_counter: PERF_SAMPLE_ID and inherited counters\n\nAnton noted that for inherited counters the counter-id as provided by\nPERF_SAMPLE_ID isn\u0027t mappable to the id found through PERF_RECORD_ID\nbecause each inherited counter gets its own id.\n\nHis suggestion was to always return the parent counter id, since that\nis the primary counter id as exposed. However, these inherited\ncounters have a unique identifier so that events like\nPERF_EVENT_PERIOD and PERF_EVENT_THROTTLE can be specific about which\ncounter gets modified, which is important when trying to normalize the\nsample streams.\n\nThis patch removes PERF_EVENT_PERIOD in favour of PERF_SAMPLE_PERIOD,\nwhich is more useful anyway, since changing periods became a lot more\ncommon than initially thought -- rendering PERF_EVENT_PERIOD the less\nuseful solution (also, PERF_SAMPLE_PERIOD reports the more accurate\nvalue, since it reports the value used to trigger the overflow,\nwhereas PERF_EVENT_PERIOD simply reports the requested period changed,\nwhich might only take effect on the next cycle).\n\nThis still leaves us PERF_EVENT_THROTTLE to consider, but since that\n_should_ be a rare occurrence, and linking it to a primary id is the\nmost useful bit to diagnose the problem, we introduce a\nPERF_SAMPLE_STREAM_ID, for those few cases where the full\nreconstruction is important.\n\n[Does change the ABI a little, but I see no other way out]\n\nSuggested-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1248095846.15751.8781.camel@twins\u003e\n"
    },
    {
      "commit": "573402db02746179b3f95f83a11a787501f52d0a",
      "tree": "111fb9d0b65d31cb9308a84164f111874d2522ae",
      "parents": [
        "c9f73a3dd27e03411f18a58c0814d51392d2b17a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 22 11:13:50 2009 +0200"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 22 18:05:55 2009 +0200"
      },
      "message": "perf_counter: Plug more stack leaks\n\nPer example of Arjan\u0027s patch, I went through and found a few more.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "c9f73a3dd27e03411f18a58c0814d51392d2b17a",
      "tree": "2b687a70433efc77f3f890bd5f09d31414d26f8e",
      "parents": [
        "9b7019ae6a542a801a80df6694c66e240e2c3e39"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Tue Jul 21 00:55:05 2009 -0700"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 22 18:05:55 2009 +0200"
      },
      "message": "perf: Fix stack data leak\n\nthe \"reserved\" field was not initialized to zero, resulting in 4 bytes\nof stack data leaking to userspace....\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "9b7019ae6a542a801a80df6694c66e240e2c3e39",
      "tree": "fe2e53fae79f313cfa2fa02d89a6bd585f86a361",
      "parents": [
        "1d2f37945d1b3a14086c5ea802486778b635cf97"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 22 16:31:36 2009 +0200"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 22 18:05:55 2009 +0200"
      },
      "message": "perf_counter: Remove unused variables\n\nFix a gcc unused variables warning.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "1d2f37945d1b3a14086c5ea802486778b635cf97",
      "tree": "b40a1a596a29acc1511f661c27f284dd06b0bc9d",
      "parents": [
        "1483b19f8f5e8ad0c8816de368b099322dad4db5",
        "f1c6a58121f9846ac665b0fbd3cbab90ce8bcbac"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 22 18:05:48 2009 +0200"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 22 18:05:48 2009 +0200"
      },
      "message": "Merge commit \u0027tip/perfcounters/core\u0027 into perf-counters-for-linus\n"
    },
    {
      "commit": "1483b19f8f5e8ad0c8816de368b099322dad4db5",
      "tree": "726bc59c455fee6b3a328bb46e8cc1f26b5fff44",
      "parents": [
        "4bba828dd9bb950ad1fe340ef148a5436a10f131"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Thu Jul 16 15:44:29 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 18 11:21:33 2009 +0200"
      },
      "message": "perf_counter: Make call graph option consistent\n\nperf record uses -g for logging call graph data but perf report\nuses -c to print call graph data. Be consistent and use -g\neverywhere for call graph data.\n\nAlso update the help text to reflect the current default -\nfractal,0.5\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20090716104817.803604373@samba.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4bba828dd9bb950ad1fe340ef148a5436a10f131",
      "tree": "22ff928aaa8d9dd8143eed55b5b5ba2e53ca62d9",
      "parents": [
        "ed900c054b541254f0ce5cedaf75206e29bd614e"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Thu Jul 16 15:44:29 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 18 11:21:32 2009 +0200"
      },
      "message": "perf_counter: Add perf record option to log addresses\n\nAdd the -d or --data option to log event addresses (eg page\nfaults).\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20090716104817.697698033@samba.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ed900c054b541254f0ce5cedaf75206e29bd614e",
      "tree": "c164aaefa1185744d4372d8ff5b11a86a8e1405a",
      "parents": [
        "11b5f81e1b0ea0bc84fe32f0a27054e052b2bf84"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Thu Jul 16 15:44:29 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 18 11:21:31 2009 +0200"
      },
      "message": "perf_counter: Log vfork as a fork event\n\nRight now we don\u0027t output vfork events. Even though we should\nalways see an exec after a vfork, we may get perfcounter\nsamples between the vfork and exec. These samples can lead to\nsome confusion when parsing perfcounter data.\n\nTo keep things consistent we should always log a fork event. It\nwill result in a little more log data, but is less confusing to\ntrace parsing tools.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20090716104817.589309391@samba.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "11b5f81e1b0ea0bc84fe32f0a27054e052b2bf84",
      "tree": "709942202e3f5f345a66b162cd627bc1bf97dad9",
      "parents": [
        "413ee3b48ab582ffea33e7e140c7a2c5ea657e9a"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Thu Jul 16 15:44:29 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 18 11:21:30 2009 +0200"
      },
      "message": "perf_counter: Synthesize VDSO mmap event\n\nperf record synthesizes mmap events for the running process.\nRight now it just catches file mappings, but we can check for\nthe vdso symbol and add that too.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20090716104817.517264409@samba.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "413ee3b48ab582ffea33e7e140c7a2c5ea657e9a",
      "tree": "3ecf161d9db15c95ba0a4d02aa18e243b796a04b",
      "parents": [
        "23cdb5d5171d591ec911aada682e09d53c14a810"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Thu Jul 16 15:15:52 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 18 11:21:29 2009 +0200"
      },
      "message": "perf_counter: Make sure we dont leak kernel memory to userspace\n\nThere are a few places we are leaking tiny amounts of kernel\nmemory to userspace. This happens when writing out strings\nbecause we always align the end to 64 bits.\n\nTo avoid this we should always use an appropriately sized\ntemporary buffer and ensure it is zeroed.\n\nSince d_path assembles the string from the end of the buffer\nbackwards, we need to add 64 bits after the buffer to allow for\nalignment.\n\nWe also need to copy arch_vma_name to the temporary buffer,\nbecause if we use it directly we may end up copying to\nuserspace a number of bytes after the end of the string\nconstant.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20090716104817.273972048@samba.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "23cdb5d5171d591ec911aada682e09d53c14a810",
      "tree": "3f2b2a4470fc5da8033494482367a27e69ec6ef9",
      "parents": [
        "d4d7d0b9545721d3cabb19d15163bbc66b797707"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Mon Jul 13 02:25:47 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 13 10:58:28 2009 +0200"
      },
      "message": "perf_counter tools: Fix index boundary check\n\nKeep index within event_type_descriptors[]\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c4A5A7F0B.4070106@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d4d7d0b9545721d3cabb19d15163bbc66b797707",
      "tree": "b924437019f05bdf1d5504062822711e2869ca1a",
      "parents": [
        "9590b7ba3fefdfe0c7741f5e2f61faf2ffcea19c"
      ],
      "author": {
        "name": "Chris Wilson",
        "email": "chris@chris-wilson.co.uk",
        "time": "Mon Jul 06 09:31:33 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 13 09:23:10 2009 +0200"
      },
      "message": "perf_counter: Fix the tracepoint channel to perfcounters\n\nFix a missed rename in EVENT_PROFILE support so that it gets\nbuilt and allows tracepoint tracing from the \u0027perf\u0027 tool.\n\nFix a typo in the (never before built \u0026 enabled) portion in\nperf_counter.c as well, and update that code to the\nattr.config changes as well.\n\nSigned-off-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nCc: Ben Gamari \u003cbgamari.foss@gmail.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.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: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1246869094-21237-1-git-send-email-chris@chris-wilson.co.uk\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f1c6a58121f9846ac665b0fbd3cbab90ce8bcbac",
      "tree": "cdc44904341a5669ba37c407bcc3d94e0acf875d",
      "parents": [
        "e3d7e183dc276df2fcaf02af173a49ad119ba9f9"
      ],
      "author": {
        "name": "Daniel Qarras",
        "email": "dqarras@yahoo.com",
        "time": "Sun Jul 12 04:32:40 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 13 08:46:51 2009 +0200"
      },
      "message": "perf_counter, x86: Extend perf_counter Pentium M support\n\nI\u0027ve attached a patch to remove the Pentium M special casing of\nEMON and as noticed at least with my Pentium M the hardware PMU\nnow works:\n\n Performance counter stats for \u0027/bin/ls /var/tmp\u0027:\n\n       1.809988  task-clock-msecs         #      0.125 CPUs\n              1  context-switches         #      0.001 M/sec\n              0  CPU-migrations           #\t 0.000 M/sec\n            224  page-faults              #\t 0.124 M/sec\n        1425648  cycles                   #    787.656 M/sec\n         912755  instructions             #\t 0.640 IPC\n\nVince suggested that this code was trying to address erratum\nY17 in Pentium-M\u0027s:\n\n  http://download.intel.com/support/processors/mobile/pm/sb/25266532.pdf\n\nBut that erratum (related to IA32_MISC_ENABLES.7) does not\naffect perfcounters as we dont use this toggle to disable RDPMC\nand WRMSR/RDMSR access to performance counters. We keep cr4\u0027s\nbit 8 (X86_CR4_PCE) clear so unprivileged RDPMC access is not\nallowed anyway.\n\nCc: Vince Weaver \u003cvince@deater.net\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Stephane Eranian \u003ceranian@googlemail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e3d7e183dc276df2fcaf02af173a49ad119ba9f9",
      "tree": "02bf81e7e1f1d4b4d585544431c8d6d5cd74f7e7",
      "parents": [
        "a25e46c46311316cd1b3f27f8bb036df1693c032"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Jul 11 12:18:37 2009 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 11 19:20:27 2009 +0200"
      },
      "message": "perf report: Introduce -n/--show-nr-samples\n\n[acme@doppio pahole]$ perf report -ns comm,dso,symbol -d /lib64/libc-2.10.1.so -C pahole | head -17\n    21.94%      32101  [.] _int_malloc\n    20.10%      29402  [.] __GI_strcmp\n    16.77%      24533  [.] __tsearch\n    12.61%      18450  [.] malloc_consolidate\n     6.42%       9394  [.] _int_free\n     6.28%       9191  [.] __tfind\n     4.56%       6678  [.] __GI___libc_free\n     4.46%       6520  [.] _IO_vfprintf_internal\n     2.59%       3786  [.] __malloc\n     1.17%       1716  [.] __GI_memcpy\n[acme@doppio pahole]$\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c1247325517-12272-5-git-send-email-acme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a25e46c46311316cd1b3f27f8bb036df1693c032",
      "tree": "271937d116b3bd343f91948440321fa80e7702ab",
      "parents": [
        "021191b35cdfb1b5ee6e78ed5ae010114a40902c"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Jul 11 12:18:36 2009 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 11 19:20:26 2009 +0200"
      },
      "message": "perf_counter tools: PLT info is stripped in -debuginfo packages\n\nSo we need to get the richer .symtab from the debuginfo\npackages but the PLT info from the original DSO where we have\njust the leaner .dynsym symtab.\n\nExample:\n\n| [acme@doppio pahole]$ perf report --sort comm,dso,symbol \u003e before\n| [acme@doppio pahole]$ perf report --sort comm,dso,symbol \u003e after\n| [acme@doppio pahole]$ diff -U1 before after\n| --- before\t2009-07-11 11:04:22.688595741 -0300\n| +++ after\t2009-07-11 11:04:33.380595676 -0300\n| @@ -80,3 +80,2 @@\n|       0.07%  pahole ./build/pahole              [.] pahole_stealer\n| -     0.06%  pahole /usr/lib64/libdw-0.141.so   [.] 0x00000000007140\n|       0.06%  pahole /usr/lib64/libdw-0.141.so   [.] __libdw_getabbrev\n| @@ -91,2 +90,3 @@\n|       0.06%  pahole [kernel]                    [k] free_hot_cold_page\n| +     0.06%  pahole /usr/lib64/libdw-0.141.so   [.] tfind@plt\n|       0.05%  pahole ./build/libdwarves.so.1.0.0 [.] ftype__add_parameter\n| @@ -242,2 +242,3 @@\n|       0.01%  pahole [kernel]                    [k] account_group_user_time\n| +     0.01%  pahole /usr/lib64/libdw-0.141.so   [.] strlen@plt\n|       0.01%  pahole ./build/pahole              [.] strcmp@plt\n| [acme@doppio pahole]$\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c1247325517-12272-4-git-send-email-acme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "021191b35cdfb1b5ee6e78ed5ae010114a40902c",
      "tree": "c683b7a182373158842a50e9ff3ade2424d5eeb8",
      "parents": [
        "27d0fd410c3cee00ece2e55f4354a7a9ec1a6a6a"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Jul 11 12:18:35 2009 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 11 19:20:26 2009 +0200"
      },
      "message": "perf report: Make the output more compact\n\nWhen we filter by column content we may end up with a column\nthat has the same value for all the lines. So remove that\ncolumn and tell its unique value on the top, as a comment.\n\nExample:\n\n  [acme@doppio pahole]$  perf report --sort comm,dso,symbol -d ./build/libdwarves.so.1.0.0 -C pahole | head -15\n  # dso: ./build/libdwarves.so.1.0.0\n  # comm: pahole\n  # Samples: 58409\n  #\n  # Overhead  Symbol\n  # ........  ......\n  #\n      20.93%  [.] tag__recode_dwarf_type\n      14.94%  [.] namespace__recode_dwarf_types\n      10.38%  [.] cu__table_add_tag\n       6.69%  [.] __die__process_tag\n       5.05%  [.] die__process_function\n       4.70%  [.] list__for_all_tags\n       3.68%  [.] tag__init\n       3.48%  [.] die__create_new_parameter\n  [acme@doppio pahole]$\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c1247325517-12272-3-git-send-email-acme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "27d0fd410c3cee00ece2e55f4354a7a9ec1a6a6a",
      "tree": "a81c59fef46f70e700e86f04a3bf5b90d7cd17b9",
      "parents": [
        "60c1baf1248e00d423604f018c8af1cf750ad885"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Jul 11 12:18:34 2009 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 11 19:20:25 2009 +0200"
      },
      "message": "strlist: Introduce strlist__entry and strlist__nr_entries methods\n\nThe strlist__entry method allows accessing strlists like an\narray, will be used in the \u0027perf report\u0027 to access the first\nentry.\n\nWe now keep the nr_entries so that we can check if we have just\none entry, will be used in \u0027perf report\u0027 to improve the output\nby showing just at the top when we have just, say, one DSO.\n\nWhile at it use nr_entries to optimize strlist__is_empty by not\nusing the far more costly rb_first based implementation.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c1247325517-12272-2-git-send-email-acme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "60c1baf1248e00d423604f018c8af1cf750ad885",
      "tree": "a6fa79b87d382f627e08fcabaa75edf8f1ec9b60",
      "parents": [
        "52d422de22b26d96bbdfbc605eb31c2994df6d0b"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Jul 11 12:18:33 2009 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 11 19:20:25 2009 +0200"
      },
      "message": "perf report: Tidy up reporting of symbols not found\n\nAlways printing the level info about if it is in the kernel,\nhypervisor or userspace as that is in the hist_entry.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c1247325517-12272-1-git-send-email-acme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "52d422de22b26d96bbdfbc605eb31c2994df6d0b",
      "tree": "d335960701bc5b3cbefb842672d0d162d8684633",
      "parents": [
        "71a851b4d2a815adcfac09c1adda7ef6811fde66"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Jul 10 22:47:28 2009 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 11 10:24:11 2009 +0200"
      },
      "message": "perf report: Adjust column width to the values sampled\n\nAuto-adjust column width of perf report output to the\nlongest occuring string length.\n\nExample:\n\n[acme@doppio pahole]$  perf report --sort comm,dso,symbol | head -13\n\n    12.79%   pahole  /usr/lib64/libdw-0.141.so    [.] __libdw_find_attr\n     8.90%   pahole  /lib64/libc-2.10.1.so        [.] _int_malloc\n     8.68%   pahole  /usr/lib64/libdw-0.141.so    [.] __libdw_form_val_len\n     8.15%   pahole  /lib64/libc-2.10.1.so        [.] __GI_strcmp\n     6.80%   pahole  /lib64/libc-2.10.1.so        [.] __tsearch\n     5.54%   pahole  ./build/libdwarves.so.1.0.0  [.] tag__recode_dwarf_type\n[acme@doppio pahole]$\n\n[acme@doppio pahole]$  perf report --sort comm,dso,symbol -d /lib64/libc-2.10.1.so | head -10\n\n    21.92%   pahole  /lib64/libc-2.10.1.so  [.] _int_malloc\n    20.08%   pahole  /lib64/libc-2.10.1.so  [.] __GI_strcmp\n    16.75%   pahole  /lib64/libc-2.10.1.so  [.] __tsearch\n[acme@doppio pahole]$\n\nAlso add these extra options to control the new behaviour:\n\n  -w, --field-width\n\nForce each column width to the provided list, for large terminal\nreadability.\n\n  -t, --field-separator:\n\nUse a special separator character and don\u0027t pad with spaces, replacing\nall occurances of this separator in symbol names (and other output) with\na \u0027.\u0027 character, that thus it\u0027s the only non valid separator.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.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\nLKML-Reference: \u003c20090711014728.GH3452@ghostprotocols.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "71a851b4d2a815adcfac09c1adda7ef6811fde66",
      "tree": "db00854638a439db907768be0524e70236baba1d",
      "parents": [
        "984b838ce69c063a91b87550598ab7f3439dd94a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jul 10 09:06:56 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 10 10:28:40 2009 +0200"
      },
      "message": "perf_counter: Stop open coding unclone_ctx\n\nInstead of open coding the unclone context thingy, put it in\na common function.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "984b838ce69c063a91b87550598ab7f3439dd94a",
      "tree": "70654d87c9964a16642ef6d5d9d3c420f788bfae",
      "parents": [
        "9c74fb50867e8fb5f3be3be06716492c0f79309e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jul 10 09:59:56 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 10 10:28:29 2009 +0200"
      },
      "message": "perf_counter: Clean up global vs counter enable\n\nIngo noticed that both AMD and P6 call\nx86_pmu_disable_counter() on *_pmu_enable_counter(). This is\nbecause we rely on the side effect of that call to program\nthe event config but not touch the EN bit.\n\nWe change that for AMD by having enable_all() simply write\nthe full config in, and for P6 by explicitly coding it.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9c74fb50867e8fb5f3be3be06716492c0f79309e",
      "tree": "52f5ca52ae0ac6c8430b79ba77f37f7e40a4ec96",
      "parents": [
        "11d1578f9454159c43499d1d8fe8a7d728c176a3"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 08 10:21:41 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 10 10:28:27 2009 +0200"
      },
      "message": "perf_counter: Fix up P6 PMU details\n\nThe P6 doesn\u0027t seem to support cache ref/hit/miss counts, so\nwe extend the generic hardware event codes to have 0 and -1\nmean the same thing as for the generic cache events.\n\nFurthermore, it turns out the 0 event does not count\n(that is, its reported that on PPro it actually does count\nsomething), therefore use a event configuration that\u0027s\nspecified not to count to disable the counters.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "11d1578f9454159c43499d1d8fe8a7d728c176a3",
      "tree": "2ad986dad1482083c1f61632f851883791d70aea",
      "parents": [
        "9590b7ba3fefdfe0c7741f5e2f61faf2ffcea19c"
      ],
      "author": {
        "name": "Vince Weaver",
        "email": "vince@deater.net",
        "time": "Wed Jul 08 17:46:14 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 10 10:28:26 2009 +0200"
      },
      "message": "perf_counter: Add P6 PMU support\n\nAdd basic P6 PMU support. The P6 uses the EVNTSEL0 EN bit to\nenable/disable both its counters. We use this for the\nglobal enable/disable, and clear all config bits (except EN)\nto disable individual counters.\n\nActual ia32 hardware doesn\u0027t support lfence, so use a locked\nop without side-effect to implement a full barrier.\n\nperf stat and perf record seem to function correctly.\n\n[a.p.zijlstra@chello.nl: cleanups and complete the enable/disable code]\n\nSigned-off-by: Vince Weaver \u003cvince@deater.net\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cPine.LNX.4.64.0907081718450.2715@pianoman.cluster.toy\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9590b7ba3fefdfe0c7741f5e2f61faf2ffcea19c",
      "tree": "c95ee260e516ae370a86c91c3e8d92b7141d3152",
      "parents": [
        "805d127d62472f17c7d79baa001a7651afe2fa47"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Mon Jul 06 22:01:31 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 10 10:04:06 2009 +0200"
      },
      "message": "perf_counter tools: Rename cache events to remove $\n\nThe cache events contain \u0027$\u0027 which will hit shell variable\nexpansion. To avoid confusion change this to \u0027cache\u0027, ie\nL1-d$-loads becomes L1-dcache-loads.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nCc: Roland Dreier \u003crdreier@cisco.com\u003e\nCc: Jaswinder Singh Rajput \u003cjaswinder@kernel.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20090706120131.GB4391@kryten\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "805d127d62472f17c7d79baa001a7651afe2fa47",
      "tree": "59dfdd2337190e168a007ba65cc25c7e5d8c0fda",
      "parents": [
        "e05b876c222178bc6abcfa9f23d8311731691046"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Jul 05 07:39:21 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jul 05 10:30:23 2009 +0200"
      },
      "message": "perf report: Add \"Fractal\" mode output - support callchains with relative overhead rate\n\nThe current callchain displays the overhead rates as absolute:\nrelative to the total overhead.\n\nThis patch provides relative overhead percentage, in which each\nbranch of the callchain tree is a independant instrumentated object.\n\nThis provides a \u0027fractal\u0027 view of the call-chain profile: each\nsub-graph looks like a profile in itself - relative to its parent.\n\nYou can produce such output by using the \"fractal\" mode\nthat you can abbreviate via f, fr, fra, frac, etc...\n\n./perf report -s sym -c fractal\n\nExample:\n\n     8.46%  [k] copy_user_generic_string\n                |\n                |--52.01%-- generic_file_aio_read\n                |          do_sync_read\n                |          vfs_read\n                |          |\n                |          |--97.20%-- sys_pread64\n                |          |          system_call_fastpath\n                |          |          pread64\n                |          |\n                |           --2.81%-- sys_read\n                |                     system_call_fastpath\n                |                     __read\n                |\n                |--39.85%-- generic_file_buffered_write\n                |          __generic_file_aio_write_nolock\n                |          generic_file_aio_write\n                |          do_sync_write\n                |          reiserfs_file_write\n                |          vfs_write\n                |          |\n                |          |--97.05%-- sys_pwrite64\n                |          |          system_call_fastpath\n                |          |          __pwrite64\n                |          |\n                |           --2.95%-- sys_write\n                |                     system_call_fastpath\n                |                     __write_nocancel\n[...]\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c1246772361-9960-5-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e05b876c222178bc6abcfa9f23d8311731691046",
      "tree": "c28c3d65cdc2bef18c212dd0a74da2f34fdb5ce3",
      "parents": [
        "94a8eb028a57854157a936c7e66b09e2559f115a"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Jul 05 07:39:20 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jul 05 10:30:22 2009 +0200"
      },
      "message": "perf_counter tools: callchains: Manage the cumul hits on the fly\n\nThe cumul hits are the number of hits of every childs of a node\nplus the hits of the current nodes, required for percentage\ncomputing of a branch.\n\nTheses numbers are calculated during the sorting of the branches of\nthe callchain tree using a depth first postfix traversal, so that\ncumulative hits are propagated in the right order.\n\nBut if we plan to implement percentages relative to the parent and not\nabsolute percentages (relative to the whole overhead), we need to know\nthe cumulative hits of the parent before computing the children\nbecause the relative minimum acceptable number of entries (ie: minimum\nrate against the cumulative hits from the parent) is the basis to\nfilter the children against a given rate.\n\nThen we need to handle the cumul hits on the fly to prepare the\nimplementation of relative overhead rates.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c1246772361-9960-4-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "94a8eb028a57854157a936c7e66b09e2559f115a",
      "tree": "8ec5451e05a33597ae2b1939f9ffb886e9ea12ad",
      "parents": [
        "be9038859e56f729cc9d3b070a35fb8829a73696"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Jul 05 07:39:19 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jul 05 10:30:22 2009 +0200"
      },
      "message": "perf report: Change default callchain parameters\n\nThe default callchain parameters are set to use the flat mode and never\nfilter any overhead threshold of backtrace.\n\nBut flat mode is boring compared to graph mode.\nAlso the number of callchains may be very high if none is\nfiltered.\n\nLet\u0027s change this to set the graph view and a minimum overhead of 0.5%\nas default parameters.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c1246772361-9960-3-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "be9038859e56f729cc9d3b070a35fb8829a73696",
      "tree": "e258cec23a938ba1d1a9a38119420171c52f31c0",
      "parents": [
        "91b4eaea93f5be95f4477554399680a53aff2343"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Jul 05 07:39:18 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jul 05 10:30:21 2009 +0200"
      },
      "message": "perf report: Use a modifiable string for default callchain options\n\nIf the user doesn\u0027t provide options to tune his callchain output\n(ie: if he uses -c without arguments) then the default value passed\nin the OPT_CALLBACK_DEFAULT() macro is used.\n\nBut it\u0027s parsed later by strtok() which will replace comma separators\nto a zero. This may segfault as we are using a read-only string.\n\nUse a modifiable one instead, and also fix the \"100%\" default\nminimum threshold value by turning it into a 0 (output every callchains)\nas it was intended in the origin.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c1246772361-9960-2-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "91b4eaea93f5be95f4477554399680a53aff2343",
      "tree": "2a78d12b0798f5ed6e726ccc11f476807bf85088",
      "parents": [
        "a79f0da80a508448434476b77f9d3d1a469eab67"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Jul 05 07:39:17 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jul 05 10:30:21 2009 +0200"
      },
      "message": "perf report: Warn on callchain output request from non-callchain file\n\nperf report segfaults while trying to handle callchains from a non\ncallchain data file.\n\nInstead of a segfault, print a useful message to the user.\n\nReported-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nReported-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c1246772361-9960-1-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a79f0da80a508448434476b77f9d3d1a469eab67",
      "tree": "1bf9c72a09d266d874a2e8f7c94fd81e8ad27feb",
      "parents": [
        "ddf9a003d32f720805ac30bcc15755e9289073de"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Jul 03 16:50:10 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 04 11:45:00 2009 +0200"
      },
      "message": "x86: atomic64: Inline atomic64_read() again\n\nNow atomic64_read() is light weight (no register pressure and\nsmall icache), we can inline it again.\n\nAlso use \"\u003d\u0026A\" constraint instead of \"+A\" to avoid warning\nabout unitialized \u0027res\u0027 variable. (gcc had to force 0 in eax/edx)\n\n  $ size vmlinux.prev vmlinux.after\n     text    data     bss     dec     hex filename\n  4908667  451676 1684868 7045211  6b805b vmlinux.prev\n  4908651  451676 1684868 7045195  6b804b vmlinux.after\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nLKML-Reference: \u003c4A4E1AA2.30002@gmail.com\u003e\n[ Also fix typo in atomic64_set() export ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ddf9a003d32f720805ac30bcc15755e9289073de",
      "tree": "d0281a0f66eee98bcf05a7038d2b0f2008809550",
      "parents": [
        "3a8d1788b37435baf6c296f4ea8beb4fa4955f44"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 20:11:30 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 21:15:08 2009 +0200"
      },
      "message": "x86: atomic64: Clean up atomic64_sub_and_test() and atomic64_add_negative()\n\nLinus noticed that the variable name \u0027old_val\u0027 is\nconfusingly named in these functions - the correct\nnaming is \u0027new_val\u0027.\n\nReported-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nLKML-Reference: \u003calpine.LFD.2.01.0907030942260.3210@localhost.localdomain\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3a8d1788b37435baf6c296f4ea8beb4fa4955f44",
      "tree": "0db4ee093c0d9c8cb66321945fc024e5b1d3a8fd",
      "parents": [
        "1fde902d52ee13ab9fab155bbae757fdf7daf0c1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 19:56:36 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 20:23:55 2009 +0200"
      },
      "message": "x86: atomic64: Improve atomic64_xchg()\n\nRemove the read-first logic from atomic64_xchg() and simplify\nthe loop.\n\nThis function was the last user of __atomic64_read() - remove it.\n\nAlso, change the \u0027real_val\u0027 assumption from the somewhat quirky\n1ULL \u003c\u003c 32 value to the (just as arbitrary, but simpler) value\nof 0.\n\nReported-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nLKML-Reference: \u003ctip-05118ab8859492ac9ddda0154cf90e37b0a4a0b0@git.kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1fde902d52ee13ab9fab155bbae757fdf7daf0c1",
      "tree": "79051f92959ab31aa26d0b13a8cb2b931e77b34a",
      "parents": [
        "67d7178f8fc64b7f68d7dd8a1b21dfa0d42c220c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 17:28:57 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 20:23:52 2009 +0200"
      },
      "message": "x86: atomic64: Export APIs to modules\n\natomic64_t primitives are used by a handful of drivers,\nso export the APIs consistently. These were inlined\nbefore.\n\nAlso mark atomic64_32.o a core object, so that the symbols\nare available even if not linked to core kernel pieces.\n\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nLKML-Reference: \u003ctip-05118ab8859492ac9ddda0154cf90e37b0a4a0b0@git.kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "67d7178f8fc64b7f68d7dd8a1b21dfa0d42c220c",
      "tree": "d14adbf73d928b9c954d8ade1a3df8c61183fd95",
      "parents": [
        "8e049ef054f1cc765f05f13e1396bb9a17c19e66"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Jul 03 13:23:02 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 14:42:59 2009 +0200"
      },
      "message": "x86: atomic64: Improve atomic64_read()\n\nOptimize atomic64_read() as a special open-coded\ncmpxchg8b variant. This generates nicer code:\n\narch/x86/lib/atomic64_32.o:\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n    435\t      0\t      0\t    435\t    1b3\tatomic64_32.o.before\n    431\t      0\t      0\t    431\t    1af\tatomic64_32.o.after\n\nmd5:\n   bd8ab95e69c93518578bfaf0ea3be4d9  atomic64_32.o.before.asm\n   2bdfd4bd1f6b7b61b7fc127aef90ce3b  atomic64_32.o.after.asm\n\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nLKML-Reference: \u003calpine.LFD.2.01.0907021653030.3210@localhost.localdomain\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8e049ef054f1cc765f05f13e1396bb9a17c19e66",
      "tree": "99a8879e1415bf4c6ceaa0eb6a3372fa8842b908",
      "parents": [
        "199e23780a7e75c63a9e3d1108804e3af450ea3e"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Thu Jul 02 08:57:12 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 14:42:39 2009 +0200"
      },
      "message": "x86: atomic64: Code atomic(64)_read and atomic(64)_set in C not CPP\n\nOccasionally we get bugs where atomic_read or atomic_set are\nused on atomic64_t variables or vice versa.  These bugs don\u0027t\ngenerate warnings on x86 because atomic_read and atomic_set are\ncoded as macros rather than C functions, so we don\u0027t get any\ntype-checking on their arguments; similarly for atomic64_read\nand atomic64_set in 64-bit kernels.\n\nThis converts them to C functions so that the arguments are\ntype-checked and bugs like this will get caught more easily. It\nalso converts atomic_cmpxchg and atomic_xchg, and\natomic64_cmpxchg and atomic64_xchg on 64-bit, so we get\ntype-checking on their arguments too.\n\nCompiling a typical 64-bit x86 config, this generates no new\nwarnings, and the vmlinux text is 86 bytes smaller.\n\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nLKML-Reference: \u003calpine.LFD.2.01.0907021653030.3210@localhost.localdomain\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "199e23780a7e75c63a9e3d1108804e3af450ea3e",
      "tree": "d9f117d53df2687f0f207c3ccd77506dfec83e8f",
      "parents": [
        "3217120873598533234b6dedda9c371ce30001d0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 13:02:39 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 13:26:46 2009 +0200"
      },
      "message": "x86: atomic64: Fix unclean type use in atomic64_xchg()\n\nLinus noticed that atomic64_xchg() uses atomic_read(), which\nhappens to work because atomic_read() is a macro so the\n.counter value gets u64-read on 32-bit too - but this is really\nbogus and serious bugs are waiting to happen.\n\nFix atomic64_xchg() to use __atomic64_read() instead.\n\nNo code changed:\n\narch/x86/lib/atomic64_32.o:\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n    435\t      0\t      0\t    435\t    1b3\tatomic64_32.o.before\n    435\t      0\t      0\t    435\t    1b3\tatomic64_32.o.after\n\nmd5:\n   bd8ab95e69c93518578bfaf0ea3be4d9  atomic64_32.o.before.asm\n   bd8ab95e69c93518578bfaf0ea3be4d9  atomic64_32.o.after.asm\n\nReported-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nLKML-Reference: \u003calpine.LFD.2.01.0907021653030.3210@localhost.localdomain\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3217120873598533234b6dedda9c371ce30001d0",
      "tree": "3aed0bb4a98bbe2553d9216fa6c965be86e3d8fb",
      "parents": [
        "3ac805d2afd3fa4a07cb5bcf352fd7fa83f28935"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 13:06:01 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 13:26:45 2009 +0200"
      },
      "message": "x86: atomic64: Make atomic_read() type-safe\n\nLinus noticed that atomic64_xchg() uses atomic_read(), which\nhappens to work because atomic_read() is a macro so the\n.counter value gets u64-read on 32-bit too - but this is really\nbogus and serious bugs are waiting to happen.\n\nChange atomic_read() to be a type-safe inline, and this exposes\nthe atomic64 bogosity as well:\n\n  arch/x86/lib/atomic64_32.c: In function ‘atomic64_xchg’:\n  arch/x86/lib/atomic64_32.c:39: warning: passing argument 1 of ‘atomic_read’ from incompatible pointer type\n\nReported-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nLKML-Reference: \u003calpine.LFD.2.01.0907021653030.3210@localhost.localdomain\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3ac805d2afd3fa4a07cb5bcf352fd7fa83f28935",
      "tree": "29e4928248f19565f883156eb04e736510c88713",
      "parents": [
        "824975ef190e7dcb77718d1cc2cb53769b16d918"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 12:51:19 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 13:26:43 2009 +0200"
      },
      "message": "x86: atomic64: Reduce size of functions\n\ncmpxchg8b is a huge instruction in terms of register footprint,\nwe almost never want to inline it, not even within the same\ncode module.\n\nGCC 4.3 still messes up for two functions, under-judging the\ntrue cost of this instruction - so annotate two key functions\nto reduce the bloat:\n\narch/x86/lib/atomic64_32.o:\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n   1763\t      0\t      0\t   1763\t    6e3\tatomic64_32.o.before\n    435\t      0\t      0\t    435\t    1b3\tatomic64_32.o.after\n\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nLKML-Reference: \u003calpine.LFD.2.01.0907021653030.3210@localhost.localdomain\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "824975ef190e7dcb77718d1cc2cb53769b16d918",
      "tree": "f5f9f180bef531795e992b34ef417e9822cab3e9",
      "parents": [
        "69237f94e65d3d7f539f1adb98ef68685c595004"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 12:39:07 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 13:26:42 2009 +0200"
      },
      "message": "x86: atomic64: Improve atomic64_add_return()\n\nLinus noted (based on Eric Dumazet\u0027s numbers) that we would\nprobably be better off not trying an atomic_read() in\natomic64_add_return() but intead intentionally let the first\ncmpxchg8b fail - to get a cache-friendly \u0027give me ownership\nof this cacheline\u0027 transaction. That can then be followed\nby the real cmpxchg8b which sets the value local to the CPU.\n\nReported-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nLKML-Reference: \u003calpine.LFD.2.01.0907021653030.3210@localhost.localdomain\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "69237f94e65d3d7f539f1adb98ef68685c595004",
      "tree": "be7f8e2b323206bc10f82ca5a70ed5cf646c4fb9",
      "parents": [
        "aacf682fd8c66b57383c407eecd9d4a28264ee91"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Jul 03 13:26:41 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 13:26:41 2009 +0200"
      },
      "message": "x86: atomic64: Improve cmpxchg8b()\n\nRewrite cmpxchg8b() to not use %edi register but a generic \"+m\"\nconstraint, to increase compiler freedom in code generation and\npossibly better code.\n\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nLKML-Reference: \u003calpine.LFD.2.01.0907021653030.3210@localhost.localdomain\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "aacf682fd8c66b57383c407eecd9d4a28264ee91",
      "tree": "98179e43e4d15177acb09958d6ef560a46cc88ae",
      "parents": [
        "b7882b7c65abb00194bdb3d4a22d27d70fcc59ba"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Jul 03 12:14:27 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 13:26:40 2009 +0200"
      },
      "message": "x86: atomic64: Improve atomic64_read()\n\nLinus noticed that the 32-bit version of atomic64_read() was\nbeing overly complex with re-reading the value and doing a\nretry loop over that.\n\nInstead we can just rely on cmpxchg8b returning either the new\nvalue or returning the current value.\n\nWe can use any \u0027old\u0027 value, which will be faster as it can be\nloaded via immediates. Using some value that is not equal to\nthe real value in memory the instruction gets faster.\n\nThis also has the advantage that the CPU could avoid dirtying\nthe cacheline.\n\nReported-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nLKML-Reference: \u003calpine.LFD.2.01.0907021653030.3210@localhost.localdomain\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b7882b7c65abb00194bdb3d4a22d27d70fcc59ba",
      "tree": "f22b1090c014f6d1da33c3791590d636104e8841",
      "parents": [
        "bbf2a330d92c5afccfd17592ba9ccd50f41cf748"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 13:26:39 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 13:26:39 2009 +0200"
      },
      "message": "x86: atomic64: Move the 32-bit atomic64_t implementation to a .c file\n\nLinus noted that the atomic64_t primitives are all inlines\ncurrently which is crazy because these functions have a large\nregister footprint anyway.\n\nMove them to a separate file: arch/x86/lib/atomic64_32.c\n\nAlso, while at it, rename all uses of \u0027unsigned long long\u0027 to\nthe much shorter u64.\n\nThis makes the appearance of the prototypes a lot nicer - and\nit also uncovered a few bugs where (yet unused) API variants\nhad \u0027long\u0027 as their return type instead of u64.\n\n[ More intrusive changes are not yet done in this patch. ]\n\nReported-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nLKML-Reference: \u003calpine.LFD.2.01.0907021653030.3210@localhost.localdomain\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bbf2a330d92c5afccfd17592ba9ccd50f41cf748",
      "tree": "b7c794efa0de27875268f94c96bf69cf5053deb5",
      "parents": [
        "029e5b1636d0511ef143af3a20c83c48e44c03f3"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Jul 03 00:08:26 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 13:26:38 2009 +0200"
      },
      "message": "x86: atomic64: The atomic64_t data type should be 8 bytes aligned on 32-bit too\n\nLocked instructions on two cache lines at once are painful. If\natomic64_t uses two cache lines, my test program is 10x slower.\n\nThe chance for that is significant: 4/32 or 12.5%.\n\nMake sure an atomic64_t is 8 bytes aligned.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nLKML-Reference: \u003calpine.LFD.2.01.0907021653030.3210@localhost.localdomain\u003e\n[ changed it to __aligned(8) as per Andrew\u0027s suggestion ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "029e5b1636d0511ef143af3a20c83c48e44c03f3",
      "tree": "19cf4b47176a3224a03ca88bf70d6ccb02317199",
      "parents": [
        "30d7a77dd5a9720430af72f6f62f5156fe073e55"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 13:17:28 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 13:17:28 2009 +0200"
      },
      "message": "perf report: Annotate variable initialization\n\nCertain versions of GCC dont see the initialization that is done here:\n\n  builtin-report.c: In function ‘__cmd_report’:\n  builtin-report.c:1038: warning: ‘syms’ may be used uninitialized in this function\n\nSo annotate it with a NULL initialization.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "30d7a77dd5a9720430af72f6f62f5156fe073e55",
      "tree": "1b09e7b1a1d560b1604e124832bcabf6693cd4fa",
      "parents": [
        "24b57c6988c5791628c89a8838910991abc9cc1e"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Jul 02 21:24:14 2009 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 08:24:13 2009 +0200"
      },
      "message": "perf_counter tools: Adjust symbols in ET_EXEC files too\n\nIngo Molnar wrote:\n\n\u003e i just bisected a \u0027perf report\u0027 bug that would cause us to not\n\u003e resolve all user-space symbols in a \u0027git gc\u0027 run to:\n\u003e\n\u003e f5812a7a336fb952d819e4427b9a2dce02368e82 is first bad commit\n\u003e commit f5812a7a336fb952d819e4427b9a2dce02368e82\n\u003e Author: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n\u003e Date:   Tue Jun 30 11:43:17 2009 -0300\n\u003e\n\u003e     perf_counter tools: Adjust only prelinked symbol\u0027s addresses\n\nRename -\u003eprelinked to -\u003eadjust_symbols and making what was done\nonly for prelinked libraries also to ET_EXEC binaries, such as\n/usr/bin/git:\n\n[acme@doppio pahole]$ readelf -h /usr/bin/git | grep Type\n  Type:                              EXEC (Executable file)\n[acme@doppio pahole]$\n\nAnd after installing the \u0027git-debuginfo\u0027 package, I get correct results:\n\n[acme@doppio linux-2.6-tip]$ perf report --sort comm,dso,symbol -d /usr/bin/git | head -20\n\n #\n # (1139614 samples)\n #\n # Overhead           Command  Shared Object              Symbol\n # ........  ................  .........................  ......\n #\n    34.98%               git  /usr/bin/git               [.] send_sideband\n    33.39%               git  /usr/bin/git               [.] enter_repo\n     6.81%               git  /usr/bin/git               [.] diff_opt_parse\n     4.95%               git  /usr/bin/git               [.] is_repository_shallow\n     3.24%               git  /usr/bin/git               [.] odb_mkstemp\n     1.39%               git  /usr/bin/git               [.] output\n     1.34%               git  /usr/bin/git               [.] xmmap\n     1.25%               git  /usr/bin/git               [.] receive_pack_config\n     1.16%               git  /usr/bin/git               [.] git_pathdup\n     0.90%               git  /usr/bin/git               [.] read_object_with_reference\n     0.86%               git  /usr/bin/git               [.] show_patch_diff\n     0.85%               git  /usr/bin/git               0x00000000095e2e\n     0.69%               git  /usr/bin/git               [.] display\n[acme@doppio linux-2.6-tip]$\n\nI\u0027ll check what are the last cases where we can\u0027t resolve symbols, like\nthis 0x00000000095e2e later.\n\nAnd I guess this will fix the problems Mike were seeing too:\n\n [acme@doppio linux-2.6-tip]$ readelf -h ../build/perf/vmlinux | grep Type\n   Type:                              EXEC (Executable file)\n [acme@doppio linux-2.6-tip]$\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "24b57c6988c5791628c89a8838910991abc9cc1e",
      "tree": "53e75c5bd9355f2f2fc8a3591158f452a24dfe30",
      "parents": [
        "1e11fd82d247e4e48a1d6c49402214434538d3fd"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jul 02 20:14:35 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 02 21:38:38 2009 +0200"
      },
      "message": "perf_counter tools: Display percents of hits in callchain with overhead colors\n\nThis adds the use of colors to signal at a glance the important\noverhead thresholds in callchains hit rates.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c1246558475-10624-3-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1e11fd82d247e4e48a1d6c49402214434538d3fd",
      "tree": "7ac435b0be559c113987a64126559ea9b41627dc",
      "parents": [
        "c20ab37ef30f4a874cf27e84c12c73e584e6f5cc"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jul 02 20:14:34 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 02 21:38:37 2009 +0200"
      },
      "message": "perf_counter tools: Provide helper to print percents color\n\nAmong perf annotate, perf report and perf top, we can find the\ncommon colored printing of percents according to the following\nrules:\n\n    High overhead \u003d  \u003e 5%, colored in red\n    Mid overhead \u003d  \u003e 0.5%, colored in green\n    Low overhead \u003d  \u003c 0.5%, default color\n\nFactorize these multiple checks in a single function named\npercent_color_fprintf() and also provide a get_percent_color()\nfor sites which print percentages and other things at the same\ntime.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c1246558475-10624-2-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c20ab37ef30f4a874cf27e84c12c73e584e6f5cc",
      "tree": "47f4d893d09727e387ac6742cc20156302e9c3fa",
      "parents": [
        "4eb3e4788b8a5e220a0aeb590f88c28850726ebe"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jul 02 20:14:33 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 02 21:38:37 2009 +0200"
      },
      "message": "perf_counter tools: Set the minimum percent for callchains to be displayed\n\nCallchains output may become a burden on a trace because even\nrarely hit site are exposed. This can be too much information.\n\nLet the user set a threshold as a minimum percent of hits using\nthe new pattern for the -c option:\n\n    -c mode,min_percent\n\nExample:\n\n$ perf report -s sym -c flat,4\n\n     8.25%  [k] copy_user_generic_string\n             4.19%\n                copy_user_generic_string\n                generic_file_aio_read\n                do_sync_read\n                vfs_read\n                sys_pread64\n                system_call_fastpath\n                pread64\n\n     5.39%  [k] search_by_key\n     4.63%  0x00000000009e0a\n     2.36%  [k] memcpy_c\n[...]\n\n$ perf report -s sym -c graph,2\n\n     8.25%  [k] copy_user_generic_string\n                |\n                |--4.31%-- generic_file_aio_read\n                |          do_sync_read\n                |          vfs_read\n                |          |\n                |           --4.19%-- sys_pread64\n                |                     system_call_fastpath\n                |                     pread64\n                |\n                 --3.24%-- generic_file_buffered_write\n                           __generic_file_aio_write_nolock\n                           generic_file_aio_write\n                           do_sync_write\n                           reiserfs_file_write\n                           vfs_write\n                           |\n                            --3.14%-- sys_pwrite64\n                                      system_call_fastpath\n                                      __pwrite64\n\n     5.39%  [k] search_by_key\n                |\n                 --2.23%-- reiserfs_update_sd_size\n\n     4.63%  0x00000000009e0a\n\n     2.36%  [k] memcpy_c\n[...]\n\nYou can also omit it and it will default to 0.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c1246558475-10624-1-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4eb3e4788b8a5e220a0aeb590f88c28850726ebe",
      "tree": "537392177078684b87197d358cf2104e90ec6d66",
      "parents": [
        "5a4b181721375700124513cdd9f97056e1c66675"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jul 02 17:58:21 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 02 20:47:15 2009 +0200"
      },
      "message": "perf report: Add support for callchain graph output\n\nCurrently, the printing of callchains is done in a single\nvertical level, this is the \"flat\" mode:\n\n8.25%  [k] copy_user_generic_string\n             4.19%\n                copy_user_generic_string\n                generic_file_aio_read\n                do_sync_read\n                vfs_read\n                sys_pread64\n                system_call_fastpath\n                pread64\n\nThis patch introduces a new \"graph\" mode which provides a\nhierarchical output of factorized paths recursively sorted:\n\n 8.25%  [k] copy_user_generic_string\n                |\n                |--4.31%-- generic_file_aio_read\n                |          do_sync_read\n                |          vfs_read\n                |          |\n                |          |--4.19%-- sys_pread64\n                |          |          system_call_fastpath\n                |          |          pread64\n                |          |\n                |           --0.12%-- sys_read\n                |                     system_call_fastpath\n                |                     __read\n                |\n                |--3.24%-- generic_file_buffered_write\n                |          __generic_file_aio_write_nolock\n                |          generic_file_aio_write\n                |          do_sync_write\n                |          reiserfs_file_write\n                |          vfs_write\n                |          |\n                |          |--3.14%-- sys_pwrite64\n                |          |          system_call_fastpath\n                |          |          __pwrite64\n                |          |\n                |           --0.10%-- sys_write\n[...]\n\nThe command line has then changed.\n\nBy providing the -c option, the callchain will output in the\nflat mode by default.\n\nBut you can override it:\n\n    perf report -c graph\n\nor\n\n    perf report -c flat\n\nYou can also pass the abreviated mode:\n\n    perf report -c g\n\nor\n\n    perf report -c gra\n\nwill both make use of the graph mode.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c1246550301-8954-3-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5a4b181721375700124513cdd9f97056e1c66675",
      "tree": "3486fa932ba02e749fb2884aea5cc362fa640a45",
      "parents": [
        "14f4654cbd531d48651e005cf05907c14bddb193"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jul 02 17:58:20 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 02 20:47:14 2009 +0200"
      },
      "message": "perf_counter tools: Add new OPT_CALLBACK_DEFAULT option\n\nThere is no predefined macro to create an option that can have\na custom value or a default one if none is given.\n\nThis patch provides a new helper OPT_CALLBACK_DEFAULT() which\ndefines such kind of option.\n\nFor example, considering an option -c, we want to get the\ndefault value in the following cases:\n\n    perf command -c -d\n    perf command -d -c\n\nAnd the foo value when it\u0027s given:\n\n    perf command -c foo -d\n    perf command -d -c foo\n\nThat\u0027s also why PARSE_OPT_LASTARG_DEFAULT is extended here to\nsupport default values whatever the position of the option, not\nonly in the end.\n\nShould it now be renamed to PARSE_OPT_ARG_DEFAULT ?\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: git@vger.kernel.org\nLKML-Reference: \u003c1246550301-8954-2-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "14f4654cbd531d48651e005cf05907c14bddb193",
      "tree": "4b94148c21e90705a188523174ee2c21e81151ca",
      "parents": [
        "429764873cf3fc3e73142872a674bb27cda589c1"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jul 02 17:58:19 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 02 20:47:14 2009 +0200"
      },
      "message": "perf_counter tools: Create new chain_for_each_child() iterator\n\nIterating through children of a node in the callchain tree\nshows something that may be quite confusing at a first glance.\nThe head is the children field of the parent and the list nodes\nare in the brothers field of the children.\n\nThis is because the childs are linked to the parent as a list\nof \"brothers\" using the \"children\" list of the parent as a\nhead:\n\n  ---------------\n | Parent (head) |-------------------------------------\n  ---------------                                      |\n     |                                                 |\n  children                                             |\n     |                                                 |\n  -----------               -----------                |\n | 1st child |---brother---| 2nd child |---brother-----\n  -----------               -----------\n\nThis makes the following strange pattern often occuring:\n\n list_for_each_entry(child, \u0026parent-\u003echildren, brothers) {\n        // do something with children\n }\n\nAbstract it to chain_for_each_child() to factorize and simplify\nthis pattern.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c1246550301-8954-1-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "429764873cf3fc3e73142872a674bb27cda589c1",
      "tree": "a7c11887ad7aa055f56276a14acbe004d0ead434",
      "parents": [
        "6cfcc53ed4f3ecb9319e73a03f34f1eddcb644dd"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Thu Jul 02 08:09:46 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 02 08:42:21 2009 +0200"
      },
      "message": "perf_counter tools: Enable kernel module symbol loading in tools\n\nAdd the -m/--modules option to perf report and perf annotate,\nwhich enables live module symbol/image loading. To be used\nwith -k/--vmlinux.\n\n(Also give perf annotate a -P/--full-paths option.)\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\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\nLKML-Reference: \u003c1246514986.13293.48.camel@marge.simson.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6cfcc53ed4f3ecb9319e73a03f34f1eddcb644dd",
      "tree": "8840ca050d86223443f2539085c4ef12234be069",
      "parents": [
        "208b4b4a59351011b7f212e273f2b7bc47a9c482"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Thu Jul 02 08:08:36 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 02 08:42:21 2009 +0200"
      },
      "message": "perf_counter tools: Connect module support infrastructure to symbol loading infrastructure\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\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\nLKML-Reference: \u003c1246514916.13293.46.camel@marge.simson.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "208b4b4a59351011b7f212e273f2b7bc47a9c482",
      "tree": "23c169191181c30916e63aff276e8c89a327bd0a",
      "parents": [
        "9974f496782b7612e36a143bedda858f1cb953d4"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Thu Jul 02 08:07:10 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 02 08:42:20 2009 +0200"
      },
      "message": "perf_counter tools: Add infrastructure to support loading of kernel module symbols\n\nAdd infrastructure for module path discovery and section load addresses.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\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\nLKML-Reference: \u003c1246514830.13293.44.camel@marge.simson.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9974f496782b7612e36a143bedda858f1cb953d4",
      "tree": "3552e4515a40691a9ae5e769117ee3676a6cab70",
      "parents": [
        "a92bef0f216bbf3d05c0c0709ea02e267f2b920e"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Thu Jul 02 08:05:58 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 02 08:42:20 2009 +0200"
      },
      "message": "perf_counter tools: Make symbol loading consistently return number of loaded symbols\n\nperf_counter tools: Make symbol loading consistently return number of loaded symbols.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\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\nLKML-Reference: \u003c1246514758.13293.42.camel@marge.simson.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a92bef0f216bbf3d05c0c0709ea02e267f2b920e",
      "tree": "e10737dada321c315588c1726f75ff2d87fecc39",
      "parents": [
        "0406ca6d8e849d9dd027c8cb6791448e81411aef"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jul 01 21:02:10 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 01 22:37:24 2009 +0200"
      },
      "message": "perf stat: Handle pipe read failures in perf stat\n\nBuilding builtin-stat.c reports the following errors:\n\ncc1: warnings being treated as errors\nbuiltin-stat.c: In function ‘run_perf_stat’:\nbuiltin-stat.c:242: erreur: ignoring return value of ‘read’, declared with attribute warn_unused_result\nbuiltin-stat.c:255: erreur: ignoring return value of ‘read’, declared with attribute warn_unused_result\nmake: *** [builtin-stat.o] Erreur 1\n\nThis patch handles the possible pipe read failures.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c1246474930-6088-2-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0406ca6d8e849d9dd027c8cb6791448e81411aef",
      "tree": "3de38f9c75f41ec28b5b15b211f4e6df7ea7f437",
      "parents": [
        "5da50258584469ddfee6545feb4eb2252a8d7e7b"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jul 01 21:02:09 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 01 22:37:23 2009 +0200"
      },
      "message": "perf_counter: Ignore the nmi call frames in the x86-64 backtraces\n\nAbout every callchains recorded with perf record are filled up\nincluding the internal perfcounter nmi frame:\n\n perf_callchain\n perf_counter_overflow\n intel_pmu_handle_irq\n perf_counter_nmi_handler\n notifier_call_chain\n atomic_notifier_call_chain\n notify_die\n do_nmi\n nmi\n\nWe want ignore this frame as it\u0027s not interesting for\ninstrumentation. To solve this, we simply ignore every frames\nfrom nmi context.\n\nNew example of \"perf report -s sym -c\" after this patch:\n\n9.59%  [k] search_by_key\n             4.88%\n                search_by_key\n                reiserfs_read_locked_inode\n                reiserfs_iget\n                reiserfs_lookup\n                do_lookup\n                __link_path_walk\n                path_walk\n                do_path_lookup\n                user_path_at\n                vfs_fstatat\n                vfs_lstat\n                sys_newlstat\n                system_call_fastpath\n                __lxstat\n                0x406fb1\n\n             3.19%\n                search_by_key\n                search_by_entry_key\n                reiserfs_find_entry\n                reiserfs_lookup\n                do_lookup\n                __link_path_walk\n                path_walk\n                do_path_lookup\n                user_path_at\n                vfs_fstatat\n                vfs_lstat\n                sys_newlstat\n                system_call_fastpath\n                __lxstat\n                0x406fb1\n[...]\n\nFor now this patch only solves the problem in x86-64.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c1246474930-6088-1-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5da50258584469ddfee6545feb4eb2252a8d7e7b",
      "tree": "4171b03ff5fb0c51c4ff29d77e07725e4a0566f7",
      "parents": [
        "43cbcd8acb4c992cbd22d1ec8a08c0591be5d719"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Jul 01 14:46:08 2009 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 01 22:37:23 2009 +0200"
      },
      "message": "perf_counter tools: Share list.h with the kernel\n\nThe copy we were using came from another copy I did for the dwarves\n(pahole) package, that came from the kernel years ago.\n\nThe only function that is used by the perf tools and that isn\u0027t in the\nkernel is list_del_range, that I\u0027m leaving in the perf tools only for\nnow.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20090701174608.GA5823@ghostprotocols.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "43cbcd8acb4c992cbd22d1ec8a08c0591be5d719",
      "tree": "38bd75deba4635ee6fe38bb0dcff1a76db872189",
      "parents": [
        "73c24cb86c51ff6445b292d9914d31236204393b"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Jul 01 12:28:37 2009 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 01 22:37:22 2009 +0200"
      },
      "message": "perf_counter tools: Share rbtree.with the kernel\n\nThe tools/perf/util/rbtree.c copy already drifted by three\ncsets:\n\n 4b324126e0c6c3a5080ca3ec0981e8766ed6f1ee\n 4c60117811171d867d4f27f17ea07d7419d45dae\n 16c047add3ceaf0ab882e3e094d1ec904d02312d\n\nSo remove the copy and use the lib/rbtree.c directly, sharing\nthe source code while still generating a separate object file,\nsince tools/perf uses a far more agressive -O6 switch.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c20090701152837.GG15682@ghostprotocols.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "73c24cb86c51ff6445b292d9914d31236204393b",
      "tree": "6b5afd1b9af88565fdb6e70b4771f8e9db8c75d8",
      "parents": [
        "b9ebdcc0ce1c676ebf5dc4f6df6b440d8fcf88ab"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinder@kernel.org",
        "time": "Wed Jul 01 18:36:18 2009 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 01 15:25:03 2009 +0200"
      },
      "message": "perf list: Add cache events\n\nAfter:\n\n$ ./perf list\n\nList of pre-defined events (to be used in -e):\n\n  cpu-cycles OR cycles                     [Hardware event]\n  instructions                             [Hardware event]\n  cache-references                         [Hardware event]\n  cache-misses                             [Hardware event]\n  branch-instructions OR branches          [Hardware event]\n  branch-misses                            [Hardware event]\n  bus-cycles                               [Hardware event]\n\n  cpu-clock                                [Software event]\n  task-clock                               [Software event]\n  page-faults OR faults                    [Software event]\n  minor-faults                             [Software event]\n  major-faults                             [Software event]\n  context-switches OR cs                   [Software event]\n  cpu-migrations OR migrations             [Software event]\n\n  L1-d$-loads                              [Hardware cache event]\n  L1-d$-load-misses                        [Hardware cache event]\n  L1-d$-stores                             [Hardware cache event]\n  L1-d$-store-misses                       [Hardware cache event]\n  L1-d$-prefetches                         [Hardware cache event]\n  L1-d$-prefetch-misses                    [Hardware cache event]\n  L1-i$-loads                              [Hardware cache event]\n  L1-i$-load-misses                        [Hardware cache event]\n  L1-i$-prefetches                         [Hardware cache event]\n  L1-i$-prefetch-misses                    [Hardware cache event]\n  LLC-loads                                [Hardware cache event]\n  LLC-load-misses                          [Hardware cache event]\n  LLC-stores                               [Hardware cache event]\n  LLC-store-misses                         [Hardware cache event]\n  LLC-prefetches                           [Hardware cache event]\n  LLC-prefetch-misses                      [Hardware cache event]\n  dTLB-loads                               [Hardware cache event]\n  dTLB-load-misses                         [Hardware cache event]\n  dTLB-stores                              [Hardware cache event]\n  dTLB-store-misses                        [Hardware cache event]\n  dTLB-prefetches                          [Hardware cache event]\n  dTLB-prefetch-misses                     [Hardware cache event]\n  iTLB-loads                               [Hardware cache event]\n  iTLB-load-misses                         [Hardware cache event]\n  branch-loads                             [Hardware cache event]\n  branch-load-misses                       [Hardware cache event]\n\n  rNNN                                     [raw hardware event descriptor]\n\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c1246453578.3072.1.camel@ht.satnam\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b9ebdcc0ce1c676ebf5dc4f6df6b440d8fcf88ab",
      "tree": "2109021ca380f0e979b4427908acce95e994fccc",
      "parents": [
        "f37a291c527c954df4da568de718ebb36b8261c0"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinder@kernel.org",
        "time": "Wed Jul 01 15:05:09 2009 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 01 13:28:38 2009 +0200"
      },
      "message": "perf stat: Define MATCH_EVENT for easy attr checking\n\nMATCH_EVENT is useful:\n\n 1. for multiple attrs checking\n 2. avoid repetition of PERF_TYPE_ and PERF_COUNT_ and save space\n 3. avoids line breakage\n\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c1246440909.3403.5.camel@hpdv5.satnam\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f37a291c527c954df4da568de718ebb36b8261c0",
      "tree": "bb4863fbd185fbfef5f7d28cb4001d59d4123a2d",
      "parents": [
        "88a69dfbc6ab1e3b51bba8c9103055e21089ebb9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 01 12:37:06 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 01 12:49:48 2009 +0200"
      },
      "message": "perf_counter tools: Add more warnings and fix/annotate them\n\nEnable -Wextra. This found a few real bugs plus a number\nof signed/unsigned type mismatches/uncleanlinesses. It\nalso required a few annotations\n\nAll things considered it was still worth it so lets try with\nthis enabled for now.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "88a69dfbc6ab1e3b51bba8c9103055e21089ebb9",
      "tree": "de22b09f587fa1a1fa82e87127501add953b621d",
      "parents": [
        "61c45981ddbd718136d49464f00d2f11938aaa6e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 01 11:17:20 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 01 11:17:40 2009 +0200"
      },
      "message": "perf report: Fix HV bit mismerge\n\nFix:\n\n builtin-report.c: In function ‘hist_entry__add’:\n builtin-report.c:1015: error: case label not within a switch statement\n builtin-report.c:1017: error: break statement not within loop or switch\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "61c45981ddbd718136d49464f00d2f11938aaa6e",
      "tree": "e8a89bd386ce1bbe5160d554c778894d76015f20",
      "parents": [
        "0a456fc58fb8ef3c53d18297ab5cd5d2a70d146b"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed Jul 01 13:04:34 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 01 10:23:17 2009 +0200"
      },
      "message": "perf_counter tools: Rework event string parsing/syntax\n\nThis reworks the parser for event descriptors to make it more\nconsistent in what it accepts.  It is now structured as a\nrecursive descent parser for the following grammar:\n\nevents\t\t::\u003d event ( (\",\" | space) space* event )*\nevent\t\t::\u003d ( raw_event | numeric_event | symbolic_event |\n\t\t      generic_hw_event ) [ event_modifier ]\nraw_event\t::\u003d \"r\" hex_number\nnumeric_event\t::\u003d number \":\" number\nnumber\t\t::\u003d decimal_number | \"0x\" hex_number | \"0\" octal_number\nsymbolic_event\t::\u003d string_from_event_symbols_array\ngeneric_hw_event::\u003d cache_type ( \"-\" ( cache_op | cache_result ) )*\nevent_modifier\t::\u003d \":\" ( \"u\" | \"k\" | \"h\" )+\n\nwith the extra restriction that you can have at most one\ncache_op and at most one cache_result.\n\nWe pass the current string pointer by reference (i.e. as a\nconst char **) to the various parsing functions so that they\ncan advance the pointer to indicate how much they consumed.\nThey return 0 if they didn\u0027t recognize the thing at the pointer\nor 1 if they did (and advance the pointer past it).\n\nThis also fixes parse_aliases to take the longest matching\nalias from the table, not the first one.  Otherwise \"l1-data\"\nwould match the \"l1-d\" alias and the \"ata\" would not be\nconsumed.\n\nThis allows event modifiers indicating what processor modes to\ncount in to be applied to any event, not just numeric events,\nand adds a \":h\" modifier to indicate counting in hypervisor\nmode.  Specifying \":u\" now sets both exclude_kernel and\nexclude_hv, and so on.  Multiple modes can be specified, e.g.\n\":uk\" will count in user or hypervisor mode (i.e. only\nexclude_kernel will be set).\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c19018.53826.843815.189847@cargo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0a456fc58fb8ef3c53d18297ab5cd5d2a70d146b",
      "tree": "b7e6a3148681315c5152c7d07ec066b2db301d77",
      "parents": [
        "deac911cbdcb124fa0cee47c588e0cb0400b23b7"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Wed Jul 01 13:07:01 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 01 10:20:28 2009 +0200"
      },
      "message": "powerpc/perf_counter: Enable alternate PR/HV bits for POWER7\n\nPOWER7 has the same PR/HV bit layout as POWER6, so set the flag.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: a.p.zijlstra@chello.nl\nCc: benh@kernel.crashing.org\nLKML-Reference: \u003c20090701030701.GI3563@kryten\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "deac911cbdcb124fa0cee47c588e0cb0400b23b7",
      "tree": "c76ae281553a57ec002945d48b9d474858836d0f",
      "parents": [
        "4424961ad6621a02c6b4c9093e801002c1bb9f65"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jul 01 05:35:15 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 01 09:58:52 2009 +0200"
      },
      "message": "perf_counter tools: Various fixes for callchains\n\nThe symbol resolving has of course revealed some bugs in the\ncallchain tree handling. This patch fixes some of them,\nincluding:\n\n- inherit the children from the parents while splitting a node\n- fix list range moving\n- fix indexes setting in callchains\n- create a child on the current node if the path doesn\u0027t match in\n  the existent children (was only done on the root)\n- compare using symbols when possible so that we can match a function\n  using any ip inside by referring to its start address.\n\nThe practical effects are:\n\n- remove double callchains\n- fix upside down or any random order of callchains\n- fix wrong paths\n- fix bad hits and percentage accounts\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c1246419315-9968-4-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4424961ad6621a02c6b4c9093e801002c1bb9f65",
      "tree": "9851ec33de4b89fee395941af8fbbaab60ab2028",
      "parents": [
        "9198aa77b69647d1d91207f8075763abe7dc0bf4"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jul 01 05:35:14 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 01 09:58:26 2009 +0200"
      },
      "message": "perf_counter tools: Resolve symbols in callchains\n\nThis patch resolves the names, when possible, of each ip\npresent in the callchains while using the -c option with perf\nreport.\n\nExample:\n\n5.40%  [k] __d_lookup\n             5.37%\n                perf_callchain\n                perf_counter_overflow\n                intel_pmu_handle_irq\n                perf_counter_nmi_handler\n                notifier_call_chain\n                atomic_notifier_call_chain\n                notify_die\n                do_nmi\n                nmi\n                do_lookup\n                __link_path_walk\n                path_walk\n                do_path_lookup\n                user_path_at\n                sys_faccessat\n                sys_access\n                system_call_fastpath\n                0x7fb609846f77\n\n             0.01%\n                perf_callchain\n                perf_counter_overflow\n                intel_pmu_handle_irq\n                perf_counter_nmi_handler\n                notifier_call_chain\n                atomic_notifier_call_chain\n                notify_die\n                do_nmi\n                nmi\n                do_lookup\n                __link_path_walk\n                path_walk\n                do_path_lookup\n                user_path_at\n                sys_faccessat\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c1246419315-9968-3-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9198aa77b69647d1d91207f8075763abe7dc0bf4",
      "tree": "b9a55ebc36c919c41e3d3ac07264f53b471157e1",
      "parents": [
        "087021ba41e9481202103d51d3dd0c4706899a2b"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jul 01 05:35:13 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 01 09:58:23 2009 +0200"
      },
      "message": "perf_counter tools: Fix storage size allocation of callchain list\n\nFix a confusion while giving the size of a callchain list\nduring its allocation. We are using the wrong structure size.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c1246419315-9968-2-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "087021ba41e9481202103d51d3dd0c4706899a2b",
      "tree": "bf5d67420fd176682a1f8f1e9342ad397c23937a",
      "parents": [
        "fb9c818873a788c5c01c9868cc6050df96e2c7df",
        "e83c2b0ff325f52dda1aff3572d0e1516216c54b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 01 09:56:10 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 01 09:56:26 2009 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into perfcounters/urgent\n\nMerge reason: this branch was on a .30-ish base before, update\n              it to an almost-.31-rc2 upstream base to pick up fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e83c2b0ff325f52dda1aff3572d0e1516216c54b",
      "tree": "0d9dd56df33a308d03c8ac2d666826017777f0cf",
      "parents": [
        "9fcfc91bda04259abb9af2fd83bbf48d19da8502",
        "12de38b186c2af97bf0b4a1f907f766df46b1def"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 30 19:04:53 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 30 19:04:53 2009 -0700"
      },
      "message": "Merge branch \u0027kmemleak\u0027 of git://linux-arm.org/linux-2.6\n\n* \u0027kmemleak\u0027 of git://linux-arm.org/linux-2.6:\n  kmemleak: Inform kmemleak about pid_hash\n  kmemleak: Do not warn if an unknown object is freed\n  kmemleak: Do not report new leaked objects if the scanning was stopped\n  kmemleak: Slightly change the policy on newly allocated objects\n  kmemleak: Do not trigger a scan when reading the debug/kmemleak file\n  kmemleak: Simplify the reports logged by the scanning thread\n  kmemleak: Enable task stacks scanning by default\n  kmemleak: Allow the early log buffer to be configurable.\n"
    },
    {
      "commit": "9fcfc91bda04259abb9af2fd83bbf48d19da8502",
      "tree": "a8613d90a324d61d724f516d03819e1d00a0aa54",
      "parents": [
        "55bcab46955644d5a8149a9b3cc9752a336e02f8",
        "ea9df47cc92573b159ef3b4fda516c32cba9c4fd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 30 19:04:14 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 30 19:04:14 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm:\n  dm table: fix blk_stack_limits arg to use bytes not sectors\n  dm exception store: really fix type lookup\n"
    },
    {
      "commit": "55bcab46955644d5a8149a9b3cc9752a336e02f8",
      "tree": "a45593603de9265cb0624043ab36f4e0f98823fc",
      "parents": [
        "58580c86450bc09ff101f0d23fd8a162c146bc64",
        "7bec7a9134c25cecb0d7029199b59f7b1bef35b8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 30 19:02:59 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 30 19:02:59 2009 -0700"
      },
      "message": "Merge branch \u0027perfcounters-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perfcounters-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (47 commits)\n  perf report: Add --symbols parameter\n  perf report: Add --comms parameter\n  perf report: Add --dsos parameter\n  perf_counter tools: Adjust only prelinked symbol\u0027s addresses\n  perf_counter: Provide a way to enable counters on exec\n  perf_counter tools: Reduce perf stat measurement overhead/skew\n  perf stat: Use percentages for scaling output\n  perf_counter, x86: Update x86_pmu after WARN()\n  perf stat: Micro-optimize the code: memcpy is only required if no event is selected and !null_run\n  perf stat: Improve output\n  perf stat: Fix multi-run stats\n  perf stat: Add -n/--null option to run without counters\n  perf_counter tools: Remove dead code\n  perf_counter: Complete counter swap\n  perf report: Print sorted callchains per histogram entries\n  perf_counter tools: Prepare a small callchain framework\n  perf record: Fix unhandled io return value\n  perf_counter tools: Add alias for \u0027l1d\u0027 and \u0027l1i\u0027\n  perf-report: Add bare minimum PERF_EVENT_READ parsing\n  perf-report: Add modes for inherited stats and no-samples\n  ...\n"
    },
    {
      "commit": "58580c86450bc09ff101f0d23fd8a162c146bc64",
      "tree": "31f2c19c768c35d1f8268dea509e2fc688d0a50e",
      "parents": [
        "6086071005674eb982d898c75269c931240154cf",
        "fadfd2b6ba8838a6cc458dbae214993a177a3ee9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 30 19:01:52 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 30 19:01:52 2009 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:\n  Add Fenghua Yu as temporary co-maintainer for ia64\n  [IA64] address compiler warnings perfmon.c/salinfo.c\n  [IA64] Remove unnecessary semicolons\n  [IA64] sprintf should not be used with same source \u0026 destination address\n"
    },
    {
      "commit": "6086071005674eb982d898c75269c931240154cf",
      "tree": "bfa34e7510b94c2408e996ddbd7595011f3c2773",
      "parents": [
        "aee3ff1b413cff44e7d91dd1901cacd8988ce9cf"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Jun 30 22:33:15 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 30 18:58:37 2009 -0700"
      },
      "message": "MN10300: Wire up new syscalls\n\nWire up new syscalls rt_tgsigqueueinfo and perf_counter_open.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aee3ff1b413cff44e7d91dd1901cacd8988ce9cf",
      "tree": "cff48a88ffd9fa965386cda3eeed02ec2f8d56b8",
      "parents": [
        "752fa51e4c5182c3c257f1cede90577a7e213c58"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Jun 30 22:24:54 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 30 18:58:37 2009 -0700"
      },
      "message": "FRV: Wire up new syscalls\n\nWire up new syscalls rt_tgsigqueueinfo and perf_counter_open.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "752fa51e4c5182c3c257f1cede90577a7e213c58",
      "tree": "177af78d53c984389125f80ae83b6667070b8534",
      "parents": [
        "8516a500029890a72622d245f8ed32c4e30969b7"
      ],
      "author": {
        "name": "Wolfgang Illmeyer",
        "email": "wolfgang@illmeyer.com",
        "time": "Tue Jun 30 11:41:44 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 30 18:56:03 2009 -0700"
      },
      "message": "hostfs: set maximum filesize in superblock for proper LFS support\n\nMaximum file size for hostfs mounts defaults to 2GB, so bigger files cannot be\nread/written through hostfs. This patch initializes the maximum file size to\nMAX_LFS_SIZE.\n\nAddresses http://bugzilla.kernel.org/show_bug.cgi?id\u003d13531\n\nSigned-off-by: Wolfgang Illmeyer \u003cwolfgang@illmeyer.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8516a500029890a72622d245f8ed32c4e30969b7",
      "tree": "8621a8d000d1397006a854c7d9de0d5d46842448",
      "parents": [
        "9980060bad5607ca6db7fb8683de671b522e56a4"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Tue Jun 30 11:41:44 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 30 18:56:01 2009 -0700"
      },
      "message": "floppy: fix lock imbalance\n\nA crappy macro prevents us unlocking on a fail path.\n\nExpand the macro and unlock appropriatelly.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9980060bad5607ca6db7fb8683de671b522e56a4",
      "tree": "d9b80a9768d96f721625b32a2c9559d57dff48da",
      "parents": [
        "ee905d0c58a440a5bd10c845e8305f6f7f706be2"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Tue Jun 30 11:41:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 30 18:56:01 2009 -0700"
      },
      "message": "bfin: delay IRQ registration until driver is ready\n\nMake sure we do not actually request the RTC IRQ until the device driver\nis fully ready to handle and process any interrupt.  This way a spurious\ninterrupt won\u0027t crash the system (which may happen if the bootloader was\npoking the RTC right before booting Linux).\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ee905d0c58a440a5bd10c845e8305f6f7f706be2",
      "tree": "0d67b5e021dd947ef047d722ff7872db2e38afa3",
      "parents": [
        "eafad22a05fdaca60f06433ffe8810aaa920d539"
      ],
      "author": {
        "name": "Ville Syrjala",
        "email": "syrjala@sci.fi",
        "time": "Tue Jun 30 11:41:42 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 30 18:56:01 2009 -0700"
      },
      "message": "atyfb: fix alignment for block writes\n\nBlock writes require 64 byte alignment.  Since block writes could be used\nwith SGRAM or WRAM also refine the memory type detection to check for\neither type before deciding to use the 64 byte alignment.\n\nSigned-off-by: Ville Syrjala \u003csyrjala@sci.fi\u003e\nTested-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nCc: Krzysztof Helt \u003ckrzysztof.h1@poczta.fm\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eafad22a05fdaca60f06433ffe8810aaa920d539",
      "tree": "df799e81ce5b2e9d63dbece7d9c2f4beff83e618",
      "parents": [
        "50efacf6711e6c75595afd9b92aa15c1e4f7c79d"
      ],
      "author": {
        "name": "Ville Syrjala",
        "email": "syrjala@sci.fi",
        "time": "Tue Jun 30 11:41:40 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 30 18:56:01 2009 -0700"
      },
      "message": "atyfb: fix HP OmniBook 500 reboot hang\n\nApparently HP OmniBook 500\u0027s BIOS doesn\u0027t like the way atyfb reprograms\nthe hardware. The BIOS will simply hang after a reboot. Fix the problem\nby restoring the hardware to it\u0027s original state on reboot.\n\nSigned-off-by: Ville Syrjala \u003csyrjala@sci.fi\u003e\nCc: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nCc: Krzysztof Helt \u003ckrzysztof.h1@poczta.fm\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "50efacf6711e6c75595afd9b92aa15c1e4f7c79d",
      "tree": "6b23a034d4a798572f8ef62d18a2531df7a6239d",
      "parents": [
        "79d7f4ee23d41571d9e4663521b5e6604c55729a"
      ],
      "author": {
        "name": "Baruch Siach",
        "email": "baruch@tkos.co.il",
        "time": "Tue Jun 30 11:41:39 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 30 18:56:01 2009 -0700"
      },
      "message": "gpio: pl061: fix IRQ handling for GPIOs \u003e\u003d PL061_GPIO_NR\n\nIRQ handling is wrong for any GPIO \u003e\u003d PL061_GPIO_NR.\n\nFix this by implementing and using a proper .to_irq method.\n\nSigned-off-by: Baruch Siach \u003cbaruch@tkos.co.il\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "79d7f4ee23d41571d9e4663521b5e6604c55729a",
      "tree": "be5c6b2c817c1d14a7b3da42c8c09671aa132752",
      "parents": [
        "66918dcdf91ad101194c749c18099e836ba3de2b"
      ],
      "author": {
        "name": "Baruch Siach",
        "email": "baruch@tkos.co.il",
        "time": "Tue Jun 30 11:41:38 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 30 18:56:01 2009 -0700"
      },
      "message": "gpio: pl061: fix probe error handling code\n\nNote that IRQ has not been initialized when kmalloc() fails.\n\nAlso, use DECLARE_BITMAP() to make the code clearer.\n\nSigned-off-by: Baruch Siach \u003cbaruch@tkos.co.il\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "66918dcdf91ad101194c749c18099e836ba3de2b",
      "tree": "c7c2b3e4665a20fc670ea09a8b2da7a9d289984d",
      "parents": [
        "b37f2d4de6dfce4bfd6df311af80e4d61458ee1e"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Tue Jun 30 11:41:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 30 18:56:01 2009 -0700"
      },
      "message": "x86: only clear node_states for 64bit\n\nNathan reported that\n\n| commit 73d60b7f747176dbdff826c4127d22e1fd3f9f74\n| Author: Yinghai Lu \u003cyinghai@kernel.org\u003e\n| Date:   Tue Jun 16 15:33:00 2009 -0700\n|\n|    page-allocator: clear N_HIGH_MEMORY map before we set it again\n|\n|    SRAT tables may contains nodes of very small size.  The arch code may\n|    decide to not activate such a node.  However, currently the early boot\n|    code sets N_HIGH_MEMORY for such nodes.  These nodes therefore seem to be\n|    active although these nodes have no present pages.\n|\n|    For 64bit N_HIGH_MEMORY \u003d\u003d N_NORMAL_MEMORY, so that works for 64 bit too\n\nunintentionally and incorrectly clears the cpuset.mems cgroup attribute on\nan i386 kvm guest, meaning that cpuset.mems can not be used.\n\nFix this by only clearing node_states[N_NORMAL_MEMORY] for 64bit only.\nand need to do save/restore for that in find_zone_movable_pfn\n\nReported-by: Nathan Lynch \u003cntl@pobox.com\u003e\nTested-by: Nathan Lynch \u003cntl@pobox.com\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e,\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b37f2d4de6dfce4bfd6df311af80e4d61458ee1e",
      "tree": "1d823c4f80e32dd7020212c60b08f9fa60ff3f9a",
      "parents": [
        "d7831a0bdf06b9f722b947bb0c205ff7d77cebd8"
      ],
      "author": {
        "name": "Nikanth Karthikesan",
        "email": "knikanth@suse.de",
        "time": "Tue Jun 30 11:41:36 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 30 18:56:01 2009 -0700"
      },
      "message": "cpusets: document adding/removing cpus to cpuset elaborately\n\nBy writing a tasks\u0027s pid to the file, a process adds that task to that\ncgroup/cpuset.  But to add a cpu/mem to a cpuset, the new list of cpus\nshould be written to the cpuset.mems file which would replace the old list\nof cpus.  Make this clearer in the documentation.\n\nSigned-off-by: Nikanth Karthikesan \u003cknikanth@suse.de\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d7831a0bdf06b9f722b947bb0c205ff7d77cebd8",
      "tree": "99afa4a0e30b18724eece3a819867b290728dafe",
      "parents": [
        "df279ca8966c3de83105428e3391ab17690802a9"
      ],
      "author": {
        "name": "Richard Kennedy",
        "email": "richard@rsk.demon.co.uk",
        "time": "Tue Jun 30 11:41:35 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 30 18:56:01 2009 -0700"
      },
      "message": "mm: prevent balance_dirty_pages() from doing too much work\n\nbalance_dirty_pages can overreact and move all of the dirty pages to\nwriteback unnecessarily.\n\nbalance_dirty_pages makes its decision to throttle based on the number of\ndirty plus writeback pages that are over the calculated limit,so it will\ncontinue to move pages even when there are plenty of pages in writeback\nand less than the threshold still dirty.\n\nThis allows it to overshoot its limits and move all the dirty pages to\nwriteback while waiting for the drives to catch up and empty the writeback\nlist.\n\nA simple fio test easily demonstrates this problem.\n\nfio --name\u003df1 --directory\u003d/disk1 --size\u003d2G -rw\u003dwrite --name\u003df2 --directory\u003d/disk2 --size\u003d1G --rw\u003dwrite --startdelay\u003d10\n\nThis is the simplest fix I could find, but I\u0027m not entirely sure that it\nalone will be enough for all cases.  But it certainly is an improvement on\nmy desktop machine writing to 2 disks.\n\nDo we need something more for machines with large arrays where\nbdi_threshold * number_of_drives is greater than the dirty_ratio ?\n\nSigned-off-by: Richard Kennedy \u003crichard@rsk.demon.co.uk\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "df279ca8966c3de83105428e3391ab17690802a9",
      "tree": "9c10bbad25bbb8f3b40bd25ec3aadf8f0c0a4324",
      "parents": [
        "b4f90189dc2c7a7e6926ea480ae3404ec3de4581"
      ],
      "author": {
        "name": "Renaud Lottiaux",
        "email": "renaud.lottiaux@kerlabs.com",
        "time": "Tue Jun 30 11:41:34 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 30 18:56:00 2009 -0700"
      },
      "message": "bsdacct: fix access to invalid filp in acct_on()\n\nThe file opened in acct_on and freshly stored in the ns-\u003ebacct struct can\nbe closed in acct_file_reopen by a concurrent call after we release\nacct_lock and before we call mntput(file-\u003ef_path.mnt).\n\nRecord file-\u003ef_path.mnt in a local variable and use this variable only.\n\nSigned-off-by: Renaud Lottiaux \u003crenaud.lottiaux@kerlabs.com\u003e\nSigned-off-by: Louis Rilling \u003clouis.rilling@kerlabs.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b4f90189dc2c7a7e6926ea480ae3404ec3de4581",
      "tree": "eccdbac8b1e7a2044a1437cc2effa0735cf88b5a",
      "parents": [
        "8bc1ad7dd301b7ca7454013519fa92e8c53655ff"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue Jun 30 11:41:32 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 30 18:56:00 2009 -0700"
      },
      "message": "MAINTAINERS: STARFIRE/DURALAN update\n\nIon\u0027s cs.columbia.edu email address no longer works.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nAcked-by: Ion Badulescu \u003cionut@badula.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8bc1ad7dd301b7ca7454013519fa92e8c53655ff",
      "tree": "602ec95fa99b0256370f3d887953cb30e159cc25",
      "parents": [
        "529ba0d9669386157457a1cb96294d2fe79b3f88"
      ],
      "author": {
        "name": "Zhang Rui",
        "email": "rui.zhang@intel.com",
        "time": "Tue Jun 30 11:41:31 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 30 18:56:00 2009 -0700"
      },
      "message": "kernel/resource.c: fix sign extension in reserve_setup()\n\nWhen the 32-bit signed quantities get assigned to the u64 resource_size_t,\nthey are incorrectly sign-extended.\n\nAddresses http://bugzilla.kernel.org/show_bug.cgi?id\u003d13253\nAddresses http://bugzilla.kernel.org/show_bug.cgi?id\u003d9905\n\nSigned-off-by: Zhang Rui \u003crui.zhang@intel.com\u003e\nReported-by: Leann Ogasawara \u003cleann@ubuntu.com\u003e\nCc: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\nReported-by: \u003cpablomme@googlemail.com\u003e\nTested-by: \u003cpablomme@googlemail.com\u003e\nCc: \u003cstable@kernel.org\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "529ba0d9669386157457a1cb96294d2fe79b3f88",
      "tree": "258de690144abc8b4a86424d2e888ca6f8d67917",
      "parents": [
        "537a1bf059fa312355696fa6db80726e655e7f17"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Tue Jun 30 11:41:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 30 18:56:00 2009 -0700"
      },
      "message": "spi: bitbang bugfix in message setup\n\nBugfix to spi_bitbang infrastructure: make sure to always set transfer\nparameters on the first pass through the message\u0027s per-transfer loop.\nThis can matter with drivers that replace the per-word or per-buffer\ntransfer primitives, on busses with multiple SPI devices.\n\nPreviously, this could have started messages using the settings left after\nprevious messages.  The problem was observed when a high speed chip\n(m25p80 type flash) was running very slowly because a low speed device\n(avr8 microcontroller) had previously used the bus.  Similar faults could\nhave driven the low speed device too fast, or used an unexpected word\nsize.\n\nAcked-by: Steven A. Falco \u003csfalco@harris.com\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "537a1bf059fa312355696fa6db80726e655e7f17",
      "tree": "4f5b3c6917311cfefad21eaf3dd92978334282de",
      "parents": [
        "70d6027ff2bc8bab180273b77e7ab3e8a62cca51"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Tue Jun 30 11:41:29 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 30 18:56:00 2009 -0700"
      },
      "message": "fbdev: add mutex for fb_mmap locking\n\nAdd a mutex to avoid a circular locking problem between the mm layer\nsemaphore and fbdev ioctl mutex through the fb_mmap() call.\n\nAlso, add mutex to all places where smem_start and smem_len fields change\nso the mutex inside the fb_mmap() is actually used.  Changing of these\nfields before calling the framebuffer_register() are not mutexed.\n\nThis is 2.6.31 material.  It removes one lockdep (fb_mmap() and\nregister_framebuffer()) but there is still another one (fb_release() and\nregister_framebuffer()).  It also cleans up handling of the smem_start and\nsmem_len fields used by mutexed section of the fb_mmap().\n\nSigned-off-by: Krzysztof Helt \u003ckrzysztof.h1@wp.pl\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "70d6027ff2bc8bab180273b77e7ab3e8a62cca51",
      "tree": "1b8e13ffd71c587dcff60933d69a9ff2edb60f0d",
      "parents": [
        "b55f627feeb9d48fdbde3835e18afbc76712e49b"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Tue Jun 30 11:41:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 30 18:56:00 2009 -0700"
      },
      "message": "spi: add spi_master flag word\n\nAdd a new spi_master.flags word listing constraints relevant to that\ncontroller.  Define the first constraint bit: a half duplex restriction.\nInclude that constraint in the OMAP1 MicroWire controller driver.\n\nHave the mmc_spi host be the first customer of this flag.  Its coding\nrelies heavily on full duplex transfers, so it must fail when the\nunderlying controller driver won\u0027t perform them.\n\n(The spi_write_then_read routine could use it too: use the\ntemporarily-withdrawn full-duplex speedup unless this flag is set, in\nwhich case the existing code applies.  Similarly, any spi_master\nimplementing only SPI_3WIRE should set the flag.)\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b55f627feeb9d48fdbde3835e18afbc76712e49b",
      "tree": "1c6084d44f23c5e70040e5d62c93718f77ad09da",
      "parents": [
        "c49568235dd7b4a2ffad63aa950562f4ffb9455f"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Tue Jun 30 11:41:26 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 30 18:56:00 2009 -0700"
      },
      "message": "spi: new spi-\u003emode bits\n\nAdd two new spi_device.mode bits to accomodate more protocol options, and\npass them through to usermode drivers:\n\n * SPI_NO_CS ... a second 3-wire variant, where the chipselect\n   line is removed instead of a data line; transfers are still\n   full duplex.\n\n   This obviously has STRONG protocol implications since the\n   chipselect transitions can\u0027t be used to synchronize state\n   transitions with the SPI master.\n\n * SPI_READY ... defines open drain signal that\u0027s pulled low\n   to pause the clock.  This defines a 5-wire variant (normal\n   4-wire SPI plus READY) and two 4-wire variants (READY plus\n   each of the 3-wire flavors).\n\n   Such hardware flow control can be a big win.  There are ADC\n   converters and flash chips that expose READY signals, but not\n   many host controllers support it today.\n\nThe spi_bitbang code should be changed to use SPI_NO_CS instead of its\ncurrent nonportable hack.  That\u0027s a mode most hardware can easily support\n(unlike SPI_READY).\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: \"Paulraj, Sandeep\" \u003cs-paulraj@ti.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "c49568235dd7b4a2ffad63aa950562f4ffb9455f"
}
