)]}'
{
  "log": [
    {
      "commit": "6f7bd76f05eb2bfbb48d58c0408a50a7e16b2423",
      "tree": "a6a5c66d200e112cc629b392eafbaa026e1c57bf",
      "parents": [
        "d98808a253f209465ed9f415c565f4c294a213b8"
      ],
      "author": {
        "name": "Rakib Mullick",
        "email": "rakib.mullick@gmail.com",
        "time": "Thu May 26 16:26:00 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:37 2011 -0700"
      },
      "message": "kernel/profile.c: remove some duplicate code from profile_hits()\n\nprofile_hits() has a common check for prof_on and prof_buffer regardless\nof SMP or !SMP.  So, remove some duplicate code by splitting profile_hits\ninto two.\n\n[akpm@linux-foundation.org: make do_profile_hits static]\nSigned-off-by: Rakib Mullick \u003crakib.mullick@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": "3864601387cf4196371e3c1897fdffa5228296f9",
      "tree": "1c517a970194f9e49ef98ef434c650771ffa31e1",
      "parents": [
        "63ab25ebbc50f74550bd8d164a34724b498f6fb9"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Thu May 26 16:25:46 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:36 2011 -0700"
      },
      "message": "mm: extract exe_file handling from procfs\n\nSetup and cleanup of mm_struct-\u003eexe_file is currently done in fs/proc/.\nThis was because exe_file was needed only for /proc/\u003cpid\u003e/exe.  Since we\nwill need the exe_file functionality also for core dumps (so core name can\ncontain full binary path), built this functionality always into the\nkernel.\n\nTo achieve that move that out of proc FS to the kernel/ where in fact it\nshould belong.  By doing that we can make dup_mm_exe_file static.  Also we\ncan drop linux/proc_fs.h inclusion in fs/exec.c and kernel/fork.c.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a77aea92010acf54ad785047234418d5d68772e2",
      "tree": "c7cb57b62fd02bee2baceb79251923f7caec6139",
      "parents": [
        "d846687d7f84e45f23ecf3846dbb43312a1206dd"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "daniel.lezcano@free.fr",
        "time": "Thu May 26 16:25:23 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:34 2011 -0700"
      },
      "message": "cgroup: remove the ns_cgroup\n\nThe ns_cgroup is an annoying cgroup at the namespace / cgroup frontier and\nleads to some problems:\n\n  * cgroup creation is out-of-control\n  * cgroup name can conflict when pids are looping\n  * it is not possible to have a single process handling a lot of\n    namespaces without falling in a exponential creation time\n  * we may want to create a namespace without creating a cgroup\n\n  The ns_cgroup was replaced by a compatibility flag \u0027clone_children\u0027,\n  where a newly created cgroup will copy the parent cgroup values.\n  The userspace has to manually create a cgroup and add a task to\n  the \u0027tasks\u0027 file.\n\nThis patch removes the ns_cgroup as suggested in the following thread:\n\nhttps://lists.linux-foundation.org/pipermail/containers/2009-June/018616.html\n\nThe \u0027cgroup_clone\u0027 function is removed because it is no longer used.\n\nThis is a userspace-visible change.  Commit 45531757b45c (\"cgroup: notify\nns_cgroup deprecated\") (merged into 2.6.27) caused the kernel to emit a\nprintk warning users that the feature is planned for removal.  Since that\ntime we have heard from XXX users who were affected by this.\n\nSigned-off-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nSigned-off-by: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nAcked-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d846687d7f84e45f23ecf3846dbb43312a1206dd",
      "tree": "5c19cf2e0e2faf288bb536f6878cddf11498ef3e",
      "parents": [
        "74a1166dfe1135dcc168d35fa5261aa7e087011b"
      ],
      "author": {
        "name": "Ben Blum",
        "email": "bblum@andrew.cmu.edu",
        "time": "Thu May 26 16:25:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:34 2011 -0700"
      },
      "message": "cgroups: use flex_array in attach_proc\n\nConvert cgroup_attach_proc to use flex_array.\n\nThe cgroup_attach_proc implementation requires a pre-allocated array to\nstore task pointers to atomically move a thread-group, but asking for a\nmonolithic array with kmalloc() may be unreliable for very large groups.\nUsing flex_array provides the same functionality with less risk of\nfailure.\n\nThis is a post-patch for cgroup-procs-write.patch.\n\nSigned-off-by: Ben Blum \u003cbblum@andrew.cmu.edu\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nReviewed-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "74a1166dfe1135dcc168d35fa5261aa7e087011b",
      "tree": "a7add70f0344e2352b8d0d6beb10aef85c6585f7",
      "parents": [
        "f780bdb7c1c73009cb57adcf99ef50027d80bf3c"
      ],
      "author": {
        "name": "Ben Blum",
        "email": "bblum@andrew.cmu.edu",
        "time": "Thu May 26 16:25:20 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:34 2011 -0700"
      },
      "message": "cgroups: make procs file writable\n\nMake procs file writable to move all threads by tgid at once.\n\nAdd functionality that enables users to move all threads in a threadgroup\nat once to a cgroup by writing the tgid to the \u0027cgroup.procs\u0027 file.  This\ncurrent implementation makes use of a per-threadgroup rwsem that\u0027s taken\nfor reading in the fork() path to prevent newly forking threads within the\nthreadgroup from \"escaping\" while the move is in progress.\n\nSigned-off-by: Ben Blum \u003cbblum@andrew.cmu.edu\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nReviewed-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f780bdb7c1c73009cb57adcf99ef50027d80bf3c",
      "tree": "d15668ffcc40a2aaa31723b87cfda0b166f84d57",
      "parents": [
        "4714d1d32d97239fb5ae3e10521d3f133a899b66"
      ],
      "author": {
        "name": "Ben Blum",
        "email": "bblum@andrew.cmu.edu",
        "time": "Thu May 26 16:25:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:34 2011 -0700"
      },
      "message": "cgroups: add per-thread subsystem callbacks\n\nAdd cgroup subsystem callbacks for per-thread attachment in atomic contexts\n\nAdd can_attach_task(), pre_attach(), and attach_task() as new callbacks\nfor cgroups\u0027s subsystem interface.  Unlike can_attach and attach, these\nare for per-thread operations, to be called potentially many times when\nattaching an entire threadgroup.\n\nAlso, the old \"bool threadgroup\" interface is removed, as replaced by\nthis.  All subsystems are modified for the new interface - of note is\ncpuset, which requires from/to nodemasks for attach to be globally scoped\n(though per-cpuset would work too) to persist from its pre_attach to\nattach_task and attach.\n\nThis is a pre-patch for cgroup-procs-writable.patch.\n\nSigned-off-by: Ben Blum \u003cbblum@andrew.cmu.edu\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nReviewed-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4714d1d32d97239fb5ae3e10521d3f133a899b66",
      "tree": "fb50707cefc386bf4e87cac9661a38dcfe3192df",
      "parents": [
        "dcb3a08e69629ea65a3e9647da730bfaf670497d"
      ],
      "author": {
        "name": "Ben Blum",
        "email": "bblum@andrew.cmu.edu",
        "time": "Thu May 26 16:25:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:34 2011 -0700"
      },
      "message": "cgroups: read-write lock CLONE_THREAD forking per threadgroup\n\nAdds functionality to read/write lock CLONE_THREAD fork()ing per-threadgroup\n\nAdd an rwsem that lives in a threadgroup\u0027s signal_struct that\u0027s taken for\nreading in the fork path, under CONFIG_CGROUPS.  If another part of the\nkernel later wants to use such a locking mechanism, the CONFIG_CGROUPS\nifdefs should be changed to a higher-up flag that CGROUPS and the other\nsystem would both depend on.\n\nThis is a pre-patch for cgroup-procs-write.patch.\n\nSigned-off-by: Ben Blum \u003cbblum@andrew.cmu.edu\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nReviewed-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "def945eeb920b94e710574454043f080831aefe5",
      "tree": "3ab084b62973e172b98ab731b80b19666eac30e7",
      "parents": [
        "4db70f73e56961b9bcdfd0c36c62847a18b7dbb5"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Wed May 25 22:09:40 2011 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu May 26 13:15:28 2011 +0200"
      },
      "message": "irq: Remove smp_affinity_list when unregister irq proc\n\ncommit 4b06042(bitmap, irq: add smp_affinity_list interface to\n/proc/irq) causes the following warning:\n\n[  274.239500] WARNING: at fs/proc/generic.c:850 remove_proc_entry+0x24c/0x27a()\n[  274.251761] remove_proc_entry: removing non-empty directory \u0027irq/184\u0027,\n    \t       leaking at least \u0027smp_affinity_list\u0027\n\nRemove the new file in the exit path.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Mike Travis \u003ctravis@sgi.com\u003e\nLink: http://lkml.kernel.org/r/4DDDE094.6050505@kernel.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "14d74e0cab7a7779a7ff0c3863c04c8a8e507106",
      "tree": "5e27d7495f8f7ce178b637d588ec42bd7b4173d8",
      "parents": [
        "49a78d085fa6b44d6ed791923c7172a6433589c2",
        "956c920786694f51601a0ef7ee12956fd6aa216e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 18:10:16 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 18:10:16 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/linux-2.6-nsfd\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/linux-2.6-nsfd:\n  net: fix get_net_ns_by_fd for !CONFIG_NET_NS\n  ns proc: Return -ENOENT for a nonexistent /proc/self/ns/ entry.\n  ns: Declare sys_setns in syscalls.h\n  net: Allow setting the network namespace by fd\n  ns proc: Add support for the ipc namespace\n  ns proc: Add support for the uts namespace\n  ns proc: Add support for the network namespace.\n  ns: Introduce the setns syscall\n  ns: proc files for namespace naming policy.\n"
    },
    {
      "commit": "9720d75399fd2655a6b6fb06abcf548150f22362",
      "tree": "a9c239d322420ad96afda07294d0c53295adcd3e",
      "parents": [
        "0c63e38a129e7b1f625c6112439a4efc87b1635c",
        "d92fcf0552a15891b25c343cee340d295e24109c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 16:53:14 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 16:53:14 2011 -0700"
      },
      "message": "Merge branch \u0027for-2.6.40\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/oleg/misc\n\n* \u0027for-2.6.40\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/oleg/misc:\n  signal: sys_pause() should check signal_pending()\n  ptrace: ptrace_resume() shouldn\u0027t wake up !TASK_TRACED thread\n"
    },
    {
      "commit": "0798b1dbfbd9ff2a370c5968c5f0621ef0075fe0",
      "tree": "c7f61ab9683786a070da0933b9981fc74a4d865f",
      "parents": [
        "ad363e0916423b2e6cdfcdc30ae707ec709f0a65",
        "6738d3210aabe3016a1b03cd98a7fc479c229197"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 15:35:32 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 15:35:32 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile: (26 commits)\n  arch/tile: prefer \"tilepro\" as the name of the 32-bit architecture\n  compat: include aio_abi.h for aio_context_t\n  arch/tile: cleanups for tilegx compat mode\n  arch/tile: allocate PCI IRQs later in boot\n  arch/tile: support signal \"exception-trace\" hook\n  arch/tile: use better definitions of xchg() and cmpxchg()\n  include/linux/compat.h: coding-style fixes\n  tile: add an RTC driver for the Tilera hypervisor\n  arch/tile: finish enabling support for TILE-Gx 64-bit chip\n  compat: fixes to allow working with tile arch\n  arch/tile: update defconfig file to something more useful\n  tile: do_hardwall_trap: do not play with task-\u003esighand\n  tile: replace mm-\u003ecpu_vm_mask with mm_cpumask()\n  tile,mn10300: add device parameter to dma_cache_sync()\n  audit: support the \"standard\" \u003casm-generic/unistd.h\u003e\n  arch/tile: clarify flush_buffer()/finv_buffer() function names\n  arch/tile: kernel-related cleanups from removing static page size\n  arch/tile: various header improvements for building drivers\n  arch/tile: disable GX prefetcher during cache flush\n  arch/tile: tolerate disabling CONFIG_BLK_DEV_INITRD\n  ...\n"
    },
    {
      "commit": "90ff1f30c0f401e325d6b2747618b7e3a0addaf8",
      "tree": "3b85646d25e9d27fdf6e568a145b85b2c9c79e90",
      "parents": [
        "51b550a41c2ac0373b42f4e211f2df113b735b0a"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 25 23:08:17 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 15:31:58 2011 -0700"
      },
      "message": "hrtimers: Fix typo causing erratic timers\n\ncommit 9ec2690758a5 (\"timerfd: Manage cancelable timers in timerfd\")\nintroduced a CONFIG_HIGHRES_TIMERS (should be CONFIG_HIGH_RES_TIMERS)\ntypo, which caused applications depending on CLOCK_REALTIME timers to\nbecome sluggy due to the fact that the time base of the realtime\ntimers was not updated when the wall clock time was set.\n\nThis causes anything from 100% CPU use for some applications to odd\ndelays and hickups.\n\nReported-bisected-and-tested-by: Anca Emanuel \u003canca.emanuel@gmail.com\u003e\nTested-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nFatfingered-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d92fcf0552a15891b25c343cee340d295e24109c",
      "tree": "ad43a9c62d926f223d699544bcef4695af4f3e9d",
      "parents": [
        "0666fb51b1483f27506e212cc7f7b2645b5c7acc"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed May 25 19:22:27 2011 +0200"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed May 25 19:22:27 2011 +0200"
      },
      "message": "signal: sys_pause() should check signal_pending()\n\nERESTART* is always wrong without TIF_SIGPENDING. Teach sys_pause()\nto handle the spurious wakeup correctly.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\n"
    },
    {
      "commit": "0666fb51b1483f27506e212cc7f7b2645b5c7acc",
      "tree": "ceb625d70f0c730a46e2d954b74d687cc36b0030",
      "parents": [
        "22e12bbc9bc38c6d0bd541d061a0f547596fc19d"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed May 25 19:20:21 2011 +0200"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed May 25 19:20:21 2011 +0200"
      },
      "message": "ptrace: ptrace_resume() shouldn\u0027t wake up !TASK_TRACED thread\n\nIt is not clear why ptrace_resume() does wake_up_process(). Unless the\ncaller is PTRACE_KILL the tracee should be TASK_TRACED so we can use\nwake_up_state(__TASK_TRACED). If sys_ptrace() races with SIGKILL we do\nnot need the extra and potentionally spurious wakeup.\n\nIf the caller is PTRACE_KILL, wake_up_process() is even more wrong.\nThe tracee can sleep in any state in any place, and if we have a buggy\ncode which doesn\u0027t handle a spurious wakeup correctly PTRACE_KILL can\nbe used to exploit it. For example:\n\n\tint main(void)\n\t{\n\t\tint child, status;\n\n\t\tchild \u003d fork();\n\t\tif (!child) {\n\t\t\tint ret;\n\n\t\t\tassert(ptrace(PTRACE_TRACEME, 0,0,0) \u003d\u003d 0);\n\n\t\t\tret \u003d pause();\n\t\t\tprintf(\"pause: %d %m\\n\", ret);\n\n\t\t\treturn 0x23;\n\t\t}\n\n\t\tsleep(1);\n\t\tassert(ptrace(PTRACE_KILL, child, 0,0) \u003d\u003d 0);\n\n\t\tassert(child \u003d\u003d wait(\u0026status));\n\t\tprintf(\"wait: %x\\n\", status);\n\n\t\treturn 0;\n\t}\n\nprints \"pause: -1 Unknown error 514\", -ERESTARTNOHAND leaks to the\nuserland. In this case sys_pause() is buggy as well and should be\nfixed.\n\nI do not know what was the original rationality behind PTRACE_KILL.\nThe man page is simply wrong and afaics it was always wrong. Imho\nit should be deprecated, or may be it should do send_sig(SIGKILL)\nas Denys suggests, but in any case I do not think that the current\nbehaviour was intentional.\n\nNote: there is another problem, ptrace_resume() changes -\u003eexit_code\nand this can race with SIGKILL too. Eventually we should change ptrace\nto not use -\u003eexit_code.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\n"
    },
    {
      "commit": "19426a8f810752b4218e59b1e2187f33e255f7bc",
      "tree": "dd88adc38ef98a10b1eea952f16d7480411e2409",
      "parents": [
        "0f1493a60167cf6333626456d3fc8aff4e6fa237",
        "8af088710d1eb3c980e0ef3779c8d47f3f217b48"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:58:50 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:58:50 2011 -0700"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  posix-timers: RCU conversion\n"
    },
    {
      "commit": "162a7e7500f9664636e649ba59defe541b7c2c60",
      "tree": "f44d4e480975d7f2c4bd4fd8625dbdb81eb04ade",
      "parents": [
        "95dde501907b06e7203c74f8435acfdab9eb2659"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Tue May 24 17:13:20 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:48 2011 -0700"
      },
      "message": "printk: allocate kernel log buffer earlier\n\nOn larger systems, because of the numerous ACPI, Bootmem and EFI messages,\nthe static log buffer overflows before the larger one specified by the\nlog_buf_len param is allocated.  Minimize the overflow by allocating the\nnew log buffer as soon as possible.\n\nOn kernels without memblock, a later call to setup_log_buf from\nkernel/init.c is the fallback.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: fix CONFIG_PRINTK\u003dn build]\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4b060420a596095869a6d7849caa798d23839cd1",
      "tree": "ebbbc25555d0358f73527f114f78691ac849ce3e",
      "parents": [
        "e50c1f609c63223adaa38f5a79b18759a00adf72"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Tue May 24 17:13:12 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:45 2011 -0700"
      },
      "message": "bitmap, irq: add smp_affinity_list interface to /proc/irq\n\nManually adjusting the smp_affinity for IRQ\u0027s becomes unwieldy when the\ncpu count is large.\n\nSetting smp affinity to cpus 256 to 263 would be:\n\n\techo 000000ff,00000000,00000000,00000000,00000000,00000000,00000000,00000000 \u003e smp_affinity\n\ninstead of:\n\n\techo 256-263 \u003e smp_affinity_list\n\nThink about what it looks like for cpus around say, 4088 to 4095.\n\nWe already have many alternate \"list\" interfaces:\n\n/sys/devices/system/cpu/cpuX/indexY/shared_cpu_list\n/sys/devices/system/cpu/cpuX/topology/thread_siblings_list\n/sys/devices/system/cpu/cpuX/topology/core_siblings_list\n/sys/devices/system/node/nodeX/cpulist\n/sys/devices/pci***/***/local_cpulist\n\nAdd a companion interface, smp_affinity_list to use cpu lists instead of\ncpu maps.  This conforms to other companion interfaces where both a map\nand a list interface exists.\n\nThis required adding a bitmap_parselist_user() function in a manner\nsimilar to the bitmap_parse_user() function.\n\n[akpm@linux-foundation.org: make __bitmap_parselist() static]\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Andy Shevchenko \u003candy.shevchenko@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": "de03c72cfce5b263a674d04348b58475ec50163c",
      "tree": "e2b035234440bcd1aa88078c3f9c8457d461ef9c",
      "parents": [
        "692e0b35427a088bf75d9363788c61c7edbe93a5"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue May 24 17:12:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:21 2011 -0700"
      },
      "message": "mm: convert mm-\u003ecpu_vm_cpumask into cpumask_var_t\n\ncpumask_t is very big struct and cpu_vm_mask is placed wrong position.\nIt might lead to reduce cache hit ratio.\n\nThis patch has two change.\n1) Move the place of cpumask into last of mm_struct. Because usually cpumask\n   is accessed only front bits when the system has cpu-hotplug capability\n2) Convert cpu_vm_mask into cpumask_var_t. It may help to reduce memory\n   footprint if cpumask_size() will use nr_cpumask_bits properly in future.\n\nIn addition, this patch change the name of cpu_vm_mask with cpu_vm_mask_var.\nIt may help to detect out of tree cpu_vm_mask users.\n\nThis patch has no functional change.\n\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Koichi Yasutake \u003cyasutake.koichi@jp.panasonic.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3d48ae45e72390ddf8cc5256ac32ed6f7a19cbea",
      "tree": "1f46db3a8424090dd8e0b58991fa5acc1a73e680",
      "parents": [
        "97a894136f29802da19a15541de3c019e1ca147e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 24 17:12:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:18 2011 -0700"
      },
      "message": "mm: Convert i_mmap_lock to a mutex\n\nStraightforward conversion of i_mmap_lock to a mutex.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Richard Weinberger \u003crichard@nod.at\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Namhyung Kim \u003cnamhyung@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": "97a894136f29802da19a15541de3c019e1ca147e",
      "tree": "1fd3f92ba92a37d5d8527a1f41458091d0a944dc",
      "parents": [
        "e4c70a6629f9c74c4b0de258a3951890e9047c82"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 24 17:12:04 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:17 2011 -0700"
      },
      "message": "mm: Remove i_mmap_lock lockbreak\n\nHugh says:\n \"The only significant loser, I think, would be page reclaim (when\n  concurrent with truncation): could spin for a long time waiting for\n  the i_mmap_mutex it expects would soon be dropped? \"\n\nCounter points:\n - cpu contention makes the spin stop (need_resched())\n - zap pages should be freeing pages at a higher rate than reclaim\n   ever can\n\nI think the simplification of the truncate code is definitely worth it.\n\nEffectively reverts: 2aa15890f3c (\"mm: prevent concurrent\nunmap_mapping_range() on the same inode\") and takes out the code that\ncaused its problem.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Richard Weinberger \u003crichard@nod.at\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Namhyung Kim \u003cnamhyung@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": "e4c70a6629f9c74c4b0de258a3951890e9047c82",
      "tree": "aac3502b1fa1ed0f53d290aa1a18b9ce493c5a6b",
      "parents": [
        "e303297e6c3a7b847c4731eb14006ca6b435ecca"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 24 17:12:03 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:17 2011 -0700"
      },
      "message": "lockdep, mutex: provide mutex_lock_nest_lock\n\nIn order to convert i_mmap_lock to a mutex we need a mutex equivalent to\nspin_lock_nest_lock(), thus provide the mutex_lock_nest_lock() annotation.\n\nAs with spin_lock_nest_lock(), mutex_lock_nest_lock() allows annotation of\nthe locking pattern where an outer lock serializes the acquisition order\nof nested locks.  That is, if every time you lock multiple locks A, say A1\nand A2 you first acquire N, the order of acquiring A1 and A2 is\nirrelevant.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Richard Weinberger \u003crichard@nod.at\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Namhyung Kim \u003cnamhyung@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": "b0ca118dbacbc6c35e15f216e25e95cca7aedf5b",
      "tree": "6c61c91ff0174c8774d4010b892ecf0bed560910",
      "parents": [
        "2bb732cdb48d271ff7a910260ffb851fb4bc8a28",
        "b7b57551bbda1390959207f79f2038aa7adb72ae"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 24 13:38:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 24 13:38:19 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: (43 commits)\n  TOMOYO: Fix wrong domainname validation.\n  SELINUX: add /sys/fs/selinux mount point to put selinuxfs\n  CRED: Fix load_flat_shared_library() to initialise bprm correctly\n  SELinux: introduce path_has_perm\n  flex_array: allow 0 length elements\n  flex_arrays: allow zero length flex arrays\n  flex_array: flex_array_prealloc takes a number of elements, not an end\n  SELinux: pass last path component in may_create\n  SELinux: put name based create rules in a hashtable\n  SELinux: generic hashtab entry counter\n  SELinux: calculate and print hashtab stats with a generic function\n  SELinux: skip filename trans rules if ttype does not match parent dir\n  SELinux: rename filename_compute_type argument to *type instead of *con\n  SELinux: fix comment to state filename_compute_type takes an objname not a qstr\n  SMACK: smack_file_lock can use the struct path\n  LSM: separate LSM_AUDIT_DATA_DENTRY from LSM_AUDIT_DATA_PATH\n  LSM: split LSM_AUDIT_DATA_FS into _PATH and _INODE\n  SELINUX: Make selinux cache VFS RCU walks safe\n  SECURITY: Move exec_permission RCU checks into security modules\n  SELinux: security_read_policy should take a size_t not ssize_t\n  ...\n"
    },
    {
      "commit": "5129df03d0c44b2d5a5f9d7d52f3b079706b9a8f",
      "tree": "799e309a7db032cb7abe9f0fa910c2989c3fdab5",
      "parents": [
        "4d429480352c63db2228489f0db9fd381cdc3c9c",
        "6988f20fe04e9ef3aea488cb8ab57fbeb78e12f0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 24 11:53:42 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 24 11:53:42 2011 -0700"
      },
      "message": "Merge branch \u0027for-2.6.40\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-2.6.40\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:\n  percpu: Unify input section names\n  percpu: Avoid extra NOP in percpu_cmpxchg16b_double\n  percpu: Cast away printk format warning\n  percpu: Always align percpu output section to PAGE_SIZE\n\nFix up fairly trivial conflict in arch/x86/include/asm/percpu.h as per Tejun\n"
    },
    {
      "commit": "434d42cfd05a7cc452457a81d2029540cba12150",
      "tree": "3a6b9b7f9ff2e1b7409dd66c15242b2a75aa4422",
      "parents": [
        "d762f4383100c2a87b1a3f2d678cd3b5425655b4",
        "12a5a2621b1ee14d32beca35304d7c6076a58815"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue May 24 22:55:24 2011 +1000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue May 24 22:55:24 2011 +1000"
      },
      "message": "Merge branch \u0027next\u0027 into for-linus\n"
    },
    {
      "commit": "8af088710d1eb3c980e0ef3779c8d47f3f217b48",
      "tree": "e122a2e65684f0a40d263ba73afe3d54a2c5993a",
      "parents": [
        "d762f4383100c2a87b1a3f2d678cd3b5425655b4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue May 24 11:12:58 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue May 24 12:10:51 2011 +0200"
      },
      "message": "posix-timers: RCU conversion\n\nBen Nagy reported a scalability problem with KVM/QEMU that hit very hard\na single spinlock (idr_lock) in posix-timers code, on its 48 core\nmachine.\n\nEven on a 16 cpu machine (2x4x2), a single test can show 98% of cpu time\nused in ticket_spin_lock, from lock_timer\n\nRef: http://www.spinics.net/lists/kvm/msg51526.html\n\nSwitching to RCU is quite easy, IDR being already RCU ready. idr_lock\nshould be locked only for an insert/delete, not a lookup.\n\nBenchmark on a 2x4x2 machine, 16 processes calling timer_gettime().\n\nBefore :\n\nreal    1m18.669s\nuser    0m1.346s\nsys     1m17.180s\n\nAfter :\n\nreal    0m3.296s\nuser    0m1.366s\nsys     0m1.926s\n\nReported-by: Ben Nagy \u003cben@iagu.net\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nTested-by: Ben Nagy \u003cben@iagu.net\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Richard Cochran \u003crichard.cochran@omicron.at\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6988f20fe04e9ef3aea488cb8ab57fbeb78e12f0",
      "tree": "c9d7fc50a2e2147a5ca07e3096e7eeb916ad2da9",
      "parents": [
        "0415b00d175e0d8945e6785aad21b5f157976ce0",
        "6ea0c34dac89611126455537552cffe6c7e832ad"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue May 24 09:59:36 2011 +0200"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue May 24 09:59:36 2011 +0200"
      },
      "message": "Merge branch \u0027fixes-2.6.39\u0027 into for-2.6.40\n"
    },
    {
      "commit": "5214638384a968574a5ea3df1d3b3194da32a496",
      "tree": "f0defc396d154c35cd57692c33e7596cd314a93b",
      "parents": [
        "df462b3dbeeaae7141f1b63cbfcc1e1bae6a85fc",
        "0f61f3e4db71946292ef8d6d6df74b8fcf001646"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 21:20:48 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 21:20:48 2011 -0700"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf tools: Fix sample type size calculation in 32 bits archs\n  profile: Use vzalloc() rather than vmalloc() \u0026 memset()\n"
    },
    {
      "commit": "5f2e8e2b0bf0f3a1819b25f6117a7f20bd15521d",
      "tree": "f7188c9376072d0ad37ae06832a2554dec320c67",
      "parents": [
        "5e152b4c9e0fce6149c74406346a7ae7e7a17727"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 21:07:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 21:07:40 2011 -0700"
      },
      "message": "kernel/watchdog.c: Use proper ANSI C prototypes\n\nWe try to enforce it by using -Wstrict-prototypes, but apparently they\nsometimes get through.  Introduced by 4eec42f39204 (\"watchdog: Change\nthe default timeout and configure nmi watchdog period based\").\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "15a3d11b0f2ebdfb3591e411e268aa81998d4723",
      "tree": "56e1d7715653871f015341c7edabd08045f5fc28",
      "parents": [
        "1f3a8e093f470ef193b0ca6011d90180331c8b53",
        "c8b281161dfa4bb5d5be63fb036ce19347b88c63"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 12:53:48 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 12:53:48 2011 -0700"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Increase SCHED_LOAD_SCALE resolution\n  sched: Introduce SCHED_POWER_SCALE to scale cpu_power calculations\n  sched: Cleanup set_load_weight()\n"
    },
    {
      "commit": "1f3a8e093f470ef193b0ca6011d90180331c8b53",
      "tree": "66b7a58decabdc7f76ffb102899881c258c1df59",
      "parents": [
        "c44dead70a841d90ddc01968012f323c33217c9e",
        "1a4b6f66285785ddccef049e6b45be4e7c7a2189"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 12:49:28 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 12:49:28 2011 -0700"
      },
      "message": "Merge branch \u0027staging-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6\n\n* \u0027staging-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: (970 commits)\n  staging: usbip: replace usbip_u{dbg,err,info} and printk with dev_ and pr_\n  staging:iio: Trivial kconfig reorganization and uniformity improvements.\n  staging:iio:documenation partial update.\n  staging:iio: use pollfunc allocation helpers in remaining drivers.\n  staging:iio:max1363 misc cleanups and use of for_each_bit_set to simplify event code spitting out.\n  staging:iio: implement an iio_info structure to take some of the constant elements out of iio_dev.\n  staging:iio:meter:ade7758: Use private data space from iio_allocate_device\n  staging:iio:accel:lis3l02dq make write_reg_8 take value not a pointer to value.\n  staging:iio: ring core cleanups + check if read_last available in lis3l02dq\n  staging:iio:core cleanup: squash tiny wrappers and use dev_set_name to handle creation of event interface name.\n  staging:iio: poll func allocation clean up.\n  staging:iio:ad7780 trivial unused header cleanup.\n  staging:iio:adc: AD7780: Use private data space from iio_allocate_device + trivial fixes\n  staging:iio:adc:AD7780: Convert to new channel registration method\n  staging:iio:adc: AD7606: Drop dev_data in favour of iio_priv()\n  staging:iio:adc: AD7606: Consitently use indio_dev\n  staging:iio: Rip out helper for software rings.\n  staging:iio:adc:AD7298: Use private data space from iio_allocate_device\n  staging:iio: rationalization of different buffer implementation hooks.\n  staging:iio:imu:adis16400 avoid allocating rx, tx, and state separately from iio_dev.\n  ...\n\nFix up trivial conflicts in\n - drivers/staging/intel_sst/intelmid.c: patches applied in both branches\n - drivers/staging/rt2860/common/cmm_data_{pci,usb}.c: removed vs spelling\n - drivers/staging/usbip/vhci_sysfs.c: trivial header file inclusion\n"
    },
    {
      "commit": "30cb6d5f2eb24d15d20139d5ceefaccc68734bd7",
      "tree": "773c5a98645e4b945343caddcfe5af365566ccc5",
      "parents": [
        "4867faab1e3eb8cc3f74e390357615d9b8e8cda6",
        "68fa61c026057a39d6ccb850aa8785043afbee02"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 11:30:28 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 11:30:28 2011 -0700"
      },
      "message": "Merge branch \u0027timers-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  hrtimers: Reorder clock bases\n  hrtimers: Avoid touching inactive timer bases\n  hrtimers: Make struct hrtimer_cpu_base layout less stupid\n  timerfd: Manage cancelable timers in timerfd\n  clockevents: Move C3 stop test outside lock\n  alarmtimer: Drop device refcount after rtc_open()\n  alarmtimer: Check return value of class_find_device()\n  timerfd: Allow timers to be cancelled when clock was set\n  hrtimers: Prepare for cancel on clock was set timers\n"
    },
    {
      "commit": "19504828b4bee5e471bcd35e214bc6fd0d380692",
      "tree": "30d4ffb6783daf9fadd47548c035646d3f0f073e",
      "parents": [
        "57d19e80f459dd845fb3cfeba8e6df8471bac142",
        "3cb6d1540880e767d911b79eb49578de2190f428"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 09:25:52 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 09:25:52 2011 -0700"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf tools: Fix sample size bit operations\n  perf tools: Fix ommitted mmap data update on remap\n  watchdog: Change the default timeout and configure nmi watchdog period based on watchdog_thresh\n  watchdog: Disable watchdog when thresh is zero\n  watchdog: Only disable/enable watchdog if neccessary\n  watchdog: Fix rounding bug in get_sample_period()\n  perf tools: Propagate event parse error handling\n  perf tools: Robustify dynamic sample content fetch\n  perf tools: Pre-check sample size before parsing\n  perf tools: Move evlist sample helpers to evlist area\n  perf tools: Remove junk code in mmap size handling\n  perf tools: Check we are able to read the event size on mmap\n"
    },
    {
      "commit": "57d19e80f459dd845fb3cfeba8e6df8471bac142",
      "tree": "8254766715720228db3d50f1ef3c7fe003c06d65",
      "parents": [
        "ee9ec4f82049c678373a611ce20ac67fe9ad836e",
        "e64851f5a0ad6ec991f74ebb3108c35aa0323d5f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 09:12:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 09:12:26 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits)\n  b43: fix comment typo reqest -\u003e request\n  Haavard Skinnemoen has left Atmel\n  cris: typo in mach-fs Makefile\n  Kconfig: fix copy/paste-ism for dell-wmi-aio driver\n  doc: timers-howto: fix a typo (\"unsgined\")\n  perf: Only include annotate.h once in tools/perf/util/ui/browsers/annotate.c\n  md, raid5: Fix spelling error in comment (\u0027Ofcourse\u0027 --\u003e \u0027Of course\u0027).\n  treewide: fix a few typos in comments\n  regulator: change debug statement be consistent with the style of the rest\n  Revert \"arm: mach-u300/gpio: Fix mem_region resource size miscalculations\"\n  audit: acquire creds selectively to reduce atomic op overhead\n  rtlwifi: don\u0027t touch with treewide double semicolon removal\n  treewide: cleanup continuations and remove logging message whitespace\n  ath9k_hw: don\u0027t touch with treewide double semicolon removal\n  include/linux/leds-regulator.h: fix syntax in example code\n  tty: fix typo in descripton of tty_termios_encode_baud_rate\n  xtensa: remove obsolete BKL kernel option from defconfig\n  m68k: fix comment typo \u0027occcured\u0027\n  arch:Kconfig.locks Remove unused config option.\n  treewide: remove extra semicolons\n  ...\n"
    },
    {
      "commit": "8ce26169555cf5634263d39d3665e45300218a5e",
      "tree": "fa3dcd7da5af214001e9952bb376e4f0ead8c841",
      "parents": [
        "3cb6d1540880e767d911b79eb49578de2190f428",
        "559fa6e76b271b98ff641fa2a968aa2439e43c28"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 23 16:15:43 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 23 16:15:58 2011 +0200"
      },
      "message": "Merge commit \u0027559fa6e76b27\u0027 into perf/urgent\n\nMerge reason: this commit was queued up quite some time ago but was\n              forgotten about.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "68fa61c026057a39d6ccb850aa8785043afbee02",
      "tree": "aa8a96849d4bd9b1e46c602d398cda0e72d4115c",
      "parents": [
        "ab8177bc53e8ae3a3ba6d200ce2c2dae263f7ee5"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 20 23:14:04 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 23 13:59:54 2011 +0200"
      },
      "message": "hrtimers: Reorder clock bases\n\nThe ordering of the clock bases is historical due to the\nCLOCK_REALTIME and CLOCK_MONOTONIC constants. Now the hrtimer bases\nhave their own enumeration due to the gap between CLOCK_MONOTONIC and\nCLOCK_BOOTTIME. So we can be more clever as most timers end up on the\nCLOCK_MONOTONIC base due to the virtue of POSIX declaring that\nrelative CLOCK_REALTIME timers are not affected by time changes. In\ndesktop environments this is slowly changing as applications switch to\nabsolute timers, but I\u0027ve observed empty CLOCK_REALTIME bases often\nenough. There is no performance penalty or overhead when\nCLOCK_REALTIME timers are active, but in case they are not we don\u0027t\nskip over a full cache line.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\n"
    },
    {
      "commit": "ab8177bc53e8ae3a3ba6d200ce2c2dae263f7ee5",
      "tree": "c8b370496497b4f96d6a17da906bdd9314e9a090",
      "parents": [
        "f24444b01bf6c51c300fd3ffc73423383d747882"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 20 13:05:15 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 23 13:59:54 2011 +0200"
      },
      "message": "hrtimers: Avoid touching inactive timer bases\n\nInstead of iterating over all possible timer bases avoid it by marking\nthe active bases in the cpu base.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\n"
    },
    {
      "commit": "9ec2690758a5467f24beb301cca5098078073bba",
      "tree": "e5bc78f690d12635a56460ea6f54b49318221dc8",
      "parents": [
        "250f972d85effad5b6e10da4bbd877e6a4b503b6"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 20 16:18:50 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 23 13:59:53 2011 +0200"
      },
      "message": "timerfd: Manage cancelable timers in timerfd\n\nPeter is concerned about the extra scan of CLOCK_REALTIME_COS in the\ntimer interrupt. Yes, I did not think about it, because the solution\nwas so elegant. I didn\u0027t like the extra list in timerfd when it was\nproposed some time ago, but with a rcu based list the list walk it\u0027s\nless horrible than the original global lock, which was held over the\nlist iteration.\n\nRequested-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\n"
    },
    {
      "commit": "4eec42f392043063d0f019640b4ccc2a45570002",
      "tree": "32db1c354f9c12d1275093efed8101a2bd5db232",
      "parents": [
        "586692a5a5fc5740c8a46abc0f2365495c2d7c5f"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "msb@chromium.org",
        "time": "Sun May 22 22:10:23 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 23 11:58:59 2011 +0200"
      },
      "message": "watchdog: Change the default timeout and configure nmi watchdog period based on watchdog_thresh\n\nBefore the conversion of the NMI watchdog to perf event, the\nwatchdog timeout was 5 seconds. Now it is 60 seconds. For my\nparticular application, netbooks, 5 seconds was a better\ntimeout. With a short timeout, we catch faults earlier and are\nable to send back a panic. With a 60 second timeout, the user is\nunlikely to wait and will instead hit the power button, causing\nus to lose the panic info.\n\nThis change configures the NMI period to watchdog_thresh and\nsets the softlockup_thresh to watchdog_thresh * 2. In addition,\nwatchdog_thresh was reduced to 10 seconds as suggested by Ingo\nMolnar.\n\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nCc: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/r/1306127423-3347-4-git-send-email-msb@chromium.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nLKML-Reference: \u003c20110517071642.GF22305@elte.hu\u003e\n"
    },
    {
      "commit": "586692a5a5fc5740c8a46abc0f2365495c2d7c5f",
      "tree": "bc08228e67a968d83691c9efc5ea1feda9e6f98b",
      "parents": [
        "e04ab2bc41b35c0cb6cdb07c8443f91aa738cf78"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "msb@chromium.org",
        "time": "Sun May 22 22:10:22 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 23 11:58:59 2011 +0200"
      },
      "message": "watchdog: Disable watchdog when thresh is zero\n\nThis restores the previous behavior of softlock_thresh.\n\nCurrently, setting watchdog_thresh to zero causes the watchdog\nkthreads to consume a lot of CPU.\n\nIn addition, the logic of proc_dowatchdog_thresh and\nproc_dowatchdog_enabled has been factored into proc_dowatchdog.\n\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nCc: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/r/1306127423-3347-3-git-send-email-msb@chromium.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nLKML-Reference: \u003c20110517071018.GE22305@elte.hu\u003e\n"
    },
    {
      "commit": "e04ab2bc41b35c0cb6cdb07c8443f91aa738cf78",
      "tree": "511efcd50f74c0a3cf28cf5c68eaa5e70b45fbc7",
      "parents": [
        "824c6b7f6294101f30e141117def224a56c203e6"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "msb@chromium.org",
        "time": "Sun May 22 22:10:21 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 23 11:58:58 2011 +0200"
      },
      "message": "watchdog: Only disable/enable watchdog if neccessary\n\nDon\u0027t take any action on an unsuccessful write to /proc.\n\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nCc: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/r/1306127423-3347-2-git-send-email-msb@chromium.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "824c6b7f6294101f30e141117def224a56c203e6",
      "tree": "c609d4c12a1d5af1ceccb5c1c2275df2947d9e2c",
      "parents": [
        "3ac1bbcf13c56a19927df670f429eb0c3c11f8e5"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "msb@chromium.org",
        "time": "Sun May 22 22:10:20 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 23 11:58:58 2011 +0200"
      },
      "message": "watchdog: Fix rounding bug in get_sample_period()\n\nIn get_sample_period(), softlockup_thresh is integer divided by\n5 before the multiplication by NSEC_PER_SEC. This results in\nsoftlockup_thresh being rounded down to the nearest integer\nmultiple of 5.\n\nFor example, a softlockup_thresh of 4 rounds down to 0.\n\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nCc: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/r/1306127423-3347-1-git-send-email-msb@chromium.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e98bae7592a44bdce2e49ccd64f3c7ffe244a0f6",
      "tree": "1887da3331c5214c330226506d229222b454e960",
      "parents": [
        "4b382d0643603819e8b48da58efc254cabc22574",
        "f400bdb1d6de4344980cf39041497b288090dd33"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 22 22:06:24 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 22 22:06:24 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6: (28 commits)\n  sparc32: fix build, fix missing cpu_relax declaration\n  SCHED_TTWU_QUEUE is not longer needed since sparc32 now implements IPI\n  sparc32,leon: Remove unnecessary page_address calls in LEON DMA API.\n  sparc: convert old cpumask API into new one\n  sparc32, sun4d: Implemented SMP IPIs support for SUN4D machines\n  sparc32, sun4m: Implemented SMP IPIs support for SUN4M machines\n  sparc32,leon: Implemented SMP IPIs for LEON CPU\n  sparc32: implement SMP IPIs using the generic functions\n  sparc32,leon: SMP power down implementation\n  sparc32,leon: added some SMP comments\n  sparc: add {read,write}*_be routines\n  sparc32,leon: don\u0027t rely on bootloader to mask IRQs\n  sparc32,leon: operate on boot-cpu IRQ controller registers\n  sparc32: always define boot_cpu_id\n  sparc32: removed unused code, implemented by generic code\n  sparc32: avoid build warning at mm/percpu.c:1647\n  sparc32: always register a PROM based early console\n  sparc32: probe for cpu info only during startup\n  sparc: consolidate show_cpuinfo in cpu.c\n  sparc32,leon: implement genirq CPU affinity\n  ...\n"
    },
    {
      "commit": "be84bfcc3ed8f824751ab79349779e50cc98aa01",
      "tree": "ca42d81fbc402405614cae288bf7600bee82cc21",
      "parents": [
        "06f4e926d256d902dd9a53dcb400fd74974ce087"
      ],
      "author": {
        "name": "Kevin Cernekee",
        "email": "cernekee@gmail.com",
        "time": "Tue May 17 10:39:58 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 13:53:02 2011 -0700"
      },
      "message": "ipc: Add missing sys_ni entries for ipc/compat.c functions\n\nWhen building with:\n\n  CONFIG_64BIT\u003dy\n  CONFIG_MIPS32_COMPAT\u003dy\n  CONFIG_COMPAT\u003dy\n  CONFIG_MIPS32_O32\u003dy\n  CONFIG_MIPS32_N32\u003dy\n  CONFIG_SYSVIPC is not set\n  (and implicitly: CONFIG_SYSVIPC_COMPAT is not set)\n\nthe final link fails with unresolved symbols for:\n\n  compat_sys_semctl, compat_sys_msgsnd, compat_sys_msgrcv,\n  compat_sys_shmctl, compat_sys_msgctl, compat_sys_semtimedop\n\nThe fix is to add cond_syscall declarations for all syscalls in\nipc/compat.c\n\nSigned-off-by: Kevin Cernekee \u003ccernekee@gmail.com\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "06f4e926d256d902dd9a53dcb400fd74974ce087",
      "tree": "0b438b67f5f0eff6fd617bc497a9dace6164a488",
      "parents": [
        "8e7bfcbab3825d1b404d615cb1b54f44ff81f981",
        "d93515611bbc70c2fe4db232e5feb448ed8e4cc9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 13:43:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 13:43:21 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1446 commits)\n  macvlan: fix panic if lowerdev in a bond\n  tg3: Add braces around 5906 workaround.\n  tg3: Fix NETIF_F_LOOPBACK error\n  macvlan: remove one synchronize_rcu() call\n  networking: NET_CLS_ROUTE4 depends on INET\n  irda: Fix error propagation in ircomm_lmp_connect_response()\n  irda: Kill set but unused variable \u0027bytes\u0027 in irlan_check_command_param()\n  irda: Kill set but unused variable \u0027clen\u0027 in ircomm_connect_indication()\n  rxrpc: Fix set but unused variable \u0027usage\u0027 in rxrpc_get_transport()\n  be2net: Kill set but unused variable \u0027req\u0027 in lancer_fw_download()\n  irda: Kill set but unused vars \u0027saddr\u0027 and \u0027daddr\u0027 in irlan_provider_connect_indication()\n  atl1c: atl1c_resume() is only used when CONFIG_PM_SLEEP is defined.\n  rxrpc: Fix set but unused variable \u0027usage\u0027 in rxrpc_get_peer().\n  rxrpc: Kill set but unused variable \u0027local\u0027 in rxrpc_UDP_error_handler()\n  rxrpc: Kill set but unused variable \u0027sp\u0027 in rxrpc_process_connection()\n  rxrpc: Kill set but unused variable \u0027sp\u0027 in rxrpc_rotate_tx_window()\n  pkt_sched: Kill set but unused variable \u0027protocol\u0027 in tc_classify()\n  isdn: capi: Use pr_debug() instead of ifdefs.\n  tg3: Update version to 3.119\n  tg3: Apply rx_discards fix to 5719/5720\n  ...\n\nFix up trivial conflicts in arch/x86/Kconfig and net/mac80211/agg-tx.c\nas per Davem.\n"
    },
    {
      "commit": "102dc1bae12a20214c9ee2d33a7402dc5175e30d",
      "tree": "dbc2364c164db3743bd86ff02557369daac0fac4",
      "parents": [
        "91444f47b2a0e50a15849f49db8c15382cd8de1b",
        "bbe7b8bef48c567f5ff3f6041c1fb011292e8f12"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 13:38:28 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 13:38:28 2011 -0700"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  MAINTAINERS: Add drivers/clocksource to TIMEKEEPING\n  clockevents/source: Use u64 to make 32bit happy\n"
    },
    {
      "commit": "bc091c93a0f60717aa99e25c406892cd8c0187dc",
      "tree": "66fc7f6c97a11327c3acb0aee5c346717672a9f3",
      "parents": [
        "3ed4c0583daa34dedb568b26ff99e5a7b58db612",
        "a2d063ac216c1618bfc2b4d40b7176adffa63511"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 13:37:22 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 13:37:22 2011 -0700"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  extable, core_kernel_data(): Make sure all archs define _sdata\n  core_kernel_data(): Fix architectures that do not define _sdata\n"
    },
    {
      "commit": "3ed4c0583daa34dedb568b26ff99e5a7b58db612",
      "tree": "a531d4cc94acaa58fe0600cf83da9fb8b77f6e50",
      "parents": [
        "ad9471752ebae25daa133b4e5d9299809c35e155",
        "bd715d9a4f13f87bad5526c2cd41370949473b16"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 13:33:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 13:33:21 2011 -0700"
      },
      "message": "Merge branch \u0027ptrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/oleg/misc\n\n* \u0027ptrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/oleg/misc: (41 commits)\n  signal: trivial, fix the \"timespec declared inside parameter list\" warning\n  job control: reorganize wait_task_stopped()\n  ptrace: fix signal-\u003ewait_chldexit usage in task_clear_group_stop_trapping()\n  signal: sys_sigprocmask() needs retarget_shared_pending()\n  signal: cleanup sys_sigprocmask()\n  signal: rename signandsets() to sigandnsets()\n  signal: do_sigtimedwait() needs retarget_shared_pending()\n  signal: introduce do_sigtimedwait() to factor out compat/native code\n  signal: sys_rt_sigtimedwait: simplify the timeout logic\n  signal: cleanup sys_rt_sigprocmask()\n  x86: signal: sys_rt_sigreturn() should use set_current_blocked()\n  x86: signal: handle_signal() should use set_current_blocked()\n  signal: sigprocmask() should do retarget_shared_pending()\n  signal: sigprocmask: narrow the scope of -\u003esiglock\n  signal: retarget_shared_pending: optimize while_each_thread() loop\n  signal: retarget_shared_pending: consider shared/unblocked signals only\n  signal: introduce retarget_shared_pending()\n  ptrace: ptrace_check_attach() should not do s/STOPPED/TRACED/\n  signal: Turn SIGNAL_STOP_DEQUEUED into GROUP_STOP_DEQUEUED\n  signal: do_signal_stop: Remove the unneeded task_clear_group_stop_pending()\n  ...\n"
    },
    {
      "commit": "17d9f311eca13a42bf950198a358be1420d19c5f",
      "tree": "2d1a77f66ccd607f6ab2cf304f8031724a82c7fc",
      "parents": [
        "90d3ac15e5c637d45849e83c828ed78c62886737"
      ],
      "author": {
        "name": "Daniel Hellstrom",
        "email": "daniel@gaisler.com",
        "time": "Fri May 20 04:01:10 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 20 13:10:55 2011 -0700"
      },
      "message": "SCHED_TTWU_QUEUE is not longer needed since sparc32 now implements IPI\n\nSigned-off-by: Daniel Hellstrom \u003cdaniel@gaisler.com\u003e\nReported-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "90d3ac15e5c637d45849e83c828ed78c62886737",
      "tree": "c5568365f32386559d2710e8981ed41e5fe0eb12",
      "parents": [
        "9fafbd806198eb690c9a9f9fe35a879db93a1b8d",
        "317f394160e9beb97d19a84c39b7e5eb3d7815a8"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 20 13:10:22 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 20 13:10:22 2011 -0700"
      },
      "message": "Merge commit \u0027317f394160e9beb97d19a84c39b7e5eb3d7815a8\u0027\n\nConflicts:\n\tarch/sparc/kernel/smp_32.c\n\nWith merge conflict help from Daniel Hellstrom.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "268bb0ce3e87872cb9290c322b0d35bce230d88f",
      "tree": "c8331ade4a3e24fc589c4eb62731bc2312d35333",
      "parents": [
        "257313b2a87795e07a0bdf58d0fffbdba8b31051"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 12:50:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 12:50:29 2011 -0700"
      },
      "message": "sanitize \u003clinux/prefetch.h\u003e usage\n\nCommit e66eed651fd1 (\"list: remove prefetching from regular list\niterators\") removed the include of prefetch.h from list.h, which\nuncovered several cases that had apparently relied on that rather\nobscure header file dependency.\n\nSo this fixes things up a bit, using\n\n   grep -L linux/prefetch.h $(git grep -l \u0027[^a-z_]prefetchw*(\u0027 -- \u0027*.[ch]\u0027)\n   grep -L \u0027prefetchw*(\u0027 $(git grep -l \u0027linux/prefetch.h\u0027 -- \u0027*.[ch]\u0027)\n\nto guide us in finding files that either need \u003clinux/prefetch.h\u003e\ninclusion, or have it despite not needing it.\n\nThere are more of them around (mostly network drivers), but this gets\nmany core ones.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "250f972d85effad5b6e10da4bbd877e6a4b503b6",
      "tree": "007393a6fc6439af7e0121dd99a6f9f9fb8405bc",
      "parents": [
        "7372b0b122af0f6675f3ab65bfd91c8a438e0480",
        "bbe7b8bef48c567f5ff3f6041c1fb011292e8f12"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 20 20:06:24 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 20 20:08:05 2011 +0200"
      },
      "message": "Merge branch \u0027timers/urgent\u0027 into timers/core\n\nReason: Get upstream fixes and kfree_rcu which is necessary for a\nfollow up patch.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c8b281161dfa4bb5d5be63fb036ce19347b88c63",
      "tree": "45a6357cd0b5d50de8608e30616cb2eea2619a1a",
      "parents": [
        "1399fa7807a1a5998bbf147e80668e9950661dfa"
      ],
      "author": {
        "name": "Nikhil Rao",
        "email": "ncrao@google.com",
        "time": "Wed May 18 14:37:48 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 20 14:16:50 2011 +0200"
      },
      "message": "sched: Increase SCHED_LOAD_SCALE resolution\n\nIntroduce SCHED_LOAD_RESOLUTION, which scales is added to\nSCHED_LOAD_SHIFT and increases the resolution of\nSCHED_LOAD_SCALE. This patch sets the value of\nSCHED_LOAD_RESOLUTION to 10, scaling up the weights for all\nsched entities by a factor of 1024. With this extra resolution,\nwe can handle deeper cgroup hiearchies and the scheduler can do\nbetter shares distribution and load load balancing on larger\nsystems (especially for low weight task groups).\n\nThis does not change the existing user interface, the scaled\nweights are only used internally. We do not modify\nprio_to_weight values or inverses, but use the original weights\nwhen calculating the inverse which is used to scale execution\ntime delta in calc_delta_mine(). This ensures we do not lose\naccuracy when accounting time to the sched entities. Thanks to\nNikunj Dadhania for fixing an bug in c_d_m() that broken fairness.\n\nBelow is some analysis of the performance costs/improvements of\nthis patch.\n\n1. Micro-arch performance costs:\n\nExperiment was to run Ingo\u0027s pipe_test_100k 200 times with the\ntask pinned to one cpu. I measured instruction, cycles and\nstalled-cycles for the runs. See:\n\n   http://thread.gmane.org/gmane.linux.kernel/1129232/focus\u003d1129389\n\nfor more info.\n\n-tip (baseline):\n\n Performance counter stats for \u0027/root/load-scale/pipe-test-100k\u0027 (200 runs):\n\n       964,991,769 instructions             #    0.82  insns per cycle\n                                            #    0.33  stalled cycles per insn\n                                            #    ( +-  0.05% )\n     1,171,186,635 cycles                   #    0.000 GHz                      ( +-  0.08% )\n       306,373,664 stalled-cycles-backend   #   26.16% backend  cycles idle     ( +-  0.28% )\n       314,933,621 stalled-cycles-frontend  #   26.89% frontend cycles idle     ( +-  0.34% )\n\n        1.122405684  seconds time elapsed  ( +-  0.05% )\n\n-tip+patches:\n\n Performance counter stats for \u0027./load-scale/pipe-test-100k\u0027 (200 runs):\n\n       963,624,821 instructions             #    0.82  insns per cycle\n                                            #    0.33  stalled cycles per insn\n                                            #    ( +-  0.04% )\n     1,175,215,649 cycles                   #    0.000 GHz                      ( +-  0.08% )\n       315,321,126 stalled-cycles-backend   #   26.83% backend  cycles idle     ( +-  0.28% )\n       316,835,873 stalled-cycles-frontend  #   26.96% frontend cycles idle     ( +-  0.29% )\n\n        1.122238659  seconds time elapsed  ( +-  0.06% )\n\nWith this patch, instructions decrease by ~0.10% and cycles\nincrease by 0.27%. This doesn\u0027t look statistically significant.\nThe number of stalled cycles in the backend increased from\n26.16% to 26.83%. This can be attributed to the shifts we do in\nc_d_m() and other places. The fraction of stalled cycles in the\nfrontend remains about the same, at 26.96% compared to 26.89% in -tip.\n\n2. Balancing low-weight task groups\n\nTest setup: run 50 tasks with random sleep/busy times (biased\naround 100ms) in a low weight container (with cpu.shares \u003d 2).\nMeasure %idle as reported by mpstat over a 10s window.\n\n-tip (baseline):\n\n06:47:48 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle    intr/s\n06:47:49 PM  all   94.32    0.00    0.06    0.00    0.00    0.00    0.00    0.00    5.62  15888.00\n06:47:50 PM  all   94.57    0.00    0.62    0.00    0.00    0.00    0.00    0.00    4.81  16180.00\n06:47:51 PM  all   94.69    0.00    0.06    0.00    0.00    0.00    0.00    0.00    5.25  15966.00\n06:47:52 PM  all   95.81    0.00    0.00    0.00    0.00    0.00    0.00    0.00    4.19  16053.00\n06:47:53 PM  all   94.88    0.06    0.00    0.00    0.00    0.00    0.00    0.00    5.06  15984.00\n06:47:54 PM  all   93.31    0.00    0.00    0.00    0.00    0.00    0.00    0.00    6.69  15806.00\n06:47:55 PM  all   94.19    0.00    0.06    0.00    0.00    0.00    0.00    0.00    5.75  15896.00\n06:47:56 PM  all   92.87    0.00    0.00    0.00    0.00    0.00    0.00    0.00    7.13  15716.00\n06:47:57 PM  all   94.88    0.00    0.00    0.00    0.00    0.00    0.00    0.00    5.12  15982.00\n06:47:58 PM  all   95.44    0.00    0.00    0.00    0.00    0.00    0.00    0.00    4.56  16075.00\nAverage:     all   94.49    0.01    0.08    0.00    0.00    0.00    0.00    0.00    5.42  15954.60\n\n-tip+patches:\n\n06:47:03 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle    intr/s\n06:47:04 PM  all  100.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  16630.00\n06:47:05 PM  all   99.69    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.31  16580.20\n06:47:06 PM  all   99.69    0.00    0.06    0.00    0.00    0.00    0.00    0.00    0.25  16596.00\n06:47:07 PM  all   99.20    0.00    0.74    0.00    0.00    0.06    0.00    0.00    0.00  17838.61\n06:47:08 PM  all  100.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  16540.00\n06:47:09 PM  all  100.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  16575.00\n06:47:10 PM  all  100.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  16614.00\n06:47:11 PM  all   99.94    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.06  16588.00\n06:47:12 PM  all   99.94    0.00    0.06    0.00    0.00    0.00    0.00    0.00    0.00  16593.00\n06:47:13 PM  all   99.94    0.00    0.06    0.00    0.00    0.00    0.00    0.00    0.00  16551.00\nAverage:     all   99.84    0.00    0.09    0.00    0.00    0.01    0.00    0.00    0.06  16711.58\n\nWe see an improvement in idle% on the system (drops from 5.42% on -tip to 0.06%\nwith the patches).\n\nWe see an improvement in idle% on the system (drops from 5.42%\non -tip to 0.06% with the patches).\n\nSigned-off-by: Nikhil Rao \u003cncrao@google.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Nikunj A. Dadhania \u003cnikunj@linux.vnet.ibm.com\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Stephan Barwolf \u003cstephan.baerwolf@tu-ilmenau.de\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/1305754668-18792-1-git-send-email-ncrao@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1399fa7807a1a5998bbf147e80668e9950661dfa",
      "tree": "dc4e1a97f50b8e7297c82f63e1ad2b15430b33d9",
      "parents": [
        "f05998d4b80632f2cc00f108da503066ef5d38d5"
      ],
      "author": {
        "name": "Nikhil Rao",
        "email": "ncrao@google.com",
        "time": "Wed May 18 10:09:39 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 20 14:16:50 2011 +0200"
      },
      "message": "sched: Introduce SCHED_POWER_SCALE to scale cpu_power calculations\n\nSCHED_LOAD_SCALE is used to increase nice resolution and to\nscale cpu_power calculations in the scheduler. This patch\nintroduces SCHED_POWER_SCALE and converts all uses of\nSCHED_LOAD_SCALE for scaling cpu_power to use SCHED_POWER_SCALE\ninstead.\n\nThis is a preparatory patch for increasing the resolution of\nSCHED_LOAD_SCALE, and there is no need to increase resolution\nfor cpu_power calculations.\n\nSigned-off-by: Nikhil Rao \u003cncrao@google.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Nikunj A. Dadhania \u003cnikunj@linux.vnet.ibm.com\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Stephan Barwolf \u003cstephan.baerwolf@tu-ilmenau.de\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLink: http://lkml.kernel.org/r/1305738580-9924-3-git-send-email-ncrao@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f05998d4b80632f2cc00f108da503066ef5d38d5",
      "tree": "2603984aa32bc816fdb181d8dbd33d65d8aa1cb0",
      "parents": [
        "257313b2a87795e07a0bdf58d0fffbdba8b31051"
      ],
      "author": {
        "name": "Nikhil Rao",
        "email": "ncrao@google.com",
        "time": "Wed May 18 10:09:38 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 20 14:16:49 2011 +0200"
      },
      "message": "sched: Cleanup set_load_weight()\n\nAvoid using long repetitious names; make this simpler and nicer\nto read. No functional change introduced in this patch.\n\nSigned-off-by: Nikhil Rao \u003cncrao@google.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Nikunj A. Dadhania \u003cnikunj@linux.vnet.ibm.com\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Stephan Barwolf \u003cstephan.baerwolf@tu-ilmenau.de\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLink: http://lkml.kernel.org/r/1305738580-9924-2-git-send-email-ncrao@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c0e299b1a91cbdb21ae08e382a4176200398bc36",
      "tree": "096a6b082fcf1bd816d78654057d11af823361c5",
      "parents": [
        "257313b2a87795e07a0bdf58d0fffbdba8b31051"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 20 10:50:52 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 20 10:50:52 2011 +0200"
      },
      "message": "clockevents/source: Use u64 to make 32bit happy\n\nunsigned long is not 64bit on 32bit machine.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a2d063ac216c1618bfc2b4d40b7176adffa63511",
      "tree": "499d4cc67e296cb8b51f51215a49407c440c4690",
      "parents": [
        "c16dbd54a3fe126b539a0ef149d80221c667bbd5"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu May 19 21:34:58 2011 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 20 08:56:56 2011 +0200"
      },
      "message": "extable, core_kernel_data(): Make sure all archs define _sdata\n\nA new utility function (core_kernel_data()) is used to determine if a\npassed in address is part of core kernel data or not. It may or may not\nreturn true for RO data, but this utility must work for RW data.\n\nThus both _sdata and _edata must be defined and continuous,\nwithout .init sections that may later be freed and replaced by\nvolatile memory (memory that can be freed).\n\nThis utility function is used to determine if data is safe from\never being freed. Thus it should return true for all RW global\ndata that is not in a module or has been allocated, or false\notherwise.\n\nAlso change core_kernel_data() back to the more precise _sdata condition\nand document the function.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nAcked-by: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Matt Turner \u003cmattst88@gmail.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: linux-m68k@lists.linux-m68k.org\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Helge Deller \u003cdeller@gmx.de\u003e\nCc: JamesE.J.Bottomley \u003cjejb@parisc-linux.org\u003e\nLink: http://lkml.kernel.org/r/1305855298.1465.19.camel@gandalf.stny.rr.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n----\n arch/alpha/kernel/vmlinux.lds.S   |    1 +\n arch/m32r/kernel/vmlinux.lds.S    |    1 +\n arch/m68k/kernel/vmlinux-std.lds  |    2 ++\n arch/m68k/kernel/vmlinux-sun3.lds |    1 +\n arch/mips/kernel/vmlinux.lds.S    |    1 +\n arch/parisc/kernel/vmlinux.lds.S  |    3 +++\n kernel/extable.c                  |   12 +++++++++++-\n 7 files changed, 20 insertions(+), 1 deletion(-)\n"
    },
    {
      "commit": "c16dbd54a3fe126b539a0ef149d80221c667bbd5",
      "tree": "297a9b616ac100d8773373bd0cbf3fb4eb9d87a7",
      "parents": [
        "257313b2a87795e07a0bdf58d0fffbdba8b31051",
        "c5fc472171ec4f96d06d1ac039d88f9b89bb95db"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 20 08:54:05 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 20 08:54:08 2011 +0200"
      },
      "message": "Merge branch \u0027perf/core\u0027 into perf/urgent\n\nMerge reason: One pending commit was left in perf/core after Linus merged\n              perf/core - continue v2.6.40 work in the perf/urgent reason.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "571d76acdab95876aeff869ab6449f826c23aa43",
      "tree": "b52ceacfa83b1ab4c5a6950007ce8be03cec192e",
      "parents": [
        "8aaf1dda42576b0f8dffb004065baa806f4df9b6"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Mon May 16 14:23:44 2011 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Thu May 19 22:55:59 2011 -0400"
      },
      "message": "arch/tile: support signal \"exception-trace\" hook\n\nThis change adds support for /proc/sys/debug/exception-trace to tile.\nLike x86 and sparc, by default it is set to \"1\", generating a one-line\nprintk whenever a user process crashes.  By setting it to \"2\", we get\na much more complete userspace diagnostic at crash time, including\na user-space backtrace, register dump, and memory dump around the\naddress of the crash.\n\nSome vestiges of the Tilera-internal version of this support are\nremoved with this patch (the show_crashinfo variable and the\narch_coredump_signal function).  We retain a \"crashinfo\" boot parameter\nwhich allows you to set the boot-time value of exception-trace.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "39ab05c8e0b519ff0a04a869f065746e6e8c3d95",
      "tree": "e73f0ba74c4ea7a80dff9b2dd9445a3a74190e28",
      "parents": [
        "1477fcc290b3d5c2614bde98bf3b1154c538860d",
        "c42d2237143fcf35cff642cefe2bcf7786aae312"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 18:24:11 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 18:24:11 2011 -0700"
      },
      "message": "Merge branch \u0027driver-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* \u0027driver-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (44 commits)\n  debugfs: Silence DEBUG_STRICT_USER_COPY_CHECKS\u003dy warning\n  sysfs: remove \"last sysfs file:\" line from the oops messages\n  drivers/base/memory.c: fix warning due to \"memory hotplug: Speed up add/remove when blocks are larger than PAGES_PER_SECTION\"\n  memory hotplug: Speed up add/remove when blocks are larger than PAGES_PER_SECTION\n  SYSFS: Fix erroneous comments for sysfs_update_group().\n  driver core: remove the driver-model structures from the documentation\n  driver core: Add the device driver-model structures to kerneldoc\n  Translated Documentation/email-clients.txt\n  RAW driver: Remove call to kobject_put().\n  reboot: disable usermodehelper to prevent fs access\n  efivars: prevent oops on unload when efi is not enabled\n  Allow setting of number of raw devices as a module parameter\n  Introduce CONFIG_GOOGLE_FIRMWARE\n  driver: Google Memory Console\n  driver: Google EFI SMI\n  x86: Better comments for get_bios_ebda()\n  x86: get_bios_ebda_length()\n  misc: fix ti-st build issues\n  params.c: Use new strtobool function to process boolean inputs\n  debugfs: move to new strtobool\n  ...\n\nFix up trivial conflicts in fs/debugfs/file.c due to the same patch\nbeing applied twice, and an unrelated cleanup nearby.\n"
    },
    {
      "commit": "eb04f2f04ed1227c266b3219c0aaeda525639718",
      "tree": "7f224483a3cd0e439cd64a8666ec9dc5ed178a3d",
      "parents": [
        "5765040ebfc9a28d9dcfaaaaf3d25840d922de96",
        "80d02085d99039b3b7f3a73c8896226b0cb1ba07"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 18:14:34 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 18:14:34 2011 -0700"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (78 commits)\n  Revert \"rcu: Decrease memory-barrier usage based on semi-formal proof\"\n  net,rcu: convert call_rcu(prl_entry_destroy_rcu) to kfree\n  batman,rcu: convert call_rcu(softif_neigh_free_rcu) to kfree_rcu\n  batman,rcu: convert call_rcu(neigh_node_free_rcu) to kfree()\n  batman,rcu: convert call_rcu(gw_node_free_rcu) to kfree_rcu\n  net,rcu: convert call_rcu(kfree_tid_tx) to kfree_rcu()\n  net,rcu: convert call_rcu(xt_osf_finger_free_rcu) to kfree_rcu()\n  net/mac80211,rcu: convert call_rcu(work_free_rcu) to kfree_rcu()\n  net,rcu: convert call_rcu(wq_free_rcu) to kfree_rcu()\n  net,rcu: convert call_rcu(phonet_device_rcu_free) to kfree_rcu()\n  perf,rcu: convert call_rcu(swevent_hlist_release_rcu) to kfree_rcu()\n  perf,rcu: convert call_rcu(free_ctx) to kfree_rcu()\n  net,rcu: convert call_rcu(__nf_ct_ext_free_rcu) to kfree_rcu()\n  net,rcu: convert call_rcu(net_generic_release) to kfree_rcu()\n  net,rcu: convert call_rcu(netlbl_unlhsh_free_addr6) to kfree_rcu()\n  net,rcu: convert call_rcu(netlbl_unlhsh_free_addr4) to kfree_rcu()\n  security,rcu: convert call_rcu(sel_netif_free) to kfree_rcu()\n  net,rcu: convert call_rcu(xps_dev_maps_release) to kfree_rcu()\n  net,rcu: convert call_rcu(xps_map_release) to kfree_rcu()\n  net,rcu: convert call_rcu(rps_map_release) to kfree_rcu()\n  ...\n"
    },
    {
      "commit": "78c4def67e8eebe602655a3dec9aa08f0e2f7c4b",
      "tree": "8c0c756bbff7325f5c2a773f8cc64d8390ebe5b5",
      "parents": [
        "7e6628e4bcb3b3546c625ec63ca724f28ab14f0c",
        "942c3c5c329274fa6de5998cb911cf3d0a42d0b1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:45:08 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:45:08 2011 -0700"
      },
      "message": "Merge branch \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  hrtimer: Make lookup table const\n  RTC: Disable CONFIG_RTC_CLASS from being built as a module\n  timers: Fix alarmtimer build issues when CONFIG_RTC_CLASS\u003dn\n  timers: Remove delayed irqwork from alarmtimers implementation\n  timers: Improve alarmtimer comments and minor fixes\n  timers: Posix interface for alarm-timers\n  timers: Introduce in-kernel alarm-timer interface\n  timers: Add rb_init_node() to allow for stack allocated rb nodes\n  time: Add timekeeping_inject_sleeptime\n"
    },
    {
      "commit": "7e6628e4bcb3b3546c625ec63ca724f28ab14f0c",
      "tree": "111a94cefa9d800ec5c5e59520f4b5d1880965d0",
      "parents": [
        "0f1bdc1815c4cb29b3cd71a7091b478e426faa0b",
        "ab0e08f15d23628dd8d50bf6ce1a935a8840c7dc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:44:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:44:40 2011 -0700"
      },
      "message": "Merge branch \u0027timers-clockevents-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-clockevents-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: hpet: Cleanup the clockevents init and register code\n  x86: Convert PIT to clockevents_config_and_register()\n  clockevents: Provide interface to reconfigure an active clock event device\n  clockevents: Provide combined configure and register function\n  clockevents: Restructure clock_event_device members\n  clocksource: Get rid of the hardcoded 5 seconds sleep time limit\n  clocksource: Restructure clocksource struct members\n"
    },
    {
      "commit": "80fe02b5daf176f99d3afc8f6c9dc9dece019836",
      "tree": "970b90d56870e1b87b4c8efff7ec31fc454445a7",
      "parents": [
        "df48d8716eab9608fe93924e4ae06ff110e8674f",
        "db670dac49b5423b39b5e523d28fe32045d71b10",
        "ec514c487c3d4b652943da7b0afbc094eee08cfa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:41:22 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:41:22 2011 -0700"
      },
      "message": "Merge branches \u0027sched-core-for-linus\u0027 and \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (60 commits)\n  sched: Fix and optimise calculation of the weight-inverse\n  sched: Avoid going ahead if -\u003ecpus_allowed is not changed\n  sched, rt: Update rq clock when unthrottling of an otherwise idle CPU\n  sched: Remove unused parameters from sched_fork() and wake_up_new_task()\n  sched: Shorten the construction of the span cpu mask of sched domain\n  sched: Wrap the \u0027cfs_rq-\u003enr_spread_over\u0027 field with CONFIG_SCHED_DEBUG\n  sched: Remove unused \u0027this_best_prio arg\u0027 from balance_tasks()\n  sched: Remove noop in alloc_rt_sched_group()\n  sched: Get rid of lock_depth\n  sched: Remove obsolete comment from scheduler_tick()\n  sched: Fix sched_domain iterations vs. RCU\n  sched: Next buddy hint on sleep and preempt path\n  sched: Make set_*_buddy() work on non-task entities\n  sched: Remove need_migrate_task()\n  sched: Move the second half of ttwu() to the remote cpu\n  sched: Restructure ttwu() some more\n  sched: Rename ttwu_post_activation() to ttwu_do_wakeup()\n  sched: Remove rq argument from ttwu_stat()\n  sched: Remove rq-\u003elock from the first half of ttwu()\n  sched: Drop rq-\u003elock from sched_exec()\n  ...\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Fix rt_rq runtime leakage bug\n"
    },
    {
      "commit": "df48d8716eab9608fe93924e4ae06ff110e8674f",
      "tree": "0fe10733a414b3651e1dae29518b7960a4da0aa4",
      "parents": [
        "acd30250d7d0f495685d1c7c6184636a22fcdf7f",
        "29510ec3b626c86de9707bb8904ff940d430289b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:36:08 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:36:08 2011 -0700"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (107 commits)\n  perf stat: Add more cache-miss percentage printouts\n  perf stat: Add -d -d and -d -d -d options to show more CPU events\n  ftrace/kbuild: Add recordmcount files to force full build\n  ftrace: Add self-tests for multiple function trace users\n  ftrace: Modify ftrace_set_filter/notrace to take ops\n  ftrace: Allow dynamically allocated function tracers\n  ftrace: Implement separate user function filtering\n  ftrace: Free hash with call_rcu_sched()\n  ftrace: Have global_ops store the functions that are to be traced\n  ftrace: Add ops parameter to ftrace_startup/shutdown functions\n  ftrace: Add enabled_functions file\n  ftrace: Use counters to enable functions to trace\n  ftrace: Separate hash allocation and assignment\n  ftrace: Create a global_ops to hold the filter and notrace hashes\n  ftrace: Use hash instead for FTRACE_FL_FILTER\n  ftrace: Replace FTRACE_FL_NOTRACE flag with a hash of ignored functions\n  perf bench, x86: Add alternatives-asm.h wrapper\n  x86, 64-bit: Fix copy_[to/from]_user() checks for the userspace address limit\n  x86, mem: memset_64.S: Optimize memset by enhanced REP MOVSB/STOSB\n  x86, mem: memmove_64.S: Optimize memmove by enhanced REP MOVSB/STOSB\n  ...\n"
    },
    {
      "commit": "acd30250d7d0f495685d1c7c6184636a22fcdf7f",
      "tree": "40f4e7e092de434c49a5f67f27ff1d3bf71000f9",
      "parents": [
        "6595b4a940c4c447b619ab5268378ed03e632694",
        "edf76f8307c350bcb81f0c760118a991b3e62956"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:30:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:30:15 2011 -0700"
      },
      "message": "Merge branch \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  irq: Export functions to allow modular irq drivers\n  genirq: Uninline and sanity check generic_handle_irq()\n  genirq: Remove pointless ifdefs\n  genirq: Make generic irq chip depend on CONFIG_GENERIC_IRQ_CHIP\n  genirq: Add chip suspend and resume callbacks\n  genirq: Implement a generic interrupt chip\n  genirq: Support per-IRQ thread disabling.\n  genirq: irq_desc: Document preflow_handler and affinity_hint\n  genirq: Update DocBook comments\n  genirq: Forgotten updates/deletions after removal of compat code\n"
    },
    {
      "commit": "6595b4a940c4c447b619ab5268378ed03e632694",
      "tree": "e604f97bf8e947fca3dca4c5101d6ffdc432466d",
      "parents": [
        "cbdad8dc18b8ddd6c8b48c4ef26d46f00b5af923",
        "5db1256a5131d3b133946fa02ac9770a784e6eb2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:29:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:29:29 2011 -0700"
      },
      "message": "Merge branch \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  seqlock: Don\u0027t smp_rmb in seqlock reader spin loop\n  watchdog, hung_task_timeout: Add Kconfig configurable default\n  lockdep: Remove cmpxchg to update nr_chain_hlocks\n  lockdep: Print a nicer description for simple irq lock inversions\n  lockdep: Replace \"Bad BFS generated tree\" message with something less cryptic\n  lockdep: Print a nicer description for irq inversion bugs\n  lockdep: Print a nicer description for simple deadlocks\n  lockdep: Print a nicer description for normal deadlocks\n  lockdep: Print a nicer description for irq lock inversions\n"
    },
    {
      "commit": "51509a283a908d73b20371addc67ee3ae7189934",
      "tree": "bb920f09799cc47d496f26f7deb78a315351150d",
      "parents": [
        "75f5076b12924f53340209d2cde73b98ed3b3095",
        "6538df80194e305f1b78cafb556f4bb442f808b3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 16:46:07 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 16:46:07 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6: (34 commits)\n  PM: Introduce generic prepare and complete callbacks for subsystems\n  PM: Allow drivers to allocate memory from .prepare() callbacks safely\n  PM: Remove CONFIG_PM_VERBOSE\n  Revert \"PM / Hibernate: Reduce autotuned default image size\"\n  PM / Hibernate: Add sysfs knob to control size of memory for drivers\n  PM / Wakeup: Remove useless synchronize_rcu() call\n  kmod: always provide usermodehelper_disable()\n  PM / ACPI: Remove acpi_sleep\u003ds4_nonvs\n  PM / Wakeup: Fix build warning related to the \"wakeup\" sysfs file\n  PM: Print a warning if firmware is requested when tasks are frozen\n  PM / Runtime: Rework runtime PM handling during driver removal\n  Freezer: Use SMP barriers\n  PM / Suspend: Do not ignore error codes returned by suspend_enter()\n  PM: Fix build issue in clock_ops.c for CONFIG_PM_RUNTIME unset\n  PM: Revert \"driver core: platform_bus: allow runtime override of dev_pm_ops\"\n  OMAP1 / PM: Use generic clock manipulation routines for runtime PM\n  PM: Remove sysdev suspend, resume and shutdown operations\n  PM / PowerPC: Use struct syscore_ops instead of sysdevs for PM\n  PM / UNICORE32: Use struct syscore_ops instead of sysdevs for PM\n  PM / AVR32: Use struct syscore_ops instead of sysdevs for PM\n  ...\n"
    },
    {
      "commit": "c5fc472171ec4f96d06d1ac039d88f9b89bb95db",
      "tree": "b83af634894e5f70f042a67ebfee876e4b16183f",
      "parents": [
        "29510ec3b626c86de9707bb8904ff940d430289b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 20 01:22:14 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 20 01:27:16 2011 +0200"
      },
      "message": "core_kernel_data(): Fix architectures that do not define _sdata\n\nSome architectures such as Alpha do not define _sdata but _data:\n\n  kernel/built-in.o: In function `core_kernel_data\u0027:\n  kernel/extable.c:77: undefined reference to `_sdata\u0027\n\nSo expand the scope of the data range to the text addresses too,\nthis might be more correct anyway because this way we can\ncover readonly variables as well.\n\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLink: http://lkml.kernel.org/n/tip-i878c8a0e0g0ep4v7i6vxnhz@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "80d02085d99039b3b7f3a73c8896226b0cb1ba07",
      "tree": "c310902423ecb00effadcb59c60cbf118d4037cb",
      "parents": [
        "11c476f31a0fabc6e604da5b09a6590b57c3fb20"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 12 01:08:07 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 19 23:25:29 2011 +0200"
      },
      "message": "Revert \"rcu: Decrease memory-barrier usage based on semi-formal proof\"\n\nThis reverts commit e59fb3120becfb36b22ddb8bd27d065d3cdca499.\n\nThis reversion was due to (extreme) boot-time slowdowns on SPARC seen by\nYinghai Lu and on x86 by Ingo\n.\nThis is a non-trivial reversion due to intervening commits.\n\nConflicts:\n\n\tDocumentation/RCU/trace.txt\n\tkernel/rcutree.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "80b816b736cfa5b9582279127099b20a479ab7d9",
      "tree": "94a2963c05e8e24d6153a0a2fae2f43fe05605bc",
      "parents": [
        "57f0fcbe1dea8a36c9d1673086326059991c5f81"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 18 21:33:42 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu May 19 14:24:16 2011 +0200"
      },
      "message": "clockevents: Provide interface to reconfigure an active clock event device\n\nSome ARM SoCs have clock event devices which have their frequency\nmodified due to frequency scaling. Provide an interface which allows\nto reconfigure an active device. After reconfiguration reprogram the\ncurrent pending event.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: LAK \u003clinux-arm-kernel@lists.infradead.org\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nLink: http://lkml.kernel.org/r/%3C20110518210136.437459958%40linutronix.de%3E\n"
    },
    {
      "commit": "57f0fcbe1dea8a36c9d1673086326059991c5f81",
      "tree": "c56c00307052034a64d2577819fdf21271446ebe",
      "parents": [
        "847b2f42be203f3cff7f243fdd3ee50c1e06c882"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 18 21:33:41 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu May 19 14:24:15 2011 +0200"
      },
      "message": "clockevents: Provide combined configure and register function\n\nAll clockevent devices have the same open coded initialization\nfunctions. Provide an interface which does all necessary\ninitialization in the core code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nLink: http://lkml.kernel.org/r/%3C20110518210136.331975870%40linutronix.de%3E\n"
    },
    {
      "commit": "724ed53e8ac2c5278af8955673049714c1073464",
      "tree": "51762a734e564fb973758014997ee99406693541",
      "parents": [
        "369db4c9524b7487faf1ff89646eee396c1363e1"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 18 21:33:40 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu May 19 14:24:15 2011 +0200"
      },
      "message": "clocksource: Get rid of the hardcoded 5 seconds sleep time limit\n\nSlow clocksources can have a way longer sleep time than 5 seconds and\neven fast ones can easily cope with 600 seconds and still maintain\nproper accuracy.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nLink: http://lkml.kernel.org/r/%3C20110518210136.109811585%40linutronix.de%3E\n"
    },
    {
      "commit": "12a5a2621b1ee14d32beca35304d7c6076a58815",
      "tree": "213e13f99de690b3c4a510f504393b63ada626bd",
      "parents": [
        "e77dc3460fa59be5759e9327ad882868eee9d61b",
        "61c4f2c81c61f73549928dfd9f3e8f26aa36a8cf"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu May 19 18:51:57 2011 +1000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu May 19 18:51:57 2011 +1000"
      },
      "message": "Merge branch \u0027master\u0027 into next\n\nConflicts:\n\tinclude/linux/capability.h\n\nManually resolve merge conflict w/ thanks to Stephen Rothwell.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "f721a465cddbe7f03e6cd2272008da558cf93818",
      "tree": "67cde95daa08e6e5967958f09e21f81140ce2e0b",
      "parents": [
        "a0374396375d06398c419ebb6857fb5809cff81f"
      ],
      "author": {
        "name": "Jonathan Cameron",
        "email": "jic23@cam.ac.uk",
        "time": "Tue Apr 19 12:43:47 2011 +0100"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 19 16:55:28 2011 +0930"
      },
      "message": "params.c: Use new strtobool function to process boolean inputs\n\nSigned-off-by: Jonathan Cameron \u003cjic23@cam.ac.uk\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "9d63487f86115b1d3ef69670043bcf2b83c4d227",
      "tree": "3833a5f467f0958eaeab9f86f207dca60868bb0d",
      "parents": [
        "403ed27846aa126ecf0b842b5b179c506b9d989c"
      ],
      "author": {
        "name": "Alessio Igor Bogani",
        "email": "abogani@kernel.org",
        "time": "Wed May 18 22:35:59 2011 +0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 19 16:55:27 2011 +0930"
      },
      "message": "module: Use binary search in lookup_symbol()\n\nThe function is_exported() with its helper function lookup_symbol() are used to\nverify if a provided symbol is effectively exported by the kernel or by the\nmodules. Now that both have their symbols sorted we can replace a linear search\nwith a binary search which provide a considerably speed-up.\n\nThis work was supported by a hardware donation from the CE Linux Forum.\n\nSigned-off-by: Alessio Igor Bogani \u003cabogani@kernel.org\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "403ed27846aa126ecf0b842b5b179c506b9d989c",
      "tree": "d47ce51b2548c80237e193b99ec159e8ef59470a",
      "parents": [
        "1a94dc35bc5c166d89913dc01a49d27a3c21a455"
      ],
      "author": {
        "name": "Alessio Igor Bogani",
        "email": "abogani@kernel.org",
        "time": "Wed Apr 20 11:10:52 2011 +0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 19 16:55:27 2011 +0930"
      },
      "message": "module: Use the binary search for symbols resolution\n\nTakes advantage of the order and locates symbols using binary search.\n\nThis work was supported by a hardware donation from the CE Linux Forum.\n\nSigned-off-by: Alessio Igor Bogani \u003cabogani@kernel.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nTested-by: Dirk Behme \u003cdirk.behme@googlemail.com\u003e\n"
    },
    {
      "commit": "de4d8d53465483168d6a627d409ee2d09d8e3308",
      "tree": "dadc9b82860842dcb970f2898f677e0d2373a2ab",
      "parents": [
        "01526ed0830643bd53a8434c3068e4c077e1b09d"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Apr 19 21:49:58 2011 +0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 19 16:55:26 2011 +0930"
      },
      "message": "module: each_symbol_section instead of each_symbol\n\nInstead of having a callback function for each symbol in the kernel,\nhave a callback for each array of symbols.\n\nThis eases the logic when we move to sorted symbols and binary search.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Alessio Igor Bogani \u003cabogani@kernel.org\u003e\n"
    },
    {
      "commit": "01526ed0830643bd53a8434c3068e4c077e1b09d",
      "tree": "6fe0fecf55f6fe5bc94f95f9b0e01f67a53bf9d0",
      "parents": [
        "448694a1d50432be63aafccb42d6f54d8cf3d02c"
      ],
      "author": {
        "name": "Jan Glauber",
        "email": "jang@linux.vnet.ibm.com",
        "time": "Thu May 19 16:55:26 2011 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 19 16:55:26 2011 +0930"
      },
      "message": "module: split unset_section_ro_nx function.\n\nSplit the unprotect function into a function per section to make\nthe code more readable and add the missing static declaration.\n\nSigned-off-by: Jan Glauber \u003cjang@linux.vnet.ibm.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "448694a1d50432be63aafccb42d6f54d8cf3d02c",
      "tree": "bd066b7cdb04e8bdc61efdeaa0e358269f185f7e",
      "parents": [
        "4d10380e720a3ce19dbe88d0133f66ded07b6a8f"
      ],
      "author": {
        "name": "Jan Glauber",
        "email": "jang@linux.vnet.ibm.com",
        "time": "Thu May 19 16:55:26 2011 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 19 16:55:26 2011 +0930"
      },
      "message": "module: undo module RONX protection correctly.\n\nWhile debugging I stumbled over two problems in the code that protects module\npages.\n\nFirst issue is that disabling the protection before freeing init or unload of\na module is not symmetric with the enablement. For instance, if pages are set\nto RO the page range from module_core to module_core + core_ro_size is\nprotected. If a module is unloaded the page range from module_core to\nmodule_core + core_size is set back to RW.\nSo pages that were not set to RO are also changed to RW.\nThis is not critical but IMHO it should be symmetric.\n\nSecond issue is that while set_memory_rw \u0026 set_memory_ro are used for\nRO/RW changes only set_memory_nx is involved for NX/X. One would await that\nthe inverse function is called when the NX protection should be removed,\nwhich is not the case here, unless I\u0027m missing something.\n\nSigned-off-by: Jan Glauber \u003cjang@linux.vnet.ibm.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "4d10380e720a3ce19dbe88d0133f66ded07b6a8f",
      "tree": "9c652a201f13d67be5671a45e9815c7e7e3b4e0e",
      "parents": [
        "5d05c70849f760ac8f4ed3ebfeefb92689858834"
      ],
      "author": {
        "name": "Jan Glauber",
        "email": "jang@linux.vnet.ibm.com",
        "time": "Thu May 19 16:55:25 2011 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 19 16:55:26 2011 +0930"
      },
      "message": "module: zero mod-\u003einit_ro_size after init is freed.\n\nReset mod-\u003einit_ro_size to zero after the init part of a module is unloaded.\nOtherwise we need to check if module-\u003einit is NULL in the unprotect functions\nin the next patch.\n\nSigned-off-by: Jan Glauber \u003cjang@linux.vnet.ibm.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "5d05c70849f760ac8f4ed3ebfeefb92689858834",
      "tree": "631fb578b5a07cee38865f3866a57d8430ddc2ea",
      "parents": [
        "c5be0b2eb1ca05e0cd747f9c0ba552c6ee8827a0"
      ],
      "author": {
        "name": "Daniel J Blueman",
        "email": "daniel.blueman@gmail.com",
        "time": "Tue Mar 08 22:01:47 2011 +0800"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 19 16:55:25 2011 +0930"
      },
      "message": "minor ANSI prototype sparse fix\n\nFix function prototype to be ANSI-C compliant, consistent with other\nfunction prototypes, addressing a sparse warning.\n\nSigned-off-by: Daniel J Blueman \u003cdaniel.blueman@gmail.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "b4bc842802db3314f9a657094da0450a903ea619",
      "tree": "db9cadf46624dcd7e780850e8bda34b569a229b0",
      "parents": [
        "61c4f2c81c61f73549928dfd9f3e8f26aa36a8cf"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dtor@vmware.com",
        "time": "Mon Feb 07 16:02:25 2011 -0800"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 19 16:55:24 2011 +0930"
      },
      "message": "module: deal with alignment issues in built-in module versions\n\nOn m68k natural alignment is 2-byte boundary but we are trying to\nalign structures in __modver section on sizeof(void *) boundary.\nThis causes trouble when we try to access elements in this section\nin array-like fashion when create \"version\" attributes for built-in\nmodules.\n\nMoreover, as DaveM said, we can\u0027t reliably put structures into\nindependent objects, put them into a special section, and then expect\narray access over them (via the section boundaries) after linking the\nobjects together to just \"work\" due to variable alignment choices in\ndifferent situations. The only solution that seems to work reliably\nis to make an array of plain pointers to the objects in question and\nput those pointers in the special section.\n\nReported-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@vmware.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "95950c2ecb31314ef827428e43ff771cf3b037e5",
      "tree": "1ecf9605cc280d362a5a9ddf96bf538cdb47c1aa",
      "parents": [
        "936e074b286ae779f134312178dbab139ee7ea52"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri May 06 00:08:51 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 18 19:24:51 2011 -0400"
      },
      "message": "ftrace: Add self-tests for multiple function trace users\n\nAdd some basic sanity tests for multiple users of the function\ntracer at startup.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "936e074b286ae779f134312178dbab139ee7ea52",
      "tree": "6b0497be4d5e6258ad9b1ec99b2a9feb25b2dd22",
      "parents": [
        "cdbe61bfe70440939e457fb4a8d0995eaaed17de"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu May 05 22:54:01 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 18 19:22:52 2011 -0400"
      },
      "message": "ftrace: Modify ftrace_set_filter/notrace to take ops\n\nSince users of the function tracer can now pick and choose which\nfunctions they want to trace agnostically from other users of the\nfunction tracer, we need to pass the ops struct to the ftrace_set_filter()\nfunctions.\n\nThe functions ftrace_set_global_filter() and ftrace_set_global_notrace()\nis added to keep the old filter functions which are used to modify\nthe generic function tracers.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "cdbe61bfe70440939e457fb4a8d0995eaaed17de",
      "tree": "6e82066db25ab6fa42455a42bb77783dac5260b8",
      "parents": [
        "b848914ce39589d89ee0078a6d1ef452b464729e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu May 05 21:14:55 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 18 15:29:51 2011 -0400"
      },
      "message": "ftrace: Allow dynamically allocated function tracers\n\nNow that functions may be selected individually, it only makes sense\nthat we should allow dynamically allocated trace structures to\nbe traced. This will allow perf to allocate a ftrace_ops structure\nat runtime and use it to pick and choose which functions that\nstructure will trace.\n\nNote, a dynamically allocated ftrace_ops will always be called\nindirectly instead of being called directly from the mcount in\nentry.S. This is because there\u0027s no safe way to prevent mcount\nfrom being preempted before calling the function, unless we\nmodify every entry.S to do so (not likely). Thus, dynamically allocated\nfunctions will now be called by the ftrace_ops_list_func() that\nloops through the ops that are allocated if there are more than\none op allocated at a time. This loop is protected with a\npreempt_disable.\n\nTo determine if an ftrace_ops structure is allocated or not, a new\nutil function was added to the kernel/extable.c called\ncore_kernel_data(), which returns 1 if the address is between\n_sdata and _edata.\n\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "b848914ce39589d89ee0078a6d1ef452b464729e",
      "tree": "542bf09ae3c2d9118833132621585fb458e2a003",
      "parents": [
        "07fd5515f3b5c20704707f63e7f4485b534508a8"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed May 04 09:27:52 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 18 15:29:50 2011 -0400"
      },
      "message": "ftrace: Implement separate user function filtering\n\nftrace_ops that are registered to trace functions can now be\nagnostic to each other in respect to what functions they trace.\nEach ops has their own hash of the functions they want to trace\nand a hash to what they do not want to trace. A empty hash for\nthe functions they want to trace denotes all functions should\nbe traced that are not in the notrace hash.\n\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "07fd5515f3b5c20704707f63e7f4485b534508a8",
      "tree": "f018ec497f8c6b49a0fcfcd7a92a600e670f90f2",
      "parents": [
        "2b499381bc50ede01b3d8eab164ca2fad00655f0"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu May 05 18:03:47 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 18 15:29:50 2011 -0400"
      },
      "message": "ftrace: Free hash with call_rcu_sched()\n\nWhen a hash is modified and might be in use, we need to perform\na schedule RCU operation on it, as the hashes will soon be used\ndirectly in the function tracer callback.\n\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "2b499381bc50ede01b3d8eab164ca2fad00655f0",
      "tree": "3140c277582b03b1645fffcb829763d62e2f01fa",
      "parents": [
        "bd69c30b1d08032d97ab0dabd7a1eb7fb73ca2b2"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue May 03 22:49:52 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 18 15:29:49 2011 -0400"
      },
      "message": "ftrace: Have global_ops store the functions that are to be traced\n\nThis is a step towards each ops structure defining its own set\nof functions to trace. As the current code with pid\u0027s and such\nare specific to the global_ops, it is restructured to be used\nwith the global ops.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "bd69c30b1d08032d97ab0dabd7a1eb7fb73ca2b2",
      "tree": "e8bd00dc87de4f10f049e0c41fd09f630b96585d",
      "parents": [
        "647bcd03d5b2fb44fd9c9ef1a4f50c2eee8f779a"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue May 03 21:55:54 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 18 15:29:48 2011 -0400"
      },
      "message": "ftrace: Add ops parameter to ftrace_startup/shutdown functions\n\nIn order to allow different ops to enable different functions,\nthe ftrace_startup() and ftrace_shutdown() functions need the\nops parameter passed to them.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "647bcd03d5b2fb44fd9c9ef1a4f50c2eee8f779a",
      "tree": "32946158175458f16ae95c383ca7985162eefe09",
      "parents": [
        "ed926f9b35cda0988234c356e16a7cb30f4e5338"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue May 03 14:39:21 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 18 15:29:47 2011 -0400"
      },
      "message": "ftrace: Add enabled_functions file\n\nAdd the enabled_functions file that is used to show all the\nfunctions that have been enabled for tracing as well as their\nref counts. This helps seeing if any function has been registered\nand what functions are being traced.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ed926f9b35cda0988234c356e16a7cb30f4e5338",
      "tree": "32169b7aaf6b0ef7815b095a544cce93e884bb73",
      "parents": [
        "33dc9b1267d59cef46ff0bd6bc043190845dc919"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue May 03 13:25:24 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 18 15:29:47 2011 -0400"
      },
      "message": "ftrace: Use counters to enable functions to trace\n\nEvery function has its own record that stores the instruction\npointer and flags for the function to be traced. There are only\ntwo flags: enabled and free. The enabled flag states that tracing\nfor the function has been enabled (actively traced), and the free\nflag states that the record no longer points to a function and can\nbe used by new functions (loaded modules).\n\nThese flags are now moved to the MSB of the flags (actually just\nthe top 32bits). The rest of the bits (30 bits) are now used as\na ref counter. Everytime a tracer register functions to trace,\nthose functions will have its counter incremented.\n\nWhen tracing is enabled, to determine if a function should be traced,\nthe counter is examined, and if it is non-zero it is set to trace.\n\nWhen a ftrace_ops is registered to trace functions, its hashes\nare examined. If the ftrace_ops filter_hash count is zero, then\nall functions are set to be traced, otherwise only the functions\nin the hash are to be traced. The exception to this is if a function\nis also in the ftrace_ops notrace_hash. Then that function\u0027s counter\nis not incremented for this ftrace_ops.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "33dc9b1267d59cef46ff0bd6bc043190845dc919",
      "tree": "d5a3f78a6aabcd33b9848d3bf86b9b53ff6ea2e0",
      "parents": [
        "f45948e898e7bc76a73a468796d2ce80dd040058"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon May 02 17:34:47 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 18 15:29:46 2011 -0400"
      },
      "message": "ftrace: Separate hash allocation and assignment\n\nWhen filtering, allocate a hash to insert the function records.\nAfter the filtering is complete, assign it to the ftrace_ops structure.\n\nThis allows the ftrace_ops structure to have a much smaller array of\nhash buckets instead of wasting a lot of memory.\n\nA read only empty_hash is created to be the minimum size that any ftrace_ops\ncan point to.\n\nWhen a new hash is created, it has the following steps:\n\no Allocate a default hash.\no Walk the function records assigning the filtered records to the hash\no Allocate a new hash with the appropriate size buckets\no Move the entries from the default hash to the new hash.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f45948e898e7bc76a73a468796d2ce80dd040058",
      "tree": "483979d8030cc2cf156ed65218c03a2d6825d9f5",
      "parents": [
        "1cf41dd79993389b012e4542ab502ce36ae7343f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon May 02 12:29:25 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 18 15:29:45 2011 -0400"
      },
      "message": "ftrace: Create a global_ops to hold the filter and notrace hashes\n\nCombine the filter and notrace hashes to be accessed by a single entity,\nthe global_ops. The global_ops is a ftrace_ops structure that is passed\nto different functions that can read or modify the filtering of the\nfunction tracer.\n\nThe ftrace_ops structure was modified to hold a filter and notrace\nhashes so that later patches may allow each ftrace_ops to have its own\nset of rules to what functions may be filtered.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "1cf41dd79993389b012e4542ab502ce36ae7343f",
      "tree": "e1d0b58b2256d5936cff0c9d29ca8f68a80cedd8",
      "parents": [
        "b448c4e3ae6d20108dba1d7833f2c0d3dbad87ce"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Apr 29 20:59:51 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 18 15:29:44 2011 -0400"
      },
      "message": "ftrace: Use hash instead for FTRACE_FL_FILTER\n\nWhen multiple users are allowed to have their own set of functions\nto trace, having the FTRACE_FL_FILTER flag will not be enough to\nhandle the accounting of those users. Each user will need their own\nset of functions.\n\nReplace the FTRACE_FL_FILTER with a filter_hash instead. This is\ntemporary until the rest of the function filtering accounting\ngets in.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "b448c4e3ae6d20108dba1d7833f2c0d3dbad87ce",
      "tree": "504e5a3640328458e652e41cfd2ed74e4652e5b3",
      "parents": [
        "94692349c4fc1bc74c19a28f9379509361a06a3b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Apr 29 15:12:32 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 18 15:29:44 2011 -0400"
      },
      "message": "ftrace: Replace FTRACE_FL_NOTRACE flag with a hash of ignored functions\n\nTo prepare for the accounting system that will allow multiple users of\nthe function tracer, having the FTRACE_FL_NOTRACE as a flag in the\ndyn_trace record does not make sense.\n\nAll ftrace_ops will soon have a hash of functions they should trace\nand not trace. By making a global hash of functions not to trace makes\nthis easier for the transition.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "edf76f8307c350bcb81f0c760118a991b3e62956",
      "tree": "35adb6aa29f61f64f5841b1ccb2e6a50eb250529",
      "parents": [
        "fe12bc2c996d3e492b2920e32ac79f7bbae3e15d"
      ],
      "author": {
        "name": "Jonathan Cameron",
        "email": "jic23@cam.ac.uk",
        "time": "Wed May 18 10:39:04 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 18 14:59:08 2011 +0200"
      },
      "message": "irq: Export functions to allow modular irq drivers\n\nExport handle_simple_irq, irq_modify_status, irq_alloc_descs,\nirq_free_descs and generic_handle_irq to allow their usage in\nmodules. First user is IIO, which wants to be built modular, but needs\nto be able to create irq chips, allocate and configure interrupt\ndescriptors and handle demultiplexing interrupts.\n\n[ tglx: Moved the uninlinig of generic_handle_irq to a separate patch ]\n\nSigned-off-by: Jonathan Cameron \u003cjic23@cam.ac.uk\u003e\nLink: http://lkml.kernel.org/r/%3C1305711544-505-1-git-send-email-jic23%40cam.ac.uk%3E\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "fe12bc2c996d3e492b2920e32ac79f7bbae3e15d",
      "tree": "05af87563123d909d04c328aead3fe24599633d1",
      "parents": [
        "fe0514348452f5b0ad7e842b0d71b8322b1297de"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 18 12:48:00 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 18 14:59:08 2011 +0200"
      },
      "message": "genirq: Uninline and sanity check generic_handle_irq()\n\ngeneric_handle_irq() is missing a NULL pointer check for the result of\nirq_to_desc. This was a not a big problem, but we want to expose it to\ndrivers, so we better have sanity checks in place. Add a return value\nas well, which indicates that the irq number was valid and the handler\nwas invoked.\n\nBased on the pure code move from Jonathan Cameron.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Jonathan Cameron \u003cjic23@cam.ac.uk\u003e\n"
    },
    {
      "commit": "fe0514348452f5b0ad7e842b0d71b8322b1297de",
      "tree": "bdf49e276958303c7b55b362eeffc0a149b1bb2f",
      "parents": [
        "c42321c76b0ef472e3bae4bfcb0f46ab19e038ef"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 18 12:53:03 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 18 14:59:07 2011 +0200"
      },
      "message": "genirq: Remove pointless ifdefs\n\nkernel/irq/ is only built when CONFIG_GENERIC_HARDIRQS\u003dy. So making\ncode inside of kernel/irq/ conditional on CONFIG_GENERIC_HARDIRQS is\npointless.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "91e7c75ba93c48a82670d630b9daac92ff70095d",
      "tree": "b44ac3dca1d03cce99cccc3f4ce55d4b5475d373",
      "parents": [
        "c650da23d59d2c82307380414606774c6d49b8bd"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:26:00 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:26:00 2011 +0200"
      },
      "message": "PM: Allow drivers to allocate memory from .prepare() callbacks safely\n\nIf device drivers allocate substantial amounts of memory (above 1 MB)\nin their hibernate .freeze() callbacks (or in their legacy suspend\ncallbcks during hibernation), the subsequent creation of hibernate\nimage may fail due to the lack of memory.  This is the case, because\nthe drivers\u0027 .freeze() callbacks are executed after the hibernate\nmemory preallocation has been carried out and the preallocated amount\nof memory may be too small to cover the new driver allocations.\nUnfortunately, the drivers\u0027 .prepare() callbacks also are executed\nafter the hibernate memory preallocation has completed, so they are\nnot suitable for allocating additional memory either.  Thus the only\nway a driver can safely allocate memory during hibernation is to use\na hibernate/suspend notifier.  However, the notifiers are called\nbefore the freezing of user space and the drivers wanting to use them\nfor allocating additional memory may not know how much memory needs\nto be allocated at that point.\n\nTo let device drivers overcome this difficulty rework the hibernation\nsequence so that the memory preallocation is carried out after the\ndrivers\u0027 .prepare() callbacks have been executed, so that the\n.prepare() callbacks can be used for allocating additional memory\nto be used by the drivers\u0027 .freeze() callbacks.  Update documentation\nto match the new behavior of the code.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "c650da23d59d2c82307380414606774c6d49b8bd",
      "tree": "b511dc2cda05ff910c745d49a309dc33445dc592",
      "parents": [
        "290c748725c170ed9a02522959ae67f528eefe98"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:25:10 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:25:10 2011 +0200"
      },
      "message": "PM: Remove CONFIG_PM_VERBOSE\n\nNow that we have CONFIG_DYNAMIC_DEBUG there is no need for yet\nanother flag causing dev_dbg() and pr_debug() statements in the\ncore PM code to produce output.  Moreover, CONFIG_PM_VERBOSE\ncauses so much output to be generated that it\u0027s not really useful\nand almost no one sets it.\n\nReferences: https://bugzilla.kernel.org/show_bug.cgi?id\u003d23182\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    }
  ],
  "next": "290c748725c170ed9a02522959ae67f528eefe98"
}
