)]}'
{
  "log": [
    {
      "commit": "9226d125d94c7e4964dd41cc5e9ca2ff84091d01",
      "tree": "935d6e80ff843e1d7b54e0fd9386ef2e0d31aa3d",
      "parents": [
        "c119ecce894120790903ef535dac3e105f3d6cde"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Tue Feb 13 13:26:21 2007 +0100"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Tue Feb 13 13:26:21 2007 +0100"
      },
      "message": "[PATCH] i386: paravirt CPU hypercall batching mode\n\nThe VMI ROM has a mode where hypercalls can be queued and batched.  This turns\nout to be a significant win during context switch, but must be done at a\nspecific point before side effects to CPU state are visible to subsequent\ninstructions.  This is similar to the MMU batching hooks already provided.\nThe same hooks could be used by the Xen backend to implement a context switch\nmulticall.\n\nTo explain a bit more about lazy modes in the paravirt patches, basically, the\nidea is that only one of lazy CPU or MMU mode can be active at any given time.\n Lazy MMU mode is similar to this lazy CPU mode, and allows for batching of\nmultiple PTE updates (say, inside a remap loop), but to avoid keeping some\nkind of state machine about when to flush cpu or mmu updates, we just allow\none or the other to be active.  Although there is no real reason a more\ncomprehensive scheme could not be implemented, there is also no demonstrated\nneed for this extra complexity.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n"
    },
    {
      "commit": "4c20386c8d0719b42503efe65abe47ad3fb3d711",
      "tree": "9ec169c4c8548a9c2ac5c258c15020c346b969e1",
      "parents": [
        "9794f33ddedd878dd92fcf8b4834391840366919"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Mon Feb 12 00:53:11 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:34 2007 -0800"
      },
      "message": "[PATCH] GPIO core\n\nThis defines a simple and minimalist programming interface for GPIO APIs:\n\n  - Documentation/gpio.txt ... describes things (read it)\n\n  - include/asm-arm/gpio.h ... defines the ARM hook, which just punts\n    to \u003casm/arch/gpio.h\u003e for any implementation\n\n  - include/asm-generic/gpio.h ... implement \"can sleep\" variants as calling\n    the normal ones, for systems that don\u0027t handle i2c expanders.\n\nThe immediate need for such a cross-architecture API convention is to support\ndrivers that work the same on AT91 ARM and AVR32 AP7000 chips, which embed many\nof the same controllers but have different CPUs.  However, several other users\nhave been reported, including a driver for a hardware watchdog chip and some\nhandhelds.org multi-CPU button drivers.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "509cb37e173d4e39cec47238397e91b718730794",
      "tree": "c841817718d22ec410162c3c473fac42458886ad",
      "parents": [
        "9ede209e83693cf3f6b64f61ab4b65f2f809cb50"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Mon Feb 12 00:08:03 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 20:06:39 2007 -0800"
      },
      "message": "[PATCH] one more iomap s390 build fix\n\nCommit 9ac7849e35f705830f7b016ff272b0ff1f7ff759 causes this on S390:\n\n  drivers/built-in.o: In function `dmam_noncoherent_release\u0027:\n    dma-mapping.c:(.text+0x1515c): undefined reference to `dma_free_noncoherent\u0027\n  drivers/built-in.o: In function `dmam_free_noncoherent\u0027:\n    undefined reference to `dma_free_noncoherent\u0027\n  drivers/built-in.o: In function `dmam_alloc_noncoherent\u0027:\n    undefined reference to `dma_alloc_noncoherent\u0027\n  make: *** [.tmp_vmlinux1] Error 1\n\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f05b6284ee5d3be51ebe22284fc4b25fc586f380",
      "tree": "05624a17093734a56797cc0ec1757fbd74b905f8",
      "parents": [
        "5a88a13d0624769088ae220e40c2f542f1661eb3"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Sat Feb 10 01:42:59 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:17 2007 -0800"
      },
      "message": "[PATCH] typeof __page_to_pfn with SPARSEMEM\u003dy\n\nWith CONFIG_SPARSEMEM\u003dy:\n\nmm/rmap.c:579: warning: format \u0027%lx\u0027 expects type \u0027long unsigned int\u0027, but argument 2 has type \u0027int\u0027\n\nMake __page_to_pfn() return unsigned long.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e10a4437cb37c85f2df95432025b392d98aac2aa",
      "tree": "f8a560ecf6e75f582c0f025385d5e350a21d9fd6",
      "parents": [
        "7c5cae368a6c44eac0e817ae130301b65ff446dc"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Sat Feb 10 01:42:56 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:17 2007 -0800"
      },
      "message": "[PATCH] Remove final references to deprecated \"MAP_ANON\" page protection flag\n\nRemove the last vestiges of the long-deprecated \"MAP_ANON\" page protection\nflag: use \"MAP_ANONYMOUS\" instead.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8cdf92a98fa0f91068615443f2a8597b7f2c34ca",
      "tree": "c33ae8216599533068dbcf2ef46c19a1f5b942a9",
      "parents": [
        "dfd7a3db3898e299bdc25f0c77081a8632b3a73c"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Mon Jan 01 19:31:15 2007 +0000"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Jan 26 17:27:40 2007 -0500"
      },
      "message": "Fix Maple PATA IRQ assignment.\n\nOn the Maple board, the AMD8111 IDE is in legacy mode... except that it\nappears on IRQ 20 instead of IRQ 15. For drivers/ide this was handled by\nthe architecture\u0027s \"pci_get_legacy_ide_irq()\" function, but in libata we\njust hard-code the numbers 14 and 15.\n\nThis patch provides asm-powerpc/libata-portmap.h which maps the IRQ as\nappropriate, having added a pci_dev argument to the\nATA_{PRIM,SECOND}ARY_IRQ macros.\n\nThere\u0027s probably a better way to do this -- especially if we observe\nthat the _only_ case in which this seemingly-generic\n\"pci_get_legacy_ide_irq()\" function returns anything other than 14 and\n15 for primary and secondary respectively is the case of the AMD8111 on\nthe Maple board -- couldn\u0027t we handle that with a special case in the\npata_amd driver, or perhaps with a PCI quirk for Maple to switch it into\nnative mode during early boot and assign resources properly?\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "52e88f5d4a6b06f3a945728dd3bc403632afe069",
      "tree": "67219ac83f17b236204b11726ddb92b08f4edce5",
      "parents": [
        "76598ebe081b04132f272440183e0aeb6507a079"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 29 16:47:10 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sat Dec 30 10:55:54 2006 -0800"
      },
      "message": "[PATCH] change WARN_ON back to \"BUG: at ...\"\n\nWARN_ON() ever triggering is a kernel bug.  Do not try to paper over this\nfact by suggesting to the user that this is \u0027only\u0027 a warning, as the\nfollowing recent commit does:\n\n  commit 30e25b71e725b150585e17888b130e3324f8cf7c\n  Author: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\n  Date:   Fri Dec 8 02:36:24 2006 -0800\n\n    [PATCH] Fix generic WARN_ON message\n\n    A warning is a warning, not a BUG.\n\n( it might make sense to rename BUG() to CRASH() and BUG_ON() to\n  CRASH_ON(), but that does not change the fact that WARN_ON()\n  signals a kernel bug. )\n\ni and others objected to this change during lkml review:\n\n  http://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d116115160710533\u0026w\u003d2\n\nstill the change slipped upstream - grumble :)\n\nAlso, use the standard \"BUG: \" format to make it easier to grep logs and\nto make it easier to google for kernel bugs.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1597cacbe39802d86656d1f2e6329895bd2ef531",
      "tree": "23036b221b31f154118582af7dbc5cd35fc97bc8",
      "parents": [
        "beb7cc8238a8334d86c96bf32bf66182db3b619f"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Dec 04 15:14:45 2006 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 20 10:54:43 2006 -0800"
      },
      "message": "PCI: Fix multiple problems with VIA hardware\n\nThis patch is designed to fix:\n- Disk eating corruptor on KT7 after resume from RAM\n- VIA IRQ handling\n- VIA fixups for bus lockups after resume from RAM\n\nThe core of this is to add a table of resume fixups run at resume time.\nWe need to do this for a variety of boards and features, but particularly\nwe need to do this to get various critical VIA fixups done on resume.\n\nThe second part of the problem is to handle VIA IRQ number rules which\nare a bit odd and need special handling for PIC interrupts. Various\npatches broke various boxes and while this one may not be perfect\n(hopefully it is) it ensures the workaround is applied to the right\ndevices only.\n\nFrom: Jean Delvare \u003ckhali@linux-fr.org\u003e\n\nNow that PCI quirks are replayed on software resume, we can safely\nre-enable the Asus SMBus unhiding quirk even when software suspend support\nis enabled.\n\n[akpm@osdl.org: fix const warning]\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d1526e2cda64d5a1de56aef50bad9e5df14245c2",
      "tree": "d7b490b1a11dd9720c9918733ca0c06e0e82cfba",
      "parents": [
        "d1998ef38a13c4e74c69df55ccd38b0440c429b2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 15 08:43:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 15 08:47:51 2006 -0800"
      },
      "message": "Remove stack unwinder for now\n\nIt has caused more problems than it ever really solved, and is\napparently not getting cleaned up and fixed.  We can put it back when\nit\u0027s stable and isn\u0027t likely to make warning or bug events worse.\n\nIn the meantime, enable frame pointers for more readable stack traces.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8d610dd52dd1da696e199e4b4545f33a2a5de5c6",
      "tree": "8b2eee4dac34ff5f1374225ccba3fedb8432b579",
      "parents": [
        "8993780a6e44fb4e7ed34e33458506a775356c6e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Mon Dec 11 12:12:04 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Mon Dec 11 12:12:04 2006 -0800"
      },
      "message": "Make sure we populate the initroot filesystem late enough\n\nWe should not initialize rootfs before all the core initializers have\nrun.  So do it as a separate stage just before starting the regular\ndriver initializers.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "606d099cdd1080bbb50ea50dc52d98252f8f10a1",
      "tree": "80d17450a5fb78effce3f4312f672c058658e004",
      "parents": [
        "edc6afc5496875a640bef0913604be7550c1795d"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Dec 08 02:38:45 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:57 2006 -0800"
      },
      "message": "[PATCH] tty: switch to ktermios\n\nThis is the grungy swap all the occurrences in the right places patch that\ngoes with the updates.  At this point we have the same functionality as\nbefore (except that sgttyb() returns speeds not zero) and are ready to\nbegin turning new stuff on providing nobody reports lots of bugs\n\nIf you are a tty driver author converting an out of tree driver the only\nimpact should be termios-\u003ektermios name changes for the speed/property\nsetting functions from your upper layers.\n\nIf you are implementing your own TCGETS function before then your driver\nwas broken already and its about to get a whole lot more painful for you so\nplease fix it 8)\n\nAlso fill in c_ispeed/ospeed on init for most devices, although the current\ncode will do this for you anyway but I\u0027d like eventually to lose that extra\nparanoia\n\n[akpm@osdl.org: bluetooth fix]\n[mp3@de.ibm.com: sclp fix]\n[mp3@de.ibm.com: warning fix for tty3270]\n[hugh@veritas.com: fix tty_ioctl powerpc build]\n[jdike@addtoit.com: uml: fix -\u003eset_termios declaration]\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Martin Peschke \u003cmp3@de.ibm.com\u003e\nAcked-by: Peter Oberparleiter \u003coberpar@de.ibm.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "39d61db0edb34d60b83c5e0d62d0e906578cc707",
      "tree": "6bbf32fe84eaa8bd8e194aab278274039d2d6440",
      "parents": [
        "312a0c170945b49f319960afd2e492c05f9dd551"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Dec 08 02:37:52 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:51 2006 -0800"
      },
      "message": "[PATCH] LOG2: Alter get_order() so that it can make use of ilog2() on a constant\n\nAlter get_order() so that it can make use of ilog2() on a constant to produce\na constant value, retaining the ability for an arch to override it in the\nnon-const case.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "30e25b71e725b150585e17888b130e3324f8cf7c",
      "tree": "655e0f0dab49dbc14c10346deefbbf3f491f4087",
      "parents": [
        "a8605aef813f8eb3ef4b80d32cba6a671ef8deb0"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Fri Dec 08 02:36:24 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:39 2006 -0800"
      },
      "message": "[PATCH] Fix generic WARN_ON message\n\nA warning is a warning, not a BUG.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7664c5a1da4711bb6383117f51b94c8dc8f3f1cd",
      "tree": "79a2e2a4626c66a411488b5ceb554b011d862a7d",
      "parents": [
        "c48f70c3d046f021b1c22438604ef2a583380eca"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Fri Dec 08 02:36:19 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:39 2006 -0800"
      },
      "message": "[PATCH] Generic BUG implementation\n\nThis patch adds common handling for kernel BUGs, for use by architectures as\nthey wish.  The code is derived from arch/powerpc.\n\nThe advantages of having common BUG handling are:\n - consistent BUG reporting across architectures\n - shared implementation of out-of-line file/line data\n - implement CONFIG_DEBUG_BUGVERBOSE consistently\n\nThis means that in inline impact of BUG is just the illegal instruction\nitself, which is an improvement for i386 and x86-64.\n\nA BUG is represented in the instruction stream as an illegal instruction,\nwhich has file/line information associated with it.  This extra information is\nstored in the __bug_table section in the ELF file.\n\nWhen the kernel gets an illegal instruction, it first confirms it might\npossibly be from a BUG (ie, in kernel mode, the right illegal instruction).\nIt then calls report_bug().  This searches __bug_table for a matching\ninstruction pointer, and if found, prints the corresponding file/line\ninformation.  If report_bug() determines that it wasn\u0027t a BUG which caused the\ntrap, it returns BUG_TRAP_TYPE_NONE.\n\nSome architectures (powerpc) implement WARN using the same mechanism; if the\nillegal instruction was the result of a WARN, then report_bug(Q) returns\nCONFIG_DEBUG_BUGVERBOSE; otherwise it returns BUG_TRAP_TYPE_BUG.\n\nlib/bug.c keeps a list of loaded modules which can be searched for __bug_table\nentries.  The architecture must call\nmodule_bug_finalize()/module_bug_cleanup() from its corresponding\nmodule_finalize/cleanup functions.\n\nUnsetting CONFIG_DEBUG_BUGVERBOSE will reduce the kernel size by some amount.\nAt the very least, filename and line information will not be recorded for each\nbut, but architectures may decide to store no extra information per BUG at\nall.\n\nUnfortunately, gcc doesn\u0027t have a general way to mark an asm() as noreturn, so\narchitectures will generally have to include an infinite loop (or similar) in\nthe BUG code, so that gcc knows execution won\u0027t continue beyond that point.\ngcc does have a __builtin_trap() operator which may be useful to achieve the\nsame effect, unfortunately it cannot be used to actually implement the BUG\nitself, because there\u0027s no way to get the instruction\u0027s address for use in\ngenerating the __bug_table entry.\n\n[randy.dunlap@oracle.com: Handle BUG\u003dn, GENERIC_BUG\u003dn to prevent build errors]\n[bunk@stusta.de: include/linux/bug.h must always #include \u003clinux/module.h]\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Hugh Dickens \u003chugh@veritas.com\u003e\nCc: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4522d58275f124105819723e24e912c8e5bf3cdd",
      "tree": "b92c29014fadffe049c1925676037f0092b8d112",
      "parents": [
        "6cf24f031bc97cb5a7c9df3b6e73c45b628b2b28",
        "64a26a731235b59c9d73bbe82c1f896d57400d37"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:59:11 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:59:11 2006 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://one.firstfloor.org/home/andi/git/linux-2.6\n\n* \u0027for-linus\u0027 of git://one.firstfloor.org/home/andi/git/linux-2.6: (156 commits)\n  [PATCH] x86-64: Export smp_call_function_single\n  [PATCH] i386: Clean up smp_tune_scheduling()\n  [PATCH] unwinder: move .eh_frame to RODATA\n  [PATCH] unwinder: fully support linker generated .eh_frame_hdr section\n  [PATCH] x86-64: don\u0027t use set_irq_regs()\n  [PATCH] x86-64: check vector in setup_ioapic_dest to verify if need setup_IO_APIC_irq\n  [PATCH] x86-64: Make ix86 default to HIGHMEM4G instead of NOHIGHMEM\n  [PATCH] i386: replace kmalloc+memset with kzalloc\n  [PATCH] x86-64: remove remaining pc98 code\n  [PATCH] x86-64: remove unused variable\n  [PATCH] x86-64: Fix constraints in atomic_add_return()\n  [PATCH] x86-64: fix asm constraints in i386 atomic_add_return\n  [PATCH] x86-64: Correct documentation for bzImage protocol v2.05\n  [PATCH] x86-64: replace kmalloc+memset with kzalloc in MTRR code\n  [PATCH] x86-64: Fix numaq build error\n  [PATCH] x86-64: include/asm-x86_64/cpufeature.h isn\u0027t a userspace header\n  [PATCH] unwinder: Add debugging output to the Dwarf2 unwinder\n  [PATCH] x86-64: Clarify error message in GART code\n  [PATCH] x86-64: Fix interrupt race in idle callback (3rd try)\n  [PATCH] x86-64: Remove unwind stack pointer alignment forcing again\n  ...\n\nFixed conflict in include/linux/uaccess.h manually\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7d1362c0d05b8543807ab403ac8ce813cab41fa4",
      "tree": "78f4f97229af02e4a8e3d1851b003b296db6dcda",
      "parents": [
        "f46ba2235feab5e686b1234c328a0577cde86e21"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed Dec 06 20:40:38 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:46 2006 -0800"
      },
      "message": "[PATCH] cleanup asm/setup.h userspace visibility\n\nMake the contents of the userspace asm/setup.h header consistent on all\narchitectures:\n\n - export setup.h to userspace on all architectures\n - export only COMMAND_LINE_SIZE to userspace\n - frv: move COMMAND_LINE_SIZE from param.h\n - i386: remove duplicate COMMAND_LINE_SIZE from param.h\n - arm:\n   - export ATAGs to userspace\n   - change u8/u16/u32 to __u8/__u16/__u32\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4b358e22064b4551aa8b4dcfe3efe70a13548676",
      "tree": "77c630d072bc8413ce9cbfa1e9a3f5df061f6fca",
      "parents": [
        "ccdea2f88b5689f0fd29c3804be43a3acf0311e3"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed Dec 06 20:40:28 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:45 2006 -0800"
      },
      "message": "[PATCH] cleanup include/asm-generic/atomic.h\n\ncleanup asm-generic/atomic.h\n\n - no longer a userspace header\n - remove the unneeded #include \u003casm/types.h\u003e\n - #else/#endif comments\n\n[akpm@osdl.org: fix arm build]\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d3fa72e4556ec1f04e46a0d561d9e785ecaa173d",
      "tree": "9c9b51dbecc27e977135b4e4793ea3dc99e8ba66",
      "parents": [
        "f67637ee4b5d90d41160d755b9a8cca18c394586"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Wed Dec 06 20:38:56 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:41 2006 -0800"
      },
      "message": "[PATCH] Pass struct dev pointer to dma_cache_sync()\n\nPass struct dev pointer to dma_cache_sync()\n\ndma_cache_sync() is ill-designed in that it does not have a struct device\npointer argument which makes proper support for systems that consist of a\nmix of coherent and non-coherent DMA devices hard.  Change dma_cache_sync\nto take a struct device pointer as first argument and fix all its callers\nto pass it.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f67637ee4b5d90d41160d755b9a8cca18c394586",
      "tree": "dffa1fa32f8e0462c8e46c4f8fefa058be349d6a",
      "parents": [
        "83b7b44e1c1e9e493ccd4146558481ab5af0116a"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Wed Dec 06 20:38:54 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:41 2006 -0800"
      },
      "message": "[PATCH] Add struct dev pointer to dma_is_consistent()\n\ndma_is_consistent() is ill-designed in that it does not have a struct\ndevice pointer argument which makes proper support for systems that consist\nof a mix of coherent and non-coherent DMA devices hard.  Change\ndma_is_consistent to take a struct device pointer as first argument and fix\nthe sole caller to pass it.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a866374aecc90c7d90619727ccd851ac096b2fc7",
      "tree": "eabae0b36b5281dcef20563470c7f05549689b8c",
      "parents": [
        "6edaf68a87d17570790fd55f0c451a29ec1d6703"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 06 20:32:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:21 2006 -0800"
      },
      "message": "[PATCH] mm: pagefault_{disable,enable}()\n\nIntroduce pagefault_{disable,enable}() and use these where previously we did\nmanual preempt increments/decrements to make the pagefault handler do the\natomic thing.\n\nCurrently they still rely on the increased preempt count, but do not rely on\nthe disabled preemption, this might go away in the future.\n\n(NOTE: the extra barrier() in pagefault_disable might fix some holes on\n       machines which have too many registers for their own good)\n\n[heiko.carstens@de.ibm.com: s390 fix]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b65780e123ba9b762276482bbfb52836e4d41fd9",
      "tree": "735ac2dde1838e6977f0ad2ed2c7e2c65f6271ed",
      "parents": [
        "c65f38d911aa301cea109d38d40925750dd6c2da"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Thu Dec 07 02:14:19 2006 +0100"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Thu Dec 07 02:14:19 2006 +0100"
      },
      "message": "[PATCH] unwinder: move .eh_frame to RODATA\n\nThe .eh_frame section contents is never written to, so it can as well\nbenefit from CONFIG_DEBUG_RODATA.\n\nDiff-ed against firstfloor tree.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "6569580de7ae367def89b7671029cb97c1965574",
      "tree": "e20a70b2b3bb71c3197446bc4265a2f458ddee03",
      "parents": [
        "67fd44fea274a5033ceb90284683bc44df61df54"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@in.ibm.com",
        "time": "Thu Dec 07 02:14:03 2006 +0100"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Thu Dec 07 02:14:03 2006 +0100"
      },
      "message": "[PATCH] i386: Distinguish absolute symbols\n\nLd knows about 2 kinds of symbols,  absolute and section\nrelative.  Section relative symbols symbols change value\nwhen a section is moved and absolute symbols do not.\n\nCurrently in the linker script we have several labels\nmarking the beginning and ending of sections that\nare outside of sections, making them absolute symbols.\nHaving a mixture of absolute and section relative\nsymbols refereing to the same data is currently harmless\nbut it is confusing.\n\nThis must be done carefully as newer revs of ld do not place\nsymbols that appear in sections without data and instead\nld makes those symbols global :(\n\nMy ultimate goal is to build a relocatable kernel.  The\nsafest and least intrusive technique is to generate\nrelocation entries so the kernel can be relocated at load\ntime.  The only penalty would be an increase in the size\nof the kernel binary.  The problem is that if absolute and\nrelocatable symbols are not properly specified absolute symbols\nwill be relocated or section relative symbols won\u0027t be, which\nis fatal.\n\nThe practical motivation is that when generating kernels that\nwill run from a reserved area for analyzing what caused\na kernel panic, it is simpler if you don\u0027t need to hard code\nthe physical memory location they will run at, especially\nfor the distributions.\n\n[AK: and merged:]\n\no Also put a message so that in future people can be aware of it and\n  avoid introducing absolute symbols.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "c6dbaef22a2f78700e242915a13218dd780c89ff",
      "tree": "57167ca04a79f0d0aecf82523c8d8f3918312d8d",
      "parents": [
        "d80f19fab89cba8a6d16193154c8ff3edab00942"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Sat Nov 11 17:18:39 2006 +1100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 01 14:52:01 2006 -0800"
      },
      "message": "Driver core: add dev_archdata to struct device\n\nAdd arch specific dev_archdata to struct device\n\nAdds an arch specific struct dev_arch to struct device. This enables\narchitecture to add specific fields to every device in the system, like\nDMA operation pointers, NUMA node ID, firmware specific data, etc...\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Andi Kleen \u003cak@suse.de\u003e\nAcked-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b3438f8266cb1f5010085ac47d7ad6a36a212164",
      "tree": "bb74bd7a3ea7a629e380aa7761ba63a5e44992c7",
      "parents": [
        "f44ea623443ee0bec266d62f1cd346881224d47d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Mon Nov 20 11:47:18 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Mon Nov 20 11:47:18 2006 -0800"
      },
      "message": "Add \"pure_initcall\" for static variable initialization\n\nThis is a quick hack to overcome the fact that SRCU currently does not\nallow static initializers, and we need to sometimes initialize those\nthings before any other initializers (even \"core\" ones) can do so.\n\nCurrently we don\u0027t allow this at all for modules, and the only user that\nneeds is right now is cpufreq. As reported by Thomas Gleixner:\n\n   \"Commit b4dfdbb3c707474a2254c5b4d7e62be31a4b7da9 (\"[PATCH] cpufreq:\n    make the transition_notifier chain use SRCU breaks cpu frequency\n    notification users, which register the callback \u003e on core_init\n    level.\"\n\nCc: Thomas Gleixner \u003ctglx@timesys.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Andrew Morton \u003cakpm@osdl.org\u003e,\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "735a7ffb739b6efeaeb1e720306ba308eaaeb20e",
      "tree": "6156c96aeae04e1fd789f07bdd839dca7eca611a",
      "parents": [
        "61ce1efe6e40233663d27ab8ac9ba9710eebcaad"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Oct 27 11:42:37 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 27 15:34:51 2006 -0700"
      },
      "message": "[PATCH] drivers: wait for threaded probes between initcall levels\n\nThe multithreaded-probing code has a problem: after one initcall level (eg,\ncore_initcall) has been processed, we will then start processing the next\nlevel (postcore_initcall) while the kernel threads which are handling\ncore_initcall are still executing.  This breaks the guarantees which the\nlayered initcalls previously gave us.\n\nIOW, we want to be multithreaded _within_ an initcall level, but not between\ndifferent levels.\n\nFix that up by causing the probing code to wait for all outstanding probes at\none level to complete before we start processing the next level.\n\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "61ce1efe6e40233663d27ab8ac9ba9710eebcaad",
      "tree": "782640f26f39b96fbce595883dabbeadb550dd15",
      "parents": [
        "e80391500078b524083ba51c3df01bbaaecc94bb"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Oct 27 11:41:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 27 15:34:51 2006 -0700"
      },
      "message": "[PATCH] vmlinux.lds: consolidate initcall sections\n\nAdd a vmlinux.lds.h helper macro for defining the eight-level initcall table,\nteach all the architectures to use it.\n\nThis is a prerequisite for a patch which performs initcall synchronisation for\nmultithreaded-probing.\n\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n[ Added AVR32 as well ]\nSigned-off-by: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "690a973f48b6ba2954465992c08e65059c8374fe",
      "tree": "b30a59496628592233944b3f4340cdfdf9d3d5de",
      "parents": [
        "cdfce1f5714fec7b24715f569b2fee1607350a6d"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Sat Oct 21 18:37:01 2006 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Sat Oct 21 18:37:01 2006 +0200"
      },
      "message": "[PATCH] x86-64: Speed up dwarf2 unwinder\n\nThis changes the dwarf2 unwinder to do a binary search for CIEs\ninstead of a linear work. The linker is unfortunately not\nable to build a proper lookup table at link time, instead it creates\none at runtime as soon as the bootmem allocator is usable (so you\u0027ll continue\nusing the linear lookup for the first [hopefully] few calls).\nThe code should be ready to utilize a build-time created table once\na fixed linker becomes available.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "8c7c7c9bf39470c9689ad43cae3142cf948f4cfb",
      "tree": "c9657aa9d52c505b9b8fd73e9292d9b2a533bad3",
      "parents": [
        "a31baca58cc16fe0584685f54c6d17494a231c92"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Thu Oct 19 23:28:34 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:38 2006 -0700"
      },
      "message": "[PATCH] Fix warnings for WARN_ON if CONFIG_BUG is disabled\n\nIn most cases the return value of WARN_ON() is ignored.  If the generic\ndefinition for the !CONFIG_BUG case is used this will result in a warning:\n\n  CC      kernel/sched.o\nIn file included from include/linux/bio.h:25,\n                 from include/linux/blkdev.h:14,\n                 from kernel/sched.c:39:\ninclude/linux/ioprio.h: In function âtask_ioprioâ:\ninclude/linux/ioprio.h:50: warning: statement with no effect\nkernel/sched.c: In function âcontext_switchâ:\nkernel/sched.c:1834: warning: statement with no effect\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "beed33a816204cb402c69266475b6a60a2433ceb",
      "tree": "4eaa7e5a1ccf2960d1478774cdfcab671384accb",
      "parents": [
        "f33d9bd50478c9a969b65f58feb6b69a3ad478cb"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Oct 11 01:21:52 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 11 11:14:22 2006 -0700"
      },
      "message": "[PATCH] sched: likely profiling\n\nThis likely profiling is pretty fun. I found a few possible problems\nin sched.c.\n\nThis patch may be not measurable, but when I did measure long ago,\nnooping (un)likely cost a couple of % on scheduler heavy benchmarks, so\nit all adds up.\n\nTweak some branch hints:\n\n- the 2nd 64 bits in the bitmask is likely to be populated, because it\n  contains the first 28 bits (nearly 3/4) of the normal priorities.\n  (ratio of 669669:691 ~\u003d 1000:1).\n\n- it isn\u0027t unlikely that context switching switches to another process. it\n  might be very rapidly switching to and from the idle process (ratio of\n  475815:419004 and 471330:423544). Let the branch predictor decide.\n\n- preempt_enable seems to be very often called in a nested preempt_disable\n  or with interrupts disabled (ratio of 3567760:87965 ~\u003d 40:1)\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Daniel Walker \u003cdwalker@mvista.com\u003e\nCc: Hua Zhong \u003chzhong@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a666ecfbf512dbd63a60f65d2ad6733a9a1b12ee",
      "tree": "670d0bd90f424101a8f05639ff517e464c4005c6",
      "parents": [
        "dc366708b3b022050f139347a44c65a102e4835d"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Fri Oct 06 00:43:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 06 08:53:41 2006 -0700"
      },
      "message": "[PATCH] Fix typo in \"syntax error if percpu macros are incorrectly used\" patch\n\nTrivial typo fix in the \"syntax error if percpu macros are incorrectly\nused\" patch.  I misspelled \"identifier\" in all places.  D\u0027Oh!\n\nThanks to Dirk Mueller to point this out.\n\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d69a892268c66c13fcb445a8274baa9d7befb7b5",
      "tree": "bf8a7612f8dd0d759fae7b564c22bdd89d77b355",
      "parents": [
        "4899b8b16b302299cc91289f7b5bac295e9ab387"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Oct 06 00:43:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 06 08:53:39 2006 -0700"
      },
      "message": "[PATCH] Fix WARN_ON / WARN_ON_ONCE regression\n\nTim and Ananiev report that the recent WARN_ON_ONCE changes cause increased\ncache misses with the tbench workload.  Apparently due to the access to the\nnewly-added static variable.\n\nRearrange the code so that we don\u0027t touch that variable unless the warning is\ngoing to trigger.\n\nAlso rework the logic so that the static variable starts out at zero, so we\ncan move it into bss.\n\nIt would seem logical to mark the static variable as __read_mostly too.  But\nit would be wrong, because that would put it back into the vmlinux image, and\nthe kernel will never read from this variable in normal operation anyway.\nUnless the compiler or hardware go and do some prefetching on us?\n\nFor some reason this patch shrinks softirq.o text by 40 bytes.\n\nCc: Tim Chen \u003ctim.c.chen@intel.com\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nCc: \"Ananiev, Leonid I\" \u003cleonid.i.ananiev@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7d12e780e003f93433d49ce78cfedf4b4c52adc5",
      "tree": "6748550400445c11a306b132009f3001e3525df8",
      "parents": [
        "da482792a6d1a3fbaaa25fae867b343fb4db3246"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Oct 05 14:55:46 2006 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@warthog.cambridge.redhat.com",
        "time": "Thu Oct 05 15:10:12 2006 +0100"
      },
      "message": "IRQ: Maintain regs pointer globally rather than passing to IRQ handlers\n\nMaintain a per-CPU global \"struct pt_regs *\" variable which can be used instead\nof passing regs around manually through all ~1800 interrupt handlers in the\nLinux kernel.\n\nThe regs pointer is used in few places, but it potentially costs both stack\nspace and code to pass it around.  On the FRV arch, removing the regs parameter\nfrom all the genirq function results in a 20% speed up of the IRQ exit path\n(ie: from leaving timer_interrupt() to leaving do_IRQ()).\n\nWhere appropriate, an arch may override the generic storage facility and do\nsomething different with the variable.  On FRV, for instance, the address is\nmaintained in GR28 at all times inside the kernel as part of general exception\nhandling.\n\nHaving looked over the code, it appears that the parameter may be handed down\nthrough up to twenty or so layers of functions.  Consider a USB character\ndevice attached to a USB hub, attached to a USB controller that posts its\ninterrupts through a cascaded auxiliary interrupt controller.  A character\ndevice driver may want to pass regs to the sysrq handler through the input\nlayer which adds another few layers of parameter passing.\n\nI\u0027ve build this code with allyesconfig for x86_64 and i386.  I\u0027ve runtested the\nmain part of the code on FRV and i386, though I can\u0027t test most of the drivers.\nI\u0027ve also done partial conversion for powerpc and MIPS - these at least compile\nwith minimal configurations.\n\nThis will affect all archs.  Mostly the changes should be relatively easy.\nTake do_IRQ(), store the regs pointer at the beginning, saving the old one:\n\n\tstruct pt_regs *old_regs \u003d set_irq_regs(regs);\n\nAnd put the old one back at the end:\n\n\tset_irq_regs(old_regs);\n\nDon\u0027t pass regs through to generic_handle_irq() or __do_IRQ().\n\nIn timer_interrupt(), this sort of change will be necessary:\n\n\t-\tupdate_process_times(user_mode(regs));\n\t-\tprofile_tick(CPU_PROFILING, regs);\n\t+\tupdate_process_times(user_mode(get_irq_regs()));\n\t+\tprofile_tick(CPU_PROFILING);\n\nI\u0027d like to move update_process_times()\u0027s use of get_irq_regs() into itself,\nexcept that i386, alone of the archs, uses something other than user_mode().\n\nSome notes on the interrupt handling in the drivers:\n\n (*) input_dev() is now gone entirely.  The regs pointer is no longer stored in\n     the input_dev struct.\n\n (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking.  It does\n     something different depending on whether it\u0027s been supplied with a regs\n     pointer or not.\n\n (*) Various IRQ handler function pointers have been moved to type\n     irq_handler_t.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n(cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)\n"
    },
    {
      "commit": "f30c2269544bffc7bf1b0d7c0abe5be1be83b8cb",
      "tree": "2f6140d8a555af6a133690ed6b42599e78a43c54",
      "parents": [
        "670e9f34ee3c7e052514c85014d2fdd99b672cdc"
      ],
      "author": {
        "name": "Uwe Zeisberger",
        "email": "Uwe_Zeisberger@digi.com",
        "time": "Tue Oct 03 23:01:26 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Oct 03 23:01:26 2006 +0200"
      },
      "message": "fix file specification in comments\n\nMany files include the filename at the beginning, serveral used a wrong one.\n\nSigned-off-by: Uwe Zeisberger \u003cUwe_Zeisberger@digi.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "a93cb055a23f3172c1e6a22ac1dc4f1c07929b08",
      "tree": "b2118140583912c78d42a3ba950be39815addc14",
      "parents": [
        "d6d861e3c963b4077c83e078e3e300c4b81f93e7"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Sat Sep 30 23:29:37 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:34 2006 -0700"
      },
      "message": "[PATCH] paravirt: remove set pte atomic\n\nNow that ptep_establish has a definition in PAE i386 3-level paging code, the\nonly paging model which is insane enough to have multi-word hardware PTEs\nwhich are not efficient to set atomically, we can remove the ghost of\nset_pte_atomic from other architectures which falesly duplicated it, and\nremove all knowledge of it from the generic pgtable code.\n\nset_pte_atomic is now a private pte operator which is specific to i386\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6606c3e0da5360799e07ae24b05080cc85c68e72",
      "tree": "5072acfc3b36e48ec84fe28805d160cbc9b28900",
      "parents": [
        "9888a1cae3f859db38b9604e3df1c02177161bb0"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Sat Sep 30 23:29:33 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:33 2006 -0700"
      },
      "message": "[PATCH] paravirt: lazy mmu mode hooks.patch\n\nImplement lazy MMU update hooks which are SMP safe for both direct and shadow\npage tables.  The idea is that PTE updates and page invalidations while in\nlazy mode can be batched into a single hypercall.  We use this in VMI for\nshadow page table synchronization, and it is a win.  It also can be used by\nPPC and for direct page tables on Xen.\n\nFor SMP, the enter / leave must happen under protection of the page table\nlocks for page tables which are being modified.  This is because otherwise,\nyou end up with stale state in the batched hypercall, which other CPUs can\nrace ahead of.  Doing this under the protection of the locks guarantees the\nsynchronization is correct, and also means that spurious faults which are\ngenerated during this window by remote CPUs are properly handled, as the page\nfault handler must re-check the PTE under protection of the same lock.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9888a1cae3f859db38b9604e3df1c02177161bb0",
      "tree": "5954dc5e1a2dc1251a57a41aa15b7776a530f230",
      "parents": [
        "3dc907951446b9317b1887223caa4e083390de9f"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Sat Sep 30 23:29:31 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:33 2006 -0700"
      },
      "message": "[PATCH] paravirt: pte clear not present\n\nChange pte_clear_full to a more appropriately named pte_clear_not_present,\nallowing optimizations when not-present mapping changes need not be reflected\nin the hardware TLB for protected page table modes.  There is also another\ncase that can use it in the fremap code.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "684f978347deb42d180373ac4c427f82ef963171",
      "tree": "db9025d8c6b267565c7110e09b16193957186a48",
      "parents": [
        "6299a2dec89d22940e36832f15c0addfb77e6910"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Sep 29 01:59:06 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:06 2006 -0700"
      },
      "message": "[PATCH] Let WARN_ON/WARN_ON_ONCE return the condition\n\nLetting WARN_ON/WARN_ON_ONCE return the condition means that you could do\n\nif (WARN_ON(blah)) {\n\thandle_impossible_case\n}\n\nRather than\n\nif (unlikely(blah)) {\n\tWARN_ON(1)\n\thandle_impossible_case\n}\n\nI checked all the newly added WARN_ON_ONCE users and none of them test the\nreturn status so we can still change it.\n\n[akpm@osdl.org: warning fix]\n[akpm@osdl.org: build fix]\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7583ddfd3aae1007bc4fc67ea4c07d573d376e9e",
      "tree": "f88625aa25b246b29fc683682fa427ce18f08925",
      "parents": [
        "8b0e330b7720a206339887044fa275bf537a5264"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "marcelo@kvack.org",
        "time": "Wed Sep 27 01:51:02 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:19 2006 -0700"
      },
      "message": "[PATCH] Include __param section in read-only data range\n\nThe param section is an array of \"kernel_param\" structures, storing only\nconstant data: pointer to name, permission of the variable pointed to by\n(void *)arg and pointers to set/get methods.\n\nMove end_rodata down to include __param section in the read-only range used\nby CONFIG_DEBUG_RODATA.\n\nSigned-off-by: Marcelo Tosatti \u003cmarcelo@kvack.org\u003e\nAcked-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "673eae8230a192f07b8715b872d6925521e9738d",
      "tree": "2917c765594015ebfad00bb4fc1feef41286ca1a",
      "parents": [
        "753b9f86e7aef76c2beda32668ce528f90cb1733"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Sep 25 23:32:29 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:56 2006 -0700"
      },
      "message": "[PATCH] x86: trivial pgtable.h __ASSEMBLY__ move\n\nParsing generic pgtable.h in assembler is simply crazy.  None of this file is\nneeded in assembler code, and C inline functions and structures routine break\none or more different compiles.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9c9b8b388296ad5a306ab238dc677cfe6ff4cb12",
      "tree": "997b14216fa77db77052766b38dd0ef4cd829648",
      "parents": [
        "461a9afff5e731d6337c0f5b08a1e727ccd57e0a"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Mon Sep 25 23:32:26 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:55 2006 -0700"
      },
      "message": "[PATCH] x86: put .note.* sections into a PT_NOTE segment in vmlinux\n\nThis patch will pack any .note.* section into a PT_NOTE segment in the output\nfile.\n\nTo do this, we tell ld that we need a PT_NOTE segment.  This requires us to\nstart explicitly mapping sections to segments, so we also need to explicitly\ncreate PT_LOAD segments for text and data, and map the sections to them\nappropriately.  Fortunately, each section will default to its previous\nsection\u0027s segment, so it doesn\u0027t take many changes to vmlinux.lds.S.\n\nThis only changes i386 for now, but I presume the corresponding changes for\nother architectures will be as simple.\n\nThis change also adds \u003clinux/elfnote.h\u003e, which defines C and Assembler macros\nfor actually creating ELF notes.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "46a82b2d5591335277ed2930611f6acb4ce654ed",
      "tree": "e90bc1843701af2012bae92564f7109027a8244f",
      "parents": [
        "d2e7b7d0aa021847c59f882b066e7d3812902870"
      ],
      "author": {
        "name": "Dave McCracken",
        "email": "dmccr@us.ibm.com",
        "time": "Mon Sep 25 23:31:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:51 2006 -0700"
      },
      "message": "[PATCH] Standardize pxx_page macros\n\nOne of the changes necessary for shared page tables is to standardize the\npxx_page macros.  pte_page and pmd_page have always returned the struct\npage associated with their entry, while pte_page_kernel and pmd_page_kernel\nhave returned the kernel virtual address.  pud_page and pgd_page, on the\nother hand, return the kernel virtual address.\n\nShared page tables needs pud_page and pgd_page to return the actual page\nstructures.  There are very few actual users of these functions, so it is\nsimple to standardize their usage.\n\nSince this is basic cleanup, I am submitting these changes as a standalone\npatch.  Per Hugh Dickins\u0027 comments about it, I am also changing the\npxx_page_kernel macros to pxx_page_vaddr to clarify their meaning.\n\nSigned-off-by: Dave McCracken \u003cdmccr@us.ibm.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "632bbfeee4f042c05bc65150b4433a297d3fe387",
      "tree": "ce67b5fa4bec38610fc0ecb9b20be6aa69763bb3",
      "parents": [
        "0a2966b48fb784e437520e400ddc94874ddbd4e8"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Mon Sep 25 23:30:53 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:44 2006 -0700"
      },
      "message": "[PATCH] trigger a syntax error if percpu macros are incorrectly used\n\nget_cpu_var()/per_cpu()/__get_cpu_var() arguments must be simple\nidentifiers.  Otherwise the arch dependent implementations might break.\n\nThis patch enforces the correct usage of the macros by producing a syntax\nerror if the variable is not a simple identifier.\n\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "23930fa1cebfea6f79881c588ccd1b0781e49e3f",
      "tree": "36d29e3f83661c4f5f45b6f74ac0d5f9886867a8",
      "parents": [
        "36b35a5be0e4b406acd816e2122d153e875105be",
        "4f5537de7c1531398e84e18a24f667e49cc94208"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sun Sep 24 01:52:47 2006 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sun Sep 24 01:52:47 2006 -0400"
      },
      "message": "Merge branch \u0027master\u0027 into upstream\n"
    },
    {
      "commit": "a83fbf635992442edf6aa3252e4008d4a08edf12",
      "tree": "dd31c01247cea278a77dcb88732d19c92b9bca77",
      "parents": [
        "db392219c5f572610645696e3672f6ea38783a65"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sat Sep 23 00:10:18 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 22 17:48:56 2006 -0700"
      },
      "message": "[PATCH] fix missing ifdefs in syscall classes hookup for generic targets\n\nseveral targets have no ....at() family and m32r calls its only chown variant\nchown32(), with __NR_chown being undefined.  creat(2) is also absent in some\ntargets.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fadcfa33b6319a5faf8af2287f08bf93a7f926b6",
      "tree": "367e931ec64a88c20a4d15c351d4c7dbb1b7adf1",
      "parents": [
        "47a5c6fa0e204a2b63309c648bb2fde36836c826"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue Sep 19 12:43:58 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue Sep 19 12:43:58 2006 +0100"
      },
      "message": "[HEADERS] One line per header in Kbuild files to reduce conflicts\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "4a3381feb823e06c8e2da7e283c17b0b6fdbddcf",
      "tree": "e1bef4c3db854bb10fd13dc67415d77b5d999533",
      "parents": [
        "fea63e38013ec628ab3f7fddc4c2148064b7910a",
        "47a5c6fa0e204a2b63309c648bb2fde36836c826"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Sep 19 00:42:13 2006 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Sep 19 00:42:13 2006 -0400"
      },
      "message": "Merge branch \u0027master\u0027 into upstream\n"
    },
    {
      "commit": "ee6baf884b27739cca110e5167a2edfa061ca19f",
      "tree": "27db3ed3a2d2c441fe0cda5811954421b5e0512c",
      "parents": [
        "7f1cbe51ffc1273bcded36742ede4b6ebef1b640"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue Sep 12 20:36:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 13 07:32:15 2006 -0700"
      },
      "message": "[PATCH] headers_check: remove \u003casm/timex.h\u003e from user export\n\nThere\u0027s useful stuff in \u003clinux/timex.h\u003e but \u003casm/timex.h\u003e has nothing for\nuserspace.  Stop exporting it, and include it only from within the existing\n#ifdef __KERNEL__ part of \u003clinux/timex.h\u003e\n\nThis fixes a \u0027make headers_check\u0027 failure on i386 because asm-i386/timex.h\nincludes both asm-i386/tsc.h and asm-i386/processor.h, neither of which are\nexported to userspace.  It\u0027s not entirely clear _why_ it includes either of\nthese, but it does.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "97148ba2235e334e57d05fa07045cf3e6629763c",
      "tree": "a04504e7d4feb0dacfe1862a59abecaf99997f09",
      "parents": [
        "76ff3c6e3b389a5a7692811dd456e0ff58340cac",
        "05ff0e291af086f4325bac76abad250690bbbd63"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Sep 12 12:03:21 2006 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Sep 12 12:03:21 2006 -0400"
      },
      "message": "Merge branch \u0027master\u0027 into upstream\n"
    },
    {
      "commit": "dc104fb3231f11e95b5a0f09ae3ab27a8fd5b2e8",
      "tree": "2db993a72a4eac79841f531e2961576bf9fb56d7",
      "parents": [
        "c08037997d4ae3e9a679fbdb46ed47c957916e14"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Aug 31 19:05:56 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Sep 11 13:32:27 2006 -0400"
      },
      "message": "[PATCH] audit: more syscall classes added\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2ec7df0457b710d9201f211dbccdbecf0ad38b7e",
      "tree": "4fbffc3e05aa65fd9ed63b4ac809712719e19cda",
      "parents": [
        "37deecb5139ee431233781a9a093d9fcaab54c5b"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Thu Aug 10 16:59:10 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Aug 10 16:59:10 2006 +0900"
      },
      "message": "[PATCH] libata: rework legacy handling to remove much of the cruft\n\nKill host_set-\u003enext\nFix simplex support\nAllow per platform setting of IDE legacy bases\n\nSome of this can be tidied further later on, in particular all the\nlegacy port gunge belongs as a PCI quirk/PCI header decode to understand\nthe special legacy IDE rules in the PCI spec.\n\nLonger term Jeff also wants to move the request_irq/free_irq out of core\nwhich will make this even cleaner.\n\ntj: folded in three followup patches - ata_piix-fix, broken-arch-fix\nand fix-new-legacy-handling, and separated per-dev xfermask into\nseparate patch preceding this one.  Folded in fixes are...\n\n* ata_piix-fix: fix build failure due to host_set-\u003enext removal\n* broken-arch-fix: add missing include/asm-*/libata-portmap.h\n* fix-new-legacy-handling:\n\t* In ata_pci_init_legacy_port(), probe_num was incorrectly\n          incremented during initialization of the secondary port and\n          probe_ent-\u003en_ports was incorrectly fixed to 1.\n\n\t* Both legacy ports ended up having the same hard_port_no.\n\n\t* When printing port information, both legacy ports printed\n\t  the first irq.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "52fa259b5aaf310657e5d30be48a300860741447",
      "tree": "334cd86fc8d4dac718ea5cdfabed7c168462b775",
      "parents": [
        "e035cc35e54230eb704ee7feccf476ed2fb2ae29"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Fri Jul 14 00:24:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jul 14 21:53:52 2006 -0700"
      },
      "message": "[PATCH] hdrinstall: remove asm/io.h from user visibility\n\nThere\u0027s no excuse for userspace abusing this kernel header -- the kernel\u0027s\nheaders are not intended to provide a library of helper routines for\nuserspace.  Using \u003casm/io.h\u003e from userspace is broken on most architectures\nanyway.  Just say \u0027no\u0027.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e035cc35e54230eb704ee7feccf476ed2fb2ae29",
      "tree": "e77e630b11359be39c895355b937ce8cf40d6d55",
      "parents": [
        "998f6fabbf439e6d518dcbaf9191cb533447b57a"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Fri Jul 14 00:24:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jul 14 21:53:52 2006 -0700"
      },
      "message": "[PATCH] hdrinstall: remove asm/atomic.h from user visibility\n\nThis isn\u0027t suitable for userspace to see -- the kernel headers are not a\nrandom library of stuff for userspace; they\u0027re only there to define the\nkernel\u003c-\u003euser ABI for system libraries and tools.  Anything which _was_\nabusing asm/atomic.h from userspace was probably broken anyway -- as it often\ndidn\u0027t even give atomic operation.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "998f6fabbf439e6d518dcbaf9191cb533447b57a",
      "tree": "e4476127fbf7100c2721e7949710fa084ea293b3",
      "parents": [
        "a0009652af385a42f0e0604136f772ead406c78d"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Fri Jul 14 00:24:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jul 14 21:53:52 2006 -0700"
      },
      "message": "[PATCH] hdrinstall: remove asm/irq.h from user visibility\n\nRemove asm/irq.h from the exported headers -- there was never any good reason\nfor it to have been listed.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ca78f6baca863afe2e6a244a0fe94b3a70211d46",
      "tree": "f5a3a169b6cfafa36f9c35cc86e782596c820915",
      "parents": [
        "7ad7153b051d9628ecd6a336b543ea6ef099bd2c",
        "ae90dd5dbee461652b90d9f7d292ba47dc3dc4b8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 04 14:00:26 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 04 14:00:26 2006 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq:\n  Move workqueue exports to where the functions are defined.\n  [CPUFREQ] Misc cleanups in ondemand.\n  [CPUFREQ] Make ondemand sampling per CPU and remove the mutex usage in sampling path.\n  [CPUFREQ] Add queue_delayed_work_on() interface for workqueues.\n  [CPUFREQ] Remove slowdown from ondemand sampling path.\n"
    },
    {
      "commit": "6fa0cb1141da80eed4f86155fb51931bc1c31888",
      "tree": "df9b3c378ae4f44260eaae1a4b9d5c4ccf7bb641",
      "parents": [
        "c6482dde1c2811afba289b2344268f850595f350",
        "257a5bdeb0441789d8e34e1b3e92b26d0f51bbf0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 04 12:55:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 04 12:55:45 2006 -0700"
      },
      "message": "Merge git://git.infradead.org/hdrinstall-2.6\n\n* git://git.infradead.org/hdrinstall-2.6:\n  Remove export of include/linux/isdn/tpam.h\n  Remove \u003clinux/i2c-id.h\u003e and \u003clinux/i2c-algo-ite.h\u003e from userspace export\n  Restrict headers exported to userspace for SPARC and SPARC64\n  Add empty Kbuild files for \u0027make headers_install\u0027 in remaining arches.\n  Add Kbuild file for Alpha \u0027make headers_install\u0027\n  Add Kbuild file for SPARC \u0027make headers_install\u0027\n  Add Kbuild file for IA64 \u0027make headers_install\u0027\n  Add Kbuild file for S390 \u0027make headers_install\u0027\n  Add Kbuild file for i386 \u0027make headers_install\u0027\n  Add Kbuild file for x86_64 \u0027make headers_install\u0027\n  Add Kbuild file for PowerPC \u0027make headers_install\u0027\n  Add generic Kbuild files for \u0027make headers_install\u0027\n  Basic implementation of \u0027make headers_check\u0027\n  Basic implementation of \u0027make headers_install\u0027\n"
    },
    {
      "commit": "9a11b49a805665e13a56aa067afaf81d43ec1514",
      "tree": "bf499956e3f67d1211d68ab1e2eb76645f453dfb",
      "parents": [
        "fb7e42413a098cc45b3adf858da290033af62bae"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:33 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:01 2006 -0700"
      },
      "message": "[PATCH] lockdep: better lock debugging\n\nGeneric lock debugging:\n\n - generalized lock debugging framework. For example, a bug in one lock\n   subsystem turns off debugging in all lock subsystems.\n\n - got rid of the caller address passing (__IP__/__IP_DECL__/etc.) from\n   the mutex/rtmutex debugging code: it caused way too much prototype\n   hackery, and lockdep will give the same information anyway.\n\n - ability to do silent tests\n\n - check lock freeing in vfree too.\n\n - more finegrained debugging options, to allow distributions to\n   turn off more expensive debugging features.\n\nThere\u0027s no separate \u0027held mutexes\u0027 list anymore - but there\u0027s a \u0027held locks\u0027\nstack within lockdep, which unifies deadlock detection across all lock\nclasses.  (this is independent of the lockdep validation stuff - lockdep first\nchecks whether we are holding a lock already)\n\nHere are the current debugging options:\n\nCONFIG_DEBUG_MUTEXES\u003dy\nCONFIG_DEBUG_LOCK_ALLOC\u003dy\n\nwhich do:\n\n config DEBUG_MUTEXES\n          bool \"Mutex debugging, basic checks\"\n\n config DEBUG_LOCK_ALLOC\n         bool \"Detect incorrect freeing of live mutexes\"\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": "a875a69f8b00a38b4f40d9632a4fc71a159f0e0d",
      "tree": "5c9296441514663354a4d70ab2320f7e185d7c10",
      "parents": [
        "8d8fdf5c76816e5263073008f03f097ffc713db3"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:26 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:00 2006 -0700"
      },
      "message": "[PATCH] lockdep: add per_cpu_offset()\n\nAdd the per_cpu_offset() generic method. (used by the lock validator)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fc25465f09414538afdbceacc517dd4dbabadeca",
      "tree": "0e1b051a7ee108d3062949094da55626729d0a5b",
      "parents": [
        "b4bc7b53ccfa0cb793591ba11af49db8f1bc5a4d",
        "b915543b46a2aa599fdd2169e51bcfd88812a12b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jul 01 09:59:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jul 01 09:59:08 2006 -0700"
      },
      "message": "Merge branch \u0027audit.b22\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current\n\n* \u0027audit.b22\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current:\n  [PATCH] audit syscall classes\n  [PATCH] audit: support for object context filters\n  [PATCH] audit: rename AUDIT_SE_* constants\n  [PATCH] add rule filterkey\n"
    },
    {
      "commit": "a581c2a4697ee264699b364399b73477af408e00",
      "tree": "972d8dd6b6a90de49b080340806487c30a07cc1a",
      "parents": [
        "e2c2770096b686b4d2456173f53cb50e01aa635c"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Sat Jul 01 04:36:30 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jul 01 09:56:03 2006 -0700"
      },
      "message": "[PATCH] add __[start|end]_rodata sections to asm-generic/sections.h\n\nAdd __start_rodata and __end_rodata to sections.h to avoid extern\ndeclarations.  Needed by s390 code (see following patch).\n\n[akpm@osdl.org: update architectures]\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nAcked-by: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b915543b46a2aa599fdd2169e51bcfd88812a12b",
      "tree": "8025e6654829d4c245b5b6b6f47a84543ebffb7b",
      "parents": [
        "6e5a2d1d32596850a0ebf7fb3e54c0d69901dabd"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 01 03:56:16 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 01 07:44:10 2006 -0400"
      },
      "message": "[PATCH] audit syscall classes\n\nAllow to tie upper bits of syscall bitmap in audit rules to kernel-defined\nsets of syscalls.  Infrastructure, a couple of classes (with 32bit counterparts\nfor biarch targets) and actual tie-in on i386, amd64 and ia64.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ccb2fe209dac9ff67f6351e783e610073afaaeaf",
      "tree": "ba6793c2045604d6db11b781d87a404cb30a54b8",
      "parents": [
        "501b7c77de3e90519e95fd99e923bf9a29cd120d"
      ],
      "author": {
        "name": "Venkatesh Pallipadi",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Wed Jun 28 13:49:52 2006 -0700"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Fri Jun 30 01:29:47 2006 -0400"
      },
      "message": "[CPUFREQ] Remove slowdown from ondemand sampling path.\n\nRemove slowdown from ondemand sampling path. This reduces the code path length\nin dbs_check_cpu() by half. slowdown was not used by ondemand by default.\nIf there are any user level tools that were using this tunable, they\nmay report error now.\n\nSigned-off-by: Alexey Starikovskiy \u003calexey.y.starikovskiy@intel.com\u003e\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "f71d20e961474dde77e6558396efb93d6ac80a4b",
      "tree": "669610f79521fd173c28fc47bef39ecd4cdf52ab",
      "parents": [
        "f5e54d6e53a20cef45af7499e86164f0e0d16bb2"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Wed Jun 28 04:26:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jun 28 14:59:04 2006 -0700"
      },
      "message": "[PATCH] Add EXPORT_UNUSED_SYMBOL and EXPORT_UNUSED_SYMBOL_GPL\n\nTemporarily add EXPORT_UNUSED_SYMBOL and EXPORT_UNUSED_SYMBOL_GPL.  These\nwill be used as a transition measure for symbols that aren\u0027t used in the\nkernel and are on the way out.  When a module uses such a symbol, a warning\nis printk\u0027d at modprobe time.\n\nThe main reason for removing unused exports is size: eacho export takes\nroughly between 100 and 150 bytes of kernel space in the binary.  This\npatch gives users the option to immediately get this size gain via a config\noption.\n\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": "8eb94f80dd2da5977c35cd094f0802c1501a12cd",
      "tree": "ff2ff8f89fb04359aaf3dbe6ea3ca60cec4879f0",
      "parents": [
        "f9b8404cf8f8456dfa83459510762b700dc00385"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 27 02:54:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:46 2006 -0700"
      },
      "message": "[PATCH] pi-futex: introduce WARN_ON_SMP\n\nIntroduce a new WARN_ON variant: WARN_ON_SMP(cond).\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "74bb6a09b2e1e69d91eb6069eb4a7f0c06b84812",
      "tree": "f55af6ec05bd7f547abf4cf9384e94570076d8c3",
      "parents": [
        "69755652c92106855b4b096b7c2935b59e6252c6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jun 25 05:48:09 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:11 2006 -0700"
      },
      "message": "[PATCH] introduce WARN_ON_ONCE(cond)\n\nAdd WARN_ON_ONCE(cond) to print once-per-bootup messages.\n\n[rostedt@goodmis.org: improve code generation]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bfe5d834195b3089b8846577311340376cc0f450",
      "tree": "52470de0fe87ff8372700e3472735cd5c14cee9d",
      "parents": [
        "6ceab8a936c302c0cea2bfe55617c76e2f5746fa"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Sun Jun 25 05:47:14 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:01 2006 -0700"
      },
      "message": "[PATCH] Define __raw_get_cpu_var and use it\n\nThere are several instances of per_cpu(foo, raw_smp_processor_id()), which\nis semantically equivalent to __get_cpu_var(foo) but without the warning\nthat smp_processor_id() can give if CONFIG_DEBUG_PREEMPT is enabled.  For\nthose architectures with optimized per-cpu implementations, namely ia64,\npowerpc, s390, sparc64 and x86_64, per_cpu() turns into more and slower\ncode than __get_cpu_var(), so it would be preferable to use __get_cpu_var\non those platforms.\n\nThis defines a __raw_get_cpu_var(x) macro which turns into per_cpu(x,\nraw_smp_processor_id()) on architectures that use the generic per-cpu\nimplementation, and turns into __get_cpu_var(x) on the architectures that\nhave an optimized per-cpu implementation.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "eb71c87a492b7090ff9e8ac46912c480a1687e38",
      "tree": "1136213dee0f942866b6c2c65de7e7c63ca94fda",
      "parents": [
        "d384ea691fe4ea8c2dd5b9b8d9042eb181776f18"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jun 24 14:27:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jun 24 14:44:01 2006 -0700"
      },
      "message": "Add some basic resume trace facilities\n\nConsidering that there isn\u0027t a lot of hw we can depend on during resume,\nthis is about as good as it gets.\n\nThis is x86-only for now, although the basic concept (and most of the\ncode) will certainly work on almost any platform.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "67de648211fa041fe08a0c25241a4980bbb90698",
      "tree": "94f737e0fed7c40dc59e94f05d6851e490082068",
      "parents": [
        "6811378e7d8b9aa4fca2a1ca73d24c9d67c9cb12"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@shadowen.org",
        "time": "Fri Jun 23 02:03:12 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:47 2006 -0700"
      },
      "message": "[PATCH] squash duplicate page_to_pfn and pfn_to_page\n\nWe have architectures where the size of page_to_pfn and pfn_to_page are\nsignificant enough to overall image size that they wish to push them out of\nline.  However, in the process we have grown a second copy of the\nimplementation of each of these routines for each memory model.  Share the\nimplmentation exposing it either inline or out-of-line as required.\n\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cee4cca740d209bcb4b9857baa2253d5ba4e3fbe",
      "tree": "88a23004393ea4a32cad79839479c8e653e401d6",
      "parents": [
        "2edc322d420a4cec8dbc184a1220ecd7fa9f8ae6",
        "9348f0de2d2b541b4ba64fb1f4efee9710a3d731"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 20 15:10:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 20 15:10:08 2006 -0700"
      },
      "message": "Merge git://git.infradead.org/hdrcleanup-2.6\n\n* git://git.infradead.org/hdrcleanup-2.6: (63 commits)\n  [S390] __FD_foo definitions.\n  Switch to __s32 types in joystick.h instead of C99 types for consistency.\n  Add \u003csys/types.h\u003e to headers included for userspace in \u003clinux/input.h\u003e\n  Move inclusion of \u003clinux/compat.h\u003e out of user scope in asm-x86_64/mtrr.h\n  Remove struct fddi_statistics from user view in \u003clinux/if_fddi.h\u003e\n  Move user-visible parts of drivers/s390/crypto/z90crypt.h to include/asm-s390\n  Revert include/media changes: Mauro says those ioctls are only used in-kernel(!)\n  Include \u003clinux/types.h\u003e and use __uXX types in \u003clinux/cramfs_fs.h\u003e\n  Use __uXX types in \u003clinux/i2o_dev.h\u003e, include \u003clinux/ioctl.h\u003e too\n  Remove private struct dx_hash_info from public view in \u003clinux/ext3_fs.h\u003e\n  Include \u003clinux/types.h\u003e and use __uXX types in \u003clinux/affs_hardblocks.h\u003e\n  Use __uXX types in \u003clinux/divert.h\u003e for struct divert_blk et al.\n  Use __u32 for elf_addr_t in \u003casm-powerpc/elf.h\u003e, not u32. It\u0027s user-visible.\n  Remove PPP_FCS from user view in \u003clinux/ppp_defs.h\u003e, remove __P mess entirely\n  Use __uXX types in user-visible structures in \u003clinux/nbd.h\u003e\n  Don\u0027t use \u0027u32\u0027 in user-visible struct ip_conntrack_old_tuple.\n  Use __uXX types for S390 DASD volume label definitions which are user-visible\n  S390 BIODASDREADCMB ioctl should use __u64 not u64 type.\n  Remove unneeded inclusion of \u003clinux/time.h\u003e from \u003clinux/ufs_fs.h\u003e\n  Fix private integer types used in V4L2 ioctls.\n  ...\n\nManually resolve conflict in include/linux/mtd/physmap.h\n"
    },
    {
      "commit": "8555255f0b426858d8648c6206b70eb906cf4ec7",
      "tree": "3afe2ae27f6390bd6cb2350a578fafc690fa7803",
      "parents": [
        "684753599afc76aa8f66c731bafb7204b39265b8"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Sun Jun 18 12:14:01 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Sun Jun 18 12:14:01 2006 +0100"
      },
      "message": "Add generic Kbuild files for \u0027make headers_install\u0027\n\nThis adds the Kbuild files listing the files which are to be installed by\nthe \u0027headers_install\u0027 make target, in generic directories.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "0b0968a3e691771bf87e1ce747b2c7d23b5526c8",
      "tree": "71787e376b7aef54b48e99d15a0fc11c7cf7ee8d",
      "parents": [
        "951bc82c53f30ec6b4c2d04a051e74ea9a89b669"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.sfo1.dsl.speakeasy.net",
        "time": "Thu Jun 01 17:47:25 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.sfo1.dsl.speakeasy.net",
        "time": "Thu Jun 01 17:47:25 2006 -0700"
      },
      "message": "[SPARC64]: Fix D-cache corruption in mremap\n\nIf we move a mapping from one virtual address to another,\nand this changes the virtual color of the mapping to those\npages, we can see corrupt data due to D-cache aliasing.\n\nCheck for and deal with this by overriding the move_pte()\nmacro.  Set things up so that other platforms can cleanly\noverride the move_pte() macro too.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ad1588798620901c12ba86c71865150a4eb727bf",
      "tree": "dcc148c8007e649e549cc44dd0b2a02bae832af5",
      "parents": [
        "274f5946dcb7c970455067be9e13a22174787592"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu Apr 27 06:57:23 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu Apr 27 06:57:23 2006 +0100"
      },
      "message": "Add standard include guard to asm-generic/signal and use compiler.h\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.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": "e358c1a2c45f7ec32d77cc09a2bb42d6823a4193",
      "tree": "ae35f543a333abe1a76852870c5a2579c02bc38a",
      "parents": [
        "a58e00e7da5f93c096527f5e20ceb2cf6d130cf0"
      ],
      "author": {
        "name": "Nicolas Pitre",
        "email": "nico@cam.org",
        "time": "Fri Mar 31 02:32:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:19:01 2006 -0800"
      },
      "message": "[PATCH] mutex: some cleanups\n\nTurn some macros into inline functions and add proper type checking as\nwell as being more readable.  Also a minor comment adjustment.\n\nSigned-off-by: Nicolas Pitre \u003cnico@cam.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2cf8d82d63807c2c68adf20bb28bf502496186dd",
      "tree": "13cafaa87dafa639f3876bcda6d302266a349c88",
      "parents": [
        "09ce3512dcad0ad1d07eee0dc5ebb6d037c39c16"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 31 02:30:49 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:55 2006 -0800"
      },
      "message": "[PATCH] make local_t signed\n\nlocal_t\u0027s were defined to be unsigned.  This increases confusion because\natomic_t\u0027s are signed.  The patch goes through and changes all implementations\nto use signed longs throughout.\n\nAlso, x86-64 was using 32-bit quantities for the value passed into local_add()\nand local_sub().  Fixed.\n\nAll (actually, both) existing users have been audited.\n\n(Also s/__inline__/inline/ in x86_64/local.h)\n\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nCc: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0a945022778f100115d0cb6234eb28fc1b15ccaf",
      "tree": "85df4b5f7dd8bf59557091379c59b23b09115bf6",
      "parents": [
        "631d6747e1d877a4baa924cb373b8b9511a53e5e"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Mar 28 01:56:37 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:05 2006 -0800"
      },
      "message": "[PATCH] for_each_possible_cpu: fixes for generic part\n\nreplaces for_each_cpu with for_each_possible_cpu().\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f5f5370da4b3128b7dfd944b4fcbb5c7b6887348",
      "tree": "45a00ae5b234648083bad84db213da3b8220b679",
      "parents": [
        "4f3a36a7d0eb420471506fcd46ee46f4b5cd4ebc"
      ],
      "author": {
        "name": "Kyle McMartin",
        "email": "kyle@parisc-linux.org",
        "time": "Tue Mar 28 01:56:11 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:01 2006 -0800"
      },
      "message": "[PATCH] Decrapify asm-generic/local.h\n\nNow that Christoph Lameter\u0027s atomic_long_t support is merged in mainline,\nmight as well convert asm-generic/local.h to use it, so the same code can\nbe used for both sizes of 32 and 64-bit unsigned longs.\n\nakpm sayeth:\n\nQ:\n\n  Is there any particular reason why these routines weren\u0027t simply\n  implemented with local_save/restore_flags, if they are only meant to\n  guarantee atomicity to the local cpu?  I\u0027m sure on most platforms this\n  would be more efficient than using an atomic...\n\nA:\n\n  The whole _point_ of local_t is to avoid local_irq_disable().  It\u0027s\n  designed to exploit the fact that many CPUs can do incs and decs in a way\n  which is atomic wrt local interrupts, but not atomic wrt SMP.\n\nBut this patch makes sense, because asm-generic/local.h is just a fallback\nimplementation for architectures which either cannot perform these\nlocal-irq-atomic operations, or its maintainers haven\u0027t yet got around to\nimplementing them.\n\nWe need more work done on local_t in the 2.6.17 timeframe - they\u0027re defined as\nunsigned long, but some architectures implement them as signed long.\n\nSigned-off-by: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\nCc: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8f17d3a5049d32392b79925c73a0cf99ce6d5af0",
      "tree": "3c2aa0cbe337684d353dd2cfb0c177b4ae15217c",
      "parents": [
        "8fdd6c6df7889dc89df3d9fe0f5bbe6733e39f48"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 27 01:16:27 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:49 2006 -0800"
      },
      "message": "[PATCH] lightweight robust futexes updates\n\n- fix: initialize the robust list(s) to NULL in copy_process.\n\n- doc update\n\n- cleanup: rename _inuser to _inatomic\n\n- __user cleanups and other small cleanups\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e9056f13bfcdd054a0c3d730e4e096748d8a363a",
      "tree": "876d70d99cb679f7c4cbf6609d6341cadfb5c57e",
      "parents": [
        "62ac285f3c701f0457a15fe01baa64a965c4f5f1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 27 01:16:21 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:49 2006 -0800"
      },
      "message": "[PATCH] lightweight robust futexes: arch defaults\n\nThis patchset provides a new (written from scratch) implementation of robust\nfutexes, called \"lightweight robust futexes\".  We believe this new\nimplementation is faster and simpler than the vma-based robust futex solutions\npresented before, and we\u0027d like this patchset to be adopted in the upstream\nkernel.  This is version 1 of the patchset.\n\n  Background\n  ----------\n\nWhat are robust futexes?  To answer that, we first need to understand what\nfutexes are: normal futexes are special types of locks that in the\nnoncontended case can be acquired/released from userspace without having to\nenter the kernel.\n\nA futex is in essence a user-space address, e.g.  a 32-bit lock variable\nfield.  If userspace notices contention (the lock is already owned and someone\nelse wants to grab it too) then the lock is marked with a value that says\n\"there\u0027s a waiter pending\", and the sys_futex(FUTEX_WAIT) syscall is used to\nwait for the other guy to release it.  The kernel creates a \u0027futex queue\u0027\ninternally, so that it can later on match up the waiter with the waker -\nwithout them having to know about each other.  When the owner thread releases\nthe futex, it notices (via the variable value) that there were waiter(s)\npending, and does the sys_futex(FUTEX_WAKE) syscall to wake them up.  Once all\nwaiters have taken and released the lock, the futex is again back to\n\u0027uncontended\u0027 state, and there\u0027s no in-kernel state associated with it.  The\nkernel completely forgets that there ever was a futex at that address.  This\nmethod makes futexes very lightweight and scalable.\n\n\"Robustness\" is about dealing with crashes while holding a lock: if a process\nexits prematurely while holding a pthread_mutex_t lock that is also shared\nwith some other process (e.g.  yum segfaults while holding a pthread_mutex_t,\nor yum is kill -9-ed), then waiters for that lock need to be notified that the\nlast owner of the lock exited in some irregular way.\n\nTo solve such types of problems, \"robust mutex\" userspace APIs were created:\npthread_mutex_lock() returns an error value if the owner exits prematurely -\nand the new owner can decide whether the data protected by the lock can be\nrecovered safely.\n\nThere is a big conceptual problem with futex based mutexes though: it is the\nkernel that destroys the owner task (e.g.  due to a SEGFAULT), but the kernel\ncannot help with the cleanup: if there is no \u0027futex queue\u0027 (and in most cases\nthere is none, futexes being fast lightweight locks) then the kernel has no\ninformation to clean up after the held lock!  Userspace has no chance to clean\nup after the lock either - userspace is the one that crashes, so it has no\nopportunity to clean up.  Catch-22.\n\nIn practice, when e.g.  yum is kill -9-ed (or segfaults), a system reboot is\nneeded to release that futex based lock.  This is one of the leading\nbugreports against yum.\n\nTo solve this problem, \u0027Robust Futex\u0027 patches were created and presented on\nlkml: the one written by Todd Kneisel and David Singleton is the most advanced\nat the moment.  These patches all tried to extend the futex abstraction by\nregistering futex-based locks in the kernel - and thus give the kernel a\nchance to clean up.\n\nE.g.  in David Singleton\u0027s robust-futex-6.patch, there are 3 new syscall\nvariants to sys_futex(): FUTEX_REGISTER, FUTEX_DEREGISTER and FUTEX_RECOVER.\nThe kernel attaches such robust futexes to vmas (via\nvma-\u003evm_file-\u003ef_mapping-\u003erobust_head), and at do_exit() time, all vmas are\nsearched to see whether they have a robust_head set.\n\nLots of work went into the vma-based robust-futex patch, and recently it has\nimproved significantly, but unfortunately it still has two fundamental\nproblems left:\n\n - they have quite complex locking and race scenarios.  The vma-based\n   patches had been pending for years, but they are still not completely\n   reliable.\n\n - they have to scan _every_ vma at sys_exit() time, per thread!\n\nThe second disadvantage is a real killer: pthread_exit() takes around 1\nmicrosecond on Linux, but with thousands (or tens of thousands) of vmas every\npthread_exit() takes a millisecond or more, also totally destroying the CPU\u0027s\nL1 and L2 caches!\n\nThis is very much noticeable even for normal process sys_exit_group() calls:\nthe kernel has to do the vma scanning unconditionally!  (this is because the\nkernel has no knowledge about how many robust futexes there are to be cleaned\nup, because a robust futex might have been registered in another task, and the\nfutex variable might have been simply mmap()-ed into this process\u0027s address\nspace).\n\nThis huge overhead forced the creation of CONFIG_FUTEX_ROBUST, but worse than\nthat: the overhead makes robust futexes impractical for any type of generic\nLinux distribution.\n\nSo it became clear to us, something had to be done.  Last week, when Thomas\nGleixner tried to fix up the vma-based robust futex patch in the -rt tree, he\nfound a handful of new races and we were talking about it and were analyzing\nthe situation.  At that point a fundamentally different solution occured to\nme.  This patchset (written in the past couple of days) implements that new\nsolution.  Be warned though - the patchset does things we normally dont do in\nLinux, so some might find the approach disturbing.  Parental advice\nrecommended ;-)\n\n  New approach to robust futexes\n  ------------------------------\n\nAt the heart of this new approach there is a per-thread private list of robust\nlocks that userspace is holding (maintained by glibc) - which userspace list\nis registered with the kernel via a new syscall [this registration happens at\nmost once per thread lifetime].  At do_exit() time, the kernel checks this\nuser-space list: are there any robust futex locks to be cleaned up?\n\nIn the common case, at do_exit() time, there is no list registered, so the\ncost of robust futexes is just a simple current-\u003erobust_list !\u003d NULL\ncomparison.  If the thread has registered a list, then normally the list is\nempty.  If the thread/process crashed or terminated in some incorrect way then\nthe list might be non-empty: in this case the kernel carefully walks the list\n[not trusting it], and marks all locks that are owned by this thread with the\nFUTEX_OWNER_DEAD bit, and wakes up one waiter (if any).\n\nThe list is guaranteed to be private and per-thread, so it\u0027s lockless.  There\nis one race possible though: since adding to and removing from the list is\ndone after the futex is acquired by glibc, there is a few instructions window\nfor the thread (or process) to die there, leaving the futex hung.  To protect\nagainst this possibility, userspace (glibc) also maintains a simple per-thread\n\u0027list_op_pending\u0027 field, to allow the kernel to clean up if the thread dies\nafter acquiring the lock, but just before it could have added itself to the\nlist.  Glibc sets this list_op_pending field before it tries to acquire the\nfutex, and clears it after the list-add (or list-remove) has finished.\n\nThat\u0027s all that is needed - all the rest of robust-futex cleanup is done in\nuserspace [just like with the previous patches].\n\nUlrich Drepper has implemented the necessary glibc support for this new\nmechanism, which fully enables robust mutexes.  (Ulrich plans to commit these\nchanges to glibc-HEAD later today.)\n\nKey differences of this userspace-list based approach, compared to the vma\nbased method:\n\n - it\u0027s much, much faster: at thread exit time, there\u0027s no need to loop\n   over every vma (!), which the VM-based method has to do.  Only a very\n   simple \u0027is the list empty\u0027 op is done.\n\n - no VM changes are needed - \u0027struct address_space\u0027 is left alone.\n\n - no registration of individual locks is needed: robust mutexes dont need\n   any extra per-lock syscalls.  Robust mutexes thus become a very lightweight\n   primitive - so they dont force the application designer to do a hard choice\n   between performance and robustness - robust mutexes are just as fast.\n\n - no per-lock kernel allocation happens.\n\n - no resource limits are needed.\n\n - no kernel-space recovery call (FUTEX_RECOVER) is needed.\n\n - the implementation and the locking is \"obvious\", and there are no\n   interactions with the VM.\n\n  Performance\n  -----------\n\nI have benchmarked the time needed for the kernel to process a list of 1\nmillion (!) held locks, using the new method [on a 2GHz CPU]:\n\n - with FUTEX_WAIT set [contended mutex]: 130 msecs\n - without FUTEX_WAIT set [uncontended mutex]: 30 msecs\n\nI have also measured an approach where glibc does the lock notification [which\nit currently does for !pshared robust mutexes], and that took 256 msecs -\nclearly slower, due to the 1 million FUTEX_WAKE syscalls userspace had to do.\n\n(1 million held locks are unheard of - we expect at most a handful of locks to\nbe held at a time.  Nevertheless it\u0027s nice to know that this approach scales\nnicely.)\n\n  Implementation details\n  ----------------------\n\nThe patch adds two new syscalls: one to register the userspace list, and one\nto query the registered list pointer:\n\n asmlinkage long\n sys_set_robust_list(struct robust_list_head __user *head,\n                     size_t len);\n\n asmlinkage long\n sys_get_robust_list(int pid, struct robust_list_head __user **head_ptr,\n                     size_t __user *len_ptr);\n\nList registration is very fast: the pointer is simply stored in\ncurrent-\u003erobust_list.  [Note that in the future, if robust futexes become\nwidespread, we could extend sys_clone() to register a robust-list head for new\nthreads, without the need of another syscall.]\n\nSo there is virtually zero overhead for tasks not using robust futexes, and\neven for robust futex users, there is only one extra syscall per thread\nlifetime, and the cleanup operation, if it happens, is fast and\nstraightforward.  The kernel doesnt have any internal distinction between\nrobust and normal futexes.\n\nIf a futex is found to be held at exit time, the kernel sets the highest bit\nof the futex word:\n\n\t#define FUTEX_OWNER_DIED        0x40000000\n\nand wakes up the next futex waiter (if any). User-space does the rest of\nthe cleanup.\n\nOtherwise, robust futexes are acquired by glibc by putting the TID into the\nfutex field atomically.  Waiters set the FUTEX_WAITERS bit:\n\n\t#define FUTEX_WAITERS           0x80000000\n\nand the remaining bits are for the TID.\n\n  Testing, architecture support\n  -----------------------------\n\nI\u0027ve tested the new syscalls on x86 and x86_64, and have made sure the parsing\nof the userspace list is robust [ ;-) ] even if the list is deliberately\ncorrupted.\n\ni386 and x86_64 syscalls are wired up at the moment, and Ulrich has tested the\nnew glibc code (on x86_64 and i386), and it works for his robust-mutex\ntestcases.\n\nAll other architectures should build just fine too - but they wont have the\nnew syscalls yet.\n\nArchitectures need to implement the new futex_atomic_cmpxchg_inuser() inline\nfunction before writing up the syscalls (that function returns -ENOSYS right\nnow).\n\nThis patch:\n\nAdd placeholder futex_atomic_cmpxchg_inuser() implementations to every\narchitecture that supports futexes.  It returns -ENOSYS.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nAcked-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a0140c1d85637ee5f4ea7c78f066e3611a6a79dc",
      "tree": "7a52892e57ff7a97a3aabf920891b68ca8bf578a",
      "parents": [
        "0ecd702bcb924d5fb7f687e09986f688336ac896"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Mar 27 01:15:55 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:47 2006 -0800"
      },
      "message": "[PATCH] remove zone_mem_map\n\nThis patch removes zone_mem_map.\n\npfn_to_page uses pgdat, page_to_pfn uses zone.  page_to_pfn can use pgdat\ninstead of zone, which is only one user of zone_mem_map.  By modifing it,\nwe can remove zone_mem_map.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Christoph Lameter \u003cchristoph@lameter.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a117e66ed45ac0569c039ea60bd7a9a61e031858",
      "tree": "292367ab930f83c418c34d4c46f95717e5e6394e",
      "parents": [
        "b06be912a3ad68c69dba0ed6e92723140020e392"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Mar 27 01:15:25 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:44 2006 -0800"
      },
      "message": "[PATCH] unify pfn_to_page: generic functions\n\nThere are 3 memory models, FLATMEM, DISCONTIGMEM, SPARSEMEM.\nEach arch has its own page_to_pfn(), pfn_to_page() for each models.\nBut most of them can use the same arithmetic.\n\nThis patch adds asm-generic/memory_model.h, which includes generic\npage_to_pfn(), pfn_to_page() definitions for each memory model.\n\nWhen CONFIG_OUT_OF_LINE_PFN_TO_PAGE\u003dy, out-of-line functions are\nused instead of macro. This is enabled by some archs and  reduces\ntext size.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Ian Molton \u003cspyro@f2s.com\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: Hirokazu Takata \u003ctakata.hirokazu@renesas.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Kazumoto Kojima \u003ckkojima@rr.iij4u.or.jp\u003e\nCc: Richard Curnow \u003crc@rc0.org.uk\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Miles Bader \u003cuclinux-v850@lsi.nec.co.jp\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f51a05c16d3d051f5e000c50bccc4be91fe5f9f3",
      "tree": "5753aad24e45b7218f63f789c754de1117c56df4",
      "parents": [
        "d4337aa5281a7357666f713339211fcd278f4e7a"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "mita@miraclelinux.com",
        "time": "Sun Mar 26 01:39:50 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:15 2006 -0800"
      },
      "message": "[PATCH] bitops: update include/asm-generic/bitops.h\n\nCurrently include/asm-generic/bitops.h is not referenced from anywhere.  But\nit will be the benefit of those who are trying to port Linux to another\narchitecture.\n\nSo update it by same manner\n\nSigned-off-by: Akinobu Mita \u003cmita@miraclelinux.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b1bb9522daf2fb49c5793d128023e9ca1e08e13b",
      "tree": "c4b5cd1f9409167fd42c8273c251360ec5c5b0e8",
      "parents": [
        "765f34fe324bdf0c0544b3404d25aaa511e3834b"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "mita@miraclelinux.com",
        "time": "Sun Mar 26 01:39:17 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:11 2006 -0800"
      },
      "message": "[PATCH] bitops: generic minix_{test,set,test_and_clear,test,find_first_zero}_bit()\n\nThis patch introduces the C-language equivalents of the functions below:\n\nint minix_test_and_set_bit(int nr, volatile unsigned long *addr);\nint minix_set_bit(int nr, volatile unsigned long *addr);\nint minix_test_and_clear_bit(int nr, volatile unsigned long *addr);\nint minix_test_bit(int nr, const volatile unsigned long *addr);\nunsigned long minix_find_first_zero_bit(const unsigned long *addr,\n                                        unsigned long size);\n\nIn include/asm-generic/bitops/minix.h\n   and include/asm-generic/bitops/minix-le.h\n\nThis code largely copied from: include/asm-sparc/bitops.h\n\nSigned-off-by: Akinobu Mita \u003cmita@miraclelinux.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "765f34fe324bdf0c0544b3404d25aaa511e3834b",
      "tree": "073161aa7c213b15e0d3be6d99a2649de3030e00",
      "parents": [
        "930ae745f50088279fdc06057a429f16495b53a2"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "mita@miraclelinux.com",
        "time": "Sun Mar 26 01:39:16 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:11 2006 -0800"
      },
      "message": "[PATCH] bitops: generic ext2_{set,clear}_bit_atomic()\n\nThis patch introduces the C-language equivalents of the functions below:\n\nint ext2_set_bit_atomic(int nr, volatile unsigned long *addr);\nint ext2_clear_bit_atomic(int nr, volatile unsigned long *addr);\n\nIn include/asm-generic/bitops/ext2-atomic.h\n\nThis code largely copied from: include/asm-sparc/bitops.h\n\nSigned-off-by: Akinobu Mita \u003cmita@miraclelinux.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "930ae745f50088279fdc06057a429f16495b53a2",
      "tree": "13f8a66445f1f9730280ec3318127c50b4bc8e46",
      "parents": [
        "a54baa1487c51c8306dd6f457c1b5d5fcd539fff"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "mita@miraclelinux.com",
        "time": "Sun Mar 26 01:39:15 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:11 2006 -0800"
      },
      "message": "[PATCH] bitops: generic ext2_{set,clear,test,find_first_zero,find_next_zero}_bit()\n\nThis patch introduces the C-language equivalents of the functions below:\n\nint ext2_set_bit(int nr, volatile unsigned long *addr);\nint ext2_clear_bit(int nr, volatile unsigned long *addr);\nint ext2_test_bit(int nr, const volatile unsigned long *addr);\nunsigned long ext2_find_first_zero_bit(const unsigned long *addr,\n                                       unsigned long size);\nunsinged long ext2_find_next_zero_bit(const unsigned long *addr,\n                                      unsigned long size);\n\nIn include/asm-generic/bitops/ext2-non-atomic.h\n\nThis code largely copied from:\n\ninclude/asm-powerpc/bitops.h\ninclude/asm-parisc/bitops.h\n\nSigned-off-by: Akinobu Mita \u003cmita@miraclelinux.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a54baa1487c51c8306dd6f457c1b5d5fcd539fff",
      "tree": "d0a08990caea37d6326ea969eadce927d981fd9f",
      "parents": [
        "3b9ed1a5d2d121f32d2cb4f2b05f1fc57c99c946"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "mita@miraclelinux.com",
        "time": "Sun Mar 26 01:39:14 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:11 2006 -0800"
      },
      "message": "[PATCH] fix error: __u32 undeclared\n\nBuild fix for s390 declare __u32 and __u64.\n\nSigned-off-by: Akinobu Mita \u003cmita@miraclelinux.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3b9ed1a5d2d121f32d2cb4f2b05f1fc57c99c946",
      "tree": "d8ea52d6b490c0e3b3851e1887c01700cc0115c6",
      "parents": [
        "09020adb61416c4307de35941a9725a5e33d9beb"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "mita@miraclelinux.com",
        "time": "Sun Mar 26 01:39:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:11 2006 -0800"
      },
      "message": "[PATCH] bitops: generic hweight{64,32,16,8}()\n\nThis patch introduces the C-language equivalents of the functions below:\n\nunsigned int hweight32(unsigned int w);\nunsigned int hweight16(unsigned int w);\nunsigned int hweight8(unsigned int w);\nunsigned long hweight64(__u64 w);\n\nIn include/asm-generic/bitops/hweight.h\n\nThis code largely copied from: include/linux/bitops.h\n\nSigned-off-by: Akinobu Mita \u003cmita@miraclelinux.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "09020adb61416c4307de35941a9725a5e33d9beb",
      "tree": "1bce6f1c62a2960e1442913f93727980ec1dfa0b",
      "parents": [
        "6d29ea23da033f46ac4ab359d46650a7f7474611"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "mita@miraclelinux.com",
        "time": "Sun Mar 26 01:39:12 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:11 2006 -0800"
      },
      "message": "[PATCH] bitops: generic ffs()\n\nThis patch introduces the C-language equivalent of the function: int ffs(int\nx);\n\nIn include/asm-generic/bitops/ffs.h\n\nThis code largely copied from: include/linux/bitops.h\n\nSigned-off-by: Akinobu Mita \u003cmita@miraclelinux.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6d29ea23da033f46ac4ab359d46650a7f7474611",
      "tree": "20403ba836b8e5e7ace71cae914bbc16d552a4bd",
      "parents": [
        "c7f612cdf091def01454e7e132c7d7a3f419fbc4"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "mita@miraclelinux.com",
        "time": "Sun Mar 26 01:39:12 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:11 2006 -0800"
      },
      "message": "[PATCH] bitops: generic sched_find_first_bit()\n\nThis patch introduces the C-language equivalent of the function: int\nsched_find_first_bit(const unsigned long *b);\n\nIn include/asm-generic/bitops/sched.h\n\nThis code largely copied from: include/asm-powerpc/bitops.h\n\nSigned-off-by: Akinobu Mita \u003cmita@miraclelinux.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c7f612cdf091def01454e7e132c7d7a3f419fbc4",
      "tree": "01b3fbc080a0a513dab60622aad0409d197b570a",
      "parents": [
        "2dfc383ad587bbead84739a9ff9273df3eda983d"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "mita@miraclelinux.com",
        "time": "Sun Mar 26 01:39:11 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:11 2006 -0800"
      },
      "message": "[PATCH] bitops: generic find_{next,first}{,_zero}_bit()\n\nThis patch introduces the C-language equivalents of the functions below:\n\nunsigned logn find_next_bit(const unsigned long *addr, unsigned long size,\n                            unsigned long offset);\nunsigned long find_next_zero_bit(const unsigned long *addr, unsigned long size,\n                                 unsigned long offset);\nunsigned long find_first_zero_bit(const unsigned long *addr,\n                                  unsigned long size);\nunsigned long find_first_bit(const unsigned long *addr, unsigned long size);\n\nIn include/asm-generic/bitops/find.h\n\nThis code largely copied from: arch/powerpc/lib/bitops.c\n\nSigned-off-by: Akinobu Mita \u003cmita@miraclelinux.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2dfc383ad587bbead84739a9ff9273df3eda983d",
      "tree": "737b3d8e40b7e94de6299b72eed2ebf8e5fb68a4",
      "parents": [
        "136abb32d6b4acf196425fb3968ebb368d84280e"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "mita@miraclelinux.com",
        "time": "Sun Mar 26 01:39:10 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:10 2006 -0800"
      },
      "message": "[PATCH] bitops: generic fls64()\n\nThis patch introduces the C-language equivalent of the function: int\nfls64(__u64 x);\n\nIn include/asm-generic/bitops/fls64.h\n\nThis code largely copied from: include/linux/bitops.h\n\nSigned-off-by: Akinobu Mita \u003cmita@miraclelinux.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "136abb32d6b4acf196425fb3968ebb368d84280e",
      "tree": "48f0f127f204569b4484bac6ab014f8ca36f7477",
      "parents": [
        "176d8b0c2709e764d491e63a0c1b3a3e1459fcf8"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "mita@miraclelinux.com",
        "time": "Sun Mar 26 01:39:09 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:10 2006 -0800"
      },
      "message": "[PATCH] bitops: generic fls()\n\nThis patch introduces the C-language equivalent of the function: int fls(int\nx);\n\nIn include/asm-generic/bitops/fls.h\n\nThis code largely copied from: include/linux/bitops.h\n\nSigned-off-by: Akinobu Mita \u003cmita@miraclelinux.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "176d8b0c2709e764d491e63a0c1b3a3e1459fcf8",
      "tree": "fd45cfce91c9fc75b4383fe0b62f77febf875c6c",
      "parents": [
        "c1226a005ec400e966f4993dfcc0e99fd7baa6a1"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "mita@miraclelinux.com",
        "time": "Sun Mar 26 01:39:08 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:10 2006 -0800"
      },
      "message": "[PATCH] bitops: generic ffz()\n\nThis patch introduces the C-language equivalent of the function: unsigned long\nffz(unsigned long word);\n\nIn include/asm-generic/bitops/ffz.h\n\nThis code largely copied from: include/asm-parisc/bitops.h\n\nSigned-off-by: Akinobu Mita \u003cmita@miraclelinux.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c1226a005ec400e966f4993dfcc0e99fd7baa6a1",
      "tree": "7c69ee952fae6209b7e760c1b7de83e2d9f05d25",
      "parents": [
        "4117b02132d1cf96a3e1c57148e302c4801c974d"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "mita@miraclelinux.com",
        "time": "Sun Mar 26 01:39:08 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:10 2006 -0800"
      },
      "message": "[PATCH] bitops: generic __ffs()\n\nThis patch introduces the C-language equivalent of the function: unsigned long\n__ffs(unsigned long word);\n\nIn include/asm-generic/bitops/__ffs.h\n\nThis code largely copied from: include/asm-sparc/bitops.h\n\nSigned-off-by: Akinobu Mita \u003cmita@miraclelinux.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4117b02132d1cf96a3e1c57148e302c4801c974d",
      "tree": "bbab0444010b7e549ecb3bec2ac28624bd9b0393",
      "parents": [
        "7a8a2429956fcfa3f3ef8fc105a4c055d70239ab"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "mita@miraclelinux.com",
        "time": "Sun Mar 26 01:39:07 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:10 2006 -0800"
      },
      "message": "[PATCH] bitops: generic __{,test_and_}{set,clear,change}_bit() and test_bit()\n\nThis patch introduces the C-language equivalents of the functions below:\n\nvoid __set_bit(int nr, volatile unsigned long *addr);\nvoid __clear_bit(int nr, volatile unsigned long *addr);\nvoid __change_bit(int nr, volatile unsigned long *addr);\nint __test_and_set_bit(int nr, volatile unsigned long *addr);\nint __test_and_clear_bit(int nr, volatile unsigned long *addr);\nint __test_and_change_bit(int nr, volatile unsigned long *addr);\nint test_bit(int nr, const volatile unsigned long *addr);\n\nIn include/asm-generic/bitops/non-atomic.h\n\nThis code largely copied from: asm-powerpc/bitops.h\n\nSigned-off-by: Akinobu Mita \u003cmita@miraclelinux.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7a8a2429956fcfa3f3ef8fc105a4c055d70239ab",
      "tree": "51454e2625678a1ca2ac78ac715d870fd1685375",
      "parents": [
        "67b0ad574b5ee90f8ea58196ff8a7f3780b75365"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "mita@miraclelinux.com",
        "time": "Sun Mar 26 01:39:06 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:10 2006 -0800"
      },
      "message": "[PATCH] bitops: generic {,test_and_}{set,clear,change}_bit()\n\nThis patch introduces the C-language equivalents of the functions below:\n\nvoid set_bit(int nr, volatile unsigned long *addr);\nvoid clear_bit(int nr, volatile unsigned long *addr);\nvoid change_bit(int nr, volatile unsigned long *addr);\nint test_and_set_bit(int nr, volatile unsigned long *addr);\nint test_and_clear_bit(int nr, volatile unsigned long *addr);\nint test_and_change_bit(int nr, volatile unsigned long *addr);\n\nIn include/asm-generic/bitops/atomic.h\n\nThis code largely copied from:\n\ninclude/asm-powerpc/bitops.h\ninclude/asm-parisc/bitops.h\ninclude/asm-parisc/atomic.h\n\nSigned-off-by: Akinobu Mita \u003cmita@miraclelinux.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "394e3902c55e667945f6f1c2bdbc59842cce70f7",
      "tree": "f4bca0bdc0c291fda6f6949265aacec0669b9084",
      "parents": [
        "63872f87a151413100678f110d1556026002809e"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Thu Mar 23 03:01:05 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:17 2006 -0800"
      },
      "message": "[PATCH] more for_each_cpu() conversions\n\nWhen we stop allocating percpu memory for not-possible CPUs we must not touch\nthe percpu data for not-possible CPUs at all.  The correct way of doing this\nis to test cpu_possible() or to use for_each_cpu().\n\nThis patch is a kernel-wide sweep of all instances of NR_CPUS.  I found very\nfew instances of this bug, if any.  But the patch converts lots of open-coded\ntest to use the preferred helper macros.\n\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Christian Zankel \u003cchris@zankel.net\u003e\nCc: Philippe Elie \u003cphil.el@wanadoo.fr\u003e\nCc: Nathan Scott \u003cnathans@sgi.com\u003e\nCc: Jens Axboe \u003caxboe@suse.de\u003e\nCc: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "91368d73e4b60d577ad171e5bd315b564265fcdb",
      "tree": "067d3738aa4bf8d49623632bb47952aca6f8f965",
      "parents": [
        "3257545e40a769cbef98cf13eabe50f00712991e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 23 03:00:54 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:16 2006 -0800"
      },
      "message": "[PATCH] make bug messages more consistent\n\nConsolidate all kernel bug printouts to begin with the \"BUG: \" string.\nMakes it easier to find them in large bootup logs.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9f28bb7e1d0188a993403ab39b774785892805e1",
      "tree": "939660c2531335dc899cc66fa7f3f05aa343d1e0",
      "parents": [
        "3fd6805f4dfb02bcfb5634972eabad0e790f119a"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Mar 20 13:17:13 2006 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Mar 20 13:42:58 2006 -0800"
      },
      "message": "[PATCH] add EXPORT_SYMBOL_GPL_FUTURE()\n\nThis patch adds the ability to mark symbols that will be changed in the\nfuture, so that kernel modules that don\u0027t include MODULE_LICENSE(\"GPL\")\nand use the symbols, will be flagged and printed out to the system log.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "707ced0d718e89b52b13aa55a64653083e792cca",
      "tree": "3b3276325c3ad5a1de5205971ae6367eb890a426",
      "parents": [
        "81c29a857d3c8d6ea9c4f20d196c36bf0a07c615"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Tue Mar 07 21:55:28 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 08 14:14:00 2006 -0800"
      },
      "message": "[PATCH] __get_unaligned() gcc-4 fix\n\nIf the \u0027ptr\u0027 is a const, this code cause \"assignment of read-only variable\"\nerror on gcc 4.x.\n\nUse __u64 instead of __typeof__(*(ptr)) for temporary variable to get\nrid of errors on gcc 4.x.\n\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5f6164f3092832e0d9b12eed52e09a76bf39c64a",
      "tree": "507043c3eafa00ad7241f1102c860e486f8dc544",
      "parents": [
        "06fed33849c13af637c4d09e9ba27828fac9edd5"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@mellanox.co.il",
        "time": "Wed Feb 15 15:17:39 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Feb 15 15:32:22 2006 -0800"
      },
      "message": "[PATCH] add asm-generic/mman.h\n\nMake new MADV_REMOVE, MADV_DONTFORK, MADV_DOFORK consistent across all\narches.  The idea is to make it possible to use them portably even before\ndistros include them in libc headers.\n\nMove common flags to asm-generic/mman.h\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@mellanox.co.il\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nCc: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "6b4977ce0fb9a989ba24fd6b757d07a566abc23d"
}
