)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "1474855d0878cced6f39f51f3c2bd7428b44cb1e",
      "tree": "cbad42404bfc0f7222d0a88e4ed9b0e9e0d0cb50",
      "parents": [
        "36aaccc1e96481e8310b1d13600096da0f24ff43"
      ],
      "author": {
        "name": "Bob Nelson",
        "email": "rrnelson@linux.vnet.ibm.com",
        "time": "Fri Jul 20 21:39:53 2007 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@klappe.arndb.de",
        "time": "Fri Jul 20 21:42:24 2007 +0200"
      },
      "message": "[CELL] oprofile: add support to OProfile for profiling CELL BE SPUs\n\nFrom: Maynard Johnson \u003cmpjohn@us.ibm.com\u003e\n\nThis patch updates the existing arch/powerpc/oprofile/op_model_cell.c\nto add in the SPU profiling capabilities.  In addition, a \u0027cell\u0027 subdirectory\nwas added to arch/powerpc/oprofile to hold Cell-specific SPU profiling code.\nExports spu_set_profile_private_kref and spu_get_profile_private_kref which\nare used by OProfile to store private profile information in spufs data\nstructures.\n\nAlso incorporated several fixes from other patches (rrn).  Check pointer\nreturned from kzalloc.  Eliminated unnecessary cast.  Better error\nhandling and cleanup in the related area.  64-bit unsigned long parameter\nwas being demoted to 32-bit unsigned int and eventually promoted back to\nunsigned long.\n\nSigned-off-by: Carl Love \u003ccarll@us.ibm.com\u003e\nSigned-off-by: Maynard Johnson \u003cmpjohn@us.ibm.com\u003e\nSigned-off-by: Bob Nelson \u003crrnelson@us.ibm.com\u003e\nSigned-off-by: Arnd Bergmann \u003carnd.bergmann@de.ibm.com\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "e8edc6e03a5c8562dc70a6d969f732bdb355a7e7",
      "tree": "fc86c863655128a7041dfe613d14393d761fa7b9",
      "parents": [
        "ff1be9ad61e3e17ba83702d8ed0b534e5b8ee15c"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon May 21 01:22:52 2007 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 21 09:18:19 2007 -0700"
      },
      "message": "Detach sched.h from mm.h\n\nFirst thing mm.h does is including sched.h solely for can_do_mlock() inline\nfunction which has \"current\" dereference inside. By dealing with can_do_mlock()\nmm.h can be detached from sched.h which is good. See below, why.\n\nThis patch\na) removes unconditional inclusion of sched.h from mm.h\nb) makes can_do_mlock() normal function in mm/mlock.c\nc) exports can_do_mlock() to not break compilation\nd) adds sched.h inclusions back to files that were getting it indirectly.\ne) adds less bloated headers to some files (asm/signal.h, jiffies.h) that were\n   getting them indirectly\n\nNet result is:\na) mm.h users would get less code to open, read, preprocess, parse, ... if\n   they don\u0027t need sched.h\nb) sched.h stops being dependency for significant number of files:\n   on x86_64 allmodconfig touching sched.h results in recompile of 4083 files,\n   after patch it\u0027s only 3744 (-8.3%).\n\nCross-compile tested on\n\n\tall arm defconfigs, all mips defconfigs, all powerpc defconfigs,\n\talpha alpha-up\n\tarm\n\ti386 i386-up i386-defconfig i386-allnoconfig\n\tia64 ia64-up\n\tm68k\n\tmips\n\tparisc parisc-up\n\tpowerpc powerpc-up\n\ts390 s390-up\n\tsparc sparc-up\n\tsparc64 sparc64-up\n\tum-x86_64\n\tx86_64 x86_64-up x86_64-defconfig x86_64-allnoconfig\n\nas well as my two usual configs.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4dfc896e90359df04c80da5ab08ec31e87846c43",
      "tree": "1d68ae9c2e07c87f7cbc2f4b5c10d98a6c60a874",
      "parents": [
        "6faee84b006af55bab9908741dd76916c8450be2"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Mar 28 18:12:34 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Mar 28 13:58:02 2007 -0700"
      },
      "message": "[PATCH] oprofile: fix potential deadlock on oprofilefs_lock\n\nnmi_cpu_setup() is called from hardirq context and acquires oprofilefs_lock.\nalloc_event_buffer() and oprofilefs_ulong_from_user() acquire this lock\nwithout disabling irqs, which could deadlock.\n\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d54b1fdb1d9f82e375a299e22bd366aad52d4c34",
      "tree": "f94768d59702dbbc0beb9a70d9be65dbc5e5108d",
      "parents": [
        "fa027c2a0a0d6d1df6b29ee99048502c93da0dd4"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:34 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:45 2007 -0800"
      },
      "message": "[PATCH] mark struct file_operations const 5\n\nMany struct file_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1fb1430b14db30b8f113ddb4db389d316386f20b",
      "tree": "8a08155dd30c8bdd008676be40e01e39eea10022",
      "parents": [
        "80a067801d8cc9384f17991b90811f87ceab8225"
      ],
      "author": {
        "name": "Josef Sipek",
        "email": "jsipek@fsl.cs.sunysb.edu",
        "time": "Fri Dec 08 02:37:27 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:48 2006 -0800"
      },
      "message": "[PATCH] struct path: convert oprofile\n\nSigned-off-by: Josef Sipek \u003cjsipek@fsl.cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c4028958b6ecad064b1a6303a6a5906d4fe48d73",
      "tree": "1c4c89652c62a75da09f9b9442012007e4ac6250",
      "parents": [
        "65f27f38446e1976cc98fd3004b110fedcddd189"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:57:56 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:57:56 2006 +0000"
      },
      "message": "WorkStruct: make allyesconfig\n\nFix up for make allyesconfig.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "ba52de123d454b57369f291348266d86f4b35070",
      "tree": "3973f3f3c853b5857b6b64a027cadd4fe954e3b9",
      "parents": [
        "577c4eb09d1034d0739e3135fd2cff50588024be"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 27 01:50:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:18 2006 -0700"
      },
      "message": "[PATCH] inode-diet: Eliminate i_blksize from the inode structure\n\nThis eliminates the i_blksize field from struct inode.  Filesystems that want\nto provide a per-inode st_blksize can do so by providing their own getattr\nroutine instead of using the generic_fillattr() function.\n\nNote that some filesystems were providing pretty much random (and incorrect)\nvalues for i_blksize.\n\n[bunk@stusta.de: cleanup]\n[akpm@osdl.org: generic_fillattr() fix]\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8e18e2941c53416aa219708e7dcad21fb4bd6794",
      "tree": "44118f8b09556193ac93e0b71aecfa3e1d4bc182",
      "parents": [
        "6a1d9805ec506d8b9d04450997707da5f643d87c"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 27 01:50:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:17 2006 -0700"
      },
      "message": "[PATCH] inode_diet: Replace inode.u.generic_ip with inode.i_private\n\nThe following patches reduce the size of the VFS inode structure by 28 bytes\non a UP x86.  (It would be more on an x86_64 system).  This is a 10% reduction\nin the inode size on a UP kernel that is configured in a production mode\n(i.e., with no spinlock or other debugging functions enabled; if you want to\nsave memory taken up by in-core inodes, the first thing you should do is\ndisable the debugging options; they are responsible for a huge amount of bloat\nin the VFS inode structure).\n\nThis patch:\n\nThe filesystem or device-specific pointer in the inode is inside a union,\nwhich is pretty pointless given that all 30+ users of this field have been\nusing the void pointer.  Get rid of the union and rename it to i_private, with\na comment to explain who is allowed to use the void pointer.  This is just a\ncleanup, but it allows us to reuse the union \u0027u\u0027 for something something where\nthe union will actually be used.\n\n[judith@osdl.org: powerpc build fix]\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Judith Lebzelter \u003cjudith@osdl.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "59cc185ada89245204c658ebcf64422968736672",
      "tree": "042e46cfe90c2ad5b711e2791b05f73ab1fe7725",
      "parents": [
        "a2926b1449bcc3d348e2228114b04869dc2f3986"
      ],
      "author": {
        "name": "Markus Armbruster",
        "email": "armbru@redhat.com",
        "time": "Sun Jun 25 05:47:33 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:04 2006 -0700"
      },
      "message": "[PATCH] oprofile: convert from semaphores to mutexes\n\nSigned-off-by: Markus Armbruster \u003carmbru@redhat.com\u003e\nCc: Philippe Elie \u003cphil.el@wanadoo.fr\u003e\nCc: John Levon \u003clevon@movementarian.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "454e2398be9b9fa30433fccc548db34d19aa9958",
      "tree": "1f61cb0c3716a33b661cfc8977e9beeb480a322c",
      "parents": [
        "1ad5544098a69d7dc1fa508cbb17e13a7a952fd8"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jun 23 02:02:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:45 2006 -0700"
      },
      "message": "[PATCH] VFS: Permit filesystem to override root dentry on mount\n\nExtend the get_sb() filesystem operation to take an extra argument that\npermits the VFS to pass in the target vfsmount that defines the mountpoint.\n\nThe filesystem is then required to manually set the superblock and root dentry\npointers.  For most filesystems, this should be done with simple_set_mnt()\nwhich will set the superblock pointer and then set the root dentry to the\nsuperblock\u0027s s_root (as per the old default behaviour).\n\nThe get_sb() op now returns an integer as there\u0027s now no need to return the\nsuperblock pointer.\n\nThis patch permits a superblock to be implicitly shared amongst several mount\npoints, such as can be done with NFS to avoid potential inode aliasing.  In\nsuch a case, simple_set_mnt() would not be called, and instead the mnt_root\nand mnt_sb would be set directly.\n\nThe patch also makes the following changes:\n\n (*) the get_sb_*() convenience functions in the core kernel now take a vfsmount\n     pointer argument and return an integer, so most filesystems have to change\n     very little.\n\n (*) If one of the convenience function is not used, then get_sb() should\n     normally call simple_set_mnt() to instantiate the vfsmount. This will\n     always return 0, and so can be tail-called from get_sb().\n\n (*) generic_shutdown_super() now calls shrink_dcache_sb() to clean up the\n     dcache upon superblock destruction rather than shrink_dcache_anon().\n\n     This is required because the superblock may now have multiple trees that\n     aren\u0027t actually bound to s_root, but that still need to be cleaned up. The\n     currently called functions assume that the whole tree is rooted at s_root,\n     and that anonymous dentries are not the roots of trees which results in\n     dentries being left unculled.\n\n     However, with the way NFS superblock sharing are currently set to be\n     implemented, these assumptions are violated: the root of the filesystem is\n     simply a dummy dentry and inode (the real inode for \u0027/\u0027 may well be\n     inaccessible), and all the vfsmounts are rooted on anonymous[*] dentries\n     with child trees.\n\n     [*] Anonymous until discovered from another tree.\n\n (*) The documentation has been adjusted, including the additional bit of\n     changing ext2_* into foo_* in the documentation.\n\n[akpm@osdl.org: convert ipath_fs, do other stuff]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Nathan Scott \u003cnathans@sgi.com\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "99ac48f54a91d02140c497edc31dc57d4bc5c85d"
}
