)]}'
{
  "log": [
    {
      "commit": "eceb1383361c6327cef4de01d278cd6722ebceeb",
      "tree": "1ef63775514e6085e2cbe32391d458b2c6b21737",
      "parents": [
        "365d46dc9be9b3c833990a06f3994b1987eda578",
        "84e9c95ad92f7afcd960342b6012b0a1b039e21b",
        "4c7145a1ec1bb789d5f07e47510e8bda546a7c4a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Oct 12 13:20:25 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Oct 12 13:20:25 2008 +0200"
      },
      "message": "Merge branches \u0027core/signal\u0027 and \u0027x86/spinlocks\u0027 into x86/xen\n\nConflicts:\n\tinclude/asm-x86/spinlock.h\n"
    },
    {
      "commit": "365d46dc9be9b3c833990a06f3994b1987eda578",
      "tree": "9397d1304144a288411f2118707f44ff5e862fa6",
      "parents": [
        "5dc64a3442b98eaa0e3730c35fcf00cf962a93e7",
        "fd048088306656824958e7783ffcee27e241b361"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Oct 12 12:35:23 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Oct 12 12:37:32 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into x86/xen\n\nConflicts:\n\tarch/x86/kernel/cpu/common.c\n\tarch/x86/kernel/process_64.c\n\tarch/x86/xen/enlighten.c\n"
    },
    {
      "commit": "e496e3d645c93206faf61ff6005995ebd08cc39c",
      "tree": "349ee5b7284f0224fd075979ea80cf6c358bab35",
      "parents": [
        "b159d7a989e53ab3529084348aa80441520b8575",
        "5bbd4c3724008c93cf3efdfc38a3402e245ab506",
        "175e438f7a2de9d94110046be48697969569736a",
        "516cbf3730c49739629d66313b20bdc50c98aa2c",
        "af2d237bf574f89ae5a1b67f2556a324c8f64ff5",
        "9b1568458a3ef006361710dc12848aec891883b5",
        "5b7e41ff37267c35b0fcf9162ca0c32c3d8d2c5c",
        "1befdefcf476d5eb2fb4243fdf4d996a376708b1",
        "a03352d2c1dcb00970801fb8b800a39acd3103d9",
        "7b22ff5344fda666e0938e5261ea7b9a3dfce497",
        "2c7e9fd4c6cb7f4b0bc7162e9a30847e51a1ca1b",
        "91030ca1e739696812242c807b112ee3981a14be",
        "dd5523552c2897e3fde16fc2fc8f6332addf66ab",
        "b3e15bdef689641e7f1bb03efbe56112c3ee82e2",
        "20211e4d344729f4d4c93da37a590fc1c3a1fd9b",
        "efd327a2d41214dded03cbfbb6d447530964cddd",
        "c7ffa6c26277b403920e2255d10df849bd613380",
        "e51a1ac2dfca9ad869471e88f828281db7e810c0",
        "5df45515512436a808d3476a90e83f2efb022422",
        "d99e90164e6cf2eb85fa94d547d6336f8127a107",
        "e621bd18958ef5dbace3129ebe17a0a475e127d9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 06 18:17:07 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 06 18:17:07 2008 +0200"
      },
      "message": "Merge branches \u0027x86/alternatives\u0027, \u0027x86/cleanups\u0027, \u0027x86/commandline\u0027, \u0027x86/crashdump\u0027, \u0027x86/debug\u0027, \u0027x86/defconfig\u0027, \u0027x86/doc\u0027, \u0027x86/exports\u0027, \u0027x86/fpu\u0027, \u0027x86/gart\u0027, \u0027x86/idle\u0027, \u0027x86/mm\u0027, \u0027x86/mtrr\u0027, \u0027x86/nmi-watchdog\u0027, \u0027x86/oprofile\u0027, \u0027x86/paravirt\u0027, \u0027x86/reboot\u0027, \u0027x86/sparse-fixes\u0027, \u0027x86/tsc\u0027, \u0027x86/urgent\u0027 and \u0027x86/vmalloc\u0027 into x86-v28-for-linus-phase1\n"
    },
    {
      "commit": "b8cd9d056bbc5f2630ab1787dbf76f83bbb517c0",
      "tree": "a49c776b88db5346eaef6082c271f5d79319654f",
      "parents": [
        "fec6ed1d1f9b78a6acb4a3eb2c46c812ac2e96f0",
        "1503af661947b7a4a09355cc2ae6aa0d43f16776"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 06 16:15:57 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 06 16:15:57 2008 +0200"
      },
      "message": "Merge branch \u0027x86/header-guards\u0027 into x86-v28-for-linus-phase1\n\nConflicts:\n\tinclude/asm-x86/dma-mapping.h\n\tinclude/asm-x86/gpio.h\n\tinclude/asm-x86/idle.h\n\tinclude/asm-x86/kvm_host.h\n\tinclude/asm-x86/namei.h\n\tinclude/asm-x86/uaccess.h\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "74e91604b2452c15bbe72d77b37cf47ed0310d13",
      "tree": "4308d55a7b19bdd390805c50e2ce9d283825522a",
      "parents": [
        "08f5fcbe6e0ea029c7e9b1b1c338700ab7809daf"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Fri Sep 05 13:27:45 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 05 17:06:20 2008 +0200"
      },
      "message": "x86: ticket spin locks: reduce instruction dependencies\n\nReduce the amount of partial register accesses in the NR_CPUS \u003c 256\ncase, and slightly weaken resource dependencies in the other case.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "08f5fcbe6e0ea029c7e9b1b1c338700ab7809daf",
      "tree": "46de345d9e5d8960ad0668ba8815475d37c4c78e",
      "parents": [
        "ef1f3413284b9270266cb04a944647e59735f0f1"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Fri Sep 05 13:26:39 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 05 17:05:56 2008 +0200"
      },
      "message": "x86: ticket spin locks: factor out more common code\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ef1f3413284b9270266cb04a944647e59735f0f1",
      "tree": "0e3cb2780ec0cf79969fcd937d6938abe72a2447",
      "parents": [
        "0a328ea43da9c3eefce7cb6c947e43e1a0fef810"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Fri Sep 05 13:26:39 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 05 17:04:08 2008 +0200"
      },
      "message": "x86: ticket spin locks: fix asm constraints\n\nIn addition to these changes I doubt the \u0027volatile\u0027 on all the ticket\nlock asm()-s are really necessary.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0a328ea43da9c3eefce7cb6c947e43e1a0fef810",
      "tree": "f591798a923d07ef0cc8e89a595570e205f094fa",
      "parents": [
        "d3d0ba7b8fb8f57c33207adcb41f40c176148c03",
        "5bbd4c3724008c93cf3efdfc38a3402e245ab506"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 05 17:03:17 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 05 17:03:17 2008 +0200"
      },
      "message": "Merge branch \u0027x86/alternatives\u0027 into x86/core\n"
    },
    {
      "commit": "7203781c98ad9147564d327de6f6513ad8fc0f4e",
      "tree": "5c29a2a04a626bf08a0d56fd8a0068b3c92ad284",
      "parents": [
        "671eef85a3e885dff4ce210d8774ad50a91d5967",
        "af2e1f276ff08f17192411ea3b71c13a758dfe12"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Sep 04 08:08:42 2008 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Sep 04 08:08:42 2008 -0700"
      },
      "message": "Merge branch \u0027x86/cpu\u0027 into x86/core\n\nConflicts:\n\n\tarch/x86/kernel/cpu/feature_names.c\n\tinclude/asm-x86/cpufeature.h\n"
    },
    {
      "commit": "63d3a75d6f1fcf2f33e6abbe84e1f428c3586152",
      "tree": "3b7453c784b4fad0afe002942d48bfc876010999",
      "parents": [
        "6e833587e11ed0dbf12e647127f2650e2f80b26d"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Tue Aug 19 13:19:36 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Aug 20 12:40:07 2008 +0200"
      },
      "message": "x86/paravirt: add spin_lock_flags lock op\n\nIt is useful for a pv_lock_ops backend to know whether interrupts are\nenabled or not in the context a spin_lock is being called.  This\nallows it to enable interrupts while spinning, which could be\nparticularly helpful when spinning becomes blocking.\n\nThe default implementation just calls the normal spin_lock op,\nignoring the flags.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5bbd4c3724008c93cf3efdfc38a3402e245ab506",
      "tree": "5b74f2b70396f2cf808b368d415ae444fe94bfac",
      "parents": [
        "1f49a2c2aeb22d5abc6d4ea574ff63d37ca55fbe"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Fri Aug 15 12:56:59 2008 -0400"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Aug 15 12:51:11 2008 -0700"
      },
      "message": "x86: spinlock use LOCK_PREFIX\n\nSince we are now using DS prefixes instead of NOP to remove LOCK\nprefixes, there is no longer any problems with instruction boundaries\nmoving around.\n\n* Linus Torvalds (torvalds@linux-foundation.org) wrote:\n\u003e\n\u003e\n\u003e On Thu, 14 Aug 2008, Mathieu Desnoyers wrote:\n\u003e \u003e\n\u003e \u003e Changing the 0x90 (single-byte nop) currently used into a 0x3E DS segment\n\u003e \u003e override prefix should fix this issue. Since the default of the atomic\n\u003e \u003e instructions is to use the DS segment anyway, it should not affect the\n\u003e \u003e behavior.\n\u003e\n\u003e Ok, so I think this is an _excellent_ patch, but I\u0027d like to also then use\n\u003e LOCK_PREFIX in include/asm-x86/futex.h.\n\u003e\n\u003e See commit 9d55b9923a1b7ea8193b8875c57ec940dc2ff027.\n\u003e\n\u003e     Linus\n\nUnless there a rationale for this, I think these be changed to LOCK_PREFIX\ntoo.\n\ngrep \"lock ;\" include/asm-x86/spinlock.h\n         \"lock ; cmpxchgw %w1,%2\\n\\t\"\n  asm volatile(\"lock ; xaddl %0, %1\\n\"\n         \"lock ; cmpxchgl %1,%2\\n\\t\"\n\nApplies to 2.6.27-rc2.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCC: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCC: H. Peter Anvin \u003chpa@zytor.com\u003e\nCC: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCC: Roland McGrath \u003croland@redhat.com\u003e\nCC: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCC: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCC: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCC: David Miller \u003cdavem@davemloft.net\u003e\nCC: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCC: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCC: Gregory Haskins \u003cghaskins@novell.com\u003e\nCC: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCC: \"Luis Claudio R. Goncalves\" \u003clclaudio@uudg.org\u003e\nCC: Clark Williams \u003cwilliams@redhat.com\u003e\nCC: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCC: Andi Kleen \u003candi@firstfloor.org\u003e\nCC: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "7bc069c6bc4ede519a7116be1b9e149a1dbf787a",
      "tree": "6f3506469c33869126df962b743c2899efe1ec00",
      "parents": [
        "8bb851900f5d0a79d3fddac808cc670d9894ef67"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Mon Aug 04 14:38:54 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 15 16:26:51 2008 +0200"
      },
      "message": "x86: fix spin_is_contended()\n\nThe masked difference is what needs to be compared against 1, rather\nthan the difference of masked values (which can be negative).\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nAcked-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "77ef50a522717fa040636ee1017179ceba12ff62",
      "tree": "57b082ad5b314605d5d9dab50068737f324cae60",
      "parents": [
        "a656c8efb40a8700046df20da2195f8aa39ce38a"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Wed Jun 18 17:08:48 2008 +0200"
      },
      "committer": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Tue Jul 22 21:31:34 2008 +0200"
      },
      "message": "x86: consolidate header guards\n\nThis patch is the result of an automatic script that consolidates the\nformat of all the headers in include/asm-x86/.\n\nThe format:\n\n1. No leading underscore. Names with leading underscores are reserved.\n2. Pathname components are separated by two underscores. So we can\n   distinguish between mm_types.h and mm/types.h.\n3. Everything except letters and numbers are turned into single\n   underscores.\n\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\n"
    },
    {
      "commit": "8efcbab674de2bee45a2e4cdf97de16b8e609ac8",
      "tree": "1b45a9446e471bfdba21e7982c87aef47d2f8313",
      "parents": [
        "74d4affde8feb8d5bdebf7fba8e90e4eae3b7b1d"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Mon Jul 07 12:07:51 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 16 11:15:53 2008 +0200"
      },
      "message": "paravirt: introduce a \"lock-byte\" spinlock implementation\n\nImplement a version of the old spinlock algorithm, in which everyone\nspins waiting for a lock byte.  In order to be compatible with the\nticket-lock\u0027s use of a zero initializer, this uses the convention of\n\u00270\u0027 for unlocked and \u00271\u0027 for locked.\n\nThis algorithm is much better than ticket locks in a virtual\nenvionment, because it doesn\u0027t interact badly with the vcpu scheduler.\nIf there are multiple vcpus spinning on a lock and the lock is\nreleased, the next vcpu to be scheduled will take the lock, rather\nthan cycling around until the next ticketed vcpu gets it.\n\nTo use this, you must call paravirt_use_bytelocks() very early, before\nany spinlocks have been taken.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Christoph Lameter \u003cclameter@linux-foundation.org\u003e\nCc: Petr Tesarik \u003cptesarik@suse.cz\u003e\nCc: Virtualization \u003cvirtualization@lists.linux-foundation.org\u003e\nCc: Xen devel \u003cxen-devel@lists.xensource.com\u003e\nCc: Thomas Friebel \u003cthomas.friebel@amd.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "74d4affde8feb8d5bdebf7fba8e90e4eae3b7b1d",
      "tree": "ea70d2323c8a424e8c20389514c6c91f149cdf72",
      "parents": [
        "094029479be8eb380447f42eff1b35362ef1a464"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Mon Jul 07 12:07:50 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 16 11:15:52 2008 +0200"
      },
      "message": "x86/paravirt: add hooks for spinlock operations\n\nTicket spinlocks have absolutely ghastly worst-case performance\ncharacteristics in a virtual environment.  If there is any contention\nfor physical CPUs (ie, there are more runnable vcpus than cpus), then\nticket locks can cause the system to end up spending 90+% of its time\nspinning.\n\nThe problem is that (v)cpus waiting on a ticket spinlock will be\ngranted access to the lock in strict order they got their tickets.  If\nthe hypervisor scheduler doesn\u0027t give the vcpus time in that order,\nthey will burn timeslices waiting for the scheduler to give the right\nvcpu some time.  In the worst case it could take O(n^2) vcpu scheduler\ntimeslices for everyone waiting on the lock to get it, not counting\nnew cpus trying to take the lock while the log-jam is sorted out.\n\nThese hooks allow a paravirt backend to replace the spinlock\nimplementation.\n\nAt the very least, this could revert the implementation back to the\nold lock algorithm, which allows the next scheduled vcpu to take the\nlock, and has basically fairly good performance.\n\nIt also allows the spinlocks to take advantages of the hypervisor\nfeatures to make locks more efficient (spin and block, for example).\n\nThe cost to native execution is an extra direct call when using a\nspinlock function.  There\u0027s no overhead if CONFIG_PARAVIRT is turned\noff.\n\nThe lock structure is fixed at a single \"unsigned int\", initialized to\nzero, but the spinlock implementation can use it as it wishes.\n\nThanks to Thomas Friebel\u0027s Xen Summit talk \"Preventing Guests from\nSpinning Around\" for pointing out this problem.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Christoph Lameter \u003cclameter@linux-foundation.org\u003e\nCc: Petr Tesarik \u003cptesarik@suse.cz\u003e\nCc: Virtualization \u003cvirtualization@lists.linux-foundation.org\u003e\nCc: Xen devel \u003cxen-devel@lists.xensource.com\u003e\nCc: Thomas Friebel \u003cthomas.friebel@amd.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "39f004ba27fcd2431030a3bb3c949fa3f93fa4ca",
      "tree": "ddb97fc877f0cf4bd2424a75745661eb97346b00",
      "parents": [
        "9c3cdc1f83a6e07092392ff4aba6466517dbd1d0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 10 19:52:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 10 19:52:43 2008 -0700"
      },
      "message": "Make \u003casm-x86/spinlock.h\u003e use ACCESS_ONCE()\n\n..instead of cooking up its own uglier local version of it.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7fda20f146d5d217684ffbc37c6b6c5f82c2dffd",
      "tree": "ec72cbdbdc05c95b7be5922694fa069af12ff22b",
      "parents": [
        "d93c870bad38e8daaaf9f7e900a13431f24becbb"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 29 10:29:38 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 17:41:29 2008 +0200"
      },
      "message": "x86: spinlock ops are always-inlined\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d3bf60a6e48c9a451cac345c0ad57552bb299992",
      "tree": "c1020e7c6a8f38e78e71e079dffa2f91bb1a6765",
      "parents": [
        "ceb7ce1052a9087bd4752424f253b883ec5e1cec"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Mar 23 01:03:31 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 17:41:27 2008 +0200"
      },
      "message": "include/asm-x86/spinlock.h: checkpatch cleanups - formatting only\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3a556b26a2718e48aa2b6ce06ea4875ddcd0778e",
      "tree": "2c92b0f64e0a22ddeb349ef12ff8573df8f9d70e",
      "parents": [
        "938f667198179dc0c8424e2cfac9cd9fe405bee3"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Jan 30 13:33:00 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:33:00 2008 +0100"
      },
      "message": "x86: big ticket locks\n\nThis implements ticket lock support for more than 255 CPUs on x86. The\ncode gets switched according to the configured NR_CPUS.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1954448fb0c03dd5e301d7bef2dda71cd9b2fcf2",
      "tree": "6b441b41bd4363f473b8f7b769d0072f03384661",
      "parents": [
        "72fe4858544292ad64600765cb78bc02298c6b1c"
      ],
      "author": {
        "name": "Glauber de Oliveira Costa",
        "email": "gcosta@redhat.com",
        "time": "Wed Jan 30 13:32:09 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:32:09 2008 +0100"
      },
      "message": "x86: cleanup CLI_STRING, STI_STRING and friends\n\nSince the advent of ticket locking, CLI_STRING, STI_STRING, and friends\nare not used anymore. They can now be safely deleted.\n\nSigned-off-by: Glauber de Oliveira Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "314cdbefd1fd0a7acf3780e9628465b77ea6a836",
      "tree": "2d2e743433ef61864728e4031e2d17be53efa3bc",
      "parents": [
        "95c354fe9f7d6decc08a92aa26eb233ecc2155bf"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Jan 30 13:31:21 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:31:21 2008 +0100"
      },
      "message": "x86: FIFO ticket spinlocks\n\nIntroduce ticket lock spinlocks for x86 which are FIFO. The implementation\nis described in the comments. The straight-line lock/unlock instruction\nsequence is slightly slower than the dec based locks on modern x86 CPUs,\nhowever the difference is quite small on Core2 and Opteron when working out of\ncache, and becomes almost insignificant even on P4 when the lock misses cache.\ntrylock is more significantly slower, but they are relatively rare.\n\nOn an 8 core (2 socket) Opteron, spinlock unfairness is extremely noticable,\nwith a userspace test having a difference of up to 2x runtime per thread, and\nsome threads are starved or \"unfairly\" granted the lock up to 1 000 000 (!)\ntimes. After this patch, all threads appear to finish at exactly the same\ntime.\n\nThe memory ordering of the lock does conform to x86 standards, and the\nimplementation has been reviewed by Intel and AMD engineers.\n\nThe algorithm also tells us how many CPUs are contending the lock, so\nlockbreak becomes trivial and we no longer have to waste 4 bytes per\nspinlock for it.\n\nAfter this, we can no longer spin on any locks with preempt enabled\nand cannot reenable interrupts when spinning on an irq safe lock, because\nat that point we have already taken a ticket and the would deadlock if\nthe same CPU tries to take the lock again.  These are questionable anyway:\nif the lock happens to be called under a preempt or interrupt disabled section,\nthen it will just have the same latency problems. The real fix is to keep\ncritical sections short, and ensure locks are reasonably fair (which this\npatch does).\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1075cf7a959f72833e54dd2d4f885617e58e3e0a",
      "tree": "efda7563280a3b8a0c8856e2ac39c3c8578b1e11",
      "parents": [
        "cf244e30f5b50763cbe85f7de30923d12999e38d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jan 30 13:30:34 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:34 2008 +0100"
      },
      "message": "x86: merge spinlock.h variants\n\nMerge them finally together\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2fed0c507cf0101d511366f36e8573f403dbfea5",
      "tree": "d73332fca3b4a515755ad10b313780ca54f84fc1",
      "parents": [
        "6abcd98ffafbff81f0bfd7ee1d129e634af13245"
      ],
      "author": {
        "name": "Glauber de Oliveira Costa",
        "email": "gcosta@redhat.com",
        "time": "Wed Jan 30 13:30:33 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:33 2008 +0100"
      },
      "message": "x86: consolidate spinlock.h\n\nThe cli and sti instructions need to be replaced by paravirt hooks.\nFor the i386 architecture, this is already done. The code requirements\naren\u0027t much different from x86_64 POV, so this part is consolidated in\nthe common header\n\nSigned-off-by: Glauber de Oliveira Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nAcked-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "96a388de5dc53a8b234b3fd41f3ae2cedc9ffd42",
      "tree": "d947a467aa2da3140279617bc4b9b101640d7bf4",
      "parents": [
        "27bd0c955648646abf2a353a8371d28c37bcd982"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Oct 11 11:20:03 2007 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Oct 11 11:20:03 2007 +0200"
      },
      "message": "i386/x86_64: move headers to include/asm-x86\n\nMove the headers to include/asm-x86 and fixup the\nheader install make rules\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ]
}
