)]}'
{
  "log": [
    {
      "commit": "9414e99672271adcc661f3c160a30b374179b92f",
      "tree": "da2052d48666552400b3204f15bb18b58156065f",
      "parents": [
        "b971f06187d83b5c03d2b597cccdfef421c0ca91"
      ],
      "author": {
        "name": "Phil Carmody",
        "email": "ext-phil.2.carmody@nokia.com",
        "time": "Wed Apr 28 12:09:16 2010 -0500"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Mon May 03 23:02:39 2010 +0200"
      },
      "message": "oprofile: protect from not being in an IRQ context\n\nhttp://lkml.org/lkml/2010/4/27/285\n\nProtect against dereferencing regs when it\u0027s NULL, and\nforce a magic number into pc to prevent too deep processing.\nThis approach permits the dropped samples to be tallied as\ninvalid Instruction Pointer events.\n\ne.g. output from about 15mins at 10kHz sample rate:\nNr. samples received: 2565380\nNr. samples lost invalid pc: 4\n\nSigned-off-by: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "b971f06187d83b5c03d2b597cccdfef421c0ca91",
      "tree": "849dbe485ca9472bea002f94681882ce103fe3cd",
      "parents": [
        "cb6e943ccf19ab6d3189147e9d625a992e016084",
        "c1ab9cab75098924fa8226a8a371de66977439df"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Fri Apr 23 16:47:51 2010 +0200"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Fri Apr 23 16:47:51 2010 +0200"
      },
      "message": "Merge commit \u0027tip/tracing/core\u0027 into oprofile/core\n\nConflicts:\n\tdrivers/oprofile/cpu_buffer.c\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "cb6e943ccf19ab6d3189147e9d625a992e016084",
      "tree": "8ecbe4eae825ea4f7bbb685cab5a45206d437f05",
      "parents": [
        "a36bf32e9e8a86f291f746b7f8292e042ee04a46"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Thu Apr 01 03:17:25 2010 +0200"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Fri Apr 23 15:30:38 2010 +0200"
      },
      "message": "oprofile: remove double ring buffering\n\noprofile used a double buffer scheme for its cpu event buffer\nto avoid races on reading with the old locked ring buffer.\n\nBut that is obsolete now with the new ring buffer, so simply\nuse a single buffer. This greatly simplifies the code and avoids\na lot of sample drops on large runs, especially with call graph.\n\nBased on suggestions from Steven Rostedt\n\nFor stable kernels from v2.6.32, but not earlier.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "a36bf32e9e8a86f291f746b7f8292e042ee04a46",
      "tree": "c5c999baa4c214218e3adea9b336cbd9f23950ad",
      "parents": [
        "bc078e4eab65f11bbaeed380593ab8151b30d703",
        "01bf0b64579ead8a82e7cfc32ae44bc667e7ad0f"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Fri Apr 23 14:30:22 2010 +0200"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Fri Apr 23 14:30:22 2010 +0200"
      },
      "message": "Merge commit \u0027v2.6.34-rc5\u0027 into oprofile/core\n"
    },
    {
      "commit": "c1ab9cab75098924fa8226a8a371de66977439df",
      "tree": "767e77302ca8f2eb781c60624bc8518cd50ba6eb",
      "parents": [
        "ff0ff84a0767df48d728c36510365344a7e7d582",
        "f5284e7635787224dda1a2bf82a4c56b1c75671f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 08 09:06:12 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 08 10:18:47 2010 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into tracing/core\n\nConflicts:\n\tinclude/linux/module.h\n\tkernel/module.c\n\nSemantic conflict:\n\tinclude/trace/events/module.h\n\nMerge reason: Resolve the conflict with upstream commit 5fbfb18 (\"Fix up\n              possibly racy module refcounting\")\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "66a8cb95ed04025664d1db4e952155ee1dccd048",
      "tree": "74417422a78bc8198de46b0e52e490175af866e0",
      "parents": [
        "eb0c53771fb2f5f66b0edb3ebce33be4bbf1c285"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 31 13:21:56 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Mar 31 22:57:04 2010 -0400"
      },
      "message": "ring-buffer: Add place holder recording of dropped events\n\nCurrently, when the ring buffer drops events, it does not record\nthe fact that it did so. It does inform the writer that the event\nwas dropped by returning a NULL event, but it does not put in any\nplace holder where the event was dropped.\n\nThis is not a trivial thing to add because the ring buffer mostly\nruns in overwrite (flight recorder) mode. That is, when the ring\nbuffer is full, new data will overwrite old data.\n\nIn a produce/consumer mode, where new data is simply dropped when\nthe ring buffer is full, it is trivial to add the placeholder\nfor dropped events. When there\u0027s more room to write new data, then\na special event can be added to notify the reader about the dropped\nevents.\n\nBut in overwrite mode, any new write can overwrite events. A place\nholder can not be inserted into the ring buffer since there never\nmay be room. A reader could also come in at anytime and miss the\nplaceholder.\n\nLuckily, the way the ring buffer works, the read side can find out\nif events were lost or not, and how many events. Everytime a write\ntakes place, if it overwrites the header page (the next read) it\nupdates a \"overrun\" variable that keeps track of the number of\nlost events. When a reader swaps out a page from the ring buffer,\nit can record this number, perfom the swap, and then check to\nsee if the number changed, and take the diff if it has, which would be\nthe number of events dropped. This can be stored by the reader\nand returned to callers of the reader.\n\nSince the reader page swap will fail if the writer moved the head\npage since the time the reader page set up the swap, this gives room\nto record the overruns without worrying about races. If the reader\nsets up the pages, records the overrun, than performs the swap,\nif the swap succeeds, then the overrun variable has not been\nupdated since the setup before the swap.\n\nFor binary readers of the ring buffer, a flag is set in the header\nof each sub page (sub buffer) of the ring buffer. This flag is embedded\nin the size field of the data on the sub buffer, in the 31st bit (the size\ncan be 32 or 64 bits depending on the architecture), but only 27\nbits needs to be used for the actual size (less actually).\n\nWe could add a new field in the sub buffer header to also record the\nnumber of events dropped since the last read, but this will change the\nformat of the binary ring buffer a bit too much. Perhaps this change can\nbe made if the information on the number of events dropped is considered\nimportant enough.\n\nNote, the notification of dropped events is only used by consuming reads\nor peeking at the ring buffer. Iterating over the ring buffer does not\nkeep this information because the necessary data is only available when\na page swap is made, and the iterator does not swap out pages.\n\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: \"Luis Claudio R. Goncalves\" \u003clclaudio@uudg.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "bc078e4eab65f11bbaeed380593ab8151b30d703",
      "tree": "8d61457355fad4e5b5938cd7c01a1dd379778789",
      "parents": [
        "cfc9c0b450176a077205ef39092f0dc1a04e020a"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Tue Mar 02 16:01:10 2010 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Tue Mar 02 17:03:20 2010 +0100"
      },
      "message": "oprofile: convert oprofile from timer_hook to hrtimer\n\nOprofile is currently broken on systems running with NOHZ enabled.\nA maximum of 1 tick is accounted via the timer_hook if a cpu sleeps\nfor a longer period of time. This does bad things to the percentages\nin the profiler output. To solve this problem convert oprofile to\nuse a restarting hrtimer instead of the timer_hook.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "d0316554d3586cbea60592a41391b5def2553d6f",
      "tree": "5e7418f0bacbc68cec5dfd1541e03eb56870aa02",
      "parents": [
        "fb0bbb92d42d5bd0ab224605444efdfed06d6934",
        "51e99be00ce2713cbb841cedc997cafa6e26c7f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 09:58:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 09:58:24 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (34 commits)\n  m68k: rename global variable vmalloc_end to m68k_vmalloc_end\n  percpu: add missing per_cpu_ptr_to_phys() definition for UP\n  percpu: Fix kdump failure if booted with percpu_alloc\u003dpage\n  percpu: make misc percpu symbols unique\n  percpu: make percpu symbols in ia64 unique\n  percpu: make percpu symbols in powerpc unique\n  percpu: make percpu symbols in x86 unique\n  percpu: make percpu symbols in xen unique\n  percpu: make percpu symbols in cpufreq unique\n  percpu: make percpu symbols in oprofile unique\n  percpu: make percpu symbols in tracer unique\n  percpu: make percpu symbols under kernel/ and mm/ unique\n  percpu: remove some sparse warnings\n  percpu: make alloc_percpu() handle array types\n  vmalloc: fix use of non-existent percpu variable in put_cpu_var()\n  this_cpu: Use this_cpu_xx in trace_functions_graph.c\n  this_cpu: Use this_cpu_xx for ftrace\n  this_cpu: Use this_cpu_xx in nmi handling\n  this_cpu: Use this_cpu operations in RCU\n  this_cpu: Use this_cpu ops for VM statistics\n  ...\n\nFix up trivial (famous last words) global per-cpu naming conflicts in\n\tarch/x86/kvm/svm.c\n\tmm/slab.c\n"
    },
    {
      "commit": "b3e9f672b6cd0f4c2982c1bcc0b3c3fb39d3b0fe",
      "tree": "4aaac8850226d81df5f90240839c1d1310c0ae75",
      "parents": [
        "9705f69ed0a5ef593f45e618bcb3cbfdbf391f64"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Oct 29 22:34:13 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Oct 29 22:34:13 2009 +0900"
      },
      "message": "percpu: make percpu symbols in oprofile unique\n\nThis patch updates percpu related symbols in oprofile such that percpu\nsymbols are unique and don\u0027t clash with local symbols.  This serves\ntwo purposes of decreasing the possibility of global percpu symbol\ncollision and allowing dropping per_cpu__ prefix from percpu symbols.\n\n* drivers/oprofile/cpu_buffer.c: s/cpu_buffer/op_cpu_buffer/\n\nPartly based on Rusty Russell\u0027s \"alloc_percpu: rename percpu vars\nwhich cause name clashes\" patch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Robert Richter \u003crobert.richter@amd.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "c0868934e536e0ff508f2d359d006b25abc4970d",
      "tree": "54932dfb00ee6731a1d3421eba1a87ed025f72dd",
      "parents": [
        "066b3aa8454bee3cdc665d86b5de812d8d0513b3"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Fri Oct 09 03:17:44 2009 +0200"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Fri Oct 09 21:32:05 2009 +0200"
      },
      "message": "oprofile: warn on freeing event buffer too early\n\nA race shouldn\u0027t happen since all workqueues or handlers are canceled\nor flushed before the event buffer is freed. A warning is triggered\nnow if the buffer is freed too early.\n\nAlso, this patch adds some comments about event buffer protection,\nreworks some code and adds code to clear buffer_pos during alloc and\nfree of the event buffer.\n\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "066b3aa8454bee3cdc665d86b5de812d8d0513b3",
      "tree": "5005ac2eba0190371c21d88af286ecff267a229c",
      "parents": [
        "374576a8b6f865022c0fd1ca62396889b23d66dd"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Wed Sep 09 15:02:33 2009 +0200"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Fri Oct 09 18:02:01 2009 +0200"
      },
      "message": "oprofile: fix race condition in event_buffer free\n\nLooking at the 2.6.31-rc9 code, it appears there is a race condition\nin the event_buffer cleanup code path (shutdown). This could lead to\nkernel panic as some CPUs may be operating on the event buffer AFTER\nit has been freed. The attached patch solves the problem and makes\nsure CPUs check if the buffer is not NULL before they access it as\nsome may have been spinning on the mutex while the buffer was being\nfreed.\n\nThe race may happen if the buffer is freed during pending reads. But\nit is not clear why there are races in add_event_entry() since all\nworkqueues or handlers are canceled or flushed before the event buffer\nis freed.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "79f5599772ac2f138d7a75b8f3f06a93f09c75f7",
      "tree": "092c9f6e3f7c49d8f5bb9f3d39752ae7cfb9415a",
      "parents": [
        "a724eada8c2a7b62463b73ccf73fd0bb6e928aeb"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon Jun 15 14:58:26 2009 +0800"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Sep 24 09:34:24 2009 +0930"
      },
      "message": "cpumask: use zalloc_cpumask_var() where possible\n\nRemove open-coded zalloc_cpumask_var() and zalloc_cpumask_var_node().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "b87221de6a4934eda856475a0065688d12973a04",
      "tree": "6bcf0628e106c4833538f4c23d710fbbe3d7609a",
      "parents": [
        "0d54b217a247f39605361f867fefbb9e099a5432"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Sep 21 17:01:09 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:24 2009 -0700"
      },
      "message": "const: mark remaining super_operations const\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1b294f5960cd89e49eeb3e797860c552b03f2272",
      "tree": "2582a7f6d56c2f34ff956d24eda97b18720aa0ce",
      "parents": [
        "4d015f79e972cea1761cfee8872b1c0992ccd8b2"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Thu Jul 09 14:56:25 2009 +0200"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Mon Jul 20 16:43:21 2009 +0200"
      },
      "message": "oprofile: Adding switch counter to oprofile statistic variables\n\nThis patch moves the multiplexing switch counter from x86 code to\ncommon oprofile statistic variables. Now the value will be available\nand usable for all architectures. The initialization and\nincrementation also moved to common code.\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "a5659d17adb815fb35e11745e2f39c3f0bfd579f",
      "tree": "5a7b151a9bbf0d9ec4c38e828e213ac9915f0483",
      "parents": [
        "16422a6e2d16a39861ae5b0b11d9b411a245ab83"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Fri Jun 19 16:45:34 2009 +0200"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Mon Jul 20 16:43:19 2009 +0200"
      },
      "message": "oprofile: Grouping multiplexing code in oprof.c\n\nThis patch moves multiplexing code to a single section of code. This\nreduces the use of #ifdefs especially within functions.\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "16422a6e2d16a39861ae5b0b11d9b411a245ab83",
      "tree": "a3c2c5122b234e3f367df19a303da0200bfeee15",
      "parents": [
        "afe1b50fe6aa56093e9234bdc08779e9fe20b5bf"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Jul 15 15:44:18 2009 +0200"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Mon Jul 20 16:43:19 2009 +0200"
      },
      "message": "oprofile: Remove oprofile_multiplexing_init()\n\noprofile_multiplexing_init() can be removed when moving the\ninitialization of oprofile_time_slice to oprofile_create_files().\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "afe1b50fe6aa56093e9234bdc08779e9fe20b5bf",
      "tree": "9c6ce25e09476a0d6c16ceabda66323dd3f5aefe",
      "parents": [
        "2051cade7ccbe45a8bf8b7809d56b23d6d75ad03"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Jul 15 15:19:29 2009 +0200"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Mon Jul 20 16:43:19 2009 +0200"
      },
      "message": "oprofile: Rename variable timeout_jiffies and move to oprofile_files.c\n\nThis patch renames timeout_jiffies into an oprofile specific name. The\nmacro MULTIPLEXING_TIMER_DEFAULT is changed too.\n\nAlso, since this variable is controlled using oprofilefs, its\ndefinition is moved to oprofile_files.c.\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "2051cade7ccbe45a8bf8b7809d56b23d6d75ad03",
      "tree": "6c3e1973ac658f4db220ee5bbf9f770f504e210c",
      "parents": [
        "6bfccd099c2841e1c42530f1b6d2553bfa13be3a"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Jul 15 15:44:18 2009 +0200"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Mon Jul 20 16:43:18 2009 +0200"
      },
      "message": "oprofile: oprofile_set_timeout(), return with error for invalid args\n\nReturn with -EINVAL for invalid parameters instead of setting the\ndefault value in oprofile_set_timeout().\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "4d4036e0e7299c6cbb2d2421b4b30b7a409ce61a",
      "tree": "c9003cd927ed878412e89a59db0138b6b701b629",
      "parents": [
        "6e63ea4b0b14ff5fb8a3ca704fcda7d28b95f079"
      ],
      "author": {
        "name": "Jason Yeh",
        "email": "jason.yeh@amd.com",
        "time": "Wed Jul 08 13:49:38 2009 +0200"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Mon Jul 20 16:33:53 2009 +0200"
      },
      "message": "oprofile: Implement performance counter multiplexing\n\nThe number of hardware counters is limited. The multiplexing feature\nenables OProfile to gather more events than counters are provided by\nthe hardware. This is realized by switching between events at an user\nspecified time interval.\n\nA new file (/dev/oprofile/time_slice) is added for the user to specify\nthe timer interval in ms. If the number of events to profile is higher\nthan the number of hardware counters available, the patch will\nschedule a work queue that switches the event counter and re-writes\nthe different sets of values into it. The switching mechanism needs to\nbe implemented for each architecture to support multiplexing. This\npatch only implements AMD CPU support, but multiplexing can be easily\nextended for other models and architectures.\n\nThere are follow-on patches that rework parts of this patch.\n\nSigned-off-by: Jason Yeh \u003cjason.yeh@amd.com\u003e\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "debc6a6927dcd833a30750b07a4c2b456b71f1be",
      "tree": "edd16582c57409e75172e5a397e371d4da88f5fc",
      "parents": [
        "21e70878215f620fe99ea7d7c74bc641aeec932f",
        "6847e154e3cd74fca6084124c097980a7634285a",
        "4f6e1fe1d8ba3d9f4fb52dd006da9714d75243cf"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Tue Jul 14 15:20:44 2009 +0200"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Tue Jul 14 15:20:44 2009 +0200"
      },
      "message": "Merge commit \u0027v2.6.31-rc3\u0027; commit \u0027tip/oprofile\u0027 into oprofile/core\n\nConflicts:\n\tdrivers/oprofile/oprofile_stats.c\n\tdrivers/usb/otg/Kconfig\n\tdrivers/usb/otg/Makefile\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "2b8777ca0c944bf6498c45ed9c5c246bd63a719e",
      "tree": "fb62bd8d92828d6c1e6b66cc1cbb1bd49f0a19fc",
      "parents": [
        "8d7ff4f2a0b22b7d6d7bc3982257d1dadea22824"
      ],
      "author": {
        "name": "Maynard Johnson",
        "email": "maynardj@us.ibm.com",
        "time": "Wed May 27 10:15:08 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 10 12:35:36 2009 +0200"
      },
      "message": "oprofile: reset bt_lost_no_mapping with other stats\n\nThe bt_lost_no_mapping is not getting reset at the start of a\nprofiling run, thus the oprofiled.log shows erroneous values for this\nstatistic. The attached patch fixes this problem.\n\nSigned-off-by: Maynard Johnson \u003cmaynardj@us.ibm.com\u003e\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b72f7fa9788c85866da10d7b2091077397018b7a",
      "tree": "c3b09298a12a73aa029f87d024d722917f0f7850",
      "parents": [
        "802070f5474af1a49435a9528aede47bb18abd47",
        "1cc4ce6f5f89cdc355013aa43f06a14a015766d1"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Fri Jun 12 18:46:35 2009 +0200"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Fri Jun 12 18:46:35 2009 +0200"
      },
      "message": "Merge branches \u0027oprofile/fixes\u0027, \u0027oprofile/next\u0027 and \u0027oprofile/master\u0027 into oprofile/auto\n"
    },
    {
      "commit": "1cc4ce6f5f89cdc355013aa43f06a14a015766d1",
      "tree": "6311518bac579d1eadadadb335a0f555e0cc8c15",
      "parents": [
        "0886751c5d8b19fcee2e65d34ae21c9111e652a9"
      ],
      "author": {
        "name": "Maynard Johnson",
        "email": "maynardj@us.ibm.com",
        "time": "Wed May 27 10:15:08 2009 -0500"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Fri Jun 12 17:25:43 2009 +0200"
      },
      "message": "oprofile: reset bt_lost_no_mapping with other stats\n\nThe bt_lost_no_mapping is not getting reset at the start of a\nprofiling run, thus the oprofiled.log shows erroneous values for this\nstatistic. The attached patch fixes this problem.\n\nSigned-off-by: Maynard Johnson \u003cmaynardj@us.ibm.com\u003e\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "51563a0e5650d0d76539625388d72d62b34c726e",
      "tree": "17148f56578af8f7d7d67491f8b7eb05d99acdd9",
      "parents": [
        "c572ae4efd1b0a5cc76c5e6aae05c1b182b6a69c"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Jun 03 20:54:56 2009 +0200"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Thu Jun 11 20:16:00 2009 +0200"
      },
      "message": "x86/oprofile: introduce oprofile_add_data64()\n\nThe IBS implemention writes 64 bit register values to the cpu buffer\nby writing two 32 values using oprofile_add_data(). This patch\nintroduces oprofile_add_data64() to write a single 64 bit value to the\nbuffer.\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "fecfe6320ba71eed6d16849683298f0894aa60de",
      "tree": "a1179708c0eed6ee8db942a87237103e4b44d8e0",
      "parents": [
        "0dc8335aa3e59f1adbb0fce7c9c0b342146cd036"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Thu May 07 16:07:41 2009 +0200"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Thu Jun 11 16:10:12 2009 +0200"
      },
      "message": "oprofile: remove obselete include headers\n\nThis became obsolete with this commit:\n\n 6dad828 oprofile: port to the new ring_buffer\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "54f2c841fa0007e5fee3b7d01a911c774f0a6cda",
      "tree": "058b9a96ed4fa2c963d18d0a66c2d3a5af38d881",
      "parents": [
        "091438dd5668396328a3419abcbc6591159eb8d1"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Thu May 07 17:28:59 2009 +0200"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Thu May 07 17:28:59 2009 +0200"
      },
      "message": "oprofile: fix cpu buffer size\n\nThe unit of oprofile_cpu_buffer_size is in samples, but was allocated\nin bytes. This led to the allocation of too small cpu buffers. This\npatch recalculates the buffer size in bytes taking also the\nring_buffer_event header size into account.\n\nReported-by: Suravee Suthikulpanit \u003csuravee.suthikulpanit@amd.com\u003e\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "714f83d5d9f7c785f622259dad1f4fad12d64664",
      "tree": "20563541ae438e11d686b4d629074eb002a481b7",
      "parents": [
        "8901e7ffc2fa78ede7ce9826dbad68a3a25dc2dc",
        "645dae969c3b8651c5bc7c54a1835ec03820f85f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 11:04:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 11:04:19 2009 -0700"
      },
      "message": "Merge branch \u0027tracing-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (413 commits)\n  tracing, net: fix net tree and tracing tree merge interaction\n  tracing, powerpc: fix powerpc tree and tracing tree interaction\n  ring-buffer: do not remove reader page from list on ring buffer free\n  function-graph: allow unregistering twice\n  trace: make argument \u0027mem\u0027 of trace_seq_putmem() const\n  tracing: add missing \u0027extern\u0027 keywords to trace_output.h\n  tracing: provide trace_seq_reserve()\n  blktrace: print out BLK_TN_MESSAGE properly\n  blktrace: extract duplidate code\n  blktrace: fix memory leak when freeing struct blk_io_trace\n  blktrace: fix blk_probes_ref chaos\n  blktrace: make classic output more classic\n  blktrace: fix off-by-one bug\n  blktrace: fix the original blktrace\n  blktrace: fix a race when creating blk_tree_root in debugfs\n  blktrace: fix timestamp in binary output\n  tracing, Text Edit Lock: cleanup\n  tracing: filter fix for TRACE_EVENT_FORMAT events\n  ftrace: Using FTRACE_WARN_ON() to check \"freed record\" in ftrace_release()\n  x86: kretprobe-booster interrupt emulation code fix\n  ...\n\nFix up trivial conflicts in\n arch/parisc/include/asm/ftrace.h\n include/linux/memory.h\n kernel/extable.c\n kernel/module.c\n"
    },
    {
      "commit": "8302294f43250dc337108c51882a6007f2b1e2e0",
      "tree": "85acd4440799c46a372df9cad170fa0c21e59096",
      "parents": [
        "4fe70410d9a219dabb47328effccae7e7f2a6e26",
        "2e572895bf3203e881356a4039ab0fa428ed2639"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 01 21:54:19 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 02 00:49:02 2009 +0200"
      },
      "message": "Merge branch \u0027tracing/core-v2\u0027 into tracing-for-linus\n\nConflicts:\n\tinclude/linux/slub_def.h\n\tlib/Kconfig.debug\n\tmm/slob.c\n\tmm/slub.c\n"
    },
    {
      "commit": "bb75efddeaca89f8a67fd82cdcbaaf436cf17ca9",
      "tree": "a0c5c0d07a62b002f2793ac8d57aa1c3b1791925",
      "parents": [
        "97c12f85ac5e4ac2faee6cada014ac6205105b19"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@arm.linux.org.uk",
        "time": "Sun Mar 29 17:12:22 2009 +0100"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Mar 30 22:05:18 2009 +1030"
      },
      "message": "oprofile: Thou shalt not call __exit functions from __init functions\n\nImpact: fix ref to discarded function\n\n`buffer_sync_cleanup\u0027 referenced in section `.init.text\u0027 of arch/arm/oprofile/built-in.o: defined in discarded section `.exit.text\u0027 of arch/arm/oprofile/built-in.o\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "d95c3578120e5bc4784069439f00ccb1b5f87717",
      "tree": "c819de31de3983f3d69f223ede07667ff23bf7da",
      "parents": [
        "ba1d755a36f66101aa88ac9ebb54694def6ec38d",
        "78b020d035074fc3aa4d017353bb2c32e2aff56f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 11 10:49:34 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 11 10:49:34 2009 +0100"
      },
      "message": "Merge branch \u0027x86/core\u0027 into cpus4096\n"
    },
    {
      "commit": "f0ef03985130287c6c84ebe69416cf790e6cc00e",
      "tree": "3ecb04cc4d82e5fc3ae5f1747e6da172ae8cbcb7",
      "parents": [
        "16097439703bcd38e9fe5608c12add6dacb825ea",
        "31bbed527e7039203920c51c9fb48c27aed0820c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 06 16:44:14 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 06 16:45:01 2009 +0100"
      },
      "message": "Merge branch \u0027x86/core\u0027 into tracing/textedit\n\nConflicts:\n\tarch/x86/Kconfig\n\tblock/blktrace.c\n\tkernel/irq/handle.c\n\nSemantic conflict:\n\tkernel/trace/blktrace.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "304cc6ae1bf7a8e6d00053fbe0b7e2b26cdddda2",
      "tree": "2fab76394a32e42cd63d353bb8d943b4b7851825",
      "parents": [
        "b6f11df26fdc28324cf9c9e3b77f2dc985c1bb13"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 06 01:12:02 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 06 01:14:05 2009 +0100"
      },
      "message": "ring_buffer: remove unused flags parameter, fix\n\nOprofile\u0027s ring-buffer use was not considered.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3ddeb51d9c83931c1ca6abf76a38934c5a1ed918",
      "tree": "fc2efb59d627135ea2199a8a68415b162646b121",
      "parents": [
        "5a611268b69f05262936dd177205acbce4471358",
        "5ee810072175042775e39bdd3eaaa68884c27805"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 27 12:01:51 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 27 12:01:51 2009 +0100"
      },
      "message": "Merge branch \u0027linus\u0027 into core/percpu\n\nConflicts:\n\tarch/x86/kernel/setup_percpu.c\n"
    },
    {
      "commit": "4c50d9ea9ca9e46b65aeffed3e0d6f54ff38c8d4",
      "tree": "c153b251584bcfbfb8fbbf849400e28d2c8c3720",
      "parents": [
        "5766b842b23c6b40935a5f3bd435b2bcdaff2143"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Thu Jan 22 14:14:14 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 22 14:37:06 2009 +0100"
      },
      "message": "cpumask: modifiy oprofile initialization\n\nDelta patch to f7df8ed164996cd2c6aca9674388be6ef78d8b37 for\ntip/cpus4096.\n\nMoved initialization to sync_start()/sync_stop(). No changes needed in\nbuffer_sync.h and oprof.c anymore.\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fdb6a8f4db813b4e50f4e975efe6be12ba5bf460",
      "tree": "ffb4cd30eb41639779925f7c81eaba0e95e9261a",
      "parents": [
        "c903ff837909ccada51243307d4239f86af40179"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Sat Jan 17 17:13:27 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jan 17 17:26:39 2009 +0100"
      },
      "message": "oprofile: fix uninitialized use of struct op_entry\n\nImpact: fix crash\n\nIn case of losing samples struct op_entry could have been used\nuninitialized causing e.g. a wrong preemption count or NULL pointer\naccess. This patch fixes this.\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f7df8ed164996cd2c6aca9674388be6ef78d8b37",
      "tree": "cdd2cb084b8aa19f6688b24aefe71d170a8c8c22",
      "parents": [
        "fbd59a8d1f7cf325fdb6828659f1fb76631e87b3"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Jan 10 21:58:09 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 11 19:12:52 2009 +0100"
      },
      "message": "cpumask: convert misc driver functions\n\nImpact: use new cpumask API.\n\nConvert misc driver functions to use struct cpumask.\n\nTo Do:\n  - Convert iucv_buffer_cpumask to cpumask_var_t.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nAcked-by: Dean Nelson \u003cdcn@sgi.com\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nCc: oprofile-list@lists.sf.net\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: virtualization@lists.osdl.org\nCc: xen-devel@lists.xensource.com\nCc: Ursula Braun \u003cursula.braun@de.ibm.com\u003e\nCc: linux390@de.ibm.com\nCc: linux-s390@vger.kernel.org\n"
    },
    {
      "commit": "4ce5f24193cef2e26f182ce708e94ba1f5fafc0c",
      "tree": "300373440be70af7c8ce662d4b30d8103e7c6026",
      "parents": [
        "7c51d57e9d7fbce89f79c41dc8da383101dbe9c6",
        "a076aa4f96f40fc75451ae835a1a665ce1faf951"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 12:43:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 12:43:06 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile: (31 commits)\n  powerpc/oprofile: fix whitespaces in op_model_cell.c\n  powerpc/oprofile: IBM CELL: add SPU event profiling support\n  powerpc/oprofile: fix cell/pr_util.h\n  powerpc/oprofile: IBM CELL: cleanup and restructuring\n  oprofile: make new cpu buffer functions part of the api\n  oprofile: remove #ifdef CONFIG_OPROFILE_IBS in non-ibs code\n  ring_buffer: fix ring_buffer_event_length()\n  oprofile: use new data sample format for ibs\n  oprofile: add op_cpu_buffer_get_data()\n  oprofile: add op_cpu_buffer_add_data()\n  oprofile: rework implementation of cpu buffer events\n  oprofile: modify op_cpu_buffer_read_entry()\n  oprofile: add op_cpu_buffer_write_reserve()\n  oprofile: rename variables in add_ibs_begin()\n  oprofile: rename add_sample() in cpu_buffer.c\n  oprofile: rename variable ibs_allowed to has_ibs in op_model_amd.c\n  oprofile: making add_sample_entry() inline\n  oprofile: remove backtrace code for ibs\n  oprofile: remove unused ibs macro\n  oprofile: remove unused components in struct oprofile_cpu_buffer\n  ...\n"
    },
    {
      "commit": "14f0ca8eaea42a5b5a69cfcb699665dd2618db5f",
      "tree": "918cdb7d3ace9c84811bc606db631a1dc68496f7",
      "parents": [
        "ebf8d974e298018f0b4ee02b1b097bf5500d3d27"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Jan 07 21:50:22 2009 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Jan 07 22:48:15 2009 +0100"
      },
      "message": "oprofile: make new cpu buffer functions part of the api\n\nThis patch creates the new functions\n\n oprofile_write_reserve()\n oprofile_add_data()\n oprofile_write_commit()\n\nand makes them part of the oprofile api.\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "ebf8d974e298018f0b4ee02b1b097bf5500d3d27",
      "tree": "84cdfc122513336bfda25be03d85518642b2f924",
      "parents": [
        "465634adc1d09b490c8ee31885575be39d375d53"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Jan 07 00:20:57 2009 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Jan 07 22:47:56 2009 +0100"
      },
      "message": "oprofile: remove #ifdef CONFIG_OPROFILE_IBS in non-ibs code\n\nThe ifdefs can be removed since the code is no longer ibs specific and\ncan be used for other purposes as well. IBS specific code is only in\nop_model_amd.c.\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "1acda878e20ea0cd3708ba66dca67d52eaafdd2b",
      "tree": "97eb93396efc357f91dbd0ce080a5df51f29fd9b",
      "parents": [
        "bd7dc46f770d317ada1348294ff1f319243b803b"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Mon Jan 05 10:35:31 2009 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Jan 07 22:47:23 2009 +0100"
      },
      "message": "oprofile: use new data sample format for ibs\n\nThe new ring buffer implementation allows the storage of samples with\ndifferent size. This patch implements the usage of the new sample\nformat to store ibs samples in the cpu buffer. Until now, writing to\nthe cpu buffer could lead to incomplete sampling sequences since IBS\nsamples were transfered in multiple samples. Due to a full buffer,\ndata could be lost at any time. This can\u0027t happen any more since the\ncomplete data is reserved in advance and then stored in a single\nsample.\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "bd7dc46f770d317ada1348294ff1f319243b803b",
      "tree": "b328520c9676e4787de076aeb6e5c4804cd14786",
      "parents": [
        "d9928c25a6960cf128c2078a89fe6f8e0180ff60"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Tue Jan 06 03:56:50 2009 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Jan 07 22:45:46 2009 +0100"
      },
      "message": "oprofile: add op_cpu_buffer_get_data()\n\nThis function provides access to attached data of a sample. It returns\nthe size of data including the current value. Also,\nop_cpu_buffer_get_size() is available to check if there is data\nattached.\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "d9928c25a6960cf128c2078a89fe6f8e0180ff60",
      "tree": "a6aa4141a531beb6f5d2025d8656d9404ae64ba8",
      "parents": [
        "ae735e9964b4584923f2997d98a8d80ae9c1a75c"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Thu Dec 25 17:26:07 2008 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Jan 07 22:41:47 2009 +0100"
      },
      "message": "oprofile: add op_cpu_buffer_add_data()\n\nThis function can be used to attach data to a sample. It returns the\nremaining free buffer size that has been reserved with\nop_cpu_buffer_write_reserve().\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "ae735e9964b4584923f2997d98a8d80ae9c1a75c",
      "tree": "0fc72d18bcc5951f9dd519e8a4527593724b816f",
      "parents": [
        "2d87b14cf8d0b07720de26d90789d02124141616"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Thu Dec 25 17:26:07 2008 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Jan 07 22:40:47 2009 +0100"
      },
      "message": "oprofile: rework implementation of cpu buffer events\n\nSpecial events such as task or context switches are marked with an\nescape code in the cpu buffer followed by an event code or a task\nidentifier. There is one escape code per event. To make escape\nsequences also available for data samples the internal cpu buffer\nformat must be changed. The current implementation does not allow the\nextension of event codes since this would lead to collisions with the\ntask identifiers. To avoid this, this patch introduces an event mask\nthat allows the storage of multiple events with one escape code. Now,\ntask identifiers are stored in the data section of the sample. The\nimplementation also allows the usage of custom data in a sample. As a\nside effect the new code is much more readable and easier to\nunderstand.\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "2d87b14cf8d0b07720de26d90789d02124141616",
      "tree": "418285e8cd7127c6207ac9a3e1acf8f0f3c2282f",
      "parents": [
        "2cc28b9f261dd28d69767a34682ce55a27d928ed"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Tue Dec 30 04:10:46 2008 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Jan 07 22:40:02 2009 +0100"
      },
      "message": "oprofile: modify op_cpu_buffer_read_entry()\n\nThis implements the support of samples with attached data.\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "2cc28b9f261dd28d69767a34682ce55a27d928ed",
      "tree": "eb99ee33781cc79ab09f2d70c93f14c90c664f91",
      "parents": [
        "d358e75fc40cc3bbab11654ba0a88b232c543d12"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Thu Dec 25 17:26:07 2008 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Jan 07 22:37:44 2009 +0100"
      },
      "message": "oprofile: add op_cpu_buffer_write_reserve()\n\nThis function prepares the cpu buffer to write a sample.\n\nStruct op_entry is used during operations on the ring buffer while\nstruct op_sample contains the data that is stored in the ring\nbuffer. Struct entry can be uninitialized. The function reserves a\ndata array that is specified by size. Use op_cpu_buffer_write_commit()\nafter preparing the sample. In case of errors a null pointer is\nreturned, otherwise the pointer to the sample.\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "d358e75fc40cc3bbab11654ba0a88b232c543d12",
      "tree": "d69d24b7646b4d47b9ac4a891bdfa51bbc97a07c",
      "parents": [
        "d0e233846dcef56ae78f6d8fd0e0cba85a2a1489"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Mon Jan 05 13:14:04 2009 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Jan 07 22:35:42 2009 +0100"
      },
      "message": "oprofile: rename variables in add_ibs_begin()\n\nThis unifies usage of variable names within oprofile.\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "d0e233846dcef56ae78f6d8fd0e0cba85a2a1489",
      "tree": "91caf0a91407983fcddfc6b1496d23575ba9d079",
      "parents": [
        "fc81be8ca29e28bfb89aa23359036a8ad4118d0f"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Tue Dec 23 04:03:05 2008 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Jan 07 22:35:26 2009 +0100"
      },
      "message": "oprofile: rename add_sample() in cpu_buffer.c\n\nRename the fucntion to op_add_sample() since there is a collision with\nanother one with the same name in buffer_sync.c.\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "6368a1f4d99fe9a1990ef3f04ab2d2ce9dad0a7c",
      "tree": "f830decbd97f864219c87b2b3e7a3ee0531e59e7",
      "parents": [
        "8350c78734e67ac1f8bfd4eb14b70ff4d01a9a12"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Mon Dec 29 18:44:21 2008 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Jan 07 17:06:47 2009 +0100"
      },
      "message": "oprofile: making add_sample_entry() inline\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "8350c78734e67ac1f8bfd4eb14b70ff4d01a9a12",
      "tree": "a4a78d79a0d88f98fffab92e66906121841ca893",
      "parents": [
        "f4ff2364417f0092e49f6a3aa474549a56697f2d"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Fri Dec 19 12:59:28 2008 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Jan 07 17:06:32 2009 +0100"
      },
      "message": "oprofile: remove backtrace code for ibs\n\nThis code is broken since a TRACE_BEGIN_CODE is never sent to the\ndaemon. The data becomes corrupt since the backtrace is interpreted as\nibs sample.\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "f4ff2364417f0092e49f6a3aa474549a56697f2d",
      "tree": "a22ba592e88e378a51770fc46f81bb7b2026d2a5",
      "parents": [
        "8d15df84a42b140a8262a325b987a283ef9f5f63"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Mon Jan 05 11:27:52 2009 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Jan 07 17:06:16 2009 +0100"
      },
      "message": "oprofile: remove unused ibs macro\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "8d15df84a42b140a8262a325b987a283ef9f5f63",
      "tree": "fdddf392dee4a9674138753004fd00637f6f5bcc",
      "parents": [
        "dbe6e2835e32461e7d592077947081c32f3da1d5"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Dec 24 15:42:58 2008 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Jan 07 17:06:00 2009 +0100"
      },
      "message": "oprofile: remove unused components in struct oprofile_cpu_buffer\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "dbe6e2835e32461e7d592077947081c32f3da1d5",
      "tree": "5214ed8375f061ee34cfb97301b2026f5a1a227d",
      "parents": [
        "3967e93e063d7ee608f465cbccb65abb518e9d33"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Tue Dec 16 11:01:18 2008 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Jan 07 17:05:44 2009 +0100"
      },
      "message": "oprofile: simplify add_ibs_begin()\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "56ff5efad96182f4d3cb3dc6b07396762c658f16",
      "tree": "cb91f93aa2324573527165d56d230b606a3111ed",
      "parents": [
        "acfa4380efe77e290d3a96b11cd4c9f24f4fbb18"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Dec 09 09:34:39 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 05 11:54:28 2009 -0500"
      },
      "message": "zero i_uid/i_gid on inode allocation\n\n... and don\u0027t bother in callers.  Don\u0027t bother with zeroing i_blocks,\nwhile we are at it - it\u0027s already been zeroed.\n\ni_mode is not worth the effort; it has no common default value.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c2452f32786159ed85f0e4b21fec09258f822fc8",
      "tree": "50d93df47f4547a5699c87a608e85596e4c6165f",
      "parents": [
        "e2b689d82c0394e5239a3557a217f19e2f47f1be"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Mon Dec 01 09:33:43 2008 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:38 2008 -0500"
      },
      "message": "shrink struct dentry\n\nstruct dentry is one of the most critical structures in the kernel. So it\u0027s\nsad to see it going neglected.\n\nWith CONFIG_PROFILING turned on (which is probably the common case at least\nfor distros and kernel developers), sizeof(struct dcache) \u003d\u003d 208 here\n(64-bit). This gives 19 objects per slab.\n\nI packed d_mounted into a hole, and took another 4 bytes off the inline\nname length to take the padding out from the end of the structure. This\nshinks it to 200 bytes. I could have gone the other way and increased the\nlength to 40, but I\u0027m aiming for a magic number, read on...\n\nI then got rid of the d_cookie pointer. This shrinks it to 192 bytes. Rant:\nwhy was this ever a good idea? The cookie system should increase its hash\nsize or use a tree or something if lookups are a problem. Also the \"fast\ndcookie lookups\" in oprofile should be moved into the dcookie code -- how\ncan oprofile possibly care about the dcookie_mutex? It gets dropped after\nget_dcookie() returns so it can\u0027t be providing any sort of protection.\n\nAt 192 bytes, 21 objects fit into a 4K page, saving about 3MB on my system\nwith ~140 000 entries allocated. 192 is also a multiple of 64, so we get\nnice cacheline alignment on 64 and 32 byte line systems -- any given dentry\nwill now require 3 cachelines to touch all fields wheras previously it\nwould require 4.\n\nI know the inline name size was chosen quite carefully, however with the\nreduction in cacheline footprint, it should actually be just about as fast\nto do a name lookup for a 36 character name as it was before the patch (and\nfaster for other sizes). The memory footprint savings for names which are\n\u003c\u003d 32 or \u003e 36 bytes long should more than make up for the memory cost for\n33-36 byte names.\n\nPerformance is a feature...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3967e93e063d7ee608f465cbccb65abb518e9d33",
      "tree": "470488852d80491007c29c6724566d1e1d9edc54",
      "parents": [
        "6352d92dec0c4b833c12a169e86762c05d0396f3"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Tue Dec 30 05:10:58 2008 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Tue Dec 30 05:30:05 2008 +0100"
      },
      "message": "oprofile: simplify add_sample() in cpu_buffer.c\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "6352d92dec0c4b833c12a169e86762c05d0396f3",
      "tree": "1dc1257cce235c356394741acd426bf527e1b9ff",
      "parents": [
        "317f33bce6d43367a2fd170bc87ba18a88d2621d"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Thu Dec 18 22:09:13 2008 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Mon Dec 29 18:54:44 2008 +0100"
      },
      "message": "oprofile: simplify oprofile_begin_trace()\n\nThis patch removes the unused return parameter in\noprofile_begin_trace(). Also, oprofile_begin_trace() and\noprofile_end_trace() are inline now.\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "317f33bce6d43367a2fd170bc87ba18a88d2621d",
      "tree": "bed4d035c7702ba200f09234673e5485854b6f23",
      "parents": [
        "9741b309bb4493eedd3cdb5c97b566338a0da2cc"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Thu Dec 18 19:44:20 2008 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Mon Dec 29 18:53:40 2008 +0100"
      },
      "message": "oprofile: simplify sync_buffer()\n\nMake code more readable. No functional changes.\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "9741b309bb4493eedd3cdb5c97b566338a0da2cc",
      "tree": "464db2c3b97daf69251a94d3589e3e6185910d80",
      "parents": [
        "d45d23bed4bf7b25b7dcc336552a251db1aa1279"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Thu Dec 18 19:44:20 2008 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Mon Dec 29 18:53:26 2008 +0100"
      },
      "message": "oprofile: simplify add_sample()\n\nThis patch removes add_us_sample() and simplifies add_sample(). Code\nis much more readable now.\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "d45d23bed4bf7b25b7dcc336552a251db1aa1279",
      "tree": "849a03c1264bc1ecb99fa2a9a65c3d4b58c7fafc",
      "parents": [
        "300157768f050dabc73a99d958b504282088a132"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Tue Dec 16 12:00:10 2008 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Mon Dec 29 18:51:39 2008 +0100"
      },
      "message": "oprofile: add inline function __oprofile_add_ext_sample()\n\nThis patch adds the inline function __oprofile_add_ext_sample() to\ncpu_buffer.c and thus reduces overhead when calling\noprofile_add_sample().\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "300157768f050dabc73a99d958b504282088a132",
      "tree": "22c688835c713d33f80b99e1d1017482af700437",
      "parents": [
        "83bd9243956f30d91851b272988a237999b35b10"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Tue Dec 23 01:35:12 2008 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Mon Dec 29 17:24:36 2008 +0100"
      },
      "message": "oprofile: reordering some code in cpu_buffer.c\n\nReordering code to keep alloc/free functions together.\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "9966718daee592fbdc523703b2d8200009642506",
      "tree": "8f2509353e8e22fbeb52112f4b0bcd9152553a12",
      "parents": [
        "6d2c53f3cd81e33eec17aa99845d43e599986982"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Tue Dec 16 16:19:54 2008 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Mon Dec 29 15:19:19 2008 +0100"
      },
      "message": "oprofile: remove ring buffer inline functions in cpu_buffer.h\n\nThis patch moves ring buffer inline functions to cpu_buffer.c.\n\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "6d2c53f3cd81e33eec17aa99845d43e599986982",
      "tree": "ba8462e472851065843396f1a5aaf3bbfc46ebb3",
      "parents": [
        "bd2172f58094b3f8afa017e68f3f0b57577824e1"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Dec 24 16:53:53 2008 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Mon Dec 29 15:17:52 2008 +0100"
      },
      "message": "oprofile: rename cpu buffer functions\n\nThis patch renames cpu buffer functions to something more oprofile\nspecific names. Functions will be moved to the global name space.\n\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "bd2172f58094b3f8afa017e68f3f0b57577824e1",
      "tree": "a5a0c5aad2bb04567622a5259164a30e7ba80fb4",
      "parents": [
        "d69d59f49763e6bd047c591c6c1f84c8e13da931"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Tue Dec 16 16:19:54 2008 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Tue Dec 16 17:52:49 2008 +0100"
      },
      "message": "oprofile: rename kernel-wide identifiers\n\nThis patch renames kernel-wide identifiers to something more oprofile\nspecific names.\n\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "211117ff09b7d81d91b7857651587128ed8b13d9",
      "tree": "21145ea0cddbc3de803fd8621631e46b7c628057",
      "parents": [
        "1d7503b5dccf2b95babca050e4960e10d2633f2b"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Tue Dec 09 02:13:25 2008 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Dec 10 20:25:15 2008 +0100"
      },
      "message": "oprofile: fix lost sample counter\n\nThe number of lost samples could be greater than the number of\nreceived samples. This patches fixes this. The implementation\nintroduces return values for add_sample() and add_code().\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "1d7503b5dccf2b95babca050e4960e10d2633f2b",
      "tree": "99e032e01e451a4dfff5514486275d4be7b13dce",
      "parents": [
        "6dad828b76c7224a22ddc9ce7aa495d994f03b31"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Mon Dec 08 11:59:52 2008 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Dec 10 20:03:35 2008 +0100"
      },
      "message": "oprofile: remove nr_available_slots()\n\nThis function is no longer available after the port to the new ring\nbuffer. Its removal can lead to incomplete sampling sequences since\nIBS samples and backtraces are transfered in multiple samples. Due to\na full buffer, samples could be lost any time. The userspace daemon\nhas to live with such incomplete sampling sequences as long as the\ndata within one sample is consistent.\n\nThis will be fixed by changing the internal buffer data there all data\nof one IBS sample or a backtrace is packed in a single ring buffer\nentry. This is possible since the new ring buffer supports variable\ndata size.\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "6dad828b76c7224a22ddc9ce7aa495d994f03b31",
      "tree": "364de7a3efd56d60c0742145e3a8d3d4f73bcde4",
      "parents": [
        "e09373f22e76cc048ca5fe10a9ff9012f5d64309"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Tue Dec 09 01:21:32 2008 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Dec 10 14:20:18 2008 +0100"
      },
      "message": "oprofile: port to the new ring_buffer\n\nThis patch replaces the current oprofile cpu buffer implementation\nwith the ring buffer provided by the tracing framework. The motivation\nhere is to leave the pain of implementing ring buffers to others. Oh,\nno, there are more advantages. Main reason is the support of different\nsample sizes that could be stored in the buffer. Use cases for this\nare IBS and Cell spu profiling. Using the new ring buffer ensures\nvalid and complete samples and allows copying the cpu buffer stateless\nwithout knowing its content. Second it will use generic kernel API and\nalso reduce code size. And hopefully, there are less bugs.\n\nSince the new tracing ring buffer implementation uses spin locks to\nprotect the buffer during read/write access, it is difficult to use\nthe buffer in an NMI handler. In this case, writing to the buffer by\nthe NMI handler (x86) could occur also during critical sections when\nreading the buffer. To avoid this, there are 2 buffers for independent\nread and write access. Read access is in process context only, write\naccess only in the NMI handler. If the read buffer runs empty, both\nbuffers are swapped atomically. There is potentially a small window\nduring swapping where the buffers are disabled and samples could be\nlost.\n\nUsing 2 buffers is a little bit overhead, but the solution is clear\nand does not require changes in the ring buffer implementation. It can\nbe changed to a single buffer solution when the ring buffer access is\nimplemented as non-locking atomic code.\n\nThe new buffer requires more size to store the same amount of samples\nbecause each sample includes an u32 header. Also, there is more code\nto execute for buffer access. Nonetheless, the buffer implementation\nis proven in the ftrace environment and worth to use also in oprofile.\n\nPatches that changes the internal IBS buffer usage will follow.\n\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "fbc9bf9f0ed4f0fbc47dcb5b1c26c28c93b60e33",
      "tree": "30cf2c1e7e2e7c0277c61758280edcbcd9689292",
      "parents": [
        "bf589e32960181fa8cbca7bfdd92265e49dc2dfa"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Thu Dec 04 16:27:00 2008 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Dec 10 14:20:16 2008 +0100"
      },
      "message": "oprofile: moving cpu_buffer_reset() to cpu_buffer.h\n\nThis is in preparation for changes in the cpu buffer implementation.\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "bf589e32960181fa8cbca7bfdd92265e49dc2dfa",
      "tree": "a5690c62071771e2e325cb748d83fb1cc5565daa",
      "parents": [
        "229234ae4a5ed9376b2e0524da04b0e5edadbf76"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Thu Nov 27 22:33:37 2008 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Dec 10 14:20:15 2008 +0100"
      },
      "message": "oprofile: adding cpu_buffer_entries()\n\nThis is in preparation for changes in the cpu buffer implementation.\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "229234ae4a5ed9376b2e0524da04b0e5edadbf76",
      "tree": "9f0434cbac64aa2d040b0b806d239b2335c163e1",
      "parents": [
        "7d468abee0f1a7e918b5e2f23120436a54ba9f33"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Thu Nov 27 18:36:08 2008 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Dec 10 14:20:14 2008 +0100"
      },
      "message": "oprofile: adding cpu_buffer_write_commit()\n\nThis is in preparation for changes in the cpu buffer implementation.\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "7d468abee0f1a7e918b5e2f23120436a54ba9f33",
      "tree": "397e40ca95ef2dcf70ed308cd1032c0f63f0508c",
      "parents": [
        "e2ac8ef576e45d9db7264abc51383e68d26067bb"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Thu Nov 27 10:57:09 2008 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Dec 10 14:20:13 2008 +0100"
      },
      "message": "oprofile: adding cpu buffer r/w access functions\n\nThis is in preparation for changes in the cpu buffer implementation.\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "37ca5eb341711d7aeb9f296873b9d46eb6af33ec",
      "tree": "e8d3a5003a90a7cdbc8da9835f8936c05820e85a",
      "parents": [
        "fd7826d56bde11ab142d2431093773ad2b3f0a59"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Tue Dec 09 16:56:01 2008 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Dec 10 14:20:10 2008 +0100"
      },
      "message": "oprofile: set values to default when creating oprofilefs\n\nThis patch restores default values for:\n\n/dev/oprofile/cpu_buffer_size\n/dev/oprofile/buffer_watershed\n/dev/oprofile/buffer_size\n\nwhen creating the oprofilefs:\n\n # opcontrol --deinit\n # opcontrol --init\n # cat /dev/oprofile/cpu_buffer_size\n 8192\n # echo 5123 \u003e /dev/oprofile/cpu_buffer_size\n # cat /dev/oprofile/cpu_buffer_size\n 5123\n # opcontrol --deinit\n # opcontrol --init\n # cat /dev/oprofile/cpu_buffer_size\n 8192\n # opcontrol --deinit\n\nThis sets the values in a defined state. Before, there was no way to\nrestore the defaults without rebooting the system or reloading the\nmodule.\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "fd7826d56bde11ab142d2431093773ad2b3f0a59",
      "tree": "35f84fb4a49fbbec86fba399181cbac015e9e3f9",
      "parents": [
        "fe615cbf34fc6a1c53c359417da4696328a488ed"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Fri Sep 26 17:50:31 2008 -0400"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Dec 10 14:20:09 2008 +0100"
      },
      "message": "oprofile: implement switch/case in buffer_sync.c\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "8dbc50c322619eb821907e8dba75252f5378c712",
      "tree": "3d58ff11980e352f402966e2e76327e1d1317dd6",
      "parents": [
        "cdc1834d1aa2e5b574a25e66f82625b44cdd0d8f"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Nov 26 15:00:52 2008 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Dec 10 14:20:06 2008 +0100"
      },
      "message": "oprofile: fix typo\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "cdc1834d1aa2e5b574a25e66f82625b44cdd0d8f",
      "tree": "251d6855573badf3ea4c9b155da21a1c89655837",
      "parents": [
        "58494487581cb143a0d763e3056a894d5009d60a"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Fri Sep 26 22:18:44 2008 -0400"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Dec 10 14:20:05 2008 +0100"
      },
      "message": "oprofile: whitspace changes only\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "fd13f6c85144bb2026c534a35be1d7cb7628a64a",
      "tree": "df7313ef61b04df004d247d360500cd3ad5dbe25",
      "parents": [
        "061e41fdb5047b1fb161e89664057835935ca1d2"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Sun Oct 19 21:00:09 2008 +0200"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Dec 10 14:20:01 2008 +0100"
      },
      "message": "oprofile: comment cleanup\n\nThis fixes the coding style of some comments.\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "cae042a73bb22fc4132b04ff94bd684456203089",
      "tree": "5f4042eaab705c64461522a09967ae7581bdb0d0",
      "parents": [
        "fa448d6008cc81a3537e5db168fa0490e0caba68"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Thu Oct 23 16:25:54 2008 +0200"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Mon Oct 27 19:15:41 2008 +0100"
      },
      "message": "oprofile: fix memory ordering\n\nRegular bitops don\u0027t work as locks on all architectures.\n\nAlso: can use non-atomic unlock as no concurrent stores to the word.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "92fb83afd6664a6f8a05f990d264c998f9b99f69",
      "tree": "b5c65f2a14d1019d8e00d94dafbc65696906455c",
      "parents": [
        "a5344876065e047d507800d0801a637d68d3b129",
        "df13b31c286b3e91c556167954eda088d90a4295"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 23 10:05:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 23 10:05:40 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile: (21 commits)\n  OProfile: Fix buffer synchronization for IBS\n  oprofile: hotplug cpu fix\n  oprofile: fixing whitespaces in arch/x86/oprofile/*\n  oprofile: fixing whitespaces in arch/x86/oprofile/*\n  oprofile: fixing whitespaces in drivers/oprofile/*\n  x86/oprofile: add the logic for enabling additional IBS bits\n  x86/oprofile: reordering functions in nmi_int.c\n  x86/oprofile: removing unused function parameter in add_ibs_begin()\n  oprofile: more whitespace fixes\n  oprofile: whitespace fixes\n  OProfile: Rename IBS sysfs dir into \"ibs_op\"\n  OProfile: Rework string handling in setup_ibs_files()\n  OProfile: Rework oprofile_add_ibs_sample() function\n  oprofile: discover counters for op ppro too\n  oprofile: Implement Intel architectural perfmon support\n  oprofile: Don\u0027t report Nehalem as core_2\n  oprofile: drop const in num counters field\n  Revert \"Oprofile Multiplexing Patch\"\n  x86, oprofile: BUG: using smp_processor_id() in preemptible code\n  x86/oprofile: fix on_each_cpu build error\n  ...\n\nManually fixed trivial conflicts in\n\tdrivers/oprofile/{cpu_buffer.c,event_buffer.h}\n"
    },
    {
      "commit": "a5598ca0d49821912a5053c05f07fd650671eb6d",
      "tree": "fcfa402eeb45f76fbb03886708e5042fe5f1babb",
      "parents": [
        "bb5e6491cae4c5d6ddfa3e173e22efb35f595949"
      ],
      "author": {
        "name": "Carl Love",
        "email": "cel@us.ibm.com",
        "time": "Tue Oct 14 23:37:01 2008 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Oct 21 15:17:48 2008 +1100"
      },
      "message": "powerpc/oprofile: Fix mutex locking for cell spu-oprofile\n\nThe issue is the SPU code is not holding the kernel mutex lock while\nadding samples to the kernel buffer.\n\nThis patch creates per SPU buffers to hold the data.  Data\nis added to the buffers from in interrupt context.  The data\nis periodically pushed to the kernel buffer via a new Oprofile\nfunction oprofile_put_buff(). The oprofile_put_buff() function\nis called via a work queue enabling the funtion to acquire the\nmutex lock.\n\nThe existing user controls for adjusting the per CPU buffer\nsize is used to control the size of the per SPU buffers.\nSimilarly, overflows of the SPU buffers are reported by\nincrementing the per CPU buffer stats.  This eliminates the\nneed to have architecture specific controls for the per SPU\nbuffers which is not acceptable to the OProfile user tool\nmaintainer.\n\nThe export of the oprofile add_event_entry() is removed as it\nis no longer needed given this patch.\n\nNote, this patch has not addressed the issue of indexing arrays\nby the spu number.  This still needs to be fixed as the spu\nnumbering is not guarenteed to be 0 to max_num_spus-1.\n\nSigned-off-by: Carl Love \u003ccarll@us.ibm.com\u003e\nSigned-off-by: Maynard Johnson \u003cmaynardj@us.ibm.com\u003e\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Acked-by: Robert Richter \u003crobert.richter@amd.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "9b1f261166f56d4b2c33fdf5aad64edd5e30b46f",
      "tree": "748011b45dc178a218df9146921ca027fa99b2cc",
      "parents": [
        "4bd9b9dc97e344670e9e5762399a07dcd5f15311"
      ],
      "author": {
        "name": "Barry Kasindorf",
        "email": "barry.kasindorf@amd.com",
        "time": "Tue Jul 15 00:10:36 2008 +0200"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Mon Oct 20 13:44:21 2008 +0200"
      },
      "message": "OProfile: Fix buffer synchronization for IBS\n\nThe patch is needed since there is some IBS code in add_ibs_begin()\nthat handles more than one sample per iteration. This requires calling\nget_slots() during each loop.\n\nThis fixes the current problem, but a proper solution that reworks the\ncpu buffer synchronization is needed here in the future.\n\nSigned-off-by: Barry Kasindorf \u003cbarry.kasindorf@amd.com\u003e\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "4bd9b9dc97e344670e9e5762399a07dcd5f15311",
      "tree": "47bafd5ea9e5fd68738ab6788fee6d7f21815303",
      "parents": [
        "0f019cc477b494dfc472f2a98eb64d02d4937741"
      ],
      "author": {
        "name": "Chris J Arges",
        "email": "arges@linux.vnet.ibm.com",
        "time": "Wed Oct 15 11:03:39 2008 -0500"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Fri Oct 17 10:38:58 2008 +0200"
      },
      "message": "oprofile: hotplug cpu fix\n\nThis patch addresses problems when hotplugging cpus while\nprofiling. Instead of allocating only online cpus, all possible cpu\nbuffers are allocated, which allows cpus to be onlined during\noperation. If a cpu is offlined before profiling is shutdown\nwq_sync_buffer checks for this condition then cancels this work and\ndoes not sync this buffer.\n\nSigned-off-by: Chris J Arges \u003carges@linux.vnet.ibm.com\u003e\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "6a18037d4165f691063b43816be3152e9006eb06",
      "tree": "61e5dab681cd0544f61b6d5ffad4c6a0c0c2b1a1",
      "parents": [
        "5a289395bf753f8a318d3a5fa335a757c16c0183"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Thu Oct 16 15:01:40 2008 +0200"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Thu Oct 16 15:01:40 2008 +0200"
      },
      "message": "oprofile: fixing whitespaces in drivers/oprofile/*\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "8655a3b8725d5598adc438ec94916568afcc5ec9",
      "tree": "5d57ee4c1afbc807b31e88bae011ebff6e51ac3c",
      "parents": [
        "25ad2913cae9c9e3ed28075caeb2eefccd636f4f"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Mon Jul 28 18:13:10 2008 +0200"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Oct 15 20:56:49 2008 +0200"
      },
      "message": "x86/oprofile: removing unused function parameter in add_ibs_begin()\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "25ad2913cae9c9e3ed28075caeb2eefccd636f4f",
      "tree": "dc0cc534beb4ccf487f9f6f3c7382bc559f0a35d",
      "parents": [
        "c92960fccb9f32a1d6110f6dcfe483ed96c62beb"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Fri Sep 05 17:12:36 2008 +0200"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Oct 15 20:55:51 2008 +0200"
      },
      "message": "oprofile: more whitespace fixes\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "c92960fccb9f32a1d6110f6dcfe483ed96c62beb",
      "tree": "8c4b7937956dd01174cfd13e046a6c4f6bc05b96",
      "parents": [
        "ccd755c2d90dd9b9729ba5975f7c92bf206ddcf7"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Fri Sep 05 17:12:36 2008 +0200"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Oct 15 20:47:41 2008 +0200"
      },
      "message": "oprofile: whitespace fixes\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "e2fee2761ad1df2d29b9d502a3cefc87a17b32ca",
      "tree": "6e29a2aa2abfd35ba6dba535165610e80b330244",
      "parents": [
        "c493756e2a8a78bcaae30668317890dcfe86e7c3"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Fri Jul 18 17:36:20 2008 +0200"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Oct 15 20:47:31 2008 +0200"
      },
      "message": "OProfile: Rework oprofile_add_ibs_sample() function\n\nCode looks much more cleaner now.\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "accba5f3965d6a9d1bf7c1e1a7995d17e9d521b6",
      "tree": "8fb40782e79472ed882ff2098d4dd295557278ee",
      "parents": [
        "6852fd9b86d05063c6ef49d2e12e061cc7f6a105",
        "4480f15b3306f43bbb0310d461142b4e897ca45b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 13 11:05:51 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 13 11:05:51 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into oprofile-v2\n\nConflicts:\n\tarch/x86/kernel/apic_32.c\n\tarch/x86/oprofile/nmi_int.c\n\tinclude/linux/pci_ids.h\n"
    },
    {
      "commit": "f78e80209cf143be49f268c340431ae9fa3abb74",
      "tree": "820fa64b688099dfdd93d27ba03252738ca5c7e2",
      "parents": [
        "4c168eaf7ea39f25a45a3d8c7eebc3fedb633a1d",
        "24342c34a022ee90839873d91396045e12ef1090"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Sep 24 11:25:31 2008 +0200"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Sep 24 11:25:31 2008 +0200"
      },
      "message": "Merge commit \u0027v2.6.27-rc5\u0027 into tip/oprofile\n\nConflicts:\n\tarch/x86/oprofile/nmi_int.c\n"
    },
    {
      "commit": "4c168eaf7ea39f25a45a3d8c7eebc3fedb633a1d",
      "tree": "315bb66a3ce2e752749a780876e2b7b5f6a596de",
      "parents": [
        "45f197ade73ba95681b9803680c75352fc0a1c0a"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Sep 24 11:08:52 2008 +0200"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Sep 24 11:08:52 2008 +0200"
      },
      "message": "Revert \"Oprofile Multiplexing Patch\"\n\nReverting commit 1a960b402a51d80abf54e3f8e4972374ffe5f22d for the main\nbranch. Multiplexing will be tracked on a separate feature branch.\n\nConflicts:\n\n    arch/x86/oprofile/nmi_int.c\n"
    },
    {
      "commit": "f4156d1cd1dc260cca767a6c0636625f05446799",
      "tree": "f0802db39246d371908a43dc992823feb82fecd8",
      "parents": [
        "2bb2e1db906e6e139636271d2cf46466d9e84005"
      ],
      "author": {
        "name": "Carl Love",
        "email": "cel@us.ibm.com",
        "time": "Mon Aug 11 17:25:43 2008 +1000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue Aug 26 10:24:46 2008 +1000"
      },
      "message": "powerpc/cell/oprofile: Avoid double vfree of profile buffer\n\nIf an error occurs on opcontrol start, the event and per cpu buffers\nare released.  If later opcontrol shutdown is called then the free\nfunction will be called again to free buffers that no longer\nexist.  This results in a kernel oops.  The following changes\nprevent the call to delete buffers that don\u0027t exist.\n\nSigned-off-by: Carl Love \u003ccarll@us.ibm.com\u003e\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Robert Richter \u003crobert.richter@amd.com\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "1a960b402a51d80abf54e3f8e4972374ffe5f22d",
      "tree": "108222afe94df145e7a71f44bb077067c35f0131",
      "parents": [
        "6852fd9b86d05063c6ef49d2e12e061cc7f6a105"
      ],
      "author": {
        "name": "Jason Yeh",
        "email": "jason.yeh@amd.com",
        "time": "Wed Jul 23 23:05:53 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 26 11:48:16 2008 +0200"
      },
      "message": "Oprofile Multiplexing Patch\n\nThis patch introduces multiplexing support for the Oprofile kernel\nmodule. It basically adds a new function pointer in oprofile_operator\nallowing each architecture to supply its callback to switch between\ndifferent sets of event when the timer expires. Userspace tools can\nmodify the time slice through /dev/oprofile/time_slice.\n\nIt also modifies the number of counters exposed to the userspace through\n/dev/oprofile. For example, the number of counters for AMD CPUs are\nchanged to 32 and multiplexed in the sets of 4.\n\nSigned-off-by: Jason Yeh \u003cjason.yeh@amd.com\u003e\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\nCc: oprofile-list \u003coprofile-list@lists.sourceforge.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bd17b625c09d1ed14c4d98604186b0bbb314f6b2",
      "tree": "4a8e65ae24190a0e4a47fabc45182e4dee3f9cf4",
      "parents": [
        "852402cc27bfa1200164e9e8dc7f6e5f0a4fbd46"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Tue Jul 22 21:09:07 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 26 11:48:14 2008 +0200"
      },
      "message": "oprofile: fix printk in cpu_buffer.c\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\nCc: oprofile-list \u003coprofile-list@lists.sourceforge.net\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nCc: Barry Kasindorf \u003cbarry.kasindorf@amd.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "852402cc27bfa1200164e9e8dc7f6e5f0a4fbd46",
      "tree": "0194e23373230888de9115f5ffaacb09e005b57a",
      "parents": [
        "6aa360e6c16c145edf1837690e0f7aaea6b86ef3"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Tue Jul 22 21:09:06 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 26 11:48:13 2008 +0200"
      },
      "message": "x86/oprofile: add CONFIG_OPROFILE_IBS option\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\nCc: oprofile-list \u003coprofile-list@lists.sourceforge.net\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nCc: Barry Kasindorf \u003cbarry.kasindorf@amd.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "345c25730d085c45622ac779da4dbd97dc3a10fe",
      "tree": "12f31ee55b97ef9604b37990e05c523178c32901",
      "parents": [
        "ee648bc77f11b57d15a68d336fc30e343198f893"
      ],
      "author": {
        "name": "Barry Kasindorf",
        "email": "barry.kasindorf@amd.com",
        "time": "Tue Jul 22 21:08:54 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 26 11:48:04 2008 +0200"
      },
      "message": "x86/oprofile: add IBS support for AMD CPUs, IBS buffer handling routines\n\nThis patchset supports the new profiling hardware available in the\nlatest AMD CPUs in the oProfile driver.\n\nSigned-off-by: Barry Kasindorf \u003cbarry.kasindorf@amd.com\u003e\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\nCc: oprofile-list \u003coprofile-list@lists.sourceforge.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5e11f98dcebc40c9d67e8d21a5f47248444c17a8",
      "tree": "7f333ec131d340ac8938d12cd1fc932022ef9808",
      "parents": [
        "73185e0a5d11d729d451692034fbe55a9eba7468"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Tue Jul 22 21:08:52 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 26 11:48:03 2008 +0200"
      },
      "message": "OProfile: moving increment_tail() in buffer_sync.c\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\nCc: oprofile-list \u003coprofile-list@lists.sourceforge.net\u003e\nCc: Barry Kasindorf \u003cbarry.kasindorf@amd.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "73185e0a5d11d729d451692034fbe55a9eba7468",
      "tree": "470b57909a73ab0af5dc3602eb52b5b9db982b53",
      "parents": [
        "6657fe4f5650ff7174d418d4bfa50c4640e81a2b"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Tue Jul 22 21:08:51 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 26 11:48:02 2008 +0200"
      },
      "message": "drivers/oprofile: coding style fixes in buffer_sync.c\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\nCc: oprofile-list \u003coprofile-list@lists.sourceforge.net\u003e\nCc: Barry Kasindorf \u003cbarry.kasindorf@amd.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8b8b498836942c0c855333d357d121c0adeefbd9",
      "tree": "15f6ea1756887cad87665597442e787d744743ba",
      "parents": [
        "f7c5a770e6006ae2b5f4fd0491565b69e4d4bb48"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed May 14 16:05:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 14 19:11:12 2008 -0700"
      },
      "message": "oprofile: don\u0027t request cache line alignment for cpu_buffer\n\nAlignment was previously requested because cpu_buffer was an [NR_CPUS]\narray, to avoid cache line sharing between CPUS.\n\nAfter commit 608dfddd845da5ab6accef70154c8910529699f7 (oprofile: change\ncpu_buffer from array to per_cpu variable ), we dont need to force an\nalignement anymore since cpu_buffer sits in per_cpu zone.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "608dfddd845da5ab6accef70154c8910529699f7",
      "tree": "6480216e8248d79f2e69d3edd4658a99eaf0be13",
      "parents": [
        "7ae9392c0a3bc01562361bb21e23dfb2e5c81c5a"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Mon Apr 28 02:14:15 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:31 2008 -0700"
      },
      "message": "oprofile: change cpu_buffer from array to per_cpu variable\n\nChange cpu_buffer from array to per_cpu variable in oprofile functions.\n\n[akpm@linux-foundation.org: coding-style fixes]\nCc: Philippe Elie \u003cphil.el@wanadoo.fr\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "448678a0f3cdd0157f00e98bd337e32030273637",
      "tree": "12b4fb7875dd500b1923d3eec316db4c1e1a3692",
      "parents": [
        "3dcd25f37cfe2943beca93f41f50994108248a60"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Thu Feb 14 19:38:36 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 14 21:17:08 2008 -0800"
      },
      "message": "d_path: Make get_dcookie() use a struct path argument\n\nget_dcookie() is always called with a dentry and a vfsmount from a struct\npath.  Make get_dcookie() take it directly as an argument.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nAcked-by: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "df9d177aa28d50e64bae6fbd6b263833079e3571",
      "tree": "b265158232a39d9d45cac0a97d5fdc17e7ca237d",
      "parents": [
        "03ad369ac900116f35da7505f768ebbd481d09a4"
      ],
      "author": {
        "name": "Philippe Elie",
        "email": "phil.el@wanadoo.fr",
        "time": "Wed Nov 14 16:58:48 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Nov 14 18:45:37 2007 -0800"
      },
      "message": "oProfile: oops when profile_pc() returns ~0LU\n\nInstruction pointer returned by profile_pc() can be a random value.  This\nbreak the assumption than we can safely set struct op_sample.eip field to a\nmagic value to signal to the per-cpu buffer reader side special event like\ntask switch ending up in a segfault in get_task_mm() when profile_pc()\nreturn ~0UL.  Fixed by sanitizing the sampled eip and reject/log invalid\neip.\n\nProblem reported by Sami Farin, patch tested by him.\n\nSigned-off-by: Philippe Elie \u003cphil.el@wanadoo.fr\u003e\nTested-by: Sami Farin \u003csafari-kernel@safari.iki.fi\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"
    }
  ],
  "next": "1474855d0878cced6f39f51f3c2bd7428b44cb1e"
}
