)]}'
{
  "log": [
    {
      "commit": "e778272dd547d53dedf92240e8b3dbdee44b87b6",
      "tree": "c1111469138de441027d92e12c98cda4a3ac0292",
      "parents": [
        "5da594b1c523dffa19ebe7630e1ca285f439bd03"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rdreier@cisco.com",
        "time": "Thu Mar 30 12:55:10 2006 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 14 12:25:25 2006 -0700"
      },
      "message": "[PATCH] PCI: fix sparse warning about pci_bus_flags\n\nSparse warns about casting to a __bitwise type.  However, it\u0027s correct\nto do when defining the enum for pci_bus_flags_t, so add a __force to\nquiet the warnings.  This will fix getting\n\n    include/linux/pci.h:100:26: warning: cast to restricted type\n\nfrom sparse all over the build.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "5da594b1c523dffa19ebe7630e1ca285f439bd03",
      "tree": "552e8e979c67228c5db12c2d5487a92ade180569",
      "parents": [
        "41017f0cac925e4a6bcf3359b75e5538112d4216"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Mar 20 14:33:56 2006 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 14 12:25:25 2006 -0700"
      },
      "message": "[PATCH] pci_ids.h: correct naming of 1022:7450 (AMD 8131 Bridge)\n\nThe naming of the constant defined for PCI ID 1022:7450 does not seem\nto match the information at http://pciids.sourceforge.net/:\n\n\thttp://pci-ids.ucw.cz/iii/?i\u003d1022\n\nThere 1022:7450 is listed as \"AMD-8131 PCI-X Bridge\" while 1022:7451\nis listed as \"AMD-8131 PCI-X IOAPIC\".  Yet, the current definition for\n0x7450 is PCI_DEVICE_ID_AMD_8131_APIC.\tIt seems to me like that name\nshould map to 0x7451, while a name like PCI_DEVICE_ID_AMD_8131_BRIDGE\nshould map to 0x7450.\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "41017f0cac925e4a6bcf3359b75e5538112d4216",
      "tree": "5c8f4590707450820ffb286f681bcaeb300cde84",
      "parents": [
        "f043ca43c1ae354346f72dc5826d820d5619f0b2"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Wed Feb 08 17:11:38 2006 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 14 12:25:25 2006 -0700"
      },
      "message": "[PATCH] PCI: MSI(X) save/restore for suspend/resume\n\nAdd MSI(X) configure sapce save/restore in generic PCI helper.\n\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "9ca686626c012935b3b8219815e9027facc6fe6e",
      "tree": "632364c2feb6b4c08d83d3014e771dee55f1e4c1",
      "parents": [
        "e57a5059846e55d82b86d96dde40e988598601b3",
        "70524490ee2ea1bbf6cee6c106597b3ac25a3fc2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Apr 14 09:02:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Apr 14 09:02:07 2006 -0700"
      },
      "message": "Merge branch \u0027tee\u0027 of git://brick.kernel.dk/data/git/linux-2.6-block\n\n* \u0027tee\u0027 of git://brick.kernel.dk/data/git/linux-2.6-block:\n  [PATCH] splice: add support for sys_tee()\n  [PATCH] splice: pass offset around for -\u003esplice_read() and -\u003esplice_write()\n"
    },
    {
      "commit": "8db60bcf3021921e2d10d158641792d640e52fe8",
      "tree": "3e00cf3527645140283667c306041e790b031834",
      "parents": [
        "7ad4d2f6901437ba4717a26d395a73ea362d25c6"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Apr 11 17:28:33 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 11 17:28:33 2006 -0700"
      },
      "message": "[WAN]: Remove broken and unmaintained Sangoma drivers.\n\nThe in-kernel Sangoma drivers are both not compiling and marked as BROKEN\nsince at least kernel 2.6.0.\n\nSangoma offers out-of-tree drivers, and David Mandelstam told me Sangoma\ndoes no longer maintain the in-kernel drivers and prefers to provide them\nas a separate installation package.\n\nThis patch therefore removes these drivers.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "70524490ee2ea1bbf6cee6c106597b3ac25a3fc2",
      "tree": "c61dd500035bc3e0dea364777de1b7a58b41a75c",
      "parents": [
        "cbb7e577e732f576b9f399bc2600bdc0626c68dc"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Apr 11 15:51:17 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Apr 11 15:51:17 2006 +0200"
      },
      "message": "[PATCH] splice: add support for sys_tee()\n\nBasically an in-kernel implementation of tee, which uses splice and the\npipe buffers as an intelligent way to pass data around by reference.\n\nWhere the user space tee consumes the input and produces a stdout and\nfile output, this syscall merely duplicates the data inside a pipe to\nanother pipe. No data is copied, the output just grabs a reference to the\ninput pipe data.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "cbb7e577e732f576b9f399bc2600bdc0626c68dc",
      "tree": "55e3d65c9d9fb5b0ee25d0ccabf951de6da2db7b",
      "parents": [
        "2514395ef88b46e895726a8d40966cb83de7940c"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Apr 11 14:57:50 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Tue Apr 11 15:47:07 2006 +0200"
      },
      "message": "[PATCH] splice: pass offset around for -\u003esplice_read() and -\u003esplice_write()\n\nWe need not use -\u003ef_pos as the offset for the file input/output. If the\nuser passed an offset pointer in through sys_splice(), just use that and\nleave -\u003ef_pos alone.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "cde227afe6b997dce08bcfc2aa6e373fb56857b0",
      "tree": "45b0bc04f54a830d0c3cd3a5afb46fcf7679a4dc",
      "parents": [
        "44b940c299dfaaf25b7aad683ff55cb213502ddd"
      ],
      "author": {
        "name": "mao, bibo",
        "email": "bibo.mao@intel.com",
        "time": "Tue Apr 11 12:54:54 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:38:57 2006 -0700"
      },
      "message": "[PATCH] x86_64: inline function prefix with __always_inline in vsyscall\n\nIn vsyscall function do_vgettimeofday(), some functions are declared as\ninlined, which is a hint for gcc to compile the function inlined but it\nnot forced.  Sometimes compiler does not compile the function as\ninlined, so here inline is replaced by __always_inline prefix.\n\nIt does not happen in gcc compiler actually, but it possibly happens.\n\nSigned-off-by: bibo mao \u003cbibo.mao@intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "88dd9c16cecbd105bbe7711b6120333f6f7b5474",
      "tree": "9632e5988abeaa7e4d20350305edc4e4652b56d1",
      "parents": [
        "6dde432553551ae036aae12c2b940677d36c9a5b",
        "d1195c516a9acd767cb541f914be2c6ddcafcfc1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:34:02 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:34:02 2006 -0700"
      },
      "message": "Merge branch \u0027splice\u0027 of git://brick.kernel.dk/data/git/linux-2.6-block\n\n* \u0027splice\u0027 of git://brick.kernel.dk/data/git/linux-2.6-block:\n  [PATCH] vfs: add splice_write and splice_read to documentation\n  [PATCH] Remove sys_ prefix of new syscalls from __NR_sys_*\n  [PATCH] splice: warning fix\n  [PATCH] another round of fs/pipe.c cleanups\n  [PATCH] splice: comment styles\n  [PATCH] splice: add Ingo as addition copyright holder\n  [PATCH] splice: unlikely() optimizations\n  [PATCH] splice: speedups and optimizations\n  [PATCH] pipe.c/fifo.c code cleanups\n  [PATCH] get rid of the PIPE_*() macros\n  [PATCH] splice: speedup __generic_file_splice_read\n  [PATCH] splice: add direct fd \u003c-\u003e fd splicing support\n  [PATCH] splice: add optional input and output offsets\n  [PATCH] introduce a \"kernel-internal pipe object\" abstraction\n  [PATCH] splice: be smarter about calling do_page_cache_readahead()\n  [PATCH] splice: optimize the splice buffer mapping\n  [PATCH] splice: cleanup __generic_file_splice_read()\n  [PATCH] splice: only call wake_up_interruptible() when we really have to\n  [PATCH] splice: potential !page dereference\n  [PATCH] splice: mark the io page as accessed\n"
    },
    {
      "commit": "89ec4c238e7a3d7e660291f3f1a8181381baad77",
      "tree": "8ba2ab49cea71cfff21ee7a56717f83746cb8d0c",
      "parents": [
        "ac50ab3e45436900b5d73edd0c6b0744af560535"
      ],
      "author": {
        "name": "Antonino A. Daplas",
        "email": "adaplas@gmail.com",
        "time": "Mon Apr 10 22:55:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:54 2006 -0700"
      },
      "message": "[PATCH] vesafb: Fix incorrect logo colors in x86_64\n\nBugzilla Bug 6299:\n\nA pixel size of 8 bits produces wrong logo colors in x86_64.\n\nThe driver has 2 methods for setting the color map, using the protected\nmode interface provided by the video BIOS and directly writing to the VGA\nregisters.  The former is not supported in x86_64 and the latter is enabled\nonly in i386.\n\nFix by enabling the latter method in x86_64 only if supported by the BIOS.\nIf both methods are unsupported, change the visual of vesafb to\nSTATIC_PSEUDOCOLOR.\n\nSigned-off-by: Antonino Daplas \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6f54e2d0d3a904e55c9c50b78542072f6c42080e",
      "tree": "cde5f03d8e80477c7bebcde0e41c48df85dd9846",
      "parents": [
        "dfee55f06213a23b250ea63ba41caa461cdd5e72"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Apr 10 22:55:36 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:52 2006 -0700"
      },
      "message": "[PATCH] knfsd: svcrpc: WARN() instead of returning an error from svc_take_page\n\nEvery caller of svc_take_page ignores its return value and assumes it\nsucceeded.  So just WARN() instead of returning an ignored error.  This would\nhave saved some time debugging a recent nfsd4 problem.\n\nIf there are still failure cases here, then the result is probably that we\noverwrite an earlier part of the reply while xdr-encoding.\n\nWhile the corrupted reply is a nasty bug, it would be worse to panic here and\ncreate the possibility of a remote DOS; hence WARN() instead of BUG().\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: Ingo Oeser \u003cioe-lkml@rameria.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5ac90c9f78953b1a2ac937cc5a2f90c3521a710e",
      "tree": "4358f489334f856690ef4a451c433829352daf19",
      "parents": [
        "7ad04b0d0ebed1844522dd83cca0ef838d1ac673"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Mon Apr 10 22:54:28 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:45 2006 -0700"
      },
      "message": "[PATCH] module support: record in vermagic ability to unload a module\n\nAn UML user reported (against 2.6.13.3/UML) he got kernel Oopses when\ntrying to rmmod (on a kernel with module unloading enabled) a module\ncompiled with module unloading disabled.  As crashing is a very correct\nthing to do in that case, a solution is altering the vermagic string to\ninclude this too.\n\nPossibly, however, the code should not crash in this case, even if the\nmodule didn\u0027t support unloading - it should simply abort the module\nremoval.  In this case, fixing that bug would be a better solution.  I\u0027ve\nnot investigated though.\n\n(akpm: a bit marginal - root screwed up and shot himself in the foot).\n\nCc: Hayim Shaul \u003chayim@post.tau.ac.il\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: 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": "56b146d36db933844011d5026c6f55593037c7b8",
      "tree": "e8b9bed7bf22f658f9b62bf13e512bf08f137efc",
      "parents": [
        "31cc48bfeef7a021d6e29f3454a4505edcfd6daa"
      ],
      "author": {
        "name": "Tobias Klauser",
        "email": "tklauser@nuerscht.ch",
        "time": "Mon Apr 10 22:54:21 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:44 2006 -0700"
      },
      "message": "[PATCH] Last DMA_xBIT_MASK cleanups\n\nThese are the last conversions of pci_set_dma_mask(),\npci_set_consistent_dma_mask() and pci_dma_supported() to use DMA_xBIT_MASK\nconstants from linux/dma-mapping.h\n\nSigned-off-by: Tobias Klauser \u003ctklauser@nuerscht.ch\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "80e8ff634169be3fc2ac48f258cc7638e898cd46",
      "tree": "481b805fedc77b28183ae2be0f114d50d4163bdb",
      "parents": [
        "4c416ab71164dc8d3f800a942fb18c4e67f67897"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@in.ibm.com",
        "time": "Mon Apr 10 22:54:10 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:42 2006 -0700"
      },
      "message": "[PATCH] kdump proc vmcore size oveflow fix\n\nA couple of /proc/vmcore data structures overflow with 32bit systems having\nmemory more than 4G.  This patch fixes those.\n\nSigned-off-by: Ken\u0027ichi Ohmichi \u003coomichi@mxs.nes.nec.co.jp\u003e\nSigned-off-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a9cdf410ca8f59b52bc7061a6751050010c7cc5b",
      "tree": "a7b63f15f2221e424b37989af1083701d1549adf",
      "parents": [
        "49b6e2ad00435209503863932d03470f825e0a1a"
      ],
      "author": {
        "name": "Keith Owens",
        "email": "kaos@sgi.com",
        "time": "Mon Apr 10 22:54:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:41 2006 -0700"
      },
      "message": "[PATCH] Reinstate const in next_thread()\n\nBefore commit 47e65328a7b1cdfc4e3102e50d60faf94ebba7d3, next_thread() took\na const task_t.  Reinstate the const qualifier, getting the next thread\nnever changes the current thread.\n\nSigned-off-by: Keith Owens \u003ckaos@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e1a2509023785bd3199ac068ab80155aeba01265",
      "tree": "2d1f4541893a39537e67a921a2d5999c38310c28",
      "parents": [
        "d824e66a9a427faf69c58f98dd7e1c3d1bb51c61"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Mon Apr 10 22:54:05 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:41 2006 -0700"
      },
      "message": "[PATCH] make tty_insert_flip_string_flags() a non gpl export\n\nWe changed the wrong symbol.  It\u0027s tty_insert_flip_string_flags() which is\ncalled from the previously-non-GPL\u0027ed now-inlined tty_insert_flip_char().\n\nFix that up, and uninline tty_schedule_flip() while we\u0027re there.\n\nCc: Tobias Powalowski \u003ct.powa@gmx.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fb5035dbbea8826cdbeb5c43d7605255eb6f0baa",
      "tree": "bf01a0b9321cd6715051f477750c108afa699963",
      "parents": [
        "24f51e81745861c70da2255ce30c7078aed2d20e"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Mon Apr 10 22:54:02 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:41 2006 -0700"
      },
      "message": "[PATCH] leds: re-layout include/linux/leds.h\n\nLay out the structure definitions in include/linux/leds.h to be aligned as\nmuch as possible.  Also minor updates to the comments to make them more\nconcise.\n\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\nAcked-by: Richard Purdie \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "aa7271076ae6547d7f370ad7e91ef86fdb318f17",
      "tree": "5a04c82e8ea4dda6cfd7905da18f68752d10faa3",
      "parents": [
        "ba6edfcd1708da2e665f14eee76e87f39448ec40"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Apr 10 22:53:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:40 2006 -0700"
      },
      "message": "[PATCH] the scheduled unexport of panic_timeout\n\nImplement the scheduled unexport of panic_timeout.\n\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": "5246d0503130fa58904c8beb987fcf93b96d8ab6",
      "tree": "c807f1bba6a1d5abf0b3a9f221bc3e49ca5810c8",
      "parents": [
        "8833d328caf009f8da58337e17a2cf5d52993a7c"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Mon Apr 10 22:53:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:40 2006 -0700"
      },
      "message": "[PATCH] sync_file_range(): use unsigned for flags\n\nUlrich suggested that the `flags\u0027 arg to sync_file_range() become unsigned.\n\nCc: 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": "8833d328caf009f8da58337e17a2cf5d52993a7c",
      "tree": "dc12f9c94f28ad0fb41ea6c4ebe6a0ae31c36ad1",
      "parents": [
        "894b5779ceeabdce139068310e58bcf51ed9bb22"
      ],
      "author": {
        "name": "Kyle McMartin",
        "email": "kyle@parisc-linux.org",
        "time": "Mon Apr 10 22:53:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:40 2006 -0700"
      },
      "message": "[PATCH] Clean up arch-overrides in linux/string.h\n\nSome string functions were safely overrideable in lib/string.c, but their\ncorresponding declarations in linux/string.h were not.  Correct this, and\nmake strcspn overrideable.\n\nOdds of someone wanting to do optimized assembly of these are small, but\nfor the sake of cleanliness, might as well bring them into line with the\nrest of the file.\n\nSigned-off-by: 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": "c80d79d746cc48bd94b0ce4f6d4f3c90cd403aaf",
      "tree": "5aa8d1590d95f8fd820ad797fe03a063b592e9bf",
      "parents": [
        "653edba1a8b2ed018bdfb078131324dfbfe1dd6a"
      ],
      "author": {
        "name": "Yasunori Goto",
        "email": "y-goto@jp.fujitsu.com",
        "time": "Mon Apr 10 22:53:53 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:39 2006 -0700"
      },
      "message": "[PATCH] Configurable NODES_SHIFT\n\nCurrent implementations define NODES_SHIFT in include/asm-xxx/numnodes.h for\neach arch.  Its definition is sometimes configurable.  Indeed, ia64 defines 5\nNODES_SHIFT values in the current git tree.  But it looks a bit messy.\n\nSGI-SN2(ia64) system requires 1024 nodes, and the number of nodes already has\nbeen changeable by config.  Suitable node\u0027s number may be changed in the\nfuture even if it is other architecture.  So, I wrote configurable node\u0027s\nnumber.\n\nThis patch set defines just default value for each arch which needs multi\nnodes except ia64.  But, it is easy to change to configurable if necessary.\n\nOn ia64 the number of nodes can be already configured in generic ia64 and SN2\nconfig.  But, NODES_SHIFT is defined for DIG64 and HP\u0027S machine too.  So, I\nchanged it so that all platforms can be configured via CONFIG_NODES_SHIFT.  It\nwould be simpler.\n\nSee also: http://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d114358010523896\u0026w\u003d2\n\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.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: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7b04d7170e9af805cac19f97b28fff10db897893",
      "tree": "f4b0de67af631c1a1099bcd35621ae7fff38af67",
      "parents": [
        "a5d2f46a97cf8e23f5da17dec50a972642ac409f"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Apr 10 22:53:27 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:35 2006 -0700"
      },
      "message": "[PATCH] Add GFP_NOWAIT\n\nIntroduce GFP_NOWAIT, as an alias for GFP_ATOMIC \u0026 ~__GFP_HIGH.\n\nThis also changes XFS, which is the only in-tree user of this idiom that I\ncould find.  The XFS piece is compile-tested only.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nAcked-by: Nathan Scott \u003cnathans@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "91fc8ab3c6312931d64c72845ee2f93a0f87f1a5",
      "tree": "63cbc8d224a27f7d62bd1651afa5cd3b659c7587",
      "parents": [
        "d5ddc79bcaab6975e7671805c3578407dc33b764"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@shadowen.org",
        "time": "Mon Apr 10 22:53:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:32 2006 -0700"
      },
      "message": "[PATCH] page flags: add commentry regarding field reservation\n\nAdd some documentation regarding the utilisation of the flags field in\nstruct page.  This field is overloaded for per page bits and to hold node,\nzone and SPARSEMEM information.  Make it clear which areas are used for\nwhat and how many bits are in each area.\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": "cb45b0e966cbe747b6189c15b108901cc7d6c97c",
      "tree": "0402d4809ec175e80b083f7a713ec32c0109baad",
      "parents": [
        "e23ca00bf1b1c6c0f04702cb4d29e275ab8dc330"
      ],
      "author": {
        "name": "Hideo AOKI",
        "email": "haoki@redhat.com",
        "time": "Mon Apr 10 22:52:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:32 2006 -0700"
      },
      "message": "[PATCH] overcommit: add calculate_totalreserve_pages()\n\nThese patches are an enhancement of OVERCOMMIT_GUESS algorithm in\n__vm_enough_memory().\n\n- why the kernel needed patching\n\n  When the kernel can\u0027t allocate anonymous pages in practice, currnet\n  OVERCOMMIT_GUESS could return success. This implementation might be\n  the cause of oom kill in memory pressure situation.\n\n  If the Linux runs with page reservation features like\n  /proc/sys/vm/lowmem_reserve_ratio and without swap region, I think\n  the oom kill occurs easily.\n\n- the overall design approach in the patch\n\n  When the OVERCOMMET_GUESS algorithm calculates number of free pages,\n  the reserved free pages are regarded as non-free pages.\n\n  This change helps to avoid the pitfall that the number of free pages\n  become less than the number which the kernel tries to keep free.\n\n- testing results\n\n  I tested the patches using my test kernel module.\n\n  If the patches aren\u0027t applied to the kernel, __vm_enough_memory()\n  returns success in the situation but autual page allocation is\n  failed.\n\n  On the other hand, if the patches are applied to the kernel, memory\n  allocation failure is avoided since __vm_enough_memory() returns\n  failure in the situation.\n\n  I checked that on i386 SMP 16GB memory machine. I haven\u0027t tested on\n  nommu environment currently.\n\nThis patch adds totalreserve_pages for __vm_enough_memory().\n\nCalculate_totalreserve_pages() checks maximum lowmem_reserve pages and\npages_high in each zone. Finally, the function stores the sum of each\nzone to totalreserve_pages.\n\nThe totalreserve_pages is calculated when the VM is initilized.\nAnd the variable is updated when /proc/sys/vm/lowmem_reserve_raito\nor /proc/sys/vm/min_free_kbytes are changed.\n\nSigned-off-by: Hideo Aoki \u003chaoki@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6f91fe88e4e28b40b4f08d99e0ea6d17b70e9567",
      "tree": "035ac07180e058579ee8023ed0fcb12e40315594",
      "parents": [
        "54404e72cd3758e465fb6362f6d71e22b705c589"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Apr 10 22:52:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:30 2006 -0700"
      },
      "message": "[PATCH] md: make sure 64bit fields in version-1 metadata are 64-bit aligned\n\nreshape_position is a 64bit field that was not 64bit aligned.  So swap with\nnew_level.\n\nNOTE: this is a user-visible change.  However:\n  - The bad code has not appeared in a released kernel\n  - This code is still marked \u0027experimental\u0027\n  - This only affects version-1 superblock, which are not in wide use\n  - These field are only used (rather than simply reported) by user-space\n    tools in extemely rare circumstances : after a reshape crashes in the\n    first second of the reshape process.\n\nSo I believe that, at this stage, the change is safe.  Especially if people\nheed the \u0027help\u0027 message on use mdadm-2.4.1.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "88e6faefaeed40a162041d85689e94595756d4c3",
      "tree": "78724ca8f0b7a5d0cf6071e5615e2e6eee3ab7f4",
      "parents": [
        "341b446bc5aa36d1d5b8159c1e66716b5d89024d"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Tue Apr 11 13:59:36 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Apr 11 13:59:36 2006 +0200"
      },
      "message": "[PATCH] splice: warning fix\n\nFrom: Andrew Morton \u003cakpm@osdl.org\u003e\n\nnet/socket.c:148: warning: initialization from incompatible pointer type\n\nextern declarations in .c files!  Bad boy.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "9aeedfc4712ed58d9f7ae41596185c72b8dc97e8",
      "tree": "b055bab09a86cfc6cb13506d2f25da6abd12e3c1",
      "parents": [
        "7480a90435673b4c717b6caf1350ec577d5f1adf"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 11 13:53:10 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Apr 11 13:53:10 2006 +0200"
      },
      "message": "[PATCH] get rid of the PIPE_*() macros\n\nget rid of the PIPE_*() macros. Scripted transformation.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "b92ce55893745e011edae70830b8bc863be881f9",
      "tree": "e2afd62d2e63d74157905140f5907d07bdfe31b9",
      "parents": [
        "529565dcb1581c9a1e3f6df1c1763ca3e0f0d512"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Apr 11 13:52:07 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Apr 11 13:52:07 2006 +0200"
      },
      "message": "[PATCH] splice: add direct fd \u003c-\u003e fd splicing support\n\nIt\u0027s more efficient for sendfile() emulation. Basically we cache an\ninternal private pipe and just use that as the intermediate area for\npages. Direct splicing is not available from sys_splice(), it is only\nmeant to be used for sendfile() emulation.\n\nAdditional patch from Ingo Molnar to avoid the PIPE_BUFFERS loop at\nexit for the normal fast path.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "de12a7878c11f3b282d640888aa635e0711d0b5e",
      "tree": "742b72a47cc36a7e591dba1883cd9af3c44290c4",
      "parents": [
        "1b72373491a061be6d456d219a4e2d054ac2aaad"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Apr 10 17:16:49 2006 -0600"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Apr 10 16:36:50 2006 -0700"
      },
      "message": "[PATCH] de_thread: Don\u0027t confuse users do_each_thread.\n\nOleg Nesterov spotted two interesting bugs with the current de_thread\ncode.  The simplest is a long standing double decrement of\n__get_cpu_var(process_counts) in __unhash_process.  Caused by\ntwo processes exiting when only one was created.\n\nThe other is that since we no longer detach from the thread_group list\nit is possible for do_each_thread when run under the tasklist_lock to\nsee the same task_struct twice.  Once on the task list as a\nthread_group_leader, and once on the thread list of another\nthread.\n\nThe double appearance in do_each_thread can cause a double increment\nof mm_core_waiters in zap_threads resulting in problems later on in\ncoredump_wait.\n\nTo remedy those two problems this patch takes the simple approach\nof changing the old thread group leader into a child thread.\nThe only routine in release_task that cares is __unhash_process,\nand it can be trivially seen that we handle cleaning up a\nthread group leader properly.\n\nSince de_thread doesn\u0027t change the pid of the exiting leader process\nand instead shares it with the new leader process.  I change\nthread_group_leader to recognize group leadership based on the\ngroup_leader field and not based on pids.  This should also be\nslightly cheaper then the existing thread_group_leader macro.\n\nI performed a quick audit and I couldn\u0027t see any user of\nthread_group_leader that cared about the difference.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9227c33de80ac01f269ed33624990ce84358e419",
      "tree": "7678d342949db011d37e15516c3eaa22ec32ff2a",
      "parents": [
        "676165a8af7167f488abdcce6851a9bc36e83254"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sat Apr 01 19:21:04 2006 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Apr 10 14:15:47 2006 -0400"
      },
      "message": "[PATCH] move -\u003eeh_strategy_handler to the transport class\n\nOverriding the whole EH code is a per-transport, not per-host thing.\nMove -\u003eeh_strategy_handler to the transport class, same as\n-\u003eeh_timed_out.\n\nDownside is that scsi_host_alloc can\u0027t check for the total lack of EH\nanymore, but the transition period from old EH where we needed it is\nlong gone already.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "676165a8af7167f488abdcce6851a9bc36e83254",
      "tree": "a9b2b8dc155b48ce073b5ada31f2ac0694118e69",
      "parents": [
        "c3a9d6541f84ac3ff566982d08389b87c1c36b4e"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "piggin@cyberone.com.au",
        "time": "Mon Apr 10 11:21:48 2006 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Apr 10 10:16:37 2006 -0700"
      },
      "message": "[PATCH] Fix buddy list race that could lead to page lru list corruptions\n\nRohit found an obscure bug causing buddy list corruption.\n\npage_is_buddy is using a non-atomic test (PagePrivate \u0026\u0026 page_count \u003d\u003d 0)\nto determine whether or not a free page\u0027s buddy is itself free and in the\nbuddy lists.\n\nEach of the conjuncts may be true at different times due to unrelated\nconditions, so the non-atomic page_is_buddy test may find each conjunct to\nbe true even if they were not both true at the same time (ie. the page was\nnot on the buddy lists).\n\nSigned-off-by: Martin Bligh \u003cmbligh@google.com\u003e\nSigned-off-by: Rohit Seth \u003crohitseth@google.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "529565dcb1581c9a1e3f6df1c1763ca3e0f0d512",
      "tree": "e8069cc17f887ad86f8dee0d96640a2f19bf4112",
      "parents": [
        "3a326a2ce88e71d00ac0d133e314a3342a7709f8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 10 15:18:58 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Mon Apr 10 15:18:58 2006 +0200"
      },
      "message": "[PATCH] splice: add optional input and output offsets\n\nadd optional input and output offsets to sys_splice(), for seekable file\ndescriptors:\n\n asmlinkage long sys_splice(int fd_in, loff_t __user *off_in,\n                            int fd_out, loff_t __user *off_out,\n                            size_t len, unsigned int flags);\n\nsemantics are straightforward: f_pos will be updated with the offset\nprovided by user-space, before the splice transfer is about to begin.\nProviding a NULL offset pointer means the existing f_pos will be used\n(and updated in situ).  Providing an offset for a pipe results in\n-ESPIPE. Providing an invalid offset pointer results in -EFAULT.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "3a326a2ce88e71d00ac0d133e314a3342a7709f8",
      "tree": "3a3cf55be19311c04d195e37baec9f49c4015b18",
      "parents": [
        "0b749ce3802428007a37870eb51ba3c0bdf90857"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 10 15:18:35 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Mon Apr 10 15:18:35 2006 +0200"
      },
      "message": "[PATCH] introduce a \"kernel-internal pipe object\" abstraction\n\nseparate out the \u0027internal pipe object\u0027 abstraction, and make it\nusable to splice. This cleans up and fixes several aspects of the\ninternal splice APIs and the pipe code:\n\n - pipes: the allocation and freeing of pipe_inode_info is now more symmetric\n   and more streamlined with existing kernel practices.\n\n - splice: small micro-optimization: less pointer dereferencing in splice\n   methods\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\nUpdate XFS for the -\u003esplice_read/-\u003esplice_write changes.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "422c346fad806e2abaeffac686860ebc98dfe33e",
      "tree": "dd554d11e80ad33afef4b438ec4c2d8943ad37f4",
      "parents": [
        "bce8032ef3cc58170ab3550e9e271dba7b4c4764"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Apr 06 14:18:43 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Apr 09 22:25:41 2006 -0700"
      },
      "message": "[NETFILTER]: Add address family specific checksum helpers\n\nAdd checksum operation which takes care of verifying the checksum and\ndealing with HW checksum errors and avoids multiple checksum\noperations by setting ip_summed to CHECKSUM_UNNECESSARY after\nsuccessful verification.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bce8032ef3cc58170ab3550e9e271dba7b4c4764",
      "tree": "13dbdf12a6c567c3292daad4604eb55f7abd167e",
      "parents": [
        "a0aed49bdb2bbb4234789f241cffb607fd2e213d"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Apr 06 14:18:09 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Apr 09 22:25:40 2006 -0700"
      },
      "message": "[NETFILTER]: Introduce infrastructure for address family specific operations\n\nChange the queue rerouter intrastructure to a generic usable\ninfrastructure for address family specific operations as a base for\nsome cleanups.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "48bfee5fad0e46f4f18d46285efceba39e897482",
      "tree": "f527020c7163d519fdc6fd6d38f9473b6ce739bf",
      "parents": [
        "32292a7ff1d9306841a8da6ea286847b1070cc6a"
      ],
      "author": {
        "name": "Jing Min Zhao",
        "email": "zhaojingmin@users.sourceforge.net",
        "time": "Thu Apr 06 14:13:42 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Apr 09 22:25:35 2006 -0700"
      },
      "message": "[NETFILTER]: H.323 helper: move some function prototypes to ip_conntrack_h323.h\n\nMove prototypes of NAT callbacks to ip_conntrack_h323.h. Because the\nuse of typedefs as arguments, some header files need to be moved as\nwell.\n\nSigned-off-by: Jing Min Zhao \u003czhaojingmin@users.sourceforge.net\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "972d1cb1427946f4980240363aac4e73fb375290",
      "tree": "6b4af7fa66b358ab2d167093cd4bd43baa75f0a3",
      "parents": [
        "137dc0233fba0bfa19679bdd96eb104f0e659c5a"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Apr 06 14:09:12 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Apr 09 22:25:32 2006 -0700"
      },
      "message": "[NETFILTER]: Add helper functions for mass hook registration/unregistration\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b20367a6c2a0cd937cb1f0a8cf848f1402fef99c",
      "tree": "8624096baed40f8f89e757b2d170a7b4d1844575",
      "parents": [
        "49c93e84d8b2d602a07c302c7e3cd4fa09095fbb"
      ],
      "author": {
        "name": "Jordan Hargrave",
        "email": "jordan_hargrave@dell.com",
        "time": "Fri Apr 07 19:50:18 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Apr 09 11:53:53 2006 -0700"
      },
      "message": "[PATCH] x86_64: Fix drift with HPET timer enabled\n\nIf the HPET timer is enabled, the clock can drift by ~3 seconds a day.\nThis is due to the HPET timer not being initialized with the correct\nsetting (still using PIT count).\n\nIf HZ changes, this drift can become even more pronounced.\n\nHPET patch initializes tick_nsec with correct tick_nsec settings for\nHPET timer.\n\nVojtech comments:\n\n  \"It\u0027s not entirely correct (it assumes the HPET ticks totally\n   exactly), but it\u0027s significantly better than assuming the PIT error\n   there.\"\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a8062231d80239cf3405982858c02aea21a6066a",
      "tree": "0576493fa99cda91069fe3b67c19bd024858e69e",
      "parents": [
        "68a3a7feb08f960095072f28ec20f7900793c506"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Fri Apr 07 19:49:21 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Apr 09 11:53:16 2006 -0700"
      },
      "message": "[PATCH] x86_64: Handle empty PXMs that only contain hotplug memory\n\nThe node setup code would try to allocate the node metadata in the node\nitself, but that fails if there is no memory in there.\n\nThis can happen with memory hotplug when the hotplug area defines an so\nfar empty node.\n\nNow use bootmem to try to allocate the mem_map in other nodes.\n\nAnd if it fails don\u0027t panic, but just ignore the node.\n\nTo make this work I added a new __alloc_bootmem_nopanic function that\ndoes what its name implies.\n\nTBD should try to use nearby nodes here.  Currently we just use any.\nIt\u0027s hard to do it better because bootmem doesn\u0027t have proper fallback\nlists yet.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9d99aaa31f5994d1923c3713ce9144c4c42332e1",
      "tree": "ae608593ca196dd6493cccbdfc1b8dd098e91ee8",
      "parents": [
        "805e8c03c9ea9bdb402a36341e02ec24825d5417"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Fri Apr 07 19:49:15 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Apr 09 11:53:16 2006 -0700"
      },
      "message": "[PATCH] x86_64: Support memory hotadd without sparsemem\n\nMemory hotadd doesn\u0027t need SPARSEMEM, but can be handled by just preallocating\nmem_maps. This only needs some untangling of ifdefs to enable the necessary\ncode even without SPARSEMEM.\n\nOriginally from Keith Mannthey, hacked by AK.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d69636157ad8fa6bb9fff452cefb34fcace851b5",
      "tree": "dc9c0cc41150042224a367ffcab77cf7d315e3a7",
      "parents": [
        "1810b6cb162e0c19e0ecbbacbcfd66f578f335ec",
        "3e7ee3e7b36fa4e2d88d8fb0a2577be95fc4636d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Apr 02 14:22:06 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Apr 02 14:22:06 2006 -0700"
      },
      "message": "Merge branch \u0027splice\u0027 of git://brick.kernel.dk/data/git/linux-2.6-block\n\n* \u0027splice\u0027 of git://brick.kernel.dk/data/git/linux-2.6-block:\n  [PATCH] splice: fix page stealing LRU handling.\n  [PATCH] splice: page stealing needs to wait_on_page_writeback()\n  [PATCH] splice: export generic_splice_sendpage\n  [PATCH] splice: add a SPLICE_F_MORE flag\n  [PATCH] splice: add comments documenting more of the code\n  [PATCH] splice: improve writeback and clean up page stealing\n  [PATCH] splice: fix shadow[] filling logic\n"
    },
    {
      "commit": "3e7ee3e7b36fa4e2d88d8fb0a2577be95fc4636d",
      "tree": "46e972e78122f8a719dafc87572bffb25716e745",
      "parents": [
        "ad8d6f0a783ffa2ff9b0cf09910b889715772201"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Sun Apr 02 23:11:04 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Sun Apr 02 23:11:04 2006 +0200"
      },
      "message": "[PATCH] splice: fix page stealing LRU handling.\n\nOriginally from Nick Piggin, just adapted to the newer branch.\n\nYou can\u0027t check PageLRU without holding zone-\u003elru_lock.  The page\nrelease code can get away with it only because the page refcount is 0 at\nthat point. Also, you can\u0027t reliably remove pages from the LRU unless\nthe refcount is 0. Ever.\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "b2b39fa478db6db89b7ccafb0649973845b0eb75",
      "tree": "784d85b94fb634e3b33dfd3f1153c98580cfac15",
      "parents": [
        "83f9135bddffded9f1716519b6c147bcf046c87e"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Sun Apr 02 23:05:41 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Sun Apr 02 23:05:41 2006 +0200"
      },
      "message": "[PATCH] splice: add a SPLICE_F_MORE flag\n\nThis lets userspace indicate whether more data will be coming in a\nsubsequent splice call.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "4f6f0bd2ffa4e31c3524f5e65c84a29b6ab73307",
      "tree": "682ab1b41c3ee799d37bfa1874c79ae92b3755fd",
      "parents": [
        "53cd9ae886273d6c2b8ba4aa63d6cd6b1217b57f"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Sun Apr 02 23:04:46 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Sun Apr 02 23:04:46 2006 +0200"
      },
      "message": "[PATCH] splice: improve writeback and clean up page stealing\n\nBy cleaning up the writeback logic (killing write_one_page() and the manual\nset_page_dirty()), we can get rid of -\u003estolen inside the pipe_buffer and\njust keep it local in pipe_to_file().\n\nThis also adds dirty page balancing logic and O_SYNC handling.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "63589ed0785ffc715777a54ccb96cdfaea9edbc0",
      "tree": "8ef3e50b7f87a5a2f5b0d96d1e22a1277c2381c0",
      "parents": [
        "24c7cd0630f76f0eb081d539c53893d9f15787e8",
        "a580290c3e64bb695158a090d02d1232d9609311"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Apr 02 12:58:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Apr 02 12:58:45 2006 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (48 commits)\n  Documentation: fix minor kernel-doc warnings\n  BUG_ON() Conversion in drivers/net/\n  BUG_ON() Conversion in drivers/s390/net/lcs.c\n  BUG_ON() Conversion in mm/slab.c\n  BUG_ON() Conversion in mm/highmem.c\n  BUG_ON() Conversion in kernel/signal.c\n  BUG_ON() Conversion in kernel/signal.c\n  BUG_ON() Conversion in kernel/ptrace.c\n  BUG_ON() Conversion in ipc/shm.c\n  BUG_ON() Conversion in fs/freevxfs/\n  BUG_ON() Conversion in fs/udf/\n  BUG_ON() Conversion in fs/sysv/\n  BUG_ON() Conversion in fs/inode.c\n  BUG_ON() Conversion in fs/fcntl.c\n  BUG_ON() Conversion in fs/dquot.c\n  BUG_ON() Conversion in md/raid10.c\n  BUG_ON() Conversion in md/raid6main.c\n  BUG_ON() Conversion in md/raid5.c\n  Fix minor documentation typo\n  BFP-\u003eBPF in Documentation/networking/tuntap.txt\n  ...\n"
    },
    {
      "commit": "b043b673dc8a73daa233d5d92cf70b32e7351314",
      "tree": "d17fd0616420886adca7eb1bc19ba7a55a789fa8",
      "parents": [
        "cd5e25d93e6efeb93db7b6731b0a674495270621",
        "fb9c280d4c6d4586670e3dfd041d8258db36b330"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Apr 02 12:53:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Apr 02 12:53:57 2006 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb\n\n* master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (49 commits)\n  V4L/DVB (3667b): cpia2: fix function prototype\n  V4L/DVB (3702): Make msp3400 routing defines more consistent\n  V4L/DVB (3700): Remove obsolete commands from tvp5150.c\n  V4L/DVB (3697): More msp3400 and bttv fixes\n  V4L/DVB (3696): Previous change for cx2341X boards broke the remote support\n  V4L/DVB (3693): Fix msp3400c and bttv stereo/mono/bilingual detection/handling\n  V4L/DVB (3692): Keep experimental SLICED_VBI defines under an #if 0\n  V4L/DVB (3689): Kconfig: fix VP-3054 Secondary I2C Bus build configuration menu dependencies\n  V4L/DVB (3673): Fix budget-av CAM reset\n  V4L/DVB (3672): Fix memory leak in dvr open\n  V4L/DVB (3671): New module parameter \u0027tv_standard\u0027 (dvb-ttpci driver)\n  V4L/DVB (3670): Fix typo in comment\n  V4L/DVB (3669): Configurable dma buffer size for saa7146-based budget dvb cards\n  V4L/DVB (3653h): Move usb v4l docs into Documentation/video4linux\n  V4L/DVB (3667a): Fix SAP + stereo mode at msp3400\n  V4L/DVB (3666): Remove trailing newlines\n  V4L/DVB (3665): Add new NEC uPD64031A and uPD64083 i2c drivers\n  V4L/DVB (3663): Fix msp3400c wait time and better audio mode fallbacks\n  V4L/DVB (3662): Don\u0027t set msp3400c-non-existent register\n  V4L/DVB (3661): Add wm8739 stereo audio ADC i2c driver\n  ...\n"
    },
    {
      "commit": "9c8680e2cfbb60d5075f8caaf9d98276120bcc78",
      "tree": "1957cff26a46271d5b63a3c209629ddd7f9fe124",
      "parents": [
        "f900e5824a44ab65437b4f7e7c610b72f94820c5",
        "b9ec4e109d7a342e83e1210e05797222e36555c3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Apr 02 12:49:19 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Apr 02 12:49:19 2006 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/dtor/input\n\n* master.kernel.org:/pub/scm/linux/kernel/git/dtor/input: (26 commits)\n  Input: add support for Braille devices\n  Input: synaptics - limit rate to 40pps on Toshiba Protege M300\n  Input: gamecon - add SNES mouse support\n  Input: make modalias code respect allowed buffer size\n  Input: convert /proc handling to seq_file\n  Input: limit attributes\u0027 output to PAGE_SIZE\n  Input: gameport - fix memory leak\n  Input: serio - fix memory leak\n  Input: zaurus keyboard driver updates\n  Input: i8042 - fix logic around pnp_register_driver()\n  Input: ns558 - fix logic around pnp_register_driver()\n  Input: pcspkr - separate device and driver registration\n  Input: atkbd - allow disabling on X86_PC (if EMBEDDED)\n  Input: atkbd - disable softrepeat for dumb keyboards\n  Input: atkbd - fix complaints about \u0027releasing unknown key 0x7f\u0027\n  Input: HID - fix duplicate key mapping for Logitech UltraX remote\n  Input: use kzalloc() throughout the code\n  Input: fix input_free_device() implementation\n  Input: initialize serio and gameport at subsystem level\n  Input: uinput - semaphore to mutex conversion\n  ...\n"
    },
    {
      "commit": "bacd3add087770333bdce65cd3dd25e3b2cd67ac",
      "tree": "b9a5512a7abbf661020af87ee843e4ad711546ed",
      "parents": [
        "29e350944fdc2dfca102500790d8ad6d6ff4f69d",
        "9a1875e60e61b563737d8d1fc3876b279710fe93"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Apr 02 12:47:12 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Apr 02 12:47:12 2006 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:\n  [NET]: Fully fix the memory leaks in sys_accept().\n  [NETFILTER]: iptables 32bit compat layer\n  [NETFILTER]: {ip,nf}_conntrack_netlink: fix expectation notifier unregistration\n  [NETFILTER]: fix ifdef for connmark support in nf_conntrack_netlink\n  [NETFILTER]: x_tables: unify IPv4/IPv6 multiport match\n  [NETFILTER]: x_tables: unify IPv4/IPv6 esp match\n  [NET]: Fix dentry leak in sys_accept().\n  [IPSEC]: Kill unused decap state structure\n  [IPSEC]: Kill unused decap state argument\n  [NET]: com90xx kmalloc fix\n  [TG3]: Update driver version and reldate.\n  [TG3]: Revert \"Speed up SRAM access\"\n"
    },
    {
      "commit": "29e350944fdc2dfca102500790d8ad6d6ff4f69d",
      "tree": "7630809d75149b0053dcc45ad34e95d5506e88b3",
      "parents": [
        "b45e516f701e0fc81fb3dbd1ba9db35f991a4465"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Apr 02 12:46:35 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Apr 02 12:46:35 2006 -0700"
      },
      "message": "splice: add SPLICE_F_NONBLOCK flag\n\nIt doesn\u0027t make the splice itself necessarily nonblocking (because the\nactual file descriptors that are spliced from/to may block unless they\nhave the O_NONBLOCK flag set), but it makes the splice pipe operations\nnonblocking.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a580290c3e64bb695158a090d02d1232d9609311",
      "tree": "70f29239b9a206a9afb77ddff35fc47b5b248866",
      "parents": [
        "5d9428de1a9785f10a4339f80b717be665ba51c7"
      ],
      "author": {
        "name": "Martin Waitz",
        "email": "tali@admingilde.org",
        "time": "Sun Apr 02 13:59:55 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sun Apr 02 13:59:55 2006 +0200"
      },
      "message": "Documentation: fix minor kernel-doc warnings\n\nThis patch updates the comments to match the actual code.\n\nSigned-off-by: Martin Waitz \u003ctali@admingilde.org\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "9bc7400a9d01b1fe05c7f0200e7384e17794f6e4",
      "tree": "7dad2e13853c3ba7c2e913e2ee40229b1474155a",
      "parents": [
        "2868c41fc45399b0f0855eb760e1a81881ff0c3d"
      ],
      "author": {
        "name": "Hans Verkuil",
        "email": "hverkuil@xs4all.nl",
        "time": "Wed Mar 29 18:02:51 2006 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@infradead.org",
        "time": "Sun Apr 02 04:56:04 2006 -0300"
      },
      "message": "V4L/DVB (3692): Keep experimental SLICED_VBI defines under an #if 0\n\nThe sliced VBI defines added in videodev2.h are removed since requires\nmore discussion.\n\nSigned-off-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\n"
    },
    {
      "commit": "b9ec4e109d7a342e83e1210e05797222e36555c3",
      "tree": "47ff5cb19c3b43f9907006e7b491df547f29b71e",
      "parents": [
        "53a2670cd9611cf7c3b3bf9875b0b4041160fa60"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Sun Apr 02 00:10:28 2006 -0500"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dtor_core@ameritech.net",
        "time": "Sun Apr 02 00:10:28 2006 -0500"
      },
      "message": "Input: add support for Braille devices\n\n- Add KEY_BRL_* input keys and K_BRL_* keycodes;\n- Add emulation of how braille keyboards usually combine braille dots\n  to the console keyboard driver;\n- Add handling of unicode U+28xy diacritics.\n\nSigned-off-by: Samuel Thibault \u003csamuel.thibault@ens-lyon.org\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "95d465fd750897ab32462a6702fbfe1b122cbbc0",
      "tree": "65c38b2f11c51bb6932e44dd6c92f15b0091abfe",
      "parents": [
        "642fde17dceceb56c7ba2762733ac688666ae657",
        "683aa4012f53b2ada0f430487e05d37b0d94e90a"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dtor_core@ameritech.net",
        "time": "Sun Apr 02 00:08:05 2006 -0500"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dtor_core@ameritech.net",
        "time": "Sun Apr 02 00:08:05 2006 -0500"
      },
      "message": "Manual merge with Linus.\n\nConflicts:\n\tarch/powerpc/kernel/setup-common.c\n\tdrivers/input/keyboard/hil_kbd.c\n\tdrivers/input/mouse/hil_ptr.c\n"
    },
    {
      "commit": "2722971cbe831117686039d5c334f2c0f560be13",
      "tree": "b810ea96778e4f5de2a7713685c0551aa34c8f97",
      "parents": [
        "e64a70be5175ac2c209fa742123a6ce845852e0e"
      ],
      "author": {
        "name": "Dmitry Mishin",
        "email": "dim@openvz.org",
        "time": "Sat Apr 01 02:25:19 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 01 02:25:19 2006 -0800"
      },
      "message": "[NETFILTER]: iptables 32bit compat layer\n\nThis patch extends current iptables compatibility layer in order to get\n32bit iptables to work on 64bit kernel. Current layer is insufficient due\nto alignment checks both in kernel and user space tools.\n\nPatch is for current net-2.6.17 with addition of move of ipt_entry_{match|\ntarget} definitions to xt_entry_{match|target}.\n\nSigned-off-by: Dmitry Mishin \u003cdim@openvz.org\u003e\nAcked-off-by: Kirill Korotaev \u003cdev@openvz.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a89ecb6a2ef732d04058d87801e2b6bd7e5c7089",
      "tree": "c84c5b3167c116f0c419a2bbb04877bdac38dd07",
      "parents": [
        "dc5ab2faece3b7473931357db7f63f596678481d"
      ],
      "author": {
        "name": "Yasuyuki Kozakai",
        "email": "yasuyuki.kozakai@toshiba.co.jp",
        "time": "Sat Apr 01 02:22:54 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 01 02:22:54 2006 -0800"
      },
      "message": "[NETFILTER]: x_tables: unify IPv4/IPv6 multiport match\n\nThis unifies ipt_multiport and ip6t_multiport to xt_multiport.\nAs a result, this addes support for inversion and port range match\nto IPv6 packets.\n\nSigned-off-by: Yasuyuki Kozakai \u003cyasuyuki.kozakai@toshiba.co.jp\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dc5ab2faece3b7473931357db7f63f596678481d",
      "tree": "d1e5fd3e805e7d2c4136459cca17d5f8ed44bfb6",
      "parents": [
        "9606a21635cec077e1928273751b44ecc824a49d"
      ],
      "author": {
        "name": "Yasuyuki Kozakai",
        "email": "yasuyuki.kozakai@toshiba.co.jp",
        "time": "Sat Apr 01 02:22:30 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 01 02:22:30 2006 -0800"
      },
      "message": "[NETFILTER]: x_tables: unify IPv4/IPv6 esp match\n\nThis unifies ipt_esp and ip6t_esp to xt_esp. Please note that now\na user program needs to specify IPPROTO_ESP as protocol to use esp match\nwith IPv6. This means that ip6tables requires \u0027-p esp\u0027 like iptables.\n\nSigned-off-by: Yasuyuki Kozakai \u003cyasuyuki.kozakai@toshiba.co.jp\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8ba8e95ed14a2771bbcb43300feda094f298853e",
      "tree": "8f487c4f31175eea531fbf7305c91819eca17bec",
      "parents": [
        "36a891b67f95fd5e1442fc0f7f953809b94b3fbc"
      ],
      "author": {
        "name": "Kalin KOZHUHAROV",
        "email": "kalin@thinrope.net",
        "time": "Sat Apr 01 01:41:22 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Apr 01 01:41:22 2006 +0200"
      },
      "message": "Fix comments: s/granuality/granularity/\n\nI was grepping through the code and some `grep ganularity -R .` didn\u0027t\ncatch what I thought. Then looking closer I saw the term \"granuality\"\nused in only four places (in comments) and granularity in many more\nplaces describing the same idea. Some other facts:\n\ndictionary.com does not know such a word\ndefine:granuality on google is not found (and pages for granuality are\nmostly related to patches to the kernel)\nit has not been discussed as a term on LKML, AFAICS (\u003dCan Search)\n\nTo be consistent, I think granularity should be used everywhere.\n\nSigned-off-by: Kalin KOZHUHAROV \u003ckalin@thinrope.net\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "4b75679f60d0ce780609cbff249769b669f4fb69",
      "tree": "2c8890020b5e7d340036acb01f73a6e53feb038d",
      "parents": [
        "30c14e40ed85469f166b5effdab6705c73c5cd5e",
        "025be81e83043f20538dcced1e12c5f8d152fbdb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:52:30 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:52:30 2006 -0800"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:\n  [NET]: Allow skb headroom to be overridden\n  [TCP]: Kill unused extern decl for tcp_v4_hash_connecting()\n  [NET]: add SO_RCVBUF comment\n  [NET]: Deinline some larger functions from netdevice.h\n  [DCCP]: Use NULL for pointers, comfort sparse.\n  [DECNET]: Fix refcount\n"
    },
    {
      "commit": "a244e1698ae3609cdfe24088e1293593cb7a5278",
      "tree": "81f3e151c9b8118a3a917dd6b0d3c75556dc170b",
      "parents": [
        "0cb3463f04e771869f481e2dd44f66419e850586"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Mar 31 02:32:11 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:19:01 2006 -0800"
      },
      "message": "[PATCH] fs/namei.c: make lookup_hash() static\n\nAs announced, lookup_hash() can now become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a536093a2f07007aa572e922752b7491b9ea8ff2",
      "tree": "72f1036242f91ac77fbeb6b41c633af76e3d7358",
      "parents": [
        "2cbbb3b59c3ccdc55ad0c924fb49e09a962bb517"
      ],
      "author": {
        "name": "Antonino A. Daplas",
        "email": "adaplas@gmail.com",
        "time": "Fri Mar 31 02:31:54 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:19:00 2006 -0800"
      },
      "message": "[PATCH] fbcon: Fix big-endian bogosity in slow_imageblit()\n\nThe monochrome-\u003ecolor expansion routine that handles bitmaps which have\n(widths % 8) !\u003d 0 (slow_imageblit) produces corrupt characters in big-endian.\nThis is caused by a bogus bit test in slow_imageblit().\n\nFix.\n\nThis patch may deserve to go to the stable tree.  The code has already been\nwell tested in little-endian machines.  It\u0027s only in big-endian where there is\nuncertainty and Herbert confirmed that this is the correct way to go.\n\nIt should not introduce regressions.\n\nSigned-off-by: Antonino Daplas \u003cadaplas@pol.net\u003e\nAcked-by: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6ca017658b1f902c9bba2cc1017e301581f7728d",
      "tree": "9180b3923d4f6ef09c11d7f7386024f391508759",
      "parents": [
        "9b0e1c5dd2941aec566047e10a5cc929ca7f7d4f"
      ],
      "author": {
        "name": "Richard Purdie",
        "email": "rpurdie@rpsys.net",
        "time": "Fri Mar 31 02:31:49 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:19:00 2006 -0800"
      },
      "message": "[PATCH] backlight: Backlight Class Improvements\n\nBacklight class attributes are currently easy to implement incorrectly.\nMoving certain handling into the backlight core prevents this whilst at the\nsame time makes the drivers simpler and consistent.  The following changes are\nincluded:\n\nThe brightness attribute only sets and reads the brightness variable in the\nbacklight_properties structure.\n\nThe power attribute only sets and reads the power variable in the\nbacklight_properties structure.\n\nAny framebuffer blanking events change a variable fb_blank in the\nbacklight_properties structure.\n\nThe backlight driver has only two functions to implement.  One function is\ncalled when any of the above properties change (to update the backlight\nbrightness), the second is called to return the current backlight brightness\nvalue.  A new attribute \"actual_brightness\" is added to return this brightness\nas determined by the driver having combined all the above factors (and any\ndriver/device specific factors).\n\nAdditionally, the backlight core takes care of checking the maximum brightness\nis not exceeded and of turning off the backlight before device removal.\n\nThe corgi backlight driver is updated to reflect these changes.\n\nSigned-off-by: Richard Purdie \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Antonino Daplas \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3e7e241f8c5c87cc3685364feface081c9fa3648",
      "tree": "43ea46cfec4da31a505e93875feeac945bf906ce",
      "parents": [
        "92476d7fc0326a409ab1d3864a04093a6be9aca7"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Mar 31 02:31:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:19:00 2006 -0800"
      },
      "message": "[PATCH] dcache: Add helper d_hash_and_lookup\n\nIt is very common to hash a dentry and then to call lookup.  If we take fs\nspecific hash functions into account the full hash logic can get ugly.\nFurther full_name_hash as an inline function is almost 100 bytes on x86 so\nhaving a non-inline choice in some cases can measurably decrease code size.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "92476d7fc0326a409ab1d3864a04093a6be9aca7",
      "tree": "ea50a5a31522492d9915e0763a7adc6ac87c4fbc",
      "parents": [
        "8c7904a00b06d2ee51149794b619e07369fcf9d4"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Mar 31 02:31:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:19:00 2006 -0800"
      },
      "message": "[PATCH] pidhash: Refactor the pid hash table\n\nSimplifies the code, reduces the need for 4 pid hash tables, and makes the\ncode more capable.\n\nIn the discussions I had with Oleg it was felt that to a large extent the\ncleanup itself justified the work.  With struct pid being dynamically\nallocated meant we could create the hash table entry when the pid was\nallocated and free the hash table entry when the pid was freed.  Instead of\nplaying with the hash lists when ever a process would attach or detach to a\nprocess.\n\nFor myself the fact that it gave what my previous task_ref patch gave for free\nwith simpler code was a big win.  The problem is that if you hold a reference\nto struct task_struct you lock in 10K of low memory.  If you do that in a user\ncontrollable way like /proc does, with an unprivileged but hostile user space\napplication with typical resource limits of 1000 fds and 100 processes I can\ntrigger the OOM killer by consuming all of low memory with task structs, on a\nmachine wight 1GB of low memory.\n\nIf I instead hold a reference to struct pid which holds a pointer to my\ntask_struct, I don\u0027t suffer from that problem because struct pid is 2 orders\nof magnitude smaller.  In fact struct pid is small enough that most other\nkernel data structures dwarf it, so simply limiting the number of referring\ndata structures is enough to prevent exhaustion of low memory.\n\nThis splits the current struct pid into two structures, struct pid and struct\npid_link, and reduces our number of hash tables from PIDTYPE_MAX to just one.\nstruct pid_link is the per process linkage into the hash tables and lives in\nstruct task_struct.  struct pid is given an indepedent lifetime, and holds\npointers to each of the pid types.\n\nThe independent life of struct pid simplifies attach_pid, and detach_pid,\nbecause we are always manipulating the list of pids and not the hash table.\nIn addition in giving struct pid an indpendent life it makes the concept much\nmore powerful.\n\nKernel data structures can now embed a struct pid * instead of a pid_t and\nnot suffer from pid wrap around problems or from keeping unnecessarily\nlarge amounts of memory allocated.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8c7904a00b06d2ee51149794b619e07369fcf9d4",
      "tree": "c995150254e17dfda6e1679c3249343586e178cb",
      "parents": [
        "e4e5d3fc80d26ed26ebe42907b224f08d7eccfbf"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Mar 31 02:31:37 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:59 2006 -0800"
      },
      "message": "[PATCH] task: RCU protect task-\u003eusage\n\nA big problem with rcu protected data structures that are also reference\ncounted is that you must jump through several hoops to increase the reference\ncount.  I think someone finally implemented atomic_inc_not_zero(\u0026count) to\nautomate the common case.  Unfortunately this means you must special case the\nrcu access case.\n\nWhen data structures are only visible via rcu in a manner that is not\ndetermined by the reference count on the object (i.e.  tasks are visible until\ntheir zombies are reaped) there is a much simpler technique we can employ.\nSimply delaying the decrement of the reference count until the rcu interval is\nover.\n\nWhat that means is that the proc code that looks up a task and later\nwants to sleep can now do:\n\nrcu_read_lock();\ntask \u003d find_task_by_pid(some_pid);\nif (task) {\n\tget_task_struct(task);\n}\nrcu_read_unlock();\n\nThe effect on the rest of the kernel is that put_task_struct becomes cheaper\nand immediate, and in the case where the task has been reaped it frees the\ntask immediate instead of unnecessarily waiting an until the rcu interval is\nover.\n\nCleanup of task_struct does not happen when its reference count drops to\nzero, instead cleanup happens when release_task is called.  Tasks can only\nbe looked up via rcu before release_task is called.  All rcu protected\nmembers of task_struct are freed by release_task.\n\nTherefore we can move call_rcu from put_task_struct into release_task.  And\nwe can modify release_task to not immediately release the reference count\nbut instead have it call put_task_struct from the function it gives to\ncall_rcu.\n\nThe end result:\n\n- get_task_struct is safe in an rcu context where we have just looked\n  up the task.\n\n- put_task_struct() simplifies into its old pre rcu self.\n\nThis reorganization also makes put_task_struct uncallable from modules as\nit is not exported but it does not appear to be called from any modules so\nthis should not be an issue, and is trivially fixed.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "158d9ebd19280582da172626ad3edda1a626dace",
      "tree": "5b821a6faf28d136b65ae30a56e7f731adc11c28",
      "parents": [
        "390e2ff07712468ce6600a43aa91e897b056ce12"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 31 02:31:34 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:59 2006 -0800"
      },
      "message": "[PATCH] resurrect __put_task_struct\n\nThis just got nuked in mainline.  Bring it back because Eric\u0027s patches use it.\n\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d425b274ba83ba4e7746a40446ec0ba3267de51f",
      "tree": "73d3342be7ba8ef8d18a8c3cc9fea6e026e2bffa",
      "parents": [
        "7c4bb1f9b3788309e1159961c606ba0bdf7ed382"
      ],
      "author": {
        "name": "Con Kolivas",
        "email": "kernel@kolivas.org",
        "time": "Fri Mar 31 02:31:29 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:59 2006 -0800"
      },
      "message": "[PATCH] sched: activate SCHED BATCH expired\n\nTo increase the strength of SCHED_BATCH as a scheduling hint we can\nactivate batch tasks on the expired array since by definition they are\nlatency insensitive tasks.\n\nSigned-off-by: Con Kolivas \u003ckernel@kolivas.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": "3dee386e14045484a6c41c8f03a263f9d79de740",
      "tree": "4b1643508ad94981e8d4deb5136d0a626e60932d",
      "parents": [
        "db1b1fefc2cecbff2e4214062fa8c680cb6e7b7d"
      ],
      "author": {
        "name": "Con Kolivas",
        "email": "kernel@kolivas.org",
        "time": "Fri Mar 31 02:31:23 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:58 2006 -0800"
      },
      "message": "[PATCH] sched: cleanup task_activated()\n\nThe activated flag in task_struct is used to track different sleep types and\nits usage is somewhat obfuscated.  Convert the variable to an enum with more\ndescriptive names without altering the function.\n\nSigned-off-by: Con Kolivas \u003ckernel@kolivas.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": "db1b1fefc2cecbff2e4214062fa8c680cb6e7b7d",
      "tree": "ad8e68882f7c36216e16ab264101c5da96ccd5c9",
      "parents": [
        "3055addadbe9bfb2365006a1c13fd342a8d30d52"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Fri Mar 31 02:31:21 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:58 2006 -0800"
      },
      "message": "[PATCH] sched: reduce overhead of calc_load\n\nCurrently, count_active_tasks() calls both nr_running() \u0026\nnr_interruptible().  Each of these functions does a \"for_each_cpu\" \u0026 reads\nvalues from the runqueue of each cpu.  Although this is not a lot of\ninstructions, each runqueue may be located on different node.  Depending on\nthe architecture, a unique TLB entry may be required to access each\nrunqueue.\n\nSince there may be more runqueues than cpu TLB entries, a scan of all\nrunqueues can trash the TLB.  Each memory reference incurs a TLB miss \u0026\nrefill.\n\nIn addition, the runqueue cacheline that contains nr_running \u0026\nnr_uninterruptible may be evicted from the cache between the two passes.\nThis causes unnecessary cache misses.\n\nCombining nr_running() \u0026 nr_interruptible() into a single function\nsubstantially reduces the TLB \u0026 cache misses on large systems.  This should\nhave no measureable effect on smaller systems.\n\nOn a 128p IA64 system running a memory stress workload, the new function\nreduced the overhead of calc_load() from 605 usec/call to 324 usec/call.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\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": "00362e33f65f1cb5d15e62ea5509520ce2770360",
      "tree": "02694b1416f3d98c4eebaeca7864c7fd3bad6fa0",
      "parents": [
        "2bfb646cdf348cb77c572f06d5b9d17ea205c7e2"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 31 02:31:17 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:58 2006 -0800"
      },
      "message": "[PATCH] hrtimer: create generic sleeper\n\nThe removal of the data field in the hrtimer structure enforces the\nembedding of the timer into another data structure.  nanosleep now uses a\nprivate implementation of the most common used timer callback function\n(simple task wakeup).\n\nIn order to avoid the reimplentation of such functionality all over the\nplace a generic hrtimer_sleeper functionality is created.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\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": "2bfb646cdf348cb77c572f06d5b9d17ea205c7e2",
      "tree": "a26ed9aedb7af67d9421b14ad6cdd0714d91195f",
      "parents": [
        "03731fbdd09f8db4af86dbf437e3169fb1920d5e"
      ],
      "author": {
        "name": "Richard Purdie",
        "email": "rpurdie@rpsys.net",
        "time": "Fri Mar 31 02:31:16 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:57 2006 -0800"
      },
      "message": "[PATCH] LED: Add IDE disk activity LED trigger\n\nAdd an LED trigger for IDE disk activity to the ide-disk driver.\n\nSigned-off-by: Richard Purdie \u003crpurdie@rpsys.net\u003e\nAcked-by: Bartlomiej Zolnierkiewicz \u003cB.Zolnierkiewicz@elka.pw.edu.pl\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c3bc9956ec52fb2c70f29aa894d8eec766116584",
      "tree": "c93aa56e6793cfa283d13a28cfa6c02a30f6c794",
      "parents": [
        "c72a1d608dd0eb3d553a08bfdf1c0041bebaa8a0"
      ],
      "author": {
        "name": "Richard Purdie",
        "email": "rpurdie@rpsys.net",
        "time": "Fri Mar 31 02:31:05 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:56 2006 -0800"
      },
      "message": "[PATCH] LED: add LED trigger tupport\n\nAdd support for LED triggers to the LED subsystem.  \"Triggers\" are events\nwhich change the state of an LED.  Two kinds of trigger are available, simple\nones which can be added to exising code with minimum disruption and complex\nones for implementing new or more complex functionality.\n\nSigned-off-by: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: 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": "c72a1d608dd0eb3d553a08bfdf1c0041bebaa8a0",
      "tree": "56715f0e0af8a9c33725f3db2f14cf7f870ad46d",
      "parents": [
        "75c1d31d9ea71025b73430c696b727e8aa15872d"
      ],
      "author": {
        "name": "Richard Purdie",
        "email": "rpurdie@rpsys.net",
        "time": "Fri Mar 31 02:31:04 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:56 2006 -0800"
      },
      "message": "[PATCH] LED: add LED class\n\nAdd the foundations of a new LEDs subsystem.  This patch adds a class which\npresents LED devices within sysfs and allows their brightness to be\ncontrolled.\n\nSigned-off-by: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\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": "0ca07731e495584bd84dca15a0f065470d594ec4",
      "tree": "d043e8b64b43361051e1e6b40ee37382591825df",
      "parents": [
        "d32af0fe11b1618572389723e93cf33a4cc11c81"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Mar 31 02:30:58 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:56 2006 -0800"
      },
      "message": "[PATCH] vt: add TIOCL_GETKMSGREDIRECT\n\nAdd TIOCL_GETKMSGREDIRECT needed by the userland suspend tool to get the\ncurrent value of kmsg_redirect from the kernel so that it can save it and\nrestore it after resume.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f79e2abb9bd452d97295f34376dedbec9686b986",
      "tree": "56b9998caa11983556e842fb9a8143d86d765fa3",
      "parents": [
        "d6dfd1310d3562698fd7c3c086f6c239f96394ac"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 31 02:30:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:54 2006 -0800"
      },
      "message": "[PATCH] sys_sync_file_range()\n\nRemove the recently-added LINUX_FADV_ASYNC_WRITE and LINUX_FADV_WRITE_WAIT\nfadvise() additions, do it in a new sys_sync_file_range() syscall instead.\nReasons:\n\n- It\u0027s more flexible.  Things which would require two or three syscalls with\n  fadvise() can be done in a single syscall.\n\n- Using fadvise() in this manner is something not covered by POSIX.\n\nThe patch wires up the syscall for x86.\n\nThe sycall is implemented in the new fs/sync.c.  The intention is that we can\nmove sys_fsync(), sys_fdatasync() and perhaps sys_sync() into there later.\n\nDocumentation for the syscall is in fs/sync.c.\n\nA test app (sync_file_range.c) is in\nhttp://www.zip.com.au/~akpm/linux/patches/stuff/ext3-tools.tar.gz.\n\nThe available-to-GPL-modules do_sync_file_range() is for knfsd: \"A COMMIT can\nsay NFS_DATA_SYNC or NFS_FILE_SYNC.  I can skip the -\u003efsync call for\nNFS_DATA_SYNC which is hopefully the more common.\"\n\nNote: the `async\u0027 writeout mode SYNC_FILE_RANGE_WRITE will turn synchronous if\nthe queue is congested.  This is trivial to fix: add a new flag bit, set\nwbc-\u003enonblocking.  But I\u0027m not sure that we want to expose implementation\ndetails down to that level.\n\nNote: it\u0027s notable that we can sync an fd which wasn\u0027t opened for writing.\nSame with fsync() and fdatasync()).\n\nNote: the code takes some care to handle attempts to sync file contents\noutside the 16TB offset on 32-bit machines.  It makes such attempts appear to\nsucceed, for best 32-bit/64-bit compatibility.  Perhaps it should make such\nrequests fail...\n\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "453823ba08ba762b3d58934b6dce75edce37169e",
      "tree": "80170bf784145621467ba83ea44d25dc3e5e5964",
      "parents": [
        "ee37df7877eeaa16d7761cce64854110a7c17ad9"
      ],
      "author": {
        "name": "Corey Minyard",
        "email": "minyard@acm.org",
        "time": "Fri Mar 31 02:30:39 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:54 2006 -0800"
      },
      "message": "[PATCH] IPMI: fix startup race condition\n\nMatt Domsch noticed a startup race with the IPMI kernel thread, it was\npossible (though extraordinarly unlikely) that a message could come in\nbefore the upper layer was ready to handle it.  This patch splits the\nstartup processing of an IPMI interface into two parts, one to get ready\nand one to actually start the processes to receive messages from the\ninterface.\n\n[akpm@osdl.org: cleanups]\nSigned-off-by: Corey Minyard \u003cminyard@acm.org\u003e\nCc: Matt Domsch \u003cMatt_Domsch@dell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "68eef3b4791572ecb70249c7fb145bb3742dd899",
      "tree": "1f61fce839cec8d672ae06a423d46f0a6fcd924d",
      "parents": [
        "a2c348fe0117adced11e374329a5ea3f7c43cb41"
      ],
      "author": {
        "name": "Joe Korty",
        "email": "joe.korty@ccur.com",
        "time": "Fri Mar 31 02:30:32 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:53 2006 -0800"
      },
      "message": "[PATCH] Simplify proc/devices and fix early termination regression\n\nMake baby-simple the code for /proc/devices.  Based on the proven design\nfor /proc/interrupts.\n\nThis also fixes the early-termination regression 2.6.16 introduced, as\ndemonstrated by:\n\n    # dd if\u003d/proc/devices bs\u003d1\n    Character devices:\n      1 mem\n    27+0 records in\n    27+0 records out\n\nThis should also work (but is untested) when /proc/devices \u003e4096 bytes,\nwhich I believe is what the original 2.6.16 rewrite fixed.\n\n[akpm@osdl.org: cleanups, simplifications]\nSigned-off-by: Joe Korty \u003cjoe.korty@ccur.com\u003e\nCc: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3691c5199e8a4be1c7a91b5ab925db5feb866e19",
      "tree": "025210545818b080df13faa31c9266432579794c",
      "parents": [
        "5ce29646ebe352587e3b3160d599010c5da1b9dd"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Mar 31 02:30:30 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:52 2006 -0800"
      },
      "message": "[PATCH] kill __init_timer_base in favor of boot_tvec_bases\n\nCommit a4a6198b80cf82eb8160603c98da218d1bd5e104:\n\t[PATCH] tvec_bases too large for per-cpu data\n\nintroduced \"struct tvec_t_base_s boot_tvec_bases\" which is visible at\ncompile time.  This means we can kill __init_timer_base and move\ntimer_base_s\u0027s content into tvec_t_base_s.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "93fac7041f082297b93655a0e49f659cd7520e40",
      "tree": "2d8f295087377d4ac0ceea49dd67bb682b04c749",
      "parents": [
        "9bf9e89c3d147ca8cf9622d2d053684fba77a464"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Fri Mar 31 02:29:56 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:49 2006 -0800"
      },
      "message": "[PATCH] mm: schedule find_trylock_page() removal\n\nfind_trylock_page() is an odd interface in that it doesn\u0027t take a reference\nlike the others.  Now that XFS no longer uses it, and its last remaining\ncaller actually wants an elevated refcount, opencode that callsite and\nschedule find_trylock_page() for removal.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: 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": "9bf9e89c3d147ca8cf9622d2d053684fba77a464",
      "tree": "e47d654953aea7226b47489d4ed6e94acd8014d8",
      "parents": [
        "b5ac5d7edb64b3ca1a489b30d95d62492a1f0b80"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Mar 31 02:29:56 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:49 2006 -0800"
      },
      "message": "[PATCH] migrate_pages_to() must be defined for the no swap case\n\nFix migrate_pages_to() definition.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0500abf52109d09bf60d740dec2e41d6cf265688",
      "tree": "1f1b4479e5ec5643647c02547bebe162ea8245a7",
      "parents": [
        "48b192686dd20cb1576ae1d8ccd17a07971ef24a"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Mar 31 02:29:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:48 2006 -0800"
      },
      "message": "[PATCH] drivers/mtd/: small cleanups\n\n- chips/sharp.c: make two needlessly global functions static\n\n- move some declarations to a header file where they belong to\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-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": "48b192686dd20cb1576ae1d8ccd17a07971ef24a",
      "tree": "a4e5f5a74c230439fdbdc895f7874c68bf505565",
      "parents": [
        "040d79f906654d55c810313f29c6605593bf21c5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 31 02:29:41 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:48 2006 -0800"
      },
      "message": "[PATCH] sem2mutex: drivers/mtd/\n\nSemaphore to mutex conversion.\n\nThe conversion was generated via scripts, and the result was validated\nautomatically via a script as well.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-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": "025be81e83043f20538dcced1e12c5f8d152fbdb",
      "tree": "b5789ee2931739c7066f5369ce699ef4f3fa758e",
      "parents": [
        "0803dbed7a23721d091639c9e173c0389dcd524a"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Fri Mar 31 02:27:06 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 31 02:27:06 2006 -0800"
      },
      "message": "[NET]: Allow skb headroom to be overridden\n\nPreviously we added NET_IP_ALIGN so an architecture can override the\npadding done to align headers. The next step is to allow the skb\nheadroom to be overridden.\n\nWe currently always reserve 16 bytes to grow into, meaning all DMAs\nstart 16 bytes into a cacheline. On ppc64 we really want DMA writes to\nstart on a cacheline boundary, so we increase that headroom to one\ncacheline.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "256414dee44eaa0983f5ab1a71877de23c4e9ce7",
      "tree": "770768cdd6ff6324f55fd305cb26109e89322fb0",
      "parents": [
        "63e8d9114dab88c101be2372cb1f83a4fe74d9c1",
        "55d8ca4f8094246da6e71889a4e04bfafaa78b10"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 30 14:29:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 30 14:29:20 2006 -0800"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027upstream-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:\n  [PATCH] sata_mv: three bug fixes\n  [PATCH] libata: ata_dev_init_params() fixes\n  [PATCH] libata: Fix interesting use of \"extern\" and also some bracketing\n  [PATCH] libata: Simplex and other mode filtering logic\n  [PATCH] libata - ATA is both ATA and CFA\n  [PATCH] libata: Add -\u003eset_mode hook for odd drivers\n  [PATCH] libata: BMDMA handling updates\n  [PATCH] libata: kill trailing whitespace\n  [PATCH] libata: add FIXME above ata_dev_xfermask()\n  [PATCH] libata: cosmetic changes in ata_bus_softreset()\n  [PATCH] libata: kill E.D.D.\n"
    },
    {
      "commit": "5abc97aa25b2c41413b3a520faee83f2282d9f18",
      "tree": "4ba13ae0e91f15d02986df7cdca5e9455212d7d4",
      "parents": [
        "5274f052e7b3dbd81935772eb551dfd0325dfa9d"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Mar 30 15:16:46 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 30 12:28:18 2006 -0800"
      },
      "message": "[PATCH] splice: add support for SPLICE_F_MOVE flag\n\nThis enables the caller to migrate pages from one address space page\ncache to another.  In buzz word marketing, you can do zero-copy file\ncopies!\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5274f052e7b3dbd81935772eb551dfd0325dfa9d",
      "tree": "c79f813ec513660edb6f1e4a75cb366c6b84f53f",
      "parents": [
        "5d4fe2c1ce83c3e967ccc1ba3d580c1a5603a866"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Mar 30 15:15:30 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 30 12:28:18 2006 -0800"
      },
      "message": "[PATCH] Introduce sys_splice() system call\n\nThis adds support for the sys_splice system call. Using a pipe as a\ntransport, it can connect to files or sockets (latter as output only).\n\nFrom the splice.c comments:\n\n   \"splice\": joining two ropes together by interweaving their strands.\n\n   This is the \"extended pipe\" functionality, where a pipe is used as\n   an arbitrary in-memory buffer. Think of a pipe as a small kernel\n   buffer that you can use to transfer data from one end to the other.\n\n   The traditional unix read/write is extended with a \"splice()\" operation\n   that transfers data buffers to or from a pipe buffer.\n\n   Named by Larry McVoy, original implementation from Linus, extended by\n   Jens to support splicing to files and fixing the initial implementation\n   bugs.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5444a6f405618706eddbe1605ef8533b1b655764",
      "tree": "9265a1e65563add47a9fe5f1ddae44d6dd0742e3",
      "parents": [
        "692785e798f341c057ff976c35a3d86ad5af8ac6"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Mar 27 18:58:20 2006 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Mar 29 19:30:28 2006 -0500"
      },
      "message": "[PATCH] libata: Simplex and other mode filtering logic\n\nAdd a field to the host_set called \u0027flags\u0027 (was host_set_flags changed\nto suit Jeff)\nAdd a simplex_claimed field so we can remember who owns the DMA channel\nAdd a -\u003emode_filter() hook to allow drivers to filter modes\nAdd docs for mode_filter and set_mode\nFilter according to simplex state\nFilter cable in core\n\nThis provides the needed framework to support all the mode rules found\nin the PATA world. The simplex filter deals with \u0027to spec\u0027 simplex DMA\nsystems found in older chips. The cable filter avoids duplicating the\nsame rules in each chip driver with PATA. Finally the mode filter is\nneccessary because drive/chip combinations have errata that forbid\ncertain modes with some drives or types of ATA object.\n\nDrive speed setup remains per channel for now and the filters now use\nthe framework Tejun put into place which cleans them up a lot from the\nolder libata-pata patches.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "e35a9e01f2a504871e70576a9e11dbe4d8dee456",
      "tree": "4761c2d8b9d827d95cc531376e5c02666734ecf6",
      "parents": [
        "4e5ec5dba22ea509b1a004f9815751f0ffc815e5"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Mar 27 18:46:37 2006 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Mar 29 19:30:27 2006 -0500"
      },
      "message": "[PATCH] libata: Add -\u003eset_mode hook for odd drivers\n\nSome hardware doesn\u0027t want the usual mode setup logic running. This\nallows the hardware driver to replace it for special cases in the least\ninvasive way possible.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "4e5ec5dba22ea509b1a004f9815751f0ffc815e5",
      "tree": "d7387c3051e51a8bca060918f4a3a8a1a7962715",
      "parents": [
        "05c8e0ac5c37e9739a852b526afeecae97607cbb"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Mar 27 18:42:40 2006 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Mar 29 19:30:27 2006 -0500"
      },
      "message": "[PATCH] libata: BMDMA handling updates\n\nThis is the minimal patch set to enable the current code to be used with\na controller following SFF (ie any PATA and early SATA controllers)\nsafely without crashes if there is no BMDMA area or if BMDMA is not\nassigned by the BIOS for some reason.\n\nSimplex status is recorded but not acted upon in this change, this isn\u0027t\na problem with the current drivers as none of them are for simplex\nhardware. A following diff will deal with that.\n\nThe flags in the probe structure remain -\u003ehost_set_flags although Jeff\nasked me to rename them, simply because the rename would break the usual\nLinux rules that old code should break when there are changes. not\ncompile and run and then blow up/eat your computer/etc. Renaming this\nlater is a trivial exercise once a better name is chosen.\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "56079431b6ba163df8ba26b3eccc82379f0c0ce4",
      "tree": "cdcfb1fdee55c567603ede007c7b0c91efe29b3a",
      "parents": [
        "68907dad58cd7ef11536e1db6baeb98b20af91b2"
      ],
      "author": {
        "name": "Denis Vlasenko",
        "email": "vda@ilport.com.ua",
        "time": "Wed Mar 29 15:57:29 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 29 15:57:29 2006 -0800"
      },
      "message": "[NET]: Deinline some larger functions from netdevice.h\n\nOn a allyesconfig\u0027ured kernel:\n\nSize  Uses Wasted Name and definition\n\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n   95  162  12075 netif_wake_queue      include/linux/netdevice.h\n  129   86   9265 dev_kfree_skb_any     include/linux/netdevice.h\n  127   56   5885 netif_device_attach   include/linux/netdevice.h\n   73   86   4505 dev_kfree_skb_irq     include/linux/netdevice.h\n   46   60   1534 netif_device_detach   include/linux/netdevice.h\n  119   16   1485 __netif_rx_schedule   include/linux/netdevice.h\n  143    5    492 netif_rx_schedule     include/linux/netdevice.h\n   81    7    366 netif_schedule        include/linux/netdevice.h\n\nnetif_wake_queue is big because __netif_schedule is a big inline:\n\nstatic inline void __netif_schedule(struct net_device *dev)\n{\n        if (!test_and_set_bit(__LINK_STATE_SCHED, \u0026dev-\u003estate)) {\n                unsigned long flags;\n                struct softnet_data *sd;\n\n                local_irq_save(flags);\n                sd \u003d \u0026__get_cpu_var(softnet_data);\n                dev-\u003enext_sched \u003d sd-\u003eoutput_queue;\n                sd-\u003eoutput_queue \u003d dev;\n                raise_softirq_irqoff(NET_TX_SOFTIRQ);\n                local_irq_restore(flags);\n        }\n}\n\nstatic inline void netif_wake_queue(struct net_device *dev)\n{\n#ifdef CONFIG_NETPOLL_TRAP\n        if (netpoll_trap())\n                return;\n#endif\n        if (test_and_clear_bit(__LINK_STATE_XOFF, \u0026dev-\u003estate))\n                __netif_schedule(dev);\n}\n\nBy de-inlining __netif_schedule we are saving a lot of text\nat each callsite of netif_wake_queue and netif_schedule.\n__netif_rx_schedule is also big, and it makes more sense to keep\nboth of them out of line.\n\nPatch also deinlines dev_kfree_skb_any. We can deinline dev_kfree_skb_irq\ninstead... oh well.\n\nnetif_device_attach/detach are not hot paths, we can deinline them too.\n\nSigned-off-by: Denis Vlasenko \u003cvda@ilport.com.ua\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e02a4cabfcb9a999b74a2e2e6f13ffcb7ff2d606",
      "tree": "2f3db60be4c57eca2a4c3ab3f3122dcf1ec0c624",
      "parents": [
        "600511e86babe3727264a0883a3a264f6fb6caf5",
        "f3cab8a0b1a772dc8b055b7affa567a366627c9e"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Mar 29 17:18:49 2006 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Mar 29 17:18:49 2006 -0500"
      },
      "message": "Merge branch \u0027master\u0027\n"
    },
    {
      "commit": "76babde121d2ffef04ca692ce64ef9f8a9866086",
      "tree": "294923bbb4974258d86d223e35eee691abacdfb1",
      "parents": [
        "e71ac6032edf77a1e4a81f3e3b260807e94b37a5",
        "15e812ad849e142e3dfc984d33c4d8042389f148"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 29 11:28:30 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 29 11:28:30 2006 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (67 commits)\n  [PATCH] powerpc: Remove oprofile spinlock backtrace code\n  [PATCH] powerpc: Add oprofile calltrace support to all powerpc cpus\n  [PATCH] powerpc: Add oprofile calltrace support\n  [PATCH] for_each_possible_cpu: ppc\n  [PATCH] for_each_possible_cpu: powerpc\n  [PATCH] lock PTE before updating it in 440/BookE page fault handler\n  [PATCH] powerpc: Kill _machine and hard-coded platform numbers\n  ppc: Fix compile error in arch/ppc/lib/strcase.c\n  [PATCH] git-powerpc: WARN was a dumb idea\n  [PATCH] powerpc: a couple of trivial compile warning fixes\n  powerpc: remove OCP references\n  powerpc: Make uImage default build output for MPC8540 ADS\n  powerpc: move math-emu over to arch/powerpc\n  powerpc: use memparse() for mem\u003d command line parsing\n  ppc: fix strncasecmp prototype\n  [PATCH] powerpc: make ISA floppies work again\n  [PATCH] powerpc: Fix some initcall return values\n  [PATCH] powerpc: Workaround for pSeries RTAS bug\n  [PATCH] spufs: fix __init/__exit annotations\n  [PATCH] powerpc: add hvc backend for rtas\n  ...\n"
    },
    {
      "commit": "a7e5328a06a2beee3a2bbfaf87ce2a7bbe937de1",
      "tree": "168102a80e9b98d19e8bf39156d35dacdb253c3d",
      "parents": [
        "4a2c7a7837da1b91468e50426066d988050e4d56"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Mar 28 16:11:27 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:44 2006 -0800"
      },
      "message": "[PATCH] cleanup __exit_signal-\u003ecleanup_sighand path\n\nMove \u0027tsk-\u003esighand \u003d NULL\u0027 from cleanup_sighand() to __exit_signal().  This\nmakes the exit path more understandable and allows us to do\ncleanup_sighand() outside of -\u003esiglock protected section.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "47e65328a7b1cdfc4e3102e50d60faf94ebba7d3",
      "tree": "78e00a5321cca87767806a91e623e71b5c6637c7",
      "parents": [
        "88531f725bd52e37a7be726860e4ff3f09031d89"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Mar 28 16:11:25 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:44 2006 -0800"
      },
      "message": "[PATCH] pids: kill PIDTYPE_TGID\n\nThis patch kills PIDTYPE_TGID pid_type thus saving one hash table in\nkernel/pid.c and speeding up subthreads create/destroy a bit.  It is also a\npreparation for the further tref/pids rework.\n\nThis patch adds \u0027struct list_head thread_group\u0027 to \u0027struct task_struct\u0027\ninstead.\n\nWe don\u0027t detach group leader from PIDTYPE_PID namespace until another\nthread inherits it\u0027s -\u003epid \u003d\u003d -\u003etgid, so we are safe wrt premature\nfree_pidmap(-\u003etgid) call.\n\nCurrently there are no users of find_task_by_pid_type(PIDTYPE_TGID).\nShould the need arise, we can use find_task_by_pid()-\u003egroup_leader.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-By: Eric Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6a14c5c9da0b4c34b5be783403c54f0396fcfe77",
      "tree": "63e40e5761eb5327ae4f713b284c67128cb4d261",
      "parents": [
        "c81addc9d3a0ebff2155e0cd86f90820ab97147e"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Mar 28 16:11:18 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:43 2006 -0800"
      },
      "message": "[PATCH] move __exit_signal() to kernel/exit.c\n\n__exit_signal() is private to release_task() now.  I think it is better to\nmake it static in kernel/exit.c and export flush_sigqueue() instead - this\nfunction is much more simple and straightforward.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c81addc9d3a0ebff2155e0cd86f90820ab97147e",
      "tree": "56eb3a50f71e7a0e2a0f0daef4ec097375b06f8d",
      "parents": [
        "29ff471234d53c7235db287bc52f91884c2977c6"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Mar 28 16:11:17 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:43 2006 -0800"
      },
      "message": "[PATCH] rename __exit_sighand to cleanup_sighand\n\nCosmetic, rename __exit_sighand to cleanup_sighand and move it close to\ncopy_sighand().\n\nThis matches copy_signal/cleanup_signal naming, and I think it is easier to\nfollow.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6b3934ef52712ece50605dfc72e55d00c580831a",
      "tree": "5ec3c4f69a20880f75de6ff8d7d2f67d96328df3",
      "parents": [
        "7001510d0cbf51ad202dd2d0744f54104285cbb9"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Mar 28 16:11:16 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:42 2006 -0800"
      },
      "message": "[PATCH] copy_process: cleanup bad_fork_cleanup_signal\n\n__exit_signal() does important cleanups atomically under -\u003esiglock.  It is\nalso called from copy_process\u0027s error path.  This is not good, for example we\ncan\u0027t move __unhash_process() under -\u003esiglock for that reason.\n\nWe should not mix these 2 paths, just look at ugly \u0027if (p-\u003esighand)\u0027 under\n\u0027bad_fork_cleanup_sighand:\u0027 label.  For copy_process() case it is sufficient\nto just backout copy_signal(), nothing more.\n\nAgain, nobody can see this task yet.  For CLONE_THREAD case we just decrement\nsignal-\u003ecount, otherwise nobody can see this -\u003esignal and we can free it\nlockless.\n\nThis patch assumes it is safe to do exit_thread_group_keys() without\ntasklist_lock.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\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": "7001510d0cbf51ad202dd2d0744f54104285cbb9",
      "tree": "1df2a6930c460c12026231634b86d14b153a4a86",
      "parents": [
        "a9e88e84b5245da0a1dadb6ccca70ae84e93ccf6"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Mar 28 16:11:14 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:42 2006 -0800"
      },
      "message": "[PATCH] copy_process: cleanup bad_fork_cleanup_sighand\n\nThe only caller of exit_sighand(tsk) is copy_process\u0027s error path.  We can\ncall __exit_sighand() directly and kill exit_sighand().\n\nThis \u0027tsk\u0027 was not yet registered in pid_hash[] or init_task.tasks, it has no\nexternal references, nobody can see it, and\n\n\tIF (clone_flags \u0026 CLONE_SIGHAND)\n\t\tAt least \u0027current\u0027 has a reference to -\u003esighand, this\n\t\tmeans atomic_dec_and_test(sighand-\u003ecount) can\u0027t be true.\n\n\tELSE\n\t\tNobody can see this -\u003esighand, this means we can free it\n\t\twithout any locking.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f63ee72e0fb82e504a0489490babc7612c7cd6c2",
      "tree": "85167f8016d1f746135bf1777646a58c44376af1",
      "parents": [
        "aa1757f90bea3f598b6e5d04d922a6a60200f1da"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Mar 28 16:11:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:42 2006 -0800"
      },
      "message": "[PATCH] introduce lock_task_sighand() helper\n\nAdd lock_task_sighand() helper and converts group_send_sig_info() to use\nit.  Hopefully we will have more users soon.\n\nThis patch also removes \u0027!sighand-\u003ecount\u0027 and \u0027!p-\u003eusage\u0027 checks, I think\nthey both are bogus, racy and unneeded (but probably it makes sense to\nrestore them as BUG_ON()s).\n\n-\u003esighand is cleared and it\u0027s -\u003ecount is decremented in release_task() with\nsighand-\u003esiglock held, so it is a bug to have \u0027!p-\u003eusage || !-\u003ecount\u0027 after\nwe already locked and verified it is the same.  On the other hand, an\nalready dead task without -\u003esighand can have a non-zero -\u003eusage due to\nptrace, for example.\n\nIf we read the stale value of -\u003esighand we must see the change after\nspin_lock(), because that change was done while holding that same old\n-\u003esighand.siglock.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "aa1757f90bea3f598b6e5d04d922a6a60200f1da",
      "tree": "4f8f3804b2595031d0b84de7086dc28375290f0d",
      "parents": [
        "1f09f9749cdde4e69f95d62d96d2e03f50b3353c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Mar 28 16:11:12 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:42 2006 -0800"
      },
      "message": "[PATCH] convert sighand_cache to use SLAB_DESTROY_BY_RCU\n\nThis patch borrows a clever Hugh\u0027s \u0027struct anon_vma\u0027 trick.\n\nWithout tasklist_lock held we can\u0027t trust task-\u003esighand until we locked it\nand re-checked that it is still the same.\n\nBut this means we don\u0027t need to defer \u0027kmem_cache_free(sighand)\u0027.  We can\nreturn the memory to slab immediately, all we need is to be sure that\nsighand-\u003esiglock can\u0027t dissapear inside rcu protected section.\n\nTo do so we need to initialize -\u003esiglock inside ctor function,\nSLAB_DESTROY_BY_RCU does the rest.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c7c6464117a02b0d54feb4ebeca4db70fa493678",
      "tree": "903498de6685d769631edbd7bce7609d07365946",
      "parents": [
        "73b9ebfe126a4a886ee46cbab637374d7024668a"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Mar 28 16:11:09 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:41 2006 -0800"
      },
      "message": "[PATCH] pidhash: don\u0027t use zero pids\n\ndaemonize() calls set_special_pids(1,1), while init and kernel threads spawned\nfrom init/main.c:init() run with 0,0 special pids.  This patch changes\nINIT_SIGNALS() so that that they run with -\u003epgrp \u003d\u003d -\u003esession \u003d\u003d 1 also.  This\npatch relies on fact that swapper\u0027s pid \u003d\u003d 1.\n\nNow we have no hashed zero pids in pid_hash[].\n\nUser-space visibible change is that now /sbin/init runs with (1,1) special\npids and becomes a session leader.\n\nQuoting Eric W. Biederman:\n\u003e\n\u003e daemonize consuming pids (1,1) then consumes pgrp 1.  So that when\n\u003e /sbin/init calls setsid() it thinks /sbin/init is a process group\n\u003e leader and setsid() fails.  So /sbin/init wants pgrp 1 session 1\n\u003e but doesn\u0027t get it.  I am pretty certain daemonize did not exist so\n\u003e /sbin/init got pgrp 1 session 1 in 2.4.\n\u003e\n\u003e That is the bug that is being fixed.\n\u003e\n\u003e This patch takes things one step farther and essentially calls\n\u003e setsid() for pid \u003d\u003d 1 before init is execed.  That is new behavior\n\u003e but it cleans up the kernel as we now do not need to support the\n\u003e case of a process without a process group or a session.\n\u003e\n\u003e The only process that could have possibly cared was /sbin/init\n\u003e and it already calls setsid() because it doesn\u0027t want that.\n\u003e\n\u003e If this was going to break anything noticeable the change in behavior\n\u003e from 2.4 to 2.6 would have already done that.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "73b9ebfe126a4a886ee46cbab637374d7024668a"
}
