)]}'
{
  "log": [
    {
      "commit": "b67bfe0d42cac56c512dd5da4b1b347a23f4b70a",
      "tree": "3d465aea12b97683f26ffa38eba8744469de9997",
      "parents": [
        "1e142b29e210b5dfb2deeb6ce2210b60af16d2a6"
      ],
      "author": {
        "name": "Sasha Levin",
        "email": "sasha.levin@oracle.com",
        "time": "Wed Feb 27 17:06:00 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 27 19:10:24 2013 -0800"
      },
      "message": "hlist: drop the node parameter from iterators\n\nI\u0027m not sure why, but the hlist for each entry iterators were conceived\n\n        list_for_each_entry(pos, head, member)\n\nThe hlist ones were greedy and wanted an extra parameter:\n\n        hlist_for_each_entry(tpos, pos, head, member)\n\nWhy did they need an extra pos parameter? I\u0027m not quite sure. Not only\nthey don\u0027t really need it, it also prevents the iterator from looking\nexactly like the list iterator, which is unfortunate.\n\nBesides the semantic patch, there was some manual work required:\n\n - Fix up the actual hlist iterators in linux/list.h\n - Fix up the declaration of other iterators based on the hlist ones.\n - A very small amount of places were using the \u0027node\u0027 parameter, this\n was modified to use \u0027obj-\u003emember\u0027 instead.\n - Coccinelle didn\u0027t handle the hlist_for_each_entry_safe iterator\n properly, so those had to be fixed up manually.\n\nThe semantic patch which is mostly the work of Peter Senna Tschudin is here:\n\n@@\niterator name hlist_for_each_entry, hlist_for_each_entry_continue, hlist_for_each_entry_from, hlist_for_each_entry_rcu, hlist_for_each_entry_rcu_bh, hlist_for_each_entry_continue_rcu_bh, for_each_busy_worker, ax25_uid_for_each, ax25_for_each, inet_bind_bucket_for_each, sctp_for_each_hentry, sk_for_each, sk_for_each_rcu, sk_for_each_from, sk_for_each_safe, sk_for_each_bound, hlist_for_each_entry_safe, hlist_for_each_entry_continue_rcu, nr_neigh_for_each, nr_neigh_for_each_safe, nr_node_for_each, nr_node_for_each_safe, for_each_gfn_indirect_valid_sp, for_each_gfn_sp, for_each_host;\n\ntype T;\nexpression a,c,d,e;\nidentifier b;\nstatement S;\n@@\n\n-T b;\n    \u003c+... when !\u003d b\n(\nhlist_for_each_entry(a,\n- b,\nc, d) S\n|\nhlist_for_each_entry_continue(a,\n- b,\nc) S\n|\nhlist_for_each_entry_from(a,\n- b,\nc) S\n|\nhlist_for_each_entry_rcu(a,\n- b,\nc, d) S\n|\nhlist_for_each_entry_rcu_bh(a,\n- b,\nc, d) S\n|\nhlist_for_each_entry_continue_rcu_bh(a,\n- b,\nc) S\n|\nfor_each_busy_worker(a, c,\n- b,\nd) S\n|\nax25_uid_for_each(a,\n- b,\nc) S\n|\nax25_for_each(a,\n- b,\nc) S\n|\ninet_bind_bucket_for_each(a,\n- b,\nc) S\n|\nsctp_for_each_hentry(a,\n- b,\nc) S\n|\nsk_for_each(a,\n- b,\nc) S\n|\nsk_for_each_rcu(a,\n- b,\nc) S\n|\nsk_for_each_from\n-(a, b)\n+(a)\nS\n+ sk_for_each_from(a) S\n|\nsk_for_each_safe(a,\n- b,\nc, d) S\n|\nsk_for_each_bound(a,\n- b,\nc) S\n|\nhlist_for_each_entry_safe(a,\n- b,\nc, d, e) S\n|\nhlist_for_each_entry_continue_rcu(a,\n- b,\nc) S\n|\nnr_neigh_for_each(a,\n- b,\nc) S\n|\nnr_neigh_for_each_safe(a,\n- b,\nc, d) S\n|\nnr_node_for_each(a,\n- b,\nc) S\n|\nnr_node_for_each_safe(a,\n- b,\nc, d) S\n|\n- for_each_gfn_sp(a, c, d, b) S\n+ for_each_gfn_sp(a, c, d) S\n|\n- for_each_gfn_indirect_valid_sp(a, c, d, b) S\n+ for_each_gfn_indirect_valid_sp(a, c, d) S\n|\nfor_each_host(a,\n- b,\nc) S\n|\nfor_each_host_safe(a,\n- b,\nc, d) S\n|\nfor_each_mesh_entry(a,\n- b,\nc, d) S\n)\n    ...+\u003e\n\n[akpm@linux-foundation.org: drop bogus change from net/ipv4/raw.c]\n[akpm@linux-foundation.org: drop bogus hunk from net/ipv6/raw.c]\n[akpm@linux-foundation.org: checkpatch fixes]\n[akpm@linux-foundation.org: fix warnings]\n[akpm@linux-foudnation.org: redo intrusive kvm changes]\nTested-by: Peter Senna Tschudin \u003cpeter.senna@gmail.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Sasha Levin \u003csasha.levin@oracle.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Gleb Natapov \u003cgleb@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": "7d7e499f7333f68b7e7f67d14b9c1480913b4afb",
      "tree": "6924ef4eb2a08d7129dc1620d1a557e484df3680",
      "parents": [
        "211b0cdc7dc574e5e756bdf1cc2f4a16b7f6e07e"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jan 31 12:11:12 2013 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 14 15:29:37 2013 +0100"
      },
      "message": "smpboot: Allow selfparking per cpu threads\n\nThe stop machine threads are still killed when a cpu goes offline. The\nreason is that the thread is used to bring the cpu down, so it can\u0027t\nbe parked along with the other per cpu threads.\n\nAllow a per cpu thread to be excluded from automatic parking, so it\ncan park itself once it\u0027s done\n\nAdd a create callback function as well.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Paul McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nCc: Arjan van de Veen \u003carjan@infradead.org\u003e\nCc: Paul Turner \u003cpjt@google.com\u003e\nCc: Richard Weinberger \u003crw@linutronix.de\u003e\nCc: Magnus Damm \u003cmagnus.damm@gmail.com\u003e\nLink: http://lkml.kernel.org/r/20130131120741.553993267@linutronix.de\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3180d89b47701072cf129f800a735baf3acdbb8a",
      "tree": "345dea7130831f61095e6a55db6723a11f7f433c",
      "parents": [
        "f97f8f06a49febbc3cb3635172efbe64ddc79700"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Jul 12 01:55:54 2012 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Aug 13 17:01:07 2012 +0200"
      },
      "message": "hotplug: Fix UP bug in smpboot hotplug code\n\nBecause kernel subsystems need their per-CPU kthreads on UP systems as\nwell as on SMP systems, the smpboot hotplug kthread functions must be\nprovided in UP builds as well as in SMP builds.  This commit therefore\nadds smpboot.c to UP builds and excludes irrelevant code via #ifdef.\n    \nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f97f8f06a49febbc3cb3635172efbe64ddc79700",
      "tree": "7917324eb3e1c36963a8c60c6a5601708b3ef208",
      "parents": [
        "2a1d446019f9a5983ec5a335b95e8593fdb6fa2e"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jul 16 10:42:36 2012 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Aug 13 17:01:07 2012 +0200"
      },
      "message": "smpboot: Provide infrastructure for percpu hotplug threads\n\nProvide a generic interface for setting up and tearing down percpu\nthreads.\n\nOn registration the threads for already online cpus are created and\nstarted. On deregistration (modules) the threads are stoppped.\n\nDuring hotplug operations the threads are created, started, parked and\nunparked. The datastructure for registration provides a pointer to\npercpu storage space and optional setup, cleanup, park, unpark\nfunctions. These functions are called when the thread state changes.\n\nEach implementation has to provide a function which is queried and\nreturns whether the thread should run and the thread function itself.\n\nThe core code handles all state transitions and avoids duplicated code\nin the call sites.\n\n[ paulmck: Preemption leak fix ]\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nReviewed-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nReviewed-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Namhyung Kim \u003cnamhyung@kernel.org\u003e\nLink: http://lkml.kernel.org/r/20120716103948.352501068@linutronix.de\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4a70d2d9909b43ed88043b98cabe2c7fbd563021",
      "tree": "380c5c2a4c2826b5275fae15eb91c78d8ead6467",
      "parents": [
        "ee74d13229fb606353ff56f4927fa93b37e95bbe"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Thu May 24 20:41:00 2012 +0530"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu May 24 22:58:08 2012 +0200"
      },
      "message": "smpboot, idle: Fix comment mismatch over idle_threads_init()\n\nThe comment over idle_threads_init() really talks about the functionality\nof idle_init(). Move that comment to idle_init(), and add a suitable\ncomment over idle_threads_init().\n\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nCc: suresh.b.siddha@intel.com\nCc: venki@google.com\nCc: nikunj@linux.vnet.ibm.com\nLink: http://lkml.kernel.org/r/20120524151100.2549.66501.stgit@srivatsabhat.in.ibm.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "ee74d13229fb606353ff56f4927fa93b37e95bbe",
      "tree": "6cfc806db818bdc739c5a46d41e2c81c96364463",
      "parents": [
        "f9369910a6225b8d4892c3f20ae740a711cd5ace"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Thu May 24 20:40:55 2012 +0530"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu May 24 22:58:08 2012 +0200"
      },
      "message": "smpboot, idle: Optimize calls to smp_processor_id() in idle_threads_init()\n\nWhile trying to initialize idle threads for all cpus, idle_threads_init()\ncalls smp_processor_id() in a loop, which is unnecessary. The intent\nis to initialize idle threads for all non-boot cpus. So just use a variable\nto note the boot cpu and use it in the loop.\n\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nCc: suresh.b.siddha@intel.com\nCc: venki@google.com\nCc: nikunj@linux.vnet.ibm.com\nLink: http://lkml.kernel.org/r/20120524151055.2549.64309.stgit@srivatsabhat.in.ibm.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3bb5d2ee396aabaa4e318f17e94d13e2ee0e5a88",
      "tree": "723fd419cbbc6874b3303d11a439303f3c4ff46c",
      "parents": [
        "9a1347237492f273f84ec39962b5806c70b2806a"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Fri Apr 20 17:08:50 2012 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu May 03 19:32:34 2012 +0200"
      },
      "message": "smp, idle: Allocate idle thread for each possible cpu during boot\n\npercpu areas are already allocated during boot for each possible cpu.\npercpu idle threads can be considered as an extension of the percpu areas,\nand allocate them for each possible cpu during boot.\n\nThis will eliminate the need for workqueue based idle thread allocation.\nIn future we can move the idle thread area into the percpu area too.\n\n[ tglx: Moved the loop into smpboot.c and added an error check when\n  the init code failed to allocate an idle thread for a cpu which\n  should be onlined ]\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: venki@google.com\nLink: http://lkml.kernel.org/r/1334966930.28674.245.camel@sbsiddha-desk.sc.intel.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "29d5e0476e1c4a513859e7858845ad172f560389",
      "tree": "b353eee6e4cdf57207e6eba5d80564a4e8811cc9",
      "parents": [
        "38498a67aa2cf8c80754b8d304bfacc10bc582b5"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Apr 20 13:05:45 2012 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 26 12:06:09 2012 +0200"
      },
      "message": "smp: Provide generic idle thread allocation\n\nAll SMP architectures have magic to fork the idle task and to store it\nfor reusage when cpu hotplug is enabled. Provide a generic\ninfrastructure for it.\n\nCreate/reinit the idle thread for the cpu which is brought up in the\ngeneric code and hand the thread pointer to the architecture code via\n__cpu_up().\n\nNote, that fork_idle() is called via a workqueue, because this\nguarantees that the idle thread does not get a reference to a user\nspace VM. This can happen when the boot process did not bring up all\npossible cpus and a later cpu_up() is initiated via the sysfs\ninterface. In that case fork_idle() would be called in the context of\nthe user space task and take a reference on the user space VM.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nCc: Matt Turner \u003cmattst88@gmail.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nCc: Richard Kuo \u003crkuo@codeaurora.org\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: James E.J. Bottomley \u003cjejb@parisc-linux.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Richard Weinberger \u003crichard@nod.at\u003e\nCc: x86@kernel.org\nAcked-by: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nLink: http://lkml.kernel.org/r/20120420124557.102478630@linutronix.de\n"
    },
    {
      "commit": "38498a67aa2cf8c80754b8d304bfacc10bc582b5",
      "tree": "5d1d5ff7fd9b847454f9d5053ad0709ffb3cc32c",
      "parents": [
        "8239c25f47d2b318156993b15f33900a86ea5e17"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Apr 20 13:05:44 2012 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 26 12:06:09 2012 +0200"
      },
      "message": "smp: Add generic smpboot facility\n\nStart a new file, which will hold SMP and CPU hotplug related generic\ninfrastructure.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nCc: Matt Turner \u003cmattst88@gmail.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nCc: Richard Kuo \u003crkuo@codeaurora.org\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: James E.J. Bottomley \u003cjejb@parisc-linux.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Richard Weinberger \u003crichard@nod.at\u003e\nCc: x86@kernel.org\nLink: http://lkml.kernel.org/r/20120420124557.035417523@linutronix.de\n\n"
    }
  ]
}
