)]}'
{
  "log": [
    {
      "commit": "ac44021fccd8f1f2b267b004f23a2e8d7ef05f7b",
      "tree": "164d43e03bff92e66058a2bd2a57a3af9a4723c2",
      "parents": [
        "a979241c532f07c201fe94e0a632107268f02578"
      ],
      "author": {
        "name": "Eduard - Gabriel Munteanu",
        "email": "eduard.munteanu@linux360.ro",
        "time": "Mon Mar 23 15:12:21 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 03 12:23:05 2009 +0200"
      },
      "message": "kmemtrace, rcu: don\u0027t include unnecessary headers, allow kmemtrace w/ tracepoints\n\nImpact: cleanup\n\nlinux/percpu.h includes linux/slab.h, which generates circular inclusion\ndependencies when trying to switch kmemtrace to use tracepoints instead\nof markers.\n\nThis patch allows tracing within slab headers\u0027 inline functions.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nCc: paulmck@linux.vnet.ibm.com\nLKML-Reference: \u003c1237898630.25315.83.camel@penberg-laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a979241c532f07c201fe94e0a632107268f02578",
      "tree": "f7022c71b4f9671c985398426662259d723e912b",
      "parents": [
        "6258c4fb59e77d748f7efc2c137ad420372edd07"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 25 16:42:24 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 03 12:23:04 2009 +0200"
      },
      "message": "kmemtrace, rcu: fix rcupreempt.c data structure dependencies\n\nImpact: cleanup\n\nWe want to remove percpu.h from rcupreempt.h, but if we do that\nthe percpu primitives there wont build anymore. Move them to the\n.c file instead.\n\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nCc: paulmck@linux.vnet.ibm.com\nLKML-Reference: \u003c1237898630.25315.83.camel@penberg-laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a682604838763981613e42015cd0e39f2989d6bb",
      "tree": "29eae425e484edc494807702696c240ce09ba3f5",
      "parents": [
        "694593e3374a67d95ece6a275a1f181644c2c4d8"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Feb 25 18:03:42 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 26 04:08:14 2009 +0100"
      },
      "message": "rcu: Teach RCU that idle task is not quiscent state at boot\n\nThis patch fixes a bug located by Vegard Nossum with the aid of\nkmemcheck, updated based on review comments from Nick Piggin,\nIngo Molnar, and Andrew Morton.  And cleans up the variable-name\nand function-name language.  ;-)\n\nThe boot CPU runs in the context of its idle thread during boot-up.\nDuring this time, idle_cpu(0) will always return nonzero, which will\nfool Classic and Hierarchical RCU into deciding that a large chunk of\nthe boot-up sequence is a big long quiescent state.  This in turn causes\nRCU to prematurely end grace periods during this time.\n\nThis patch changes the rcutree.c and rcuclassic.c rcu_check_callbacks()\nfunction to ignore the idle task as a quiescent state until the\nsystem has started up the scheduler in rest_init(), introducing a\nnew non-API function rcu_idle_now_means_idle() to inform RCU of this\ntransition.  RCU maintains an internal rcu_idle_cpu_truthful variable\nto track this state, which is then used by rcu_check_callback() to\ndetermine if it should believe idle_cpu().\n\nBecause this patch has the effect of disallowing RCU grace periods\nduring long stretches of the boot-up sequence, this patch also introduces\nJosh Triplett\u0027s UP-only optimization that makes synchronize_rcu() be a\nno-op if num_online_cpus() returns 1.  This allows boot-time code that\ncalls synchronize_rcu() to proceed normally.  Note, however, that RCU\ncallbacks registered by call_rcu() will likely queue up until later in\nthe boot sequence.  Although rcuclassic and rcutree can also use this\nsame optimization after boot completes, rcupreempt must restrict its\nuse of this optimization to the portion of the boot sequence before the\nscheduler starts up, given that an rcupreempt RCU read-side critical\nsection may be preeempted.\n\nIn addition, this patch takes Nick Piggin\u0027s suggestion to make the\nsystem_state global variable be __read_mostly.\n\nChanges since v4:\n\no\tChanges the name of the introduced function and variable to\n\tbe less emotional.  ;-)\n\nChanges since v3:\n\no\tWARN_ON(nr_context_switches() \u003e 0) to verify that RCU\n\tswitches out of boot-time mode before the first context\n\tswitch, as suggested by Nick Piggin.\n\nChanges since v2:\n\no\tCreated rcu_blocking_is_gp() internal-to-RCU API that\n\tdetermines whether a call to synchronize_rcu() is itself\n\ta grace period.\n\no\tThe definition of rcu_blocking_is_gp() for rcuclassic and\n\trcutree checks to see if but a single CPU is online.\n\no\tThe definition of rcu_blocking_is_gp() for rcupreempt\n\tchecks to see both if but a single CPU is online and if\n\tthe system is still in early boot.\n\n\tThis allows rcupreempt to again work correctly if running\n\ton a single CPU after booting is complete.\n\no\tAdded check to rcupreempt\u0027s synchronize_sched() for there\n\tbeing but one online CPU.\n\nTested all three variants both SMP and !SMP, booted fine, passed a short\nrcutorture test on both x86 and Power.\n\nLocated-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nTested-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nTested-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dd0078f4f04d939950a792c493d7d97d7ce663b8",
      "tree": "8b230b6119a54e504a58b4c2d0f7af153f4f018d",
      "parents": [
        "34d7c2b38d124219b7034356716e3455c439acd3"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jul 30 14:20:54 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 15 17:54:39 2008 +0200"
      },
      "message": "rcu: just rename call_rcu_bh instead of making it a macro\n\nSeems that I found a box that has a config that passes call_rcu_bh as a\nfunction pointer (see net/sctp/sm_make_chunk.c), so declaring the\ncall_rcu_bh has a macro function isn\u0027t good enough.\n\nThis patch makes it just another name of call_rcu for rcupreempt.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.org\u003e\nReviewed-by: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ff9cf2ce7afe76435d66c898cc9dacaa68e79d41",
      "tree": "81f97a2793fd5487c95e03b84ff061c1391be091",
      "parents": [
        "1f7b94cd3d564901f9e04a8bc5832ae7bfd690a0"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Aug 01 14:10:02 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 15 17:02:56 2008 +0200"
      },
      "message": "rcu: fixes to include/linux/rcupreempt.h\n\nHello!\n\nCompared tip/core/rcu to my latest patchset, and found the following\nissues:\n\no\tthe memory barrier in rcu_exit_nohz() somehow got out of place\n\t(it is correct in mainline as of 2.6.26-rc7).\n\no\tThere is a duplicate declaration of rcu_dyntick_sched.\n\nThe attached patch fixes these.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "717115e1a5856b57af0f71e1df7149108294fc10",
      "tree": "9528a992245c2fb993a0cf0bc8221dc7dea5d259",
      "parents": [
        "2711b793eb62a5873a0ba583a69252040aef176e"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Fri Jul 25 01:45:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:29 2008 -0700"
      },
      "message": "printk ratelimiting rewrite\n\nAll ratelimit user use same jiffies and burst params, so some messages\n(callbacks) will be lost.\n\nFor example:\na call printk_ratelimit(5 * HZ, 1)\nb call printk_ratelimit(5 * HZ, 1) before the 5*HZ timeout of a, then b will\nwill be supressed.\n\n- rewrite __ratelimit, and use a ratelimit_state as parameter.  Thanks for\n  hints from andrew.\n\n- Add WARN_ON_RATELIMIT, update rcupreempt.h\n\n- remove __printk_ratelimit\n\n- use __ratelimit in net_ratelimit\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4446a36ff8c74ac3b32feb009b651048e129c6af",
      "tree": "4ae726073e02281c2de51ed394ba2a812fd55c9b",
      "parents": [
        "8b09dee67f484e9b42114b1a1f068e080fd7aa56"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon May 12 21:21:05 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 19 10:01:36 2008 +0200"
      },
      "message": "rcu: add call_rcu_sched()\n\nFourth cut of patch to provide the call_rcu_sched().  This is again to\nsynchronize_sched() as call_rcu() is to synchronize_rcu().\n\nShould be fine for experimental and -rt use, but not ready for inclusion.\nWith some luck, I will be able to tell Andrew to come out of hiding on\nthe next round.\n\nPasses multi-day rcutorture sessions with concurrent CPU hotplugging.\n\nFixes since the first version include a bug that could result in\nindefinite blocking (spotted by Gautham Shenoy), better resiliency\nagainst CPU-hotplug operations, and other minor fixes.\n\nFixes since the second version include reworking grace-period detection\nto avoid deadlocks that could happen when running concurrently with\nCPU hotplug, adding Mathieu\u0027s fix to avoid the softlockup messages,\nas well as Mathieu\u0027s fix to allow use earlier in boot.\n\nFixes since the third version include a wrong-CPU bug spotted by\nAndrew, getting rid of the obsolete synchronize_kernel API that somehow\nsnuck back in, merging spin_unlock() and local_irq_restore() in a\nfew places, commenting the code that checks for quiescent states based\non interrupting from user-mode execution or the idle loop, removing\nsome inline attributes, and some code-style changes.\n\nKnown/suspected shortcomings:\n\no\tI still do not entirely trust the sleep/wakeup logic.  Next step\n\twill be to use a private snapshot of the CPU online mask in\n\trcu_sched_grace_period() -- if the CPU wasn\u0027t there at the start\n\tof the grace period, we don\u0027t need to hear from it.  And the\n\tbit about accounting for changes in online CPUs inside of\n\trcu_sched_grace_period() is ugly anyway.\n\no\tIt might be good for rcu_sched_grace_period() to invoke\n\tresched_cpu() when a given CPU wasn\u0027t responding quickly,\n\tbut resched_cpu() is declared static...\n\nThis patch also fixes a long-standing bug in the earlier preemptable-RCU\nimplementation of synchronize_rcu() that could result in loss of\nconcurrent external changes to a task\u0027s CPU affinity mask.  I still cannot\nremember who reported this...\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "735643ee6cc5249bfac07fcad0946a5e7aff4423",
      "tree": "e725df246f4a3cf88b6b42a28d859ab969acf81c",
      "parents": [
        "71cc2c2152170b8166f59abb0604dc62073aeb92"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Wed Apr 30 00:55:12 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:54 2008 -0700"
      },
      "message": "Remove \"#ifdef __KERNEL__\" checks from unexported headers\n\nRemove the \"#ifdef __KERNEL__\" tests from unexported header files in\nlinux/include whose entire contents are wrapped in that preprocessor\ntest.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ae66be9b71b12f16b84129860d06bbfe37fbec51",
      "tree": "5bf1d1722f0d83bb4c30621b031437a141a15af1",
      "parents": [
        "b691da35ba94d5fa0a32589d99b6546be2bf4cfa"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Mar 19 17:00:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 19 18:53:36 2008 -0700"
      },
      "message": "rcu: fix misplaced mb() in rcu_enter/exit_nohz()\n\nIn the process of writing up the mechanical proof of correctness for the\ndynticks/preemptable-RCU interface, I noticed misplaced memory barriers in\nrcu_enter_nohz() and rcu_exit_nohz().\n\nThis patch puts them in the right place and adds a comment.  The key thing to\nkeep in mind is that rcu_enter_nohz() is -exiting- the mode that can legally\nexecute RCU read-side critical sections.\n\nThe memory barrier must be between any potential RCU read-side critical\nsections and the increment of the per-CPU dynticks_progress_counter, and thus\nmust come -before- this increment.  And vice versa for rcu_exit_nohz().\n\nThe locking in the scheduler is probably saving us for the moment.\n\nAlso, switch to smp_mb() - we don\u0027t need a barrier for uniprocessor kernels.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2232c2d8e0a6a31061dec311f3d1cf7624bc14f1",
      "tree": "1d90ec0b8bd4e3c154e386f005ef596ee25fa53f",
      "parents": [
        "c0f4133b8f70769bc8dda977feb9a29109d6ccca"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Feb 29 18:46:50 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 29 18:46:50 2008 +0100"
      },
      "message": "rcu: add support for dynamic ticks and preempt rcu\n\nThe PREEMPT-RCU can get stuck if a CPU goes idle and NO_HZ is set. The\nidle CPU will not progress the RCU through its grace period and a\nsynchronize_rcu my get stuck. Without this patch I have a box that will\nnot boot when PREEMPT_RCU and NO_HZ are set. That same box boots fine\nwith this patch.\n\nThis patch comes from the -rt kernel where it has been tested for\nseveral months.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b55ab616fa4b00bdd5c470c70fdf87bab85eec68",
      "tree": "f7bf67586554c9617b9142e4946c3ae356a1371d",
      "parents": [
        "535ee2fbf79ab52d26bce3d2e127c9007503581e"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Feb 08 04:21:59 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:42 2008 -0800"
      },
      "message": "preemptible RCU: sparse annotations\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Dipankar Sarma \u003cdipankar@in.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": "e260be673a15b6125068270e0216a3bfbfc12f87",
      "tree": "f50760606d395bf6faa9e865f814761a3c88d32c",
      "parents": [
        "e0ecfa7917cafe72f4a75f87e8bb5d8d51dc534f"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Jan 25 21:08:24 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:24 2008 +0100"
      },
      "message": "Preempt-RCU: implementation\n\nThis patch implements a new version of RCU which allows its read-side\ncritical sections to be preempted. It uses a set of counter pairs\nto keep track of the read-side critical sections and flips them\nwhen all tasks exit read-side critical section. The details\nof this implementation can be found in this paper -\n\n\thttp://www.rdrop.com/users/paulmck/RCU/OLSrtRCU.2006.08.11a.pdf\n\nand the article-\n\n\thttp://lwn.net/Articles/253651/\n\nThis patch was developed as a part of the -rt kernel development and\nmeant to provide better latencies when read-side critical sections of\nRCU don\u0027t disable preemption.  As a consequence of keeping track of RCU\nreaders, the readers have a slight overhead (optimizations in the paper).\nThis implementation co-exists with the \"classic\" RCU implementations\nand can be switched to at compiler.\n\nAlso includes RCU tracing summarized in debugfs.\n\n[ akpm@linux-foundation.org: build fixes on non-preempt architectures ]\n\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nReviewed-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ]
}
