)]}'
{
  "log": [
    {
      "commit": "56a210526adb2854d5b7c398a40260720390ee05",
      "tree": "f900de2637a55b1d2b8d21e71d0a12061483ccbe",
      "parents": [
        "45694c2895c194ffa74becde4120af6eb6afeefe"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sat Jun 11 12:29:58 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 11 13:17:28 2011 -0700"
      },
      "message": "linux/seqlock.h should #include asm/processor.h for cpu_relax()\n\nIt uses cpu_relax(), and so needs \u003casm/processor.h\u003e\n\nWithout this patch, I see:\n\n   CC      arch/mn10300/kernel/asm-offsets.s\n  In file included from include/linux/time.h:8,\n                   from include/linux/timex.h:56,\n                   from include/linux/sched.h:57,\n                   from arch/mn10300/kernel/asm-offsets.c:7:\n  include/linux/seqlock.h: In function \u0027read_seqbegin\u0027:\n  include/linux/seqlock.h:91: error: implicit declaration of function \u0027cpu_relax\u0027\n\nwhilst building asb2364_defconfig on MN10300.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c4dbe54ed7296ac3249c415d512dd6d649f66f4b",
      "tree": "7dcbce1bceccb31963869b347afbb86dfd11e709",
      "parents": [
        "d762f4383100c2a87b1a3f2d678cd3b5425655b4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue May 24 14:08:08 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue May 24 15:22:17 2011 +0200"
      },
      "message": "seqlock: Get rid of SEQLOCK_UNLOCKED\n\nAll static seqlock should be initialized with the lockdep friendly\n__SEQLOCK_UNLOCKED() macro.\n\nRemove legacy SEQLOCK_UNLOCKED() macro.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nLink: http://lkml.kernel.org/r/%3C1306238888.3026.31.camel%40edumazet-laptop%3E\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "5db1256a5131d3b133946fa02ac9770a784e6eb2",
      "tree": "173c3e011e8ed2f2ed0bb02d1ce7d9fe031be509",
      "parents": [
        "e11feaa1192a079ba8e88a12121e9b12d55d4239"
      ],
      "author": {
        "name": "Milton Miller",
        "email": "miltonm@bga.com",
        "time": "Thu May 12 04:13:54 2011 -0500"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu May 12 12:13:43 2011 +0200"
      },
      "message": "seqlock: Don\u0027t smp_rmb in seqlock reader spin loop\n\nMove the smp_rmb after cpu_relax loop in read_seqlock and add\nACCESS_ONCE to make sure the test and return are consistent.\n\nA multi-threaded core in the lab didn\u0027t like the update\nfrom 2.6.35 to 2.6.36, to the point it would hang during\nboot when multiple threads were active.  Bisection showed\naf5ab277ded04bd9bc6b048c5a2f0e7d70ef0867 (clockevents:\nRemove the per cpu tick skew) as the culprit and it is\nsupported with stack traces showing xtime_lock waits including\ntick_do_update_jiffies64 and/or update_vsyscall.\n\nExperimentation showed the combination of cpu_relax and smp_rmb\nwas significantly slowing the progress of other threads sharing\nthe core, and this patch is effective in avoiding the hang.\n\nA theory is the rmb is affecting the whole core while the\ncpu_relax is causing a resource rebalance flush, together they\ncause an interfernce cadance that is unbroken when the seqlock\nreader has interrupts disabled.\n\nAt first I was confused why the refactor in\n3c22cd5709e8143444a6d08682a87f4c57902df3 (kernel: optimise\nseqlock) didn\u0027t affect this patch application, but after some\nstudy that affected seqcount not seqlock. The new seqcount was\nnot factored back into the seqlock.  I defer that the future.\n\nWhile the removal of the timer interrupt offset created\ncontention for the xtime lock while a cpu does the\nadditonal work to update the system clock, the seqlock\nimplementation with the tight rmb spin loop goes back much\nfurther, and is just waiting for the right trigger.\n\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Milton Miller \u003cmiltonm@bga.com\u003e\nCc: \u003clinuxppc-dev@lists.ozlabs.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Paul McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nLink: http://lkml.kernel.org/r/%3Cseqlock-rmb%40mdm.bga.com%3E\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3c22cd5709e8143444a6d08682a87f4c57902df3",
      "tree": "6d245491d9103a1d77a3128ed5d1d996d3794300",
      "parents": [
        "ff0c7d15f9787b7e8c601533c015295cc68329f8"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:51 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:27 2011 +1100"
      },
      "message": "kernel: optimise seqlock\n\nAdd branch annotations for seqlock read fastpath, and introduce\n__read_seqcount_begin and __read_seqcount_end functions, that can avoid the\nsmp_rmb() if used carefully. These will be used by store-free path walking\nalgorithm performance is critical and seqlocks are in use.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "88a411c07b6fedcfc97b8dc51ae18540bd2beda0",
      "tree": "9aa732fdcaeadcde06c931672aa7da7b168bd82c",
      "parents": [
        "b69d3987f4360a5e7e9e55465b3cdd0cc204b79e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 03 09:06:13 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 25 00:25:08 2008 +0200"
      },
      "message": "seqlock: livelock fix\n\nThomas Gleixner debugged a particularly ugly seqlock related livelock:\ndo not process the seq-read section if we know it beforehand that the\ntest at the end of the section will fail ...\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "20f09390b2da2432309afe8aaa0bd64ec64c4584",
      "tree": "07882e28d0c4d92af141c2fe76491609891b566f",
      "parents": [
        "b928ed56182b8ea59bd43f2d5b865f13a54d5719"
      ],
      "author": {
        "name": "Daniel Walker",
        "email": "dwalker@mvista.com",
        "time": "Thu Apr 26 09:46:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Apr 27 10:44:42 2007 -0700"
      },
      "message": "seqlocks: trivial remove weird whitespace\n\nSigned-off-by: Daniel Walker \u003cdwalker@mvista.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d08df601a30df9e36c29f3214315f4f0c8784c68",
      "tree": "cc40826467113f1bfd2e666bb51670e31f436355",
      "parents": [
        "6340aa61b1f1d9c2aadb20594778a5f849bcbb69"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Sat Feb 17 19:07:33 2007 +0100"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Feb 17 19:07:33 2007 +0100"
      },
      "message": "Various typo fixes.\n\nCorrect mis-spellings of \"algorithm\", \"appear\", \"consistent\" and\n(shame, shame) \"kernel\".\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "99a3eb3845f034eb55640a3da73e5e28349678c6",
      "tree": "9a6704ac9d8bb0ab2b3649cb05999daa0e96175c",
      "parents": [
        "d907dd2efd69195f4a5fc584a0eaecc599ca4c2c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 12 12:10:28 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Tue Dec 12 08:10:44 2006 -0800"
      },
      "message": "[PATCH] lockdep: fix seqlock_init()\n\nseqlock_init() needs to use spin_lock_init() for dynamic locks, so that\nlockdep is notified about the presence of a new lock.\n\n(this is a fallout of the recent networking merge, which started using\nthe so-far unused seqlock_init() API.)\n\nThis fix solves the following lockdep-internal warning on current -git:\n\n INFO: trying to register non-static key.\n the code is fine but needs lockdep annotation.\n turning off the locking correctness validator.\n     __lock_acquire+0x10c/0x9f9\n     lock_acquire+0x56/0x72\n     _spin_lock+0x35/0x42\n     neigh_destroy+0x9d/0x12e\n     neigh_periodic_timer+0x10a/0x15c\n     run_timer_softirq+0x126/0x18e\n     __do_softirq+0x6b/0xe6\n     do_softirq+0x64/0xd2\n     ksoftirqd+0x82/0x138\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e4d919188554a77c798a267e098059bc9aa39726",
      "tree": "bb5e47e09f5d107db44358ad668988f5ae768ade",
      "parents": [
        "9cebb5526833059f327d237a032422c762378b2a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:34 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:02 2006 -0700"
      },
      "message": "[PATCH] lockdep: locking init debugging improvement\n\nLocking init improvement:\n\n - introduce and use __SPIN_LOCK_UNLOCKED for array initializations,\n   to pass in the name string of locks, used by debugging\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "62c4f0a2d5a188f73a94f2cb8ea0dba3e7cf0a7f",
      "tree": "e85ca2d0dd43f90dccf758338764c3caa55f333f",
      "parents": [
        "089f26d5e31b7bf42a9a8fefec08b30cd27f4b0e"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "message": "Don\u0027t include linux/config.h from anywhere else in include/\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "cde227afe6b997dce08bcfc2aa6e373fb56857b0",
      "tree": "45b0bc04f54a830d0c3cd3a5afb46fcf7679a4dc",
      "parents": [
        "44b940c299dfaaf25b7aad683ff55cb213502ddd"
      ],
      "author": {
        "name": "mao, bibo",
        "email": "bibo.mao@intel.com",
        "time": "Tue Apr 11 12:54:54 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:38:57 2006 -0700"
      },
      "message": "[PATCH] x86_64: inline function prefix with __always_inline in vsyscall\n\nIn vsyscall function do_vgettimeofday(), some functions are declared as\ninlined, which is a hint for gcc to compile the function inlined but it\nnot forced.  Sometimes compiler does not compile the function as\ninlined, so here inline is replaced by __always_inline prefix.\n\nIt does not happen in gcc compiler actually, but it possibly happens.\n\nSigned-off-by: bibo mao \u003cbibo.mao@intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
