)]}'
{
  "log": [
    {
      "commit": "b331d259b1147f82d692f3b866e036017cbde8fe",
      "tree": "db8de3a81e63c97c778b950dc6221458df6e6988",
      "parents": [
        "d613c3e2d841889f32b1e74f251a6a6bcd9642cf"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Mon Apr 28 14:13:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 17:29:18 2008 -0700"
      },
      "message": "kernel: fix integer as NULL pointer warnings\n\nkernel/cpuset.c:1268:52: warning: Using plain integer as NULL pointer\nkernel/pid_namespace.c:95:24: warning: Using plain integer as NULL pointer\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nReviewed-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9d04d9280c4bbf6950b70b705bc4ace41de65615",
      "tree": "594f4d9faf9d830fc7b1a7589e4a61f16b1fdf58",
      "parents": [
        "e97e386b126c2d60b8da61ce1e4964b41b3d1514"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Mon Apr 28 13:57:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 14:14:36 2008 -0700"
      },
      "message": "ptrace: conditionalize compat_ptrace_request\n\nMy recent additions to compat_ptrace_request made it mandatory\nfor CONFIG_COMPAT arch\u0027s to define copy_siginfo_from_user32.\nThis broke some builds, though they all really should get cleaned\nup in that way.\n\nSince all the arch\u0027s that actually call compat_ptrace_request have\nnow been cleaned up to use the generic compat_sys_ptrace, we can\navoid the build problems on the crufty arch\u0027s by changing the\nconditionals on the definition.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0c96c5979a522c3323c30a078a70120e29b5bdbc",
      "tree": "1cd5cabe5a3591ce8f22640675921289298d0c40",
      "parents": [
        "e31a94ed371c70855eb30b77c490d6d85dd4da26"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Apr 28 09:23:24 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Apr 28 22:22:21 2008 +0200"
      },
      "message": "hrtimer: raise softirq unlocked to avoid circular lock dependency\n\nThe scheduler hrtimer bits in 2.6.25 introduced a circular lock\ndependency in a rare code path:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ INFO: possible circular locking dependency detected ]\n2.6.25-sched-devel.git-x86-latest.git #19\n-------------------------------------------------------\nX/2980 is trying to acquire lock:\n (\u0026rq-\u003erq_lock_key#2){++..}, at: [\u003cffffffff80230146\u003e] task_rq_lock+0x56/0xa0\n\nbut task is already holding lock:\n (\u0026cpu_base-\u003elock){++..}, at: [\u003cffffffff80257ae1\u003e] lock_hrtimer_base+0x31/0x60\n\nwhich lock already depends on the new lock.\n\nThe scenario which leads to this is:\n\nposix-timer signal is delivered\n -\u003e posix-timer is rearmed\n    timer is already expired in hrtimer_enqueue()\n     -\u003e softirq is raised\n\nTo prevent this we need to move the raise of the softirq out of the\nbase-\u003elock protected code path.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@kernel.org\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "513694b5f931a62561d21eb97a4740ce37464a45",
      "tree": "f340654b3d628c1b443751b1ba6a50f2b97bd4d6",
      "parents": [
        "46b958eb808b73a232efc962e730faffe7cff5c5",
        "d7b41a24bfb5d7fa02f7b49be1293d468814e424"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 09:36:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 09:36:40 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt:\n  hrtimer: timeout too long when using HRTIMER_CB_SOFTIRQ\n"
    },
    {
      "commit": "b6f448e99ce7955b9707ed36a46cab2c6ddf7ddc",
      "tree": "74ae26692c1fd713a0178faca99dea6761d442e8",
      "parents": [
        "46fb6f110dfc3fc99f44cf701f66ea3e790b6a81"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@queued.net",
        "time": "Mon Apr 28 02:15:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:36 2008 -0700"
      },
      "message": "PM/gxfb: add hook to PM console layer that allows disabling of suspend VT switch\n\nPrior to suspend, we allocate and switch to a new VT; after suspend, we switch\nback to the original VT.  This can be slow, and is completely unnecessary if\nthe framebuffer we\u0027re using can restore video properly.\n\nThis adds a hook that allows drivers to select whether or not to do this vt\nswitch, and changes the gxfb driver to call this hook.  It also adds a module\nparam to gxfb to allow controlling of the vt switch (defaulting to no switch).\n\n(Note: I\u0027m not convinced that console_sem is the best way to protect this, but\nwe should probably have some form of locking..)\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Andres Salomon \u003cdilinger@debian.org\u003e\nCc: Jordan Crouse \u003cjordan.crouse@amd.com\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "26b31c1908e02a316edfba08080373342e662c14",
      "tree": "d9140d82ccc9ed3faa2062549d0e7471da9c9b29",
      "parents": [
        "4a296e07c3a410c09b9155da4c2fa84a07964f38"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Mon Apr 28 02:14:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:32 2008 -0700"
      },
      "message": "kprobes: add (un)register_jprobes for batch registration\n\nIntroduce unregister_/register_jprobes() for jprobe batch registration.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nCc: Shaohua Li \u003cshaohua.li@intel.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: \"Frank Ch. Eigler\" \u003cfche@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4a296e07c3a410c09b9155da4c2fa84a07964f38",
      "tree": "d6070555a2ddf026a7c8534689b425c0e931dcfe",
      "parents": [
        "9861668f747895608cea425f8457989d8dd2edf2"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Mon Apr 28 02:14:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:32 2008 -0700"
      },
      "message": "kprobes: add (un)register_kretprobes for batch registration\n\nIntroduce unregister_/register_kretprobes() for kretprobe batch registration.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nCc: Shaohua Li \u003cshaohua.li@intel.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: \"Frank Ch. Eigler\" \u003cfche@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9861668f747895608cea425f8457989d8dd2edf2",
      "tree": "db5dad352826407afb549a8cfa44d4c66823af15",
      "parents": [
        "99602572812442d47403d85f376ad51298dd82a6"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Mon Apr 28 02:14:28 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:32 2008 -0700"
      },
      "message": "kprobes: add (un)register_kprobes for batch registration\n\nIntroduce unregister_/register_kprobes() for kprobe batch registration.  This\ncan reduce waiting time for synchronized_sched() when a lot of probes have to\nbe unregistered at once.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nCc: Shaohua Li \u003cshaohua.li@intel.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: \"Frank Ch. Eigler\" \u003cfche@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3d8d996e0ca5b4093203d3f050b0f70b5c949ae8",
      "tree": "2b19d3a47bf723c3bf6ff7c8a0d90078feaee08c",
      "parents": [
        "0341a4d0fdd2a0a3d9e2bb3a9afef9f8292c8502"
      ],
      "author": {
        "name": "Srinivasa Ds",
        "email": "srinivasa@in.ibm.com",
        "time": "Mon Apr 28 02:14:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:32 2008 -0700"
      },
      "message": "kprobes: prevent probing of preempt_schedule()\n\nProhibit users from probing preempt_schedule().  One way of prohibiting the\nuser from probing functions is by marking such functions with __kprobes.  But\nthis method doesn\u0027t work for those functions, which are already marked to\ndifferent section like preempt_schedule() (belongs to __sched section).  So we\nuse blacklist approach to refuse user from probing these functions.\n\nIn blacklist approach we populate the blacklisted function\u0027s starting address\nand its size in kprobe_blacklist structure.  Then we verify the user specified\naddress against start and end of the blacklisted function.  So any attempt to\nregister probe on blacklisted functions will be rejected.\n\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Srinivasa DS \u003csrinivasa@in.ibm.com\u003e\nSigned-off-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nSigned-off-by: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Dave Hansen \u003chaveblue@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": "3898b1b4ebff8dcfbcf1807e0661585e06c9a91c",
      "tree": "69a338864dfe654f68064a599c5d0da460df34ac",
      "parents": [
        "4016a1390d07f15b267eecb20e76a48fd5c524ef"
      ],
      "author": {
        "name": "Andrew G. Morgan",
        "email": "morgan@kernel.org",
        "time": "Mon Apr 28 02:13:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:26 2008 -0700"
      },
      "message": "capabilities: implement per-process securebits\n\nFilesystem capability support makes it possible to do away with (set)uid-0\nbased privilege and use capabilities instead.  That is, with filesystem\nsupport for capabilities but without this present patch, it is (conceptually)\npossible to manage a system with capabilities alone and never need to obtain\nprivilege via (set)uid-0.\n\nOf course, conceptually isn\u0027t quite the same as currently possible since few\nuser applications, certainly not enough to run a viable system, are currently\nprepared to leverage capabilities to exercise privilege.  Further, many\napplications exist that may never get upgraded in this way, and the kernel\nwill continue to want to support their setuid-0 base privilege needs.\n\nWhere pure-capability applications evolve and replace setuid-0 binaries, it is\ndesirable that there be a mechanisms by which they can contain their\nprivilege.  In addition to leveraging the per-process bounding and inheritable\nsets, this should include suppressing the privilege of the uid-0 superuser\nfrom the process\u0027 tree of children.\n\nThe feature added by this patch can be leveraged to suppress the privilege\nassociated with (set)uid-0.  This suppression requires CAP_SETPCAP to\ninitiate, and only immediately affects the \u0027current\u0027 process (it is inherited\nthrough fork()/exec()).  This reimplementation differs significantly from the\nhistorical support for securebits which was system-wide, unwieldy and which\nhas ultimately withered to a dead relic in the source of the modern kernel.\n\nWith this patch applied a process, that is capable(CAP_SETPCAP), can now drop\nall legacy privilege (through uid\u003d0) for itself and all subsequently\nfork()\u0027d/exec()\u0027d children with:\n\n  prctl(PR_SET_SECUREBITS, 0x2f);\n\nThis patch represents a no-op unless CONFIG_SECURITY_FILE_CAPABILITIES is\nenabled at configure time.\n\n[akpm@linux-foundation.org: fix uninitialised var warning]\n[serue@us.ibm.com: capabilities: use cap_task_prctl when !CONFIG_SECURITY]\nSigned-off-by: Andrew G. Morgan \u003cmorgan@kernel.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: Paul Moore \u003cpaul.moore@hp.com\u003e\nSigned-off-by: Serge E. Hallyn \u003cserue@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": "846a16bf0fc80dc95a414ffce465e3cbf9680247",
      "tree": "45e03061c5e3d8242bf470509771926f37177415",
      "parents": [
        "f0be3d32b05d3fea2fcdbbb81a39dac2a7163169"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Mon Apr 28 02:13:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:23 2008 -0700"
      },
      "message": "mempolicy: rename mpol_copy to mpol_dup\n\nThis patch renames mpol_copy() to mpol_dup() because, well, that\u0027s what it\ndoes.  Like, e.g., strdup() for strings, mpol_dup() takes a pointer to an\nexisting mempolicy, allocates a new one and copies the contents.\n\nIn a later patch, I want to use the name mpol_copy() to copy the contents from\none mempolicy to another like, e.g., strcpy() does for strings.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f0be3d32b05d3fea2fcdbbb81a39dac2a7163169",
      "tree": "5794ce6a8befbce82cd3e44ff15fbf3bb5f2f3bf",
      "parents": [
        "3b1163006332302117b1b2acf226d4014ff46525"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Mon Apr 28 02:13:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:23 2008 -0700"
      },
      "message": "mempolicy: rename mpol_free to mpol_put\n\nThis is a change that was requested some time ago by Mel Gorman.  Makes sense\nto me, so here it is.\n\nNote: I retain the name \"mpol_free_shared_policy()\" because it actually does\nfree the shared_policy, which is NOT a reference counted object.  However, ...\n\nThe mempolicy object[s] referenced by the shared_policy are reference counted,\nso mpol_put() is used to release the reference held by the shared_policy.  The\nmempolicy might not be freed at this time, because some task attached to the\nshared object associated with the shared policy may be in the process of\nallocating a page based on the mempolicy.  In that case, the task performing\nthe allocation will hold a reference on the mempolicy, obtained via\nmpol_shared_policy_lookup().  The mempolicy will be freed when all tasks\nholding such a reference have called mpol_put() for the mempolicy.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "122c7a59055c77434118d7dd4dff4b625d4a2c15",
      "tree": "a17bffce4d5c9574553fdfa075197c0a7b081fbd",
      "parents": [
        "a08cb629f546d1cecebe955392197f226e58dbe1"
      ],
      "author": {
        "name": "Ken\u0027ichi Ohmichi",
        "email": "oomichi@mxs.nes.nec.co.jp",
        "time": "Mon Apr 28 02:13:04 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:23 2008 -0700"
      },
      "message": "vmcoreinfo: add page flags values\n\nAdd some values of page flags to the vmcoreinfo data.\n\nThe vmcoreinfo data has the minimum debugging information only for dump\nfiltering.  makedumpfile (dump filtering command) gets it to distinguish\nunnecessary pages, and makedumpfile creates a small dumpfile.\n\nAn old makedumpfile (v1.2.4 or before) had assumed some values of page flags\ninternally, and this implementation could not follow the change of these\nvalues.  For example, Christoph Lameter is changing these values by the\nfollwing patch: http://lkml.org/lkml/2008/2/29/463\n\nSo a new makedumpfile (v1.2.5) came to need these values and I created this\npatch to let the kernel output them.\n\nSigned-off-by: Ken\u0027ichi Ohmichi \u003coomichi@mxs.nes.nec.co.jp\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "97965478a66fbdf0f4ad5e4ecc4828f0cb548a45",
      "tree": "a60bb6c46acdc35d16b2e48f5c13248fc009b35e",
      "parents": [
        "ec7cade8c1a3d1ace69b35cc843b181818578dce"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Apr 28 02:12:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:22 2008 -0700"
      },
      "message": "mm: Get rid of __ZONE_COUNT\n\nIt was used to compensate because MAX_NR_ZONES was not available to the\n#ifdefs.  Export MAX_NR_ZONES via the new mechanism and get rid of\n__ZONE_COUNT.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9223b4190fa1297a59f292f3419fc0285321d0ea",
      "tree": "c6fbbc6b4c35916232e95686194eea1bd9de7377",
      "parents": [
        "e26831814998cee8e6d9f0a9854cb46c516f5547"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Apr 28 02:12:48 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:21 2008 -0700"
      },
      "message": "pageflags: get rid of FLAGS_RESERVED\n\nNR_PAGEFLAGS specifies the number of page flags we are using.  From that we\ncan calculate the number of bits leftover that can be used for zone, node (and\nmaybe the sections id).  There is no need anymore for FLAGS_RESERVED if we use\nNR_PAGEFLAGS.\n\nUse the new methods to make NR_PAGEFLAGS available via the preprocessor.\nNR_PAGEFLAGS is used to calculate field boundaries in the page flags fields.\nThese field widths have to be available to the preprocessor.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1cdf25d704f7951d02a04064c97db547d6021872",
      "tree": "2571b70c1d95ea66086500b362a0f7fe2999acbc",
      "parents": [
        "308c05e35e3517d19bb67a7e97772235c9e15cd7"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Apr 28 02:12:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:21 2008 -0700"
      },
      "message": "kbuild: create a way to create preprocessor constants from C expressions\n\nThe use of enums create constants that are not available to the preprocessor\nwhen building the kernel (f.e.  MAX_NR_ZONES).\n\nArch code already has a way to export constants calculated to the preprocessor\nthrough the asm-offsets.c file.  Generate something similar for the core\nkernel through kbuild.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "19770b32609b6bf97a3dece2529089494cbfc549",
      "tree": "3b5922d1b20aabdf929bde9309f323841717747a",
      "parents": [
        "dd1a239f6f2d4d3eedd318583ec319aa145b324c"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon Apr 28 02:12:18 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:19 2008 -0700"
      },
      "message": "mm: filter based on a nodemask as well as a gfp_mask\n\nThe MPOL_BIND policy creates a zonelist that is used for allocations\ncontrolled by that mempolicy.  As the per-node zonelist is already being\nfiltered based on a zone id, this patch adds a version of __alloc_pages() that\ntakes a nodemask for further filtering.  This eliminates the need for\nMPOL_BIND to create a custom zonelist.\n\nA positive benefit of this is that allocations using MPOL_BIND now use the\nlocal node\u0027s distance-ordered zonelist instead of a custom node-id-ordered\nzonelist.  I.e., pages will be allocated from the closest allowed node with\navailable memory.\n\n[Lee.Schermerhorn@hp.com: Mempolicy: update stale documentation and comments]\n[Lee.Schermerhorn@hp.com: Mempolicy: make dequeue_huge_page_vma() obey MPOL_BIND nodemask]\n[Lee.Schermerhorn@hp.com: Mempolicy: make dequeue_huge_page_vma() obey MPOL_BIND nodemask rework]\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dd1a239f6f2d4d3eedd318583ec319aa145b324c",
      "tree": "aff4224c96b5e2e67588c3946858a724863eeaf9",
      "parents": [
        "54a6eb5c4765aa573a030ceeba2c14e3d2ea5706"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon Apr 28 02:12:17 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:18 2008 -0700"
      },
      "message": "mm: have zonelist contains structs with both a zone pointer and zone_idx\n\nFiltering zonelists requires very frequent use of zone_idx().  This is costly\nas it involves a lookup of another structure and a substraction operation.  As\nthe zone_idx is often required, it should be quickly accessible.  The node idx\ncould also be stored here if it was found that accessing zone-\u003enode is\nsignificant which may be the case on workloads where nodemasks are heavily\nused.\n\nThis patch introduces a struct zoneref to store a zone pointer and a zone\nindex.  The zonelist then consists of an array of these struct zonerefs which\nare looked up as necessary.  Helpers are given for accessing the zone index as\nwell as the node index.\n\n[kamezawa.hiroyu@jp.fujitsu.com: Suggested struct zoneref instead of embedding information in pointers]\n[hugh@veritas.com: mm-have-zonelist: fix memcg ooms]\n[hugh@veritas.com: just return do_try_to_free_pages]\n[hugh@veritas.com: do_try_to_free_pages gfp_mask redundant]\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d7b41a24bfb5d7fa02f7b49be1293d468814e424",
      "tree": "37c206c5125aca1084b8c4d76f80c5de4dec7c38",
      "parents": [
        "c3bf9bc243092c53946fd6d8ebd6dc2f4e572d48"
      ],
      "author": {
        "name": "Bodo Stroesser",
        "email": "bstroesser@fujitsu-siemens.com",
        "time": "Sat Apr 26 14:10:16 2008 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Apr 27 18:26:43 2008 +0200"
      },
      "message": "hrtimer: timeout too long when using HRTIMER_CB_SOFTIRQ\n\nWhen using hrtimer with timer-\u003ecb_mode \u003d\u003d HRTIMER_CB_SOFTIRQ\nin some cases the clockevent is not programmed.\nThis happens, if:\n - a timer is rearmed while it\u0027s state is HRTIMER_STATE_CALLBACK\n - hrtimer_reprogram() returns -ETIME, when it is called after\n   CALLBACK is finished. This occurs if the new timer-\u003eexpires\n   is in the past when CALLBACK is done.\nIn this case, the timer needs to be removed from the tree and put\nonto the pending list again.\n\nThe patch is against 2.6.22.5, but AFAICS, it is relevant\nfor 2.6.25 also (in run_hrtimer_pending()).\n\nSigned-off-by: Bodo Stroesser \u003cbstroesser@fujitsu-siemens.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "402b08622d9ac6e32e25289573272e0f21bb58a7",
      "tree": "40d7386154cef85c9bfd2bd862db025933820776",
      "parents": [
        "37817f2982d0f559f90cecc66e150dd9d2c2df05"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Tue Mar 25 18:47:10 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:40 2008 +0300"
      },
      "message": "s390: KVM preparation: provide hook to enable pgstes in user pagetable\n\nThe SIE instruction on s390 uses the 2nd half of the page table page to\nvirtualize the storage keys of a guest. This patch offers the s390_enable_sie\nfunction, which reorganizes the page tables of a single-threaded process to\nreserve space in the page table:\ns390_enable_sie makes sure that the process is single threaded and then uses\ndup_mm to create a new mm with reorganized page tables. The old mm is freed\nand the process has now a page status extended field after every page table.\n\nCode that wants to exploit pgstes should SELECT CONFIG_PGSTE.\n\nThis patch has a small common code hit, namely making dup_mm non-static.\n\nEdit (Carsten): I\u0027ve modified Martin\u0027s patch, following Jeremy Fitzhardinge\u0027s\nreview feedback. Now we do have the prototype for dup_mm in\ninclude/linux/sched.h. Following Martin\u0027s suggestion, s390_enable_sie() does now\ncall task_lock() to prevent race against ptrace modification of mm_users.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nAcked-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "50704516f334d5036c09b0ecc0064598f7c5596f",
      "tree": "4d3f07fcc299245c742998c77d9fab6b46ef97f3",
      "parents": [
        "b1721d0da266b4af8cb4419473b4ca36206ab200"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Sat Apr 26 05:25:00 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 26 09:24:31 2008 -0700"
      },
      "message": "Fix uninitialized \u0027copy\u0027 in unshare_files\n\n\tArrgghhh...\n\nSorry about that, I\u0027d been sure I\u0027d folded that one, but it actually got\nlost.  Please apply - that breaks execve().\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nTested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bc84e0a160e383deb56568f4e03bc51b1ce16775",
      "tree": "3c8cf1ae23c2f9c165bd7ce63a40b1d5c3aee275",
      "parents": [
        "a92910723a5af54f81373875fd95133c88df94bd",
        "f8f95702f0c4529b0f59488f4509608f0c160e77"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 25 19:05:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 25 19:05:55 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  [PATCH] sanitize locate_fd()\n  [PATCH] sanitize unshare_files/reset_files_struct\n  [PATCH] sanitize handling of shared descriptor tables in failing execve()\n  [PATCH] close race in unshare_files()\n  [PATCH] restore sane -\u003eumount_begin() API\n  cifs: timeout dfs automounts +little fix.\n"
    },
    {
      "commit": "6e18933f2b6156d0a0ec9d5522ab6a6033cf7241",
      "tree": "f8045942c4b5c250fd4eec8331fec8a7e2962974",
      "parents": [
        "eb855fd8e7f6b1d8b50f24aa36803e29b367b041",
        "03970f065d9b4b156d0e879f82989440f7045396"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 25 12:50:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 25 12:50:00 2008 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:\n  [PATCH] Build fix for CONFIG_NUMA\u003dy \u0026\u0026 CONFIG_SMP\u003dn\n  [IA64] fix bootmem regression on Altix\n"
    },
    {
      "commit": "0b79dada976198cb1a4c043068e3b44d5cab2a5a",
      "tree": "fde938c698545a7c8764a2eac4304dee002bb281",
      "parents": [
        "50be4917ee70218f59e04dec029121b97fb9cb3d",
        "3f5087a2bae5d1ce10a3d698dec8f879a96f5419"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 25 12:47:56 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 25 12:47:56 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-fixes\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-fixes:\n  sched: fix share (re)distribution\n  softlockup: fix NOHZ wakeup\n  seqlock: livelock fix\n"
    },
    {
      "commit": "3b1253880b7a9e6db54b943b2d40bcf2202f58ab",
      "tree": "5301be7b4d4310faa8db5a0d027b81421e36570e",
      "parents": [
        "fd8328be874f4190a811c58cd4778ec2c74d2c05"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Apr 22 05:31:30 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Apr 25 09:23:59 2008 -0400"
      },
      "message": "[PATCH] sanitize unshare_files/reset_files_struct\n\n* let unshare_files() give caller the displaced files_struct\n* don\u0027t bother with grabbing reference only to drop it in the\n  caller if it hadn\u0027t been shared in the first place\n* in that form unshare_files() is trivially implemented via\n  unshare_fd(), so we eliminate the duplicate logics in fork.c\n* reset_files_struct() is not just only called for current;\n  it will break the system if somebody ever calls it for anything\n  else (we can\u0027t modify -\u003efiles of somebody else).  Lose the\n  task_struct * argument.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "fd8328be874f4190a811c58cd4778ec2c74d2c05",
      "tree": "b44ae8e99ce96a1a4739b04d4d1a23c40ab8b163",
      "parents": [
        "6b335d9c80d7f3c2a3f6545f664ae9007a0f3821"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Apr 22 05:11:59 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Apr 25 09:23:53 2008 -0400"
      },
      "message": "[PATCH] sanitize handling of shared descriptor tables in failing execve()\n\n* unshare_files() can fail; doing it after irreversible actions is wrong\n  and de_thread() is certainly irreversible.\n* since we do it unconditionally anyway, we might as well do it in do_execve()\n  and save ourselves the PITA in binfmt handlers, etc.\n* while we are at it, binfmt_som actually leaked files_struct on failure.\n\nAs a side benefit, unshare_files(), put_files_struct() and reset_files_struct()\nbecome unexported.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6b335d9c80d7f3c2a3f6545f664ae9007a0f3821",
      "tree": "fa9ab80e1fddc05b79a76bd10922b3328fe6c3e6",
      "parents": [
        "42faad99658eed7ca8bd328ffa4bcb7d78c9bcca"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Apr 22 04:45:46 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Apr 25 09:23:48 2008 -0400"
      },
      "message": "[PATCH] close race in unshare_files()\n\nupdating current-\u003efiles requires task_lock\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5a9d3225a0d7060bdf3a18018992dc8cef958425",
      "tree": "585102b8d74e5b1631eeaec89ba428a4019d1697",
      "parents": [
        "b69d3987f4360a5e7e9e55465b3cdd0cc204b79e"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 24 20:46:20 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 25 09:53:06 2008 +0200"
      },
      "message": "sched: use alloc_bootmem() instead of alloc_bootmem_low()\n\nThere is no guarantee that there is physical ram below 4GB, and in\nfact many boxes don\u0027t have exactly that.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3f5087a2bae5d1ce10a3d698dec8f879a96f5419",
      "tree": "ad28e2dd5d36e7ea435032dd8a5fbd94340342ca",
      "parents": [
        "126e01bf92dfc5f0ba91e88be02c473e1506d7d9"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Apr 25 00:25:08 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 25 00:25:08 2008 +0200"
      },
      "message": "sched: fix share (re)distribution\n\nfix __aggregate_redistribute_shares() related lockup reported by\nDavid S. Miller.\n\nThe problem this code tries to solve is \u0027accurately\u0027 calculating the \u0027fair\u0027\nshare of the group weight for each cpu. The current code falls back to a global\ngroup rebalance in case the sched_domain\u0027s span it looks at has no shares, but\ndoes have tasks.\n\nThe reason it gets stuck here, is because its inherently racy - if someone\nsteals the last task after we compute the agg-\u003erq_weight, but before we\nrebalance, we\u0027ll never get out of the loop.\n\nWe could of course go fix that, but while looking at this issue I found that\nthis \u0027fallback\u0027 wasn\u0027t nearly as rare as I\u0027d hoped it to be. In fact its quite\ncommon - and given it walks the whole machine, thats very bad.\n\nThe new approach is simple (why didn\u0027t I think of it before?), we set the\naggregate shares to the full task group weight, and each larger sched domain\nthat encounters an aggregate shares larger than the weight, clips it (it\nalready re-distributes anyway).\n\nThis nicely converges to the desired global picture where the sum of all\nshares equals the task group weight.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "126e01bf92dfc5f0ba91e88be02c473e1506d7d9",
      "tree": "fe883f07319193bfbec244becc43e64a22e64f95",
      "parents": [
        "88a411c07b6fedcfc97b8dc51ae18540bd2beda0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 25 00:25:08 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 25 00:25:08 2008 +0200"
      },
      "message": "softlockup: fix NOHZ wakeup\n\nDavid Miller reported:\n\n|---------------\u003e\nthe following commit:\n\n| commit 27ec4407790d075c325e1f4da0a19c56953cce23\n| Author: Ingo Molnar \u003cmingo@elte.hu\u003e\n| Date:   Thu Feb 28 21:00:21 2008 +0100\n|\n|     sched: make cpu_clock() globally synchronous\n|\n|     Alexey Zaytsev reported (and bisected) that the introduction of\n|     cpu_clock() in printk made the timestamps jump back and forth.\n|\n|     Make cpu_clock() more reliable while still keeping it fast when it\u0027s\n|     called frequently.\n|\n|     Signed-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\ncauses watchdog triggers when a cpu exits NOHZ state when it has been\nthere for \u003e\u003d the soft lockup threshold, for example here are some\nmessages from a 128 cpu Niagara2 box:\n\n[  168.106406] BUG: soft lockup - CPU#11 stuck for 128s! [dd:3239]\n[  168.989592] BUG: soft lockup - CPU#21 stuck for 86s! [swapper:0]\n[  168.999587] BUG: soft lockup - CPU#29 stuck for 91s! [make:4511]\n[  168.999615] BUG: soft lockup - CPU#2 stuck for 85s! [swapper:0]\n[  169.020514] BUG: soft lockup - CPU#37 stuck for 91s! [swapper:0]\n[  169.020514] BUG: soft lockup - CPU#45 stuck for 91s! [sh:4515]\n[  169.020515] BUG: soft lockup - CPU#69 stuck for 92s! [swapper:0]\n[  169.020515] BUG: soft lockup - CPU#77 stuck for 92s! [swapper:0]\n[  169.020515] BUG: soft lockup - CPU#61 stuck for 92s! [swapper:0]\n[  169.112554] BUG: soft lockup - CPU#85 stuck for 92s! [swapper:0]\n[  169.112554] BUG: soft lockup - CPU#101 stuck for 92s! [swapper:0]\n[  169.112554] BUG: soft lockup - CPU#109 stuck for 92s! [swapper:0]\n[  169.112554] BUG: soft lockup - CPU#117 stuck for 92s! [swapper:0]\n[  169.171483] BUG: soft lockup - CPU#40 stuck for 80s! [dd:3239]\n[  169.331483] BUG: soft lockup - CPU#13 stuck for 86s! [swapper:0]\n[  169.351500] BUG: soft lockup - CPU#43 stuck for 101s! [dd:3239]\n[  169.531482] BUG: soft lockup - CPU#9 stuck for 129s! [mkdir:4565]\n[  169.595754] BUG: soft lockup - CPU#20 stuck for 93s! [swapper:0]\n[  169.626787] BUG: soft lockup - CPU#52 stuck for 93s! [swapper:0]\n[  169.626787] BUG: soft lockup - CPU#84 stuck for 92s! [swapper:0]\n[  169.636812] BUG: soft lockup - CPU#116 stuck for 94s! [swapper:0]\n\nIt\u0027s simple enough to trigger this by doing a 10 minute sleep after a\nfresh bootup then starting a parallel kernel build.\n\nI suspect this might be reintroducing a problem we\u0027ve had and fixed\nbefore, see the thread:\n\nhttp://marc.info/?l\u003dlinux-kernel\u0026m\u003d119546414004065\u0026w\u003d2\n\u003c---------------|\n\ntouch the softlockup watchdog when exiting NOHZ state - we are\nobviously not locked up.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "03970f065d9b4b156d0e879f82989440f7045396",
      "tree": "7b81e32b6730a682fa945136a71ed7a6f59f6640",
      "parents": [
        "472613b961affef0c73f1c797993678312e7c666"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Tue Apr 22 10:04:26 2008 -0700"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Thu Apr 24 14:40:29 2008 -0700"
      },
      "message": "[PATCH] Build fix for CONFIG_NUMA\u003dy \u0026\u0026 CONFIG_SMP\u003dn\n\nRegression caused by 434d53b00d6bb7be0a1d3dcc0d0d5df6c042e164\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "472613b961affef0c73f1c797993678312e7c666",
      "tree": "b350341d0f10ee150020697b81ebc900332cbba0",
      "parents": [
        "94bc891b00e40cbec375feb4568780af183fd7f4"
      ],
      "author": {
        "name": "Russ Anderson",
        "email": "rja@sgi.com",
        "time": "Thu Apr 24 13:16:59 2008 -0500"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Thu Apr 24 14:21:21 2008 -0700"
      },
      "message": "[IA64] fix bootmem regression on Altix\n\nA recent change prevents SGI Altix from booting.\nThis patch fixes the problem.\n\nThe regresson was introduced in commit 434d53b00d6bb7be0a1d3dcc0d0d5df6c042e164\n\nSigned-off-by: Russ Anderson \u003crja@sgi.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "b0d19a378a409373244088511e889957645f2a44",
      "tree": "25275409eeea845f2e7617f12c8f28801ee4198f",
      "parents": [
        "0093cb1199ec551f179562ca9fbd6f64fb750645",
        "d7d313000ba2fc94a5383511a17ff38a39bab928"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 23 12:23:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 23 12:23:45 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  iwlwifi: Fix built-in compilation of iwlcore\n  net: Unexport move_addr_to_{kernel,user}\n  rt2x00: Select LEDS_CLASS.\n  iwlwifi: Select LEDS_CLASS.\n  leds: Do not guard NEW_LEDS with HAS_IOMEM\n  [IPSEC]: Fix catch-22 with algorithm IDs above 31\n  time: Export set_normalized_timespec.\n  tcp: Make use of before macro in tcp_input.c\n  hamradio: Remove unneeded and deprecated cli()/sti() calls in dmascc.c\n  [NETNS]: Remove empty -\u003einit callback.\n  [DCCP]: Convert do_gettimeofday() to getnstimeofday().\n  [NETNS]: Don\u0027t initialize err variable twice.\n  [NETNS]: The ip6_fib_timer can work with garbage on net namespace stop.\n  [IPV4]: Convert do_gettimeofday() to getnstimeofday().\n  [IPV4]: Make icmp_sk_init() static.\n  [IPV6]: Make struct ip6_prohibit_entry_template static.\n  tcp: Trivial fix to correct function name in a comment in net/ipv4/tcp.c\n  [NET]: Expose netdevice dev_id through sysfs\n  skbuff: fix missing kernel-doc notation\n  [ROSE]: Fix soft lockup wrt. rose_node_list_lock\n"
    },
    {
      "commit": "94bc891b00e40cbec375feb4568780af183fd7f4",
      "tree": "fd48d354c61d2e736aa593c324a6d794afd8a4e7",
      "parents": [
        "934b7024f0ed29003c95cef447d92737ab86dc4f",
        "1ec7f1ddbe5ba49f7b10c3b129d6d5c90c43526c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 22 18:27:56 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 22 18:28:34 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  [PATCH] get rid of __exit_files(), __exit_fs() and __put_fs_struct()\n  [PATCH] proc_readfd_common() race fix\n  [PATCH] double-free of inode on alloc_file() failure exit in create_write_pipe()\n  [PATCH] teach seq_file to discard entries\n  [PATCH] umount_tree() will unhash everything itself\n  [PATCH] get rid of more nameidata passing in namespace.c\n  [PATCH] switch a bunch of LSM hooks from nameidata to path\n  [PATCH] lock exclusively in collect_mounts() and drop_collected_mounts()\n  [PATCH] move a bunch of declarations to fs/internal.h\n"
    },
    {
      "commit": "1ec7f1ddbe5ba49f7b10c3b129d6d5c90c43526c",
      "tree": "c5bd86c748fe42b14698aa29a5b4dadf981cfcfd",
      "parents": [
        "9b4f526cdc0f95f635607dfba6ac788b3deca188"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Apr 22 05:35:42 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Apr 22 19:55:09 2008 -0400"
      },
      "message": "[PATCH] get rid of __exit_files(), __exit_fs() and __put_fs_struct()\n\nThe only reason to have separated __...() for those was to keep them inlined\nfor local users in exit.c.  Since Alexey removed the inline on those, there\u0027s\nno reason whatsoever to keep them around; just collapse with normal variants.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "73486722b70a83bba17be722677519b0855abedf",
      "tree": "76da8b2e9028afb4fae26c48b07eb9e27a5810a4",
      "parents": [
        "03b883840c630c7b571690577809754739ac773f"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Apr 22 10:07:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 22 13:48:02 2008 -0700"
      },
      "message": "kernel-doc: fix sched.c missing parameter\n\nAdd missing kernel-doc in kernel/sched.c:\n\nWarning(linux-2.6.25-git3//kernel/sched.c:7044): No description found for parameter \u0027span\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7c3f944e29c02d71e13442e977cf4cec19c39e98",
      "tree": "30faefefef339d4d2c7c6404e0ab9639801f5488",
      "parents": [
        "d7ee147d4f84219a44670eb0db3a91e58d14a81c"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Mon Apr 21 19:45:12 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 21 19:45:12 2008 -0700"
      },
      "message": "time: Export set_normalized_timespec.\n\nSorry I have just realized set_normalized_timespec() (used in\ntimespec_sub()) is not exported, and link will fail because of it...\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e9b62693ae0a1e13ccc97a6792d9a7770c8d1b5b",
      "tree": "c676609730533fc1b7c5e01992e46b6eaf75f99b",
      "parents": [
        "548453fd107f789f5f1bc2dc13cc432ceb3b5efd",
        "838cb6aba4cebcf4fcd06b90e2adf890bef884ac"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 16:36:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 16:36:46 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/juhl/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/juhl/trivial: (24 commits)\n  DOC:  A couple corrections and clarifications in USB doc.\n  Generate a slightly more informative error msg for bad HZ\n  fix typo \"is\" -\u003e \"if\" in Makefile\n  ext*: spelling fix prefered -\u003e preferred\n  DOCUMENTATION:  Use newer DEFINE_SPINLOCK macro in docs.\n  KEYS:  Fix the comment to match the file name in rxrpc-type.h.\n  RAID: remove trailing space from printk line\n  DMA engine: typo fixes\n  Remove unused MAX_NODES_SHIFT\n  MAINTAINERS: Clarify access to OCFS2 development mailing list.\n  V4L: Storage class should be before const qualifier (sn9c102)\n  V4L: Storage class should be before const qualifier\n  sonypi: Storage class should be before const qualifier\n  intel_menlow: Storage class should be before const qualifier\n  DVB: Storage class should be before const qualifier\n  arm: Storage class should be before const qualifier\n  ALSA: Storage class should be before const qualifier\n  acpi: Storage class should be before const qualifier\n  firmware_sample_driver.c: fix coding style\n  MAINTAINERS: Add ati_remote2 driver\n  ...\n\nFixed up trivial conflicts in firmware_sample_driver.c\n"
    },
    {
      "commit": "bda0c0afa7a694bb1459fd023515aca681e4d79a",
      "tree": "cd8b9d9811463de2065cbe79d59689082d6c53cf",
      "parents": [
        "904e0ab54b7591b9cb01cfc0dbbedcc8bc0d949b",
        "af40b485ea2d957ae2f237ab0e33539ae8f29562"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:58:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:58:35 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6: (42 commits)\n  PCI: Change PCI subsystem MAINTAINER\n  PCI: pci-iommu-iotlb-flushing-speedup\n  PCI: pci_setup_bridge() mustn\u0027t be __devinit\n  PCI: pci_bus_size_cardbus() mustn\u0027t be __devinit\n  PCI: pci_scan_device() mustn\u0027t be __devinit\n  PCI: pci_alloc_child_bus() mustn\u0027t be __devinit\n  PCI: replace remaining __FUNCTION__ occurrences\n  PCI: Hotplug: fakephp: Return success, not ENODEV, when bus rescan is triggered\n  PCI: Hotplug: Fix leaks in IBM Hot Plug Controller Driver - ibmphp_init_devno()\n  PCI: clean up resource alignment management\n  PCI: aerdrv_acpi.c: remove unneeded NULL check\n  PCI: Update VIA CX700 quirk\n  PCI: Expose PCI VPD through sysfs\n  PCI: iommu: iotlb flushing\n  PCI: simplify quirk debug output\n  PCI: iova RB tree setup tweak\n  PCI: parisc: use generic pci_enable_resources()\n  PCI: ppc: use generic pci_enable_resources()\n  PCI: powerpc: use generic pci_enable_resources()\n  PCI: ia64: use generic pci_enable_resources()\n  ...\n"
    },
    {
      "commit": "e16b27816462de700f9508d86954410c41105dc2",
      "tree": "f3827a23a43dcaad06362d511ac20d576b9128d5",
      "parents": [
        "553a56726be86c09cfa53c84da1ea0e2043e364e"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Sun Apr 20 13:10:12 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:53:41 2008 -0700"
      },
      "message": "ptrace: compat_ptrace_request siginfo\n\nThis adds support for PTRACE_GETSIGINFO and PTRACE_SETSIGINFO in\ncompat_ptrace_request.  It relies on existing arch definitions for\ncopy_siginfo_to_user32 and copy_siginfo_from_user32.\n\nOn powerpc, this fixes a longstanding regression of 32-bit ptrace\ncalls on 64-bit kernels vs native calls (64-bit calls or 32-bit\nkernels).  This can be seen in a 32-bit call using PTRACE_GETSIGINFO\nto examine e.g. siginfo_t.si_addr from a signal that sets it.\n(This was broken as of 2.6.24 and, I presume, many or all prior versions.)\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5dfeaef89559d4968b0470adf749659f10d722f6",
      "tree": "e38f4177b8e2e12cd1aa2e9910beea1dc3578784",
      "parents": [
        "429f731dea577bdd43693940cdca524135287e6a",
        "259aae864ceeb2b34e7bafa1ce18d096a357fab2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:43:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:43:43 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt\n\n* \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt:\n  hrtimer: optimize the softirq time optimization\n  hrtimer: reduce calls to hrtimer_get_softirq_time()\n  clockevents: fix typo in tick-broadcast.c\n  jiffies: add time_is_after_jiffies and others which compare with jiffies\n"
    },
    {
      "commit": "429f731dea577bdd43693940cdca524135287e6a",
      "tree": "932337b7d23dd736612c6b6e6601c50bc24cfc5f",
      "parents": [
        "85b375a613085b78531ec86369a51c2f3b922f95",
        "d2f5e80862d33a7746a40569840248a592dbc395"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:41:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:41:27 2008 -0700"
      },
      "message": "Merge branch \u0027semaphore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc\n\n* \u0027semaphore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc:\n  Deprecate the asm/semaphore.h files in feature-removal-schedule.\n  Convert asm/semaphore.h users to linux/semaphore.h\n  security: Remove unnecessary inclusions of asm/semaphore.h\n  lib: Remove unnecessary inclusions of asm/semaphore.h\n  kernel: Remove unnecessary inclusions of asm/semaphore.h\n  include: Remove unnecessary inclusions of asm/semaphore.h\n  fs: Remove unnecessary inclusions of asm/semaphore.h\n  drivers: Remove unnecessary inclusions of asm/semaphore.h\n  net: Remove unnecessary inclusions of asm/semaphore.h\n  arch: Remove unnecessary inclusions of asm/semaphore.h\n"
    },
    {
      "commit": "ec965350bb98bd291eb34f6ecddfdcfc36da1e6e",
      "tree": "983bcaf33ed00b48a86f7f8790cc460cf15dd252",
      "parents": [
        "5f033bb9bc5cb3bb37a79e3ef131f50ecdcb72b0",
        "486fdae21458bd9f4e125099bb3c38a4064e450e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:40:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:40:24 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-devel\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-devel: (62 commits)\n  sched: build fix\n  sched: better rt-group documentation\n  sched: features fix\n  sched: /debug/sched_features\n  sched: add SCHED_FEAT_DEADLINE\n  sched: debug: show a weight tree\n  sched: fair: weight calculations\n  sched: fair-group: de-couple load-balancing from the rb-trees\n  sched: fair-group scheduling vs latency\n  sched: rt-group: optimize dequeue_rt_stack\n  sched: debug: add some debug code to handle the full hierarchy\n  sched: fair-group: SMP-nice for group scheduling\n  sched, cpuset: customize sched domains, core\n  sched, cpuset: customize sched domains, docs\n  sched: prepatory code movement\n  sched: rt: multi level group constraints\n  sched: task_group hierarchy\n  sched: fix the task_group hierarchy for UID grouping\n  sched: allow the group scheduler to have multiple levels\n  sched: mix tasks and groups\n  ...\n"
    },
    {
      "commit": "f5264481c8049673e2cc8c7aca410931f571ba2d",
      "tree": "cfe54747b75be1c83d2102d9e7f80c650602fcdc",
      "parents": [
        "1fb7c6e4cba35b5e7cef88b58d0a2ad164d801a5"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@suse.cz",
        "time": "Mon Apr 21 22:15:06 2008 +0000"
      },
      "committer": {
        "name": "Jesper Juhl",
        "email": "juhl@hera.kernel.org",
        "time": "Mon Apr 21 22:15:06 2008 +0000"
      },
      "message": "trivial: small cleanups\n\nThese are small cleanups all over the tree.\n\nTrivial style and comment changes to\n  fs/select.c, kernel/signal.c, kernel/stop_machine.c \u0026 mm/pdflush.c\n\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\n"
    },
    {
      "commit": "259aae864ceeb2b34e7bafa1ce18d096a357fab2",
      "tree": "5adb390434df0d95497763177d729c5d6cc98d20",
      "parents": [
        "833883d9ac4cfb31c1c4419335e68e6895a05b6b"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Apr 19 21:31:26 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Apr 21 07:59:51 2008 +0200"
      },
      "message": "hrtimer: optimize the softirq time optimization\n\nThe previous optimization did not take the case into account where a\nclock provides its own softirq_get_time() function.\n\nCheck for the availablitiy of the clock get time function first and\nthen check if we need to retrieve the time for both clocks via\nhrtimer_softirq_gettime() to avoid a double evaluation of time in that\ncase as well.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "833883d9ac4cfb31c1c4419335e68e6895a05b6b",
      "tree": "8266c8216aa988aedb6a25925d99c9e269467e7e",
      "parents": [
        "833df317f9ada91488898b005f4641bb674a3bae"
      ],
      "author": {
        "name": "Dimitri Sivanich",
        "email": "sivanich@sgi.com",
        "time": "Fri Apr 18 13:39:00 2008 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Apr 21 07:59:51 2008 +0200"
      },
      "message": "hrtimer: reduce calls to hrtimer_get_softirq_time()\n\nIt seems that hrtimer_run_queues() is calling hrtimer_get_softirq_time() more\noften than it needs to.  This can cause frequent contention on systems with\nlarge numbers of processors/cores.\n\nWith this patch, hrtimer_run_queues only calls hrtimer_get_softirq_time() if\nthere is a pending timer in one of the hrtimer bases, and only once.\n\nThis also combines hrtimer_run_queues() and the inline run_hrtimer_queue()\ninto one function.\n\n[ tglx@linutronix.de: coding style ]\n\nSigned-off-by: Dimitri Sivanich \u003csivanich@sgi.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "833df317f9ada91488898b005f4641bb674a3bae",
      "tree": "4d71c55616b3bd5648511a3c485324984c8c2472",
      "parents": [
        "3f34d024c12e49fbce4009d094ae1d287084e511"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Fri Apr 18 13:38:58 2008 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Apr 21 07:59:51 2008 +0200"
      },
      "message": "clockevents: fix typo in tick-broadcast.c\n\nbraodcast -\u003e broadcast\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "884525655d07fdee9245716b998ecdc45cdd8007",
      "tree": "975cbf2b5079430240d3496323df1a266be95d27",
      "parents": [
        "d75b305295c38ba9610ff3b2200f7d1989dc55fd"
      ],
      "author": {
        "name": "Ivan Kokshaysky",
        "email": "ink@jurassic.park.msu.ru",
        "time": "Sun Mar 30 19:50:14 2008 +0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Apr 20 21:47:08 2008 -0700"
      },
      "message": "PCI: clean up resource alignment management\n\nDone per Linus\u0027 request and suggestions. Linus has explained that\nbetter than I\u0027ll be able to explain:\n\nOn Thu, Mar 27, 2008 at 10:12:10AM -0700, Linus Torvalds wrote:\n\u003e Actually, before we go any further, there might be a less intrusive\n\u003e alternative: add just a couple of flags to the resource flags field (we\n\u003e still have something like 8 unused bits on 32-bit), and use those to\n\u003e implement a generic \"resource_alignment()\" routine.\n\u003e\n\u003e Two flags would do it:\n\u003e\n\u003e  - IORESOURCE_SIZEALIGN: size indicates alignment (regular PCI device\n\u003e    resources)\n\u003e\n\u003e  - IORESOURCE_STARTALIGN: start field is alignment (PCI bus resources\n\u003e    during probing)\n\u003e\n\u003e and then the case of both flags zero (or both bits set) would actually be\n\u003e \"invalid\", and we would also clear the IORESOURCE_STARTALIGN flag when we\n\u003e actually allocate the resource (so that we don\u0027t use the \"start\" field as\n\u003e alignment incorrectly when it no longer indicates alignment).\n\u003e\n\u003e That wouldn\u0027t be totally generic, but it would have the nice property of\n\u003e automatically at least add sanity checking for that whole \"res-\u003estart has\n\u003e the odd meaning of \u0027alignment\u0027 during probing\" and remove the need for a\n\u003e new field, and it would allow us to have a generic \"resource_alignment()\"\n\u003e routine that just gets a resource pointer.\n\nBesides, I removed IORESOURCE_BUS_HAS_VGA flag which was unused for ages.\n\nSigned-off-by: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Gary Hade \u003cgaryhade@us.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "486fdae21458bd9f4e125099bb3c38a4064e450e",
      "tree": "4b82eb2ac7ee456f093c17aa778532e6d26e632a",
      "parents": [
        "b9b158fe1ca2c166ff918de30cb098eafcae487a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 12:11:10 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:45:01 2008 +0200"
      },
      "message": "sched: build fix\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c24b7c524421f9ea9d9ebab55f80cfb1f3fb77a3",
      "tree": "52a61a1091c8d119b5a2ae97661651d17c2e9d5e",
      "parents": [
        "f00b45c145981b43c7e7f66315ac77534c938cbf"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 18 10:55:34 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "message": "sched: features fix\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f00b45c145981b43c7e7f66315ac77534c938cbf",
      "tree": "56604b844199ded71c518706f3c3a11275432266",
      "parents": [
        "06379aba522ebdabca37446ea988a23c43c03c67"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "message": "sched: /debug/sched_features\n\nprovide a text based interface to the scheduler features; this saves the\n\u0027user\u0027 from setting bits using decimal arithmetic.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "06379aba522ebdabca37446ea988a23c43c03c67",
      "tree": "7a6b522e6f8390935e5369b96d1a080a0ee579d7",
      "parents": [
        "7ba2e74ab5a0518bc953042952dd165724bc70c9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 09:25:58 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "message": "sched: add SCHED_FEAT_DEADLINE\n\nunused at the moment.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7ba2e74ab5a0518bc953042952dd165724bc70c9",
      "tree": "c6a1495130ebef022f21cb3b7acde0842588acb4",
      "parents": [
        "8f1bc385cfbab474db6c27b5af1e439614f3025c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "message": "sched: debug: show a weight tree\n\nPrint a tree of weights.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8f1bc385cfbab474db6c27b5af1e439614f3025c",
      "tree": "e4cfb8255d62621d17bc08ee5f94f42a0cc22677",
      "parents": [
        "4a55bd5e97b1775913f88f11108a4f144f590e89"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "message": "sched: fair: weight calculations\n\nIn order to level the hierarchy, we need to calculate load based on the\nroot view. That is, each task\u0027s load is in the same unit.\n\n             A\n            / \\\n           B   1\n          / \\\n         2   3\n\nTo compute 1\u0027s load we do:\n\n\t   weight(1)\n\t--------------\n\t rq_weight(A)\n\nTo compute 2\u0027s load we do:\n\n\t  weight(2)      weight(B)\n\t------------ * -----------\n\trq_weight(B)   rw_weight(A)\n\nThis yields load fractions in comparable units.\n\nThe consequence is that it changes virtual time. We used to have:\n\n                time_{i}\n  vtime_{i} \u003d ------------\n               weight_{i}\n\n  vtime \u003d \\Sum vtime_{i} \u003d time / rq_weight.\n\nBut with the new way of load calculation we get that vtime equals time.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4a55bd5e97b1775913f88f11108a4f144f590e89",
      "tree": "4514f2370d898b93086779c821023319fe4c8b9d",
      "parents": [
        "ac884dec6d4a7df252150af875cffddf8f1d9c15"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "message": "sched: fair-group: de-couple load-balancing from the rb-trees\n\nDe-couple load-balancing from the rb-trees, so that I can change their\norganization.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ac884dec6d4a7df252150af875cffddf8f1d9c15",
      "tree": "6ba7140a8b6e7b332fd687d24de45d2f6ded8035",
      "parents": [
        "58d6c2d72f8628f39e8689fbde8aa177fcf00a37"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "message": "sched: fair-group scheduling vs latency\n\nCurrently FAIR_GROUP sched grows the scheduler latency outside of\nsysctl_sched_latency, invert this so it stays within.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "58d6c2d72f8628f39e8689fbde8aa177fcf00a37",
      "tree": "0be40bd788856b3cabb99ff258561b15a574f2f3",
      "parents": [
        "d19ca30874f2ad343d054e0b5c0576744afeecd4"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "message": "sched: rt-group: optimize dequeue_rt_stack\n\nNow that the group hierarchy can have an arbitrary depth the O(n^2) nature\nof RT task dequeues will really hurt. Optimize this by providing space to\nstore the tree path, so we can walk it the other way.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d19ca30874f2ad343d054e0b5c0576744afeecd4",
      "tree": "d22f35b7290fff3547d030893de1783695d9978b",
      "parents": [
        "18d95a2832c1392a2d63227a7a6d433cb9f2037e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "message": "sched: debug: add some debug code to handle the full hierarchy\n\nAdd some extra debug output so we can get a better overview of the\nfull hierarchy.\n\nWe print the cgroup path after each cfs_rq, so we can see what group\nwe\u0027re looking at.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "18d95a2832c1392a2d63227a7a6d433cb9f2037e",
      "tree": "fa85b700aa3caac5b1309edd8e31d9b957957a83",
      "parents": [
        "1d3504fcf5606579d60b649d19f44b3871c1ddae"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "message": "sched: fair-group: SMP-nice for group scheduling\n\nImplement SMP nice support for the full group hierarchy.\n\nOn each load-balance action, compile a sched_domain wide view of the full\ntask_group tree. We compute the domain wide view when walking down the\nhierarchy, and readjust the weights when walking back up.\n\nAfter collecting and readjusting the domain wide view, we try to balance the\ntasks within the task_groups. The current approach is a naively balance each\ntask group until we\u0027ve moved the targeted amount of load.\n\nInspired by Srivatsa Vaddsgiri\u0027s previous code and Abhishek Chandra\u0027s H-SMP\npaper.\n\nXXX: there will be some numerical issues due to the limited nature of\n     SCHED_LOAD_SCALE wrt to representing a task_groups influence on the\n     total weight. When the tree is deep enough, or the task weight small\n     enough, we\u0027ll run out of bits.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCC: Abhishek Chandra \u003cchandra@cs.umn.edu\u003e\nCC: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1d3504fcf5606579d60b649d19f44b3871c1ddae",
      "tree": "001a1b57bd7f123fd51361d78d9277b2dcac1bf3",
      "parents": [
        "4d5f35533fb9b2cd553cec6611195bcbfb7ffd84"
      ],
      "author": {
        "name": "Hidetoshi Seto",
        "email": "seto.hidetoshi@jp.fujitsu.com",
        "time": "Tue Apr 15 14:04:23 2008 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "message": "sched, cpuset: customize sched domains, core\n\n[rebased for sched-devel/latest]\n\n - Add a new cpuset file, having levels:\n     sched_relax_domain_level\n\n - Modify partition_sched_domains() and build_sched_domains()\n   to take attributes parameter passed from cpuset.\n\n - Fill newidle_idx for node domains which currently unused but\n   might be required if sched_relax_domain_level become higher.\n\n - We can change the default level by boot option \u0027relax_domain_level\u003d\u0027.\n\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b758149c02638146a835f42097dd1950a6cae638",
      "tree": "a17be39d414eaa6ba6de612c049765f3bbf30efb",
      "parents": [
        "b40b2e8eb52192a8a22d707ed37925792b7bdfd1"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "message": "sched: prepatory code movement\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b40b2e8eb52192a8a22d707ed37925792b7bdfd1",
      "tree": "88a20a3fc5a3d80ad7f5db4cd26255e14fd82642",
      "parents": [
        "f473aa5e025bc8e0c5fe9352f65178a54adadec2"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "message": "sched: rt: multi level group constraints\n\nmulti level rt constraints\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f473aa5e025bc8e0c5fe9352f65178a54adadec2",
      "tree": "4b5f2de42e619c4a6fa62c6bc20474d5d8c9b258",
      "parents": [
        "eff766a65c60237bfa865160c3129de31fab591b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "message": "sched: task_group hierarchy\n\nAdd the full parent\u003c-\u003echild relation thing into task_groups as well.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "eff766a65c60237bfa865160c3129de31fab591b",
      "tree": "c003be272be4bd614485606c77893295f3b175a2",
      "parents": [
        "ec7dc8ac73e4a56ed03b673f026f08c0d547f597"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "message": "sched: fix the task_group hierarchy for UID grouping\n\nUID grouping doesn\u0027t actually have a task_group representing the root of\nthe task_group tree. Add one.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ec7dc8ac73e4a56ed03b673f026f08c0d547f597",
      "tree": "851dd612f2c80e4643d10c18bb33ab5b2df9aa70",
      "parents": [
        "354d60c2ff72d86627dfe2089d186824abf4bb8e"
      ],
      "author": {
        "name": "Dhaval Giani",
        "email": "dhaval@linux.vnet.ibm.com",
        "time": "Sat Apr 19 19:44:59 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:59 2008 +0200"
      },
      "message": "sched: allow the group scheduler to have multiple levels\n\nThis patch makes the group scheduler multi hierarchy aware.\n\n[a.p.zijlstra@chello.nl: rt-parts and assorted fixes]\nSigned-off-by: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "354d60c2ff72d86627dfe2089d186824abf4bb8e",
      "tree": "10cea61ce7036448ed7246820c5575df2a61bb3b",
      "parents": [
        "ea736ed5d353d7a3aa1cf8ce4cf8d947bc353fb2"
      ],
      "author": {
        "name": "Dhaval Giani",
        "email": "dhaval@linux.vnet.ibm.com",
        "time": "Sat Apr 19 19:44:59 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:59 2008 +0200"
      },
      "message": "sched: mix tasks and groups\n\nThis patch allows tasks and groups to exist in the same cfs_rq. With this\nchange the CFS group scheduling follows a 1/(M+N) model from a 1/(1+N)\nfairness model where M tasks and N groups exist at the cfs_rq level.\n\n[a.p.zijlstra@chello.nl: rt bits and assorted fixes]\nSigned-off-by: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nSigned-off-by: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ea736ed5d353d7a3aa1cf8ce4cf8d947bc353fb2",
      "tree": "1675a12c641607c95c67969745dbfa12e7815cb8",
      "parents": [
        "112f53f5d700589de741dca67c77439e96ea94a7"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 25 13:51:45 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:59 2008 +0200"
      },
      "message": "sched: fix checks\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "112f53f5d700589de741dca67c77439e96ea94a7",
      "tree": "1faeaa6a25717b80c8ce0a51a9bf7f5f32d5ac08",
      "parents": [
        "cd8ba7cd9be0192348c2836cb6645d9b2cd2bfd2"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Mar 19 11:43:36 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:59 2008 +0200"
      },
      "message": "sched: old sleeper bonus\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cd8ba7cd9be0192348c2836cb6645d9b2cd2bfd2",
      "tree": "3b4138c7b683c2168ac13be41aab74b49a6bcf1c",
      "parents": [
        "e0982e90cd1ecf59818b137386b7f63debded9cc"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Wed Mar 26 14:23:49 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:59 2008 +0200"
      },
      "message": "sched: add new set_cpus_allowed_ptr function\n\nAdd a new function that accepts a pointer to the \"newly allowed cpus\"\ncpumask argument.\n\nint set_cpus_allowed_ptr(struct task_struct *p, const cpumask_t *new_mask)\n\nThe current set_cpus_allowed() function is modified to use the above\nbut this does not result in an ABI change.  And with some compiler\noptimization help, it may not introduce any additional overhead.\n\nAdditionally, to enforce the read only nature of the new_mask arg, the\n\"const\" property is migrated to sub-functions called by set_cpus_allowed.\nThis silences compiler warnings.\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e0982e90cd1ecf59818b137386b7f63debded9cc",
      "tree": "3cdbfa8a69dca4a9c9596d61bffa32f1b676f09d",
      "parents": [
        "4bdbaad33d0f4d0e9818a38a825f5b75c0296a28"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Wed Mar 26 14:23:48 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:59 2008 +0200"
      },
      "message": "init: move setup of nr_cpu_ids to as early as possible\n\nMove the setting of nr_cpu_ids from sched_init() to start_kernel()\nso that it\u0027s available as early as possible.\n\nNote that an arch has the option of setting it even earlier if need be,\nbut it should not result in a different value than the setup_nr_cpu_ids()\nfunction.\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4bdbaad33d0f4d0e9818a38a825f5b75c0296a28",
      "tree": "36d8ac15fb3d2d4ccb939327a786f8327a403b98",
      "parents": [
        "9d1fe3236a1d64ab687e16b4cbbaa1383352a2c1"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Tue Apr 15 16:35:52 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:59 2008 +0200"
      },
      "message": "sched: remove another cpumask_t variable from stack\n\n    * Remove another cpumask_t variable from stack that was missed in the\n      last kernel_sched_c updates.\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "39106dcf85285e78f3b290022122c76f851379b8",
      "tree": "7fe93aaf6a433920b1c31725f42db30799deaa55",
      "parents": [
        "fb0f330e62d71f7c535251438068199af320cf73"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Tue Apr 08 11:43:03 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:59 2008 +0200"
      },
      "message": "cpumask: use new cpus_scnprintf function\n\n  * Cleaned up references to cpumask_scnprintf() and added new\n    cpulist_scnprintf() interfaces where appropriate.\n\n  * Fix some small bugs (or code efficiency improvments) for various uses\n    of cpumask_scnprintf.\n\n  * Clean up some checkpatch errors.\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7c16ec585c558960a508ccf9a08fcb9ed49b3754",
      "tree": "cca2b12203a10944d7095a07df7292421f578dc9",
      "parents": [
        "c5f59f0833df945eef7ff35f3dc6ba61c5f293dd"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Fri Apr 04 18:11:11 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:59 2008 +0200"
      },
      "message": "cpumask: reduce stack usage in SD_x_INIT initializers\n\n  * Remove empty cpumask_t (and all non-zero/non-null) variables\n    in SD_*_INIT macros.  Use memset(0) to clear.  Also, don\u0027t\n    inline the initializer functions to save on stack space in\n    build_sched_domains().\n\n  * Merge change to include/linux/topology.h that uses the new\n    node_to_cpumask_ptr function in the nr_cpus_node macro into\n    this patch.\n\nDepends on:\n\t[mm-patch]: asm-generic-add-node_to_cpumask_ptr-macro.patch\n\t[sched-devel]: sched: add new set_cpus_allowed_ptr function\n\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c5f59f0833df945eef7ff35f3dc6ba61c5f293dd",
      "tree": "32c1a94847d0154051c79011212d401462723d55",
      "parents": [
        "b53e921ba1cff8453dc9a87a84052fa12d5b30bd"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Fri Apr 04 18:11:10 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:59 2008 +0200"
      },
      "message": "nodemask: use new node_to_cpumask_ptr function\n\n  * Use new node_to_cpumask_ptr.  This creates a pointer to the\n    cpumask for a given node.  This definition is in mm patch:\n\n\tasm-generic-add-node_to_cpumask_ptr-macro.patch\n\n  * Use new set_cpus_allowed_ptr function.\n\nDepends on:\n\t[mm-patch]: asm-generic-add-node_to_cpumask_ptr-macro.patch\n\t[sched-devel]: sched: add new set_cpus_allowed_ptr function\n\t[x86/latest]: x86: add cpus_scnprintf function\n\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Greg Banks \u003cgnb@melbourne.sgi.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b53e921ba1cff8453dc9a87a84052fa12d5b30bd",
      "tree": "021cadb6c58543ecccd95b55fc319f249ebf176e",
      "parents": [
        "f9a86fcbbb1e5542eabf45c9144ac4b6330861a4"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Fri Apr 04 18:11:08 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:59 2008 +0200"
      },
      "message": "generic: reduce stack pressure in sched_affinity\n\n  * Modify sched_affinity functions to pass cpumask_t variables by reference\n    instead of by value.\n\n  * Use new set_cpus_allowed_ptr function.\n\nDepends on:\n\t[sched-devel]: sched: add new set_cpus_allowed_ptr function\n\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Cliff Wickman \u003ccpw@sgi.com\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f9a86fcbbb1e5542eabf45c9144ac4b6330861a4",
      "tree": "0a3f8d57969b2dc8d2663e05d6ee36f9b50ba26a",
      "parents": [
        "f70316dace2bb99730800d47044acb818c6735f6"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Fri Apr 04 18:11:07 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:58 2008 +0200"
      },
      "message": "cpuset: modify cpuset_set_cpus_allowed to use cpumask pointer\n\n  * Modify cpuset_cpus_allowed to return the currently allowed cpuset\n    via a pointer argument instead of as the function return value.\n\n  * Use new set_cpus_allowed_ptr function.\n\n  * Cleanup CPU_MASK_ALL and NODE_MASK_ALL uses.\n\nDepends on:\n\t[sched-devel]: sched: add new set_cpus_allowed_ptr function\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f70316dace2bb99730800d47044acb818c6735f6",
      "tree": "03c0178c8d6c0213a82b800f4a3e00c2da9a4d5c",
      "parents": [
        "fc0e474840d1fd96f28fbd76d4f36b80e7ad1cc3"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Fri Apr 04 18:11:06 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:58 2008 +0200"
      },
      "message": "generic: use new set_cpus_allowed_ptr function\n\n  * Use new set_cpus_allowed_ptr() function added by previous patch,\n    which instead of passing the \"newly allowed cpus\" cpumask_t arg\n    by value,  pass it by pointer:\n\n    -int set_cpus_allowed(struct task_struct *p, cpumask_t new_mask)\n    +int set_cpus_allowed_ptr(struct task_struct *p, const cpumask_t *new_mask)\n\n  * Modify CPU_MASK_ALL\n\nDepends on:\n\t[sched-devel]: sched: add new set_cpus_allowed_ptr function\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "434d53b00d6bb7be0a1d3dcc0d0d5df6c042e164",
      "tree": "9bf697c0891127157e75fea409d8d8167d210fd4",
      "parents": [
        "d366f8cbc16882e93538d9a52423c2f50dad7c06"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Fri Apr 04 18:11:04 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:58 2008 +0200"
      },
      "message": "sched: remove fixed NR_CPUS sized arrays in kernel_sched_c\n\n * Change fixed size arrays to per_cpu variables or dynamically allocated\n   arrays in sched_init() and sched_init_smp().\n\n     (1) static struct sched_entity *init_sched_entity_p[NR_CPUS];\n     (1) static struct cfs_rq *init_cfs_rq_p[NR_CPUS];\n     (1) static struct sched_rt_entity *init_sched_rt_entity_p[NR_CPUS];\n     (1) static struct rt_rq *init_rt_rq_p[NR_CPUS];\n\t static struct sched_group **sched_group_nodes_bycpu[NR_CPUS];\n\n     (1) - these arrays are allocated via alloc_bootmem_low()\n\n * Change sched_domain_debug_one() to use cpulist_scnprintf instead of\n   cpumask_scnprintf.  This reduces the output buffer required and improves\n   readability when large NR_CPU count machines arrive.\n\n * In sched_create_group() we allocate new arrays based on nr_cpu_ids.\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d366f8cbc16882e93538d9a52423c2f50dad7c06",
      "tree": "64202cd91a942dc3ea9b88adb6da562c2fb191a8",
      "parents": [
        "f46bdf2db25dfaff3b611c9711705645cdb03acc"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Fri Apr 04 18:11:12 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:58 2008 +0200"
      },
      "message": "cpumask: Cleanup more uses of CPU_MASK and NODE_MASK\n\n *  Replace usages of CPU_MASK_NONE, CPU_MASK_ALL, NODE_MASK_NONE,\n    NODE_MASK_ALL to reduce stack requirements for large NR_CPUS\n    and MAXNODES counts.\n\n *  In some cases, the cpumask variable was initialized but then overwritten\n    with another value.  This is the case for changes like this:\n\n    -       cpumask_t oldmask \u003d CPU_MASK_ALL;\n    +       cpumask_t oldmask;\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9f0e738f492522a2f70ad9a2a0287e4e966c633a",
      "tree": "e586f800c807ab551754e0a978179b7a2f7f021e",
      "parents": [
        "0297b80339d545045490716fa8591b215fdd9458"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Tue Feb 12 13:30:05 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:58 2008 +0200"
      },
      "message": "sched: fix cpus_allowed settings\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nAcked-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0297b80339d545045490716fa8591b215fdd9458",
      "tree": "3a00c5bd83fc3f0493a2a26b95db0c4a7e4bb691",
      "parents": [
        "32cd756a80aaef657ac09c76e6eff3ba65567790"
      ],
      "author": {
        "name": "Dhaval Giani",
        "email": "dhaval@linux.vnet.ibm.com",
        "time": "Fri Feb 29 10:02:44 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:58 2008 +0200"
      },
      "message": "sched: allow cpuacct stats to be reset\n\nCurrently the schedstats implementation does not allow the statistics\nto be reset. This patch aims to allow that.\n\n  echo 0 \u003e cpuacct.usage\n\nresets the usage. Any other value is not allowed and returns -EINVAL.\n\nSigned-off-by: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "32cd756a80aaef657ac09c76e6eff3ba65567790",
      "tree": "96945c0d1ffb03694757d174ba5969bead89aa31",
      "parents": [
        "48f20a9a9488c432fc86df1ff4b7f4fa895d1183"
      ],
      "author": {
        "name": "Dhaval Giani",
        "email": "dhaval@linux.vnet.ibm.com",
        "time": "Fri Feb 29 10:02:43 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:58 2008 +0200"
      },
      "message": "sched: cleanup cpuacct variable names\n\nChange the variable names to the common convention for the cpuacct\nsubsystem.\n\nSigned-off-by: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "48f20a9a9488c432fc86df1ff4b7f4fa895d1183",
      "tree": "987a41075c8a6640968b6b2054306644e10e4933",
      "parents": [
        "ac086bc22997a2be24fc40fc8d46522fe7e03d11"
      ],
      "author": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Tue Mar 04 15:23:25 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:58 2008 +0200"
      },
      "message": "tasklets: execute tasklets in the same order they were queued\n\nI noticed this when looking at an openswan issue.  Openswan (ab?)uses the\ntasklet API to defer processing of packets in some situations, with one\npacket per tasklet_action().  I started noticing sequences of\nbackwards-ordered sequence numbers coming over the wire, since new tasklets\nare always queued at the head of the list but processed sequentially.\n\nConvert it to instead append new entries to the tail of the list.  As an\nextra bonus, the splicing code in takeover_tasklets() no longer has to\niterate over the list.\n\nSigned-off-by: Olof Johansson \u003colof@lixom.net\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ac086bc22997a2be24fc40fc8d46522fe7e03d11",
      "tree": "7a484ba13acbdf0fa98c896ce58e807b4b5b1af9",
      "parents": [
        "d0b27fa77854b149ad4af08b0fe47fe712a47ade"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:44:58 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:58 2008 +0200"
      },
      "message": "sched: rt-group: smp balancing\n\nCurrently the rt group scheduling does a per cpu runtime limit, however\nthe rt load balancer makes no guarantees about an equal spread of real-\ntime tasks, just that at any one time, the highest priority tasks run.\n\nSolve this by making the runtime limit a global property by borrowing\nexcessive runtime from the other cpus once the local limit runs out.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d0b27fa77854b149ad4af08b0fe47fe712a47ade",
      "tree": "2f4487c108a5132e8d52456567b4a67e78fbb4a6",
      "parents": [
        "57d3da2911787a101a384532f4519f9640bae883"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "message": "sched: rt-group: synchonised bandwidth period\n\nVarious SMP balancing algorithms require that the bandwidth period\nrun in sync.\n\nPossible improvements are moving the rt_bandwidth thing into root_domain\nand keeping a span per rt_bandwidth which marks throttled cpus.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "79b3feffb10417f197d2ab48dd4fa3c0c9e7d788",
      "tree": "78b754d36beddd15f43723faa861e06b239ca47b",
      "parents": [
        "19fb518c2a0c5d88ed22bba7083b7e7bc2a9c231"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Feb 18 13:39:37 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "message": "sched: fix regression with sched yield\n\nBalbir Singh reported:\n\n\u003e 1:mon\u003e t\n\u003e [c0000000e7677da0] c000000000067de0 .sys_sched_yield+0x6c/0xbc\n\u003e [c0000000e7677e30] c000000000008748 syscall_exit+0x0/0x40\n\u003e --- Exception: c01 (System Call) at 00000400001d09e4\n\u003e SP (4000664cb10) is in userspace\n\u003e 1:mon\u003e r\n\u003e cpu 0x1: Vector: 300 (Data Access) at [c0000000e7677aa0]\n\u003e     pc: c000000000068e50: .yield_task_fair+0x94/0xc4\n\u003e     lr: c000000000067de0: .sys_sched_yield+0x6c/0xbc\n\nthe check that should have avoided that is:\n\n        /*\n         * Are we the only task in the tree?\n         */\n        if (unlikely(rq-\u003eload.weight \u003d\u003d curr-\u003ese.load.weight))\n                return;\n\nBut I guess that overlooks rt tasks, they also increase the load.\nSo I guess something like this ought to fix it..\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "19fb518c2a0c5d88ed22bba7083b7e7bc2a9c231",
      "tree": "4233d31e9124110fe73aa83cb3ec4c390924d448",
      "parents": [
        "50df5d6aea6694ca481b8005900401e8c95c2603"
      ],
      "author": {
        "name": "Dmitry Adamushko",
        "email": "dmitry.adamushko@gmail.com",
        "time": "Sun Feb 17 22:34:07 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "message": "latencytop: optimize LT_BACKTRACEDEPTH loops a bit\n\nThere is no need to loop any longer when \u0027same \u003d\u003d 0\u0027.\n\nSigned-off-by: Dmitry Adamushko \u003cdmitry.adamushko@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "50df5d6aea6694ca481b8005900401e8c95c2603",
      "tree": "3b2e2955aceed795f5d54220ee37a859e83c12c6",
      "parents": [
        "02e2b83bd25bb05ac2e69cb31458b7d1b3c70707"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 14 16:09:59 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "message": "sched: remove sysctl_sched_batch_wakeup_granularity\n\nit\u0027s unused.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "02e2b83bd25bb05ac2e69cb31458b7d1b3c70707",
      "tree": "f902ed65b94929aa78509150f52a26661974fac6",
      "parents": [
        "d25ce4cd499a21aab89ff8755f8c4a2800eae25f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 19 01:37:10 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "message": "sched: reenable sync wakeups\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d25ce4cd499a21aab89ff8755f8c4a2800eae25f",
      "tree": "a70f58303a4b1fabfffbf097188a6c67a888ee0e",
      "parents": [
        "1fc8afa4c820fcde3658238eab5c010476ede521"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 17 09:36:53 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "message": "sched: cache hot buddy\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1fc8afa4c820fcde3658238eab5c010476ede521",
      "tree": "6a434a569bb8158e89d071c6d87a42f0fde3f697",
      "parents": [
        "b85d0667268320072ccdeb07c27c25b300ab3724"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 19 01:39:19 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "message": "sched: feat affine wakeups\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b85d0667268320072ccdeb07c27c25b300ab3724",
      "tree": "34bc3926e6524d82d450df5531744fff6b4df560",
      "parents": [
        "0bbd3336eee1e712a290e0dfd1a64cbbdd63a508"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Mar 16 20:03:22 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "message": "sched: introduce SCHED_FEAT_SYNC_WAKEUPS, turn it off\n\nturn off sync wakeups by default. They are not needed anymore - the\nbuddy logic should be smart enough to keep the system from\noverscheduling.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0bbd3336eee1e712a290e0dfd1a64cbbdd63a508",
      "tree": "a44ea1d2a5bf1e9f2975bc55a88167b3fc2104fe",
      "parents": [
        "15934a37324f32e0fda633dc7984a671ea81cd75"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "message": "sched: fix wakeup granularity for buddies\n\nThe wakeup buddy logic didn\u0027t use the same wakeup granularity logic as the\nwakeup preemption did, this might cause the -\u003enext buddy to be selected past\nthe point where we would have preempted had the task been a single running\ninstance.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "15934a37324f32e0fda633dc7984a671ea81cd75",
      "tree": "1f65ac7d910e76b65d0cfcd1c72e156b0a8bd273",
      "parents": [
        "30914a58af9d21c5f1831adabb5d7a800a378675"
      ],
      "author": {
        "name": "Guillaume Chazarain",
        "email": "guichaz@yahoo.fr",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "message": "sched: fix rq-\u003eclock overflows detection with CONFIG_NO_HZ\n\nWhen using CONFIG_NO_HZ, rq-\u003etick_timestamp is not updated every TICK_NSEC.\nWe check that the number of skipped ticks matches the clock jump seen in\n__update_rq_clock().\n\nSigned-off-by: Guillaume Chazarain \u003cguichaz@yahoo.fr\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "30914a58af9d21c5f1831adabb5d7a800a378675",
      "tree": "8e63c0974c94a7e7106160274995f89717991722",
      "parents": [
        "27ec4407790d075c325e1f4da0a19c56953cce23"
      ],
      "author": {
        "name": "Reynes Philippe",
        "email": "tremyfr@yahoo.fr",
        "time": "Mon Mar 17 16:19:05 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "message": "sched: sched.c needs tick.h\n\nkernel/sched.c:506: erreur: implicit declaration of function tick_get_tick_sched\nkernel/sched.c:506: erreur: invalid type argument of -\u003e\nkernel/sched.c:506: erreur: NOHZ_MODE_INACTIVE undeclared (first use in this function)\nkernel/sched.c:506: erreur: (Each undeclared identifier is reported only once\nkernel/sched.c:506: erreur: for each function it appears in.)\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "27ec4407790d075c325e1f4da0a19c56953cce23",
      "tree": "d8c068c4743394eab173995bf085a99dfec257c7",
      "parents": [
        "018d6db4cb5bbdcd65424a16f2dcca692ed32ae4"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 28 21:00:21 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "message": "sched: make cpu_clock() globally synchronous\n\nAlexey Zaytsev reported (and bisected) that the introduction of\ncpu_clock() in printk made the timestamps jump back and forth.\n\nMake cpu_clock() more reliable while still keeping it fast when it\u0027s\ncalled frequently.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "018d6db4cb5bbdcd65424a16f2dcca692ed32ae4",
      "tree": "aee5a5ae44ba3f345c26acf91d419dae1ba6d1e1",
      "parents": [
        "3925e6fc1f774048404fdd910b0345b06c699eb4"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 14 08:53:32 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "message": "sched: re-do \"sched: fix fair sleepers\"\n\nre-apply:\n\n| commit e22ecef1d2658ba54ed7d3fdb5d60829fb434c23\n| Author: Ingo Molnar \u003cmingo@elte.hu\u003e\n| Date:   Fri Mar 14 22:16:08 2008 +0100\n|\n|     sched: fix fair sleepers\n|\n|     Fair sleepers need to scale their latency target down by runqueue\n|     weight. Otherwise busy systems will gain ever larger sleep bonus.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2adee9b30d1382fba97825b9c50e4f50a0117c36",
      "tree": "275bcff11f81a1c3e23fd2f5777f7e37d906717a",
      "parents": [
        "1679f2710ac58df580d3716fab1f42ae50a226eb"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Wed Apr 16 10:25:35 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:19:55 2008 +0200"
      },
      "message": "x86: fpu xstate split fix\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "61c4628b538608c1a85211ed8438136adfeb9a95",
      "tree": "290a695299a363153bc692e6d705ac680d64359e",
      "parents": [
        "fa5c4639419668cbb18ca3d20c1253559a3b43ae"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Mon Mar 10 15:28:04 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:19:55 2008 +0200"
      },
      "message": "x86, fpu: split FPU state from task struct - v5\n\nSplit the FPU save area from the task struct. This allows easy migration\nof FPU context, and it\u0027s generally cleaner. It also allows the following\ntwo optimizations:\n\n1) only allocate when the application actually uses FPU, so in the first\nlazy FPU trap. This could save memory for non-fpu using apps. Next patch\ndoes this lazy allocation.\n\n2) allocate the right size for the actual cpu rather than 512 bytes always.\nPatches enabling xsave/xrstor support (coming shortly) will take advantage\nof this.\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "d8bb6f4c1670c8324e4135c61ef07486f7f17379",
      "tree": "d53b676621b3bd6bb4d39a4b22588b58e1a7ea45",
      "parents": [
        "f1326973262382150c26bf4dfccd0fce310c4a9c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Apr 01 19:45:18 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:19:55 2008 +0200"
      },
      "message": "x86: tsc prevent time going backwards\n\nWe already catch most of the TSC problems by sanity checks, but there\nis a subtle bug which has been in the code forever. This can cause\ntime jumps in the range of hours.\n\nThis was reported in:\n     http://lkml.org/lkml/2007/8/23/96\nand\n     http://lkml.org/lkml/2008/3/31/23\n\nI was able to reproduce the problem with a gettimeofday loop test on a\ndual core and a quad core machine which both have sychronized\nTSCs. The TSCs seems not to be perfectly in sync though, but the\nkernel is not able to detect the slight delta in the sync check. Still\nthere exists an extremly small window where this delta can be observed\nwith a real big time jump. So far I was only able to reproduce this\nwith the vsyscall gettimeofday implementation, but in theory this\nmight be observable with the syscall based version as well.\n\nCPU 0 updates the clock source variables under xtime/vyscall lock and\nCPU1, where the TSC is slighty behind CPU0, is reading the time right\nafter the seqlock was unlocked.\n\nThe clocksource reference data was updated with the TSC from CPU0 and\nthe value which is read from TSC on CPU1 is less than the reference\ndata. This results in a huge delta value due to the unsigned\nsubtraction of the TSC value and the reference value. This algorithm\ncan not be changed due to the support of wrapping clock sources like\npm timer.\n\nThe huge delta is converted to nanoseconds and added to xtime, which\nis then observable by the caller. The next gettimeofday call on CPU1\nwill show the correct time again as now the TSC has advanced above the\nreference value.\n\nTo prevent this TSC specific wreckage we need to compare the TSC value\nagainst the reference value and return the latter when it is larger\nthan the actual TSC value.\n\nI pondered to mark the TSC unstable when the readout is smaller than\nthe reference value, but this would render an otherwise good and fast\nclocksource unusable without a real good reason.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ],
  "next": "8fb402bccf203ecca8f9e0202b8fd3c937dece6f"
}
