)]}'
{
  "log": [
    {
      "commit": "e56d090310d7625ecb43a1eeebd479f04affb48b",
      "tree": "2f479215dff4a2d8f3a9ed85200a5bc4f51534be",
      "parents": [
        "4369ef3c3e9d3bd9b879580678778f558d481e90"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 08 01:01:37 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:40 2006 -0800"
      },
      "message": "[PATCH] RCU signal handling\n\nRCU tasklist_lock and RCU signal handling: send signals RCU-read-locked\ninstead of tasklist_lock read-locked.  This is a scalability improvement on\nSMP and a preemption-latency improvement under PREEMPT_RCU.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: William Irwin \u003cwli@holomorphy.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: 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": "f8aaeacec159f2d9003872781fa4d49659e347fb",
      "tree": "f59dc7ae8fccc41e2ded098182a146086c6e2239",
      "parents": [
        "c66fdd5e324392584c6f11de65cfe24b0e2d9303"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun Jan 08 01:01:32 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:39 2006 -0800"
      },
      "message": "[PATCH] consolidate asm/futex.h\n\nMost of the architectures have the same asm/futex.h.  This consolidates them\ninto asm-generic, with the arches including it from their own asm/futex.h.\n\nIn the case of UML, this reverts the old broken futex.h and goes back to using\nthe same one as almost everyone else.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1fd73c6b6737b7e6eacac1b00dac16e7540c3cb1",
      "tree": "e66dbe34118b289c6f89a23764e355ea62fa2c62",
      "parents": [
        "22fc6eccbf4ce4eb6265e6ada7b50a7b9cc57d05"
      ],
      "author": {
        "name": "Ravikiran G Thirumalai",
        "email": "kiran@scalex86.org",
        "time": "Sun Jan 08 01:01:28 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:39 2006 -0800"
      },
      "message": "[PATCH] Kill L1_CACHE_SHIFT_MAX\n\nKill L1_CACHE_SHIFT from all arches.  Since L1_CACHE_SHIFT_MAX is not used\nanymore with the introduction of INTERNODE_CACHE, kill L1_CACHE_SHIFT_MAX.\n\nSigned-off-by: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Shai Fultheim \u003cshai@scalex86.org\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "22fc6eccbf4ce4eb6265e6ada7b50a7b9cc57d05",
      "tree": "3887dc6f1eeb658d773be037971b98d6f5fb3dd7",
      "parents": [
        "6d524aed1f50b2b1d5b4ad5a4e2fe3f38106d0a6"
      ],
      "author": {
        "name": "Ravikiran G Thirumalai",
        "email": "kiran@scalex86.org",
        "time": "Sun Jan 08 01:01:27 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:38 2006 -0800"
      },
      "message": "[PATCH] Change maxaligned_in_smp alignemnt macros to internodealigned_in_smp macros\n\n____cacheline_maxaligned_in_smp is currently used to align critical structures\nand avoid false sharing.  It uses per-arch L1_CACHE_SHIFT_MAX and people find\nL1_CACHE_SHIFT_MAX useless.\n\nHowever, we have been using ____cacheline_maxaligned_in_smp to align\nstructures on the internode cacheline size.  As per Andi\u0027s suggestion,\nfollowing patch kills ____cacheline_maxaligned_in_smp and introduces\nINTERNODE_CACHE_SHIFT, which defaults to L1_CACHE_SHIFT for all arches.\nArches needing L3/Internode cacheline alignment can define\nINTERNODE_CACHE_SHIFT in the arch asm/cache.h.  Patch replaces\n____cacheline_maxaligned_in_smp with ____cacheline_internodealigned_in_smp\n\nWith this patch, L1_CACHE_SHIFT_MAX can be killed\n\nSigned-off-by: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Shai Fultheim \u003cshai@scalex86.org\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "41be6aef38c08f1f85ac1c4bd8191b0d1ec61b4c",
      "tree": "50c3cca13c3c069fb2061bcf324ff553128c6700",
      "parents": [
        "5c15d41bab185431a9a28982b5aaac251dde4556"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sun Jan 08 01:01:25 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:38 2006 -0800"
      },
      "message": "[PATCH] frv: miscellaneous changes\n\nFix a number of miscellanous items:\n\n (1) Declare lock sections in the linker script.\n\n (2) Recurse in the correct manner in the arch makefile.\n\n (3) asm/bug.h requires asm/linkage.h to be included first. One C file puts\n     asm/bug.h first.\n\n (4) Add an empty RTC header file to avoid missing header file errors.\n\n (5) sg_dma_address() should use the dma_address member of a scatter list.\n\n (6) Add trivial pci_unmap support.\n\n (7) Add pgprot_noncached()\n\n (8) Discard u_quad_t.\n\n (9) Use ~0UL rather than ULONG_MAX in unistd.h in case the latter isn\u0027t\n     declared.\n\n(10) Add an empty VGA header file to avoid missing header file errors.\n\n(11) Add an XOR header file to use the generic XOR stuff.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5c15d41bab185431a9a28982b5aaac251dde4556",
      "tree": "5cc009ca5a0822f32f73961556a0a4401a38e8c9",
      "parents": [
        "f8aec7573b87d2bc09cafab459476953353d2efa"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sun Jan 08 01:01:24 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:38 2006 -0800"
      },
      "message": "[PATCH] frv: make get_user macro cast pointers\n\nMake the get_user macro cast the source pointer to an appropriate type for the\nspecified size.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "00d76710c253341b1e84795923e59ccdb099628f",
      "tree": "0865a6f51fc6034a40dc7e35fad882b7e181e0a1",
      "parents": [
        "a90a72c85fb202d0b172da27d8df2579b6591783"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sun Jan 08 01:01:21 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:37 2006 -0800"
      },
      "message": "[PATCH] frv: add module support stubs\n\nAdd stubs for FRV module support.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a90a72c85fb202d0b172da27d8df2579b6591783",
      "tree": "6876226fe257b0f191031492d83714f000a78d25",
      "parents": [
        "018b8d12bc85f8fb332239b11d919ea0724c49a4"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sun Jan 08 01:01:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:36 2006 -0800"
      },
      "message": "[PATCH] frv: supply various missing I/O access primitives\n\nSupply various I/O access primitives that are missing for the FRV arch:\n\n (*) mmiowb()\n\n (*) read*_relaxed()\n\n (*) ioport_*map()\n\n (*) ioread*(), iowrite*(), ioread*_rep() and iowrite*_rep()\n\n (*) pci_io*map()\n\n (*) check_signature()\n\nThe patch also makes __is_PCI_addr() more efficient.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2fa9e7e2dce6aafecc1890461bdc00d78897be8b",
      "tree": "ea17c2801b5f9b59027641cb1aebc87d83397363",
      "parents": [
        "2919b51075b3906c2f476e5a932244af1947bf80"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sun Jan 08 01:01:17 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:36 2006 -0800"
      },
      "message": "[PATCH] frv: drop 8/16-bit xchg and cmpxchg\n\nDrop support for 8-bit and 16-bit xchg and cmpxchg emulation and implements\n32-bit xchg with the SWAP/SWAPI instruction.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "48fce3429df84a94766fbbc845fa8450d0715b48",
      "tree": "4458b95a0ef8a1896049415a0e3fc8a0e89d340a",
      "parents": [
        "132beacf9785d2e6e8aecb59aa078f3ca5668fa6"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun Jan 08 01:01:03 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:44 2006 -0800"
      },
      "message": "[PATCH] mempolicies: unexport get_vma_policy()\n\nSince the numa_maps functionality is now in mempolicy.c we no longer need to\nexport get_vma_policy().\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "152194aaa6266d71dfee57882a23def339ef17a4",
      "tree": "9af269a9f4c14e549c719207b0856da32ddec746",
      "parents": [
        "aea47ff363c15b0be5fc27ed991b1fdee338f0a7"
      ],
      "author": {
        "name": "Avishay Traeger",
        "email": "atraeger@cs.sunysb.edu",
        "time": "Sun Jan 08 01:00:58 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:43 2006 -0800"
      },
      "message": "[PATCH] set_page_count() macro safety\n\nFix set_page_count() macro to handle complex arguments.\n\nSigned-off-by: Avishay Traeger \u003catraeger@cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "45b07ef31d1182d2cfde7711327e3afb268bb1ac",
      "tree": "3bf820531f920b43d4ed963643b1f565c82bcaa4",
      "parents": [
        "d0d963281ccb22e6f339bfdd75c6b2e31351929f"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Sun Jan 08 01:00:56 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:43 2006 -0800"
      },
      "message": "[PATCH] cpusets: swap migration interface\n\nAdd a boolean \"memory_migrate\" to each cpuset, represented by a file\ncontaining \"0\" or \"1\" in each directory below /dev/cpuset.\n\nIt defaults to false (file contains \"0\").  It can be set true by writing\n\"1\" to the file.\n\nIf true, then anytime that a task is attached to the cpuset so marked, the\npages of that task will be moved to that cpuset, preserving, to the extent\npractical, the cpuset-relative placement of the pages.\n\nAlso anytime that a cpuset so marked has its memory placement changed (by\nwriting to its \"mems\" file), the tasks in that cpuset will have their pages\nmoved to the cpusets new nodes, preserving, to the extent practical, the\ncpuset-relative placement of the moved pages.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Christoph Lameter \u003cchristoph@lameter.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d498471133ff1f9586a06820beaeebc575fe2814",
      "tree": "c7cde93441692e3b32d83dfbf85858ab2d85e481",
      "parents": [
        "ee27497df36823f2793212cad0997c044eb0e1eb"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun Jan 08 01:00:55 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:42 2006 -0800"
      },
      "message": "[PATCH] SwapMig: Extend parameters for migrate_pages()\n\nExtend the parameters of migrate_pages() to allow the caller control over the\nfate of successfully migrated or impossible to migrate pages.\n\nSwap migration and direct migration will have the same interface after this\npatch so that patches can be independently applied to the policy layer and the\ncore migration code.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1480a540c98525640174a7eadd712378fcd6fd63",
      "tree": "28f2cc0aa819ff0aed30dd85bb16177d4a73002b",
      "parents": [
        "8419c3181086c86664e8246bc997afc2e4ffba4f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun Jan 08 01:00:53 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:42 2006 -0800"
      },
      "message": "[PATCH] SwapMig: add_to_swap() avoid atomic allocations\n\nAdd gfp_mask to add_to_swap\n\nadd_to_swap does allocations with GFP_ATOMIC in order not to interfere with\nswapping.  During migration we may have use add_to_swap extensively which may\nlead to out of memory errors.\n\nThis patch makes add_to_swap take a parameter that specifies the gfp mask.\nThe page migration code can then make add_to_swap use GFP_KERNEL.\n\nSigned-off-by: Hirokazu Takahashi \u003ctaka@valinux.co.jp\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\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": "8419c3181086c86664e8246bc997afc2e4ffba4f",
      "tree": "25938e6f99bdaaffe8f6d357582eca56692b091c",
      "parents": [
        "39743889aaf76725152f16aa90ca3c45f6d52da3"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun Jan 08 01:00:52 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:42 2006 -0800"
      },
      "message": "[PATCH] SwapMig: CONFIG_MIGRATION fixes\n\nMove move_to_lru, putback_lru_pages and isolate_lru in section surrounded by\nCONFIG_MIGRATION saving some codesize for single processor kernels.\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": "39743889aaf76725152f16aa90ca3c45f6d52da3",
      "tree": "2a6f658d03dbbd9428934c5e030230a4acb6d5e0",
      "parents": [
        "dc9aa5b9d65fd11b1f5246b46ec610ee8b83c6dd"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun Jan 08 01:00:51 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:42 2006 -0800"
      },
      "message": "[PATCH] Swap Migration V5: sys_migrate_pages interface\n\nsys_migrate_pages implementation using swap based page migration\n\nThis is the original API proposed by Ray Bryant in his posts during the first\nhalf of 2005 on linux-mm@kvack.org and linux-kernel@vger.kernel.org.\n\nThe intent of sys_migrate is to migrate memory of a process.  A process may\nhave migrated to another node.  Memory was allocated optimally for the prior\ncontext.  sys_migrate_pages allows to shift the memory to the new node.\n\nsys_migrate_pages is also useful if the processes available memory nodes have\nchanged through cpuset operations to manually move the processes memory.  Paul\nJackson is working on an automated mechanism that will allow an automatic\nmigration if the cpuset of a process is changed.  However, a user may decide\nto manually control the migration.\n\nThis implementation is put into the policy layer since it uses concepts and\nfunctions that are also needed for mbind and friends.  The patch also provides\na do_migrate_pages function that may be useful for cpusets to automatically\nmove memory.  sys_migrate_pages does not modify policies in contrast to Ray\u0027s\nimplementation.\n\nThe current code here is based on the swap based page migration capability and\nthus is not able to preserve the physical layout relative to it containing\nnodeset (which may be a cpuset).  When direct page migration becomes available\nthen the implementation needs to be changed to do a isomorphic move of pages\nbetween different nodesets.  The current implementation simply evicts all\npages in source nodeset that are not in the target nodeset.\n\nPatch supports ia64, i386 and x86_64.\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": "dc9aa5b9d65fd11b1f5246b46ec610ee8b83c6dd",
      "tree": "808da06f0bc8ab5189f1c315a2b99c85a33ed74c",
      "parents": [
        "7cbe34cf86c673503b177ff47cfa2c7030dabb50"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun Jan 08 01:00:50 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:41 2006 -0800"
      },
      "message": "[PATCH] Swap Migration V5: MPOL_MF_MOVE interface\n\nAdd page migration support via swap to the NUMA policy layer\n\nThis patch adds page migration support to the NUMA policy layer.  An\nadditional flag MPOL_MF_MOVE is introduced for mbind.  If MPOL_MF_MOVE is\nspecified then pages that do not conform to the memory policy will be evicted\nfrom memory.  When they get pages back in new pages will be allocated\nfollowing the numa policy.\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": "7cbe34cf86c673503b177ff47cfa2c7030dabb50",
      "tree": "9b39d7e8f11fed68242d1cb1f0c85dfcf96e3250",
      "parents": [
        "49d2e9cc4544369635cd6f4ef6d5bb0f757079a7"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Sun Jan 08 01:00:49 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:41 2006 -0800"
      },
      "message": "[PATCH] Swap Migration V5: Add CONFIG_MIGRATION for page migration support\n\nInclude page migration if the system is NUMA or having a memory model that\nallows distinct areas of memory (SPARSEMEM, DISCONTIGMEM).\n\nAnd:\n- Only include lru_add_drain_per_cpu if building for an SMP system.\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": "49d2e9cc4544369635cd6f4ef6d5bb0f757079a7",
      "tree": "d8c76c5224b05b812f96424a18b1e9205d90feae",
      "parents": [
        "930d915252edda7042c944ed3c30194a2f9fe163"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun Jan 08 01:00:48 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:41 2006 -0800"
      },
      "message": "[PATCH] Swap Migration V5: migrate_pages() function\n\nThis adds the basic page migration function with a minimal implementation that\nonly allows the eviction of pages to swap space.\n\nPage eviction and migration may be useful to migrate pages, to suspend\nprograms or for remapping single pages (useful for faulty pages or pages with\nsoft ECC failures)\n\nThe process is as follows:\n\nThe function wanting to migrate pages must first build a list of pages to be\nmigrated or evicted and take them off the lru lists via isolate_lru_page().\nisolate_lru_page determines that a page is freeable based on the LRU bit set.\n\nThen the actual migration or swapout can happen by calling migrate_pages().\n\nmigrate_pages does its best to migrate or swapout the pages and does multiple\npasses over the list.  Some pages may only be swappable if they are not dirty.\n migrate_pages may start writing out dirty pages in the initial passes over\nthe pages.  However, migrate_pages may not be able to migrate or evict all\npages for a variety of reasons.\n\nThe remaining pages may be returned to the LRU lists using putback_lru_pages().\n\nChangelog V4-\u003eV5:\n- Use the lru caches to return pages to the LRU\n\nChangelog V3-\u003eV4:\n- Restructure code so that applying patches to support full migration does\n  require minimal changes. Rename swapout_pages() to migrate_pages().\n\nChangelog V2-\u003eV3:\n- Extract common code from shrink_list() and swapout_pages()\n\nSigned-off-by: Mike Kravetz \u003ckravetz@us.ibm.com\u003e\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\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": "930d915252edda7042c944ed3c30194a2f9fe163",
      "tree": "620452f11a9949943765b7a28e5b919f40f32b12",
      "parents": [
        "21eac81f252fe31c3cf64b805a1e8652192f3a3b"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun Jan 08 01:00:47 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:41 2006 -0800"
      },
      "message": "[PATCH] Swap Migration V5: PF_SWAPWRITE to allow writing to swap\n\nAdd PF_SWAPWRITE to control a processes permission to write to swap.\n\n- Use PF_SWAPWRITE in may_write_to_queue() instead of checking for kswapd\n  and pdflush\n\n- Set PF_SWAPWRITE flag for kswapd and pdflush\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": "21eac81f252fe31c3cf64b805a1e8652192f3a3b",
      "tree": "255662bda67f54ffde484046fd9ab9b0900ab409",
      "parents": [
        "15316ba81aee6775d6079fb46c66c801989e7d10"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun Jan 08 01:00:45 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:41 2006 -0800"
      },
      "message": "[PATCH] Swap Migration V5: LRU operations\n\nThis is the start of the `swap migration\u0027 patch series.\n\nSwap migration allows the moving of the physical location of pages between\nnodes in a numa system while the process is running.  This means that the\nvirtual addresses that the process sees do not change.  However, the system\nrearranges the physical location of those pages.\n\nThe main intent of page migration patches here is to reduce the latency of\nmemory access by moving pages near to the processor where the process\naccessing that memory is running.\n\nThe patchset allows a process to manually relocate the node on which its\npages are located through the MF_MOVE and MF_MOVE_ALL options while\nsetting a new memory policy.\n\nThe pages of process can also be relocated from another process using the\nsys_migrate_pages() function call.  Requires CAP_SYS_ADMIN.  The migrate_pages\nfunction call takes two sets of nodes and moves pages of a process that are\nlocated on the from nodes to the destination nodes.\n\nManual migration is very useful if for example the scheduler has relocated a\nprocess to a processor on a distant node.  A batch scheduler or an\nadministrator can detect the situation and move the pages of the process\nnearer to the new processor.\n\nsys_migrate_pages() could be used on non-numa machines as well, to force all\nof a particualr process\u0027s pages out to swap, if someone thinks that\u0027s useful.\n\nLarger installations usually partition the system using cpusets into sections\nof nodes.  Paul has equipped cpusets with the ability to move pages when a\ntask is moved to another cpuset.  This allows automatic control over locality\nof a process.  If a task is moved to a new cpuset then also all its pages are\nmoved with it so that the performance of the process does not sink\ndramatically (as is the case today).\n\nSwap migration works by simply evicting the page.  The pages must be faulted\nback in.  The pages are then typically reallocated by the system near the node\nwhere the process is executing.\n\nFor swap migration the destination of the move is controlled by the allocation\npolicy.  Cpusets set the allocation policy before calling sys_migrate_pages()\nin order to move the pages as intended.\n\nNo allocation policy changes are performed for sys_migrate_pages().  This\nmeans that the pages may not faulted in to the specified nodes if no\nallocation policy was set by other means.  The pages will just end up near the\nnode where the fault occurred.\n\nThere\u0027s another patch series in the pipeline which implements \"direct\nmigration\".\n\nThe direct migration patchset extends the migration functionality to avoid\ngoing through swap.  The destination node of the relation is controllable\nduring the actual moving of pages.  The crutch of using the allocation policy\nto relocate is not necessary and the pages are moved directly to the target.\nIts also faster since swap is not used.\n\nAnd sys_migrate_pages() can then move pages directly to the specified node.\nImplement functions to isolate pages from the LRU and put them back later.\n\nThis patch:\n\nAn earlier implementation was provided by Hirokazu Takahashi\n\u003ctaka@valinux.co.jp\u003e and IWAMOTO Toshihiro \u003ciwamoto@valinux.co.jp\u003e for the\nmemory hotplug project.\n\nFrom: Magnus\n\nThis breaks out isolate_lru_page() and putpack_lru_page().  Needed for swap\nmigration.\n\nSigned-off-by: Magnus Damm \u003cmagnus.damm@gmail.com\u003e\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": "15316ba81aee6775d6079fb46c66c801989e7d10",
      "tree": "c6190bdcc6e15fd8b5657a5932313e296b475577",
      "parents": [
        "48db57f8ff10eb09ab887ccb6150b0da0c7be24e"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Sun Jan 08 01:00:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:40 2006 -0800"
      },
      "message": "[PATCH] add schedule_on_each_cpu()\n\nswap migration\u0027s isolate_lru_page() currently uses an IPI to notify other\nprocessors that the lru caches need to be drained if the page cannot be\nfound on the LRU.  The IPI interrupt may interrupt a processor that is just\nprocessing lru requests and cause a race condition.\n\nThis patch introduces a new function run_on_each_cpu() that uses the\nkeventd() to run the LRU draining on each processor.  Processors disable\npreemption when dealing the LRU caches (these are per processor) and thus\nexecuting LRU draining from another process is safe.\n\nThanks to Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e for finding this race\ncondition.\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": "8ad4b1fb8205340dba16b63467bb23efc27264d6",
      "tree": "9f5c237ead93976e5454c5da5d3bba350a2419c5",
      "parents": [
        "9d0243bca345d5ce25d3f4b74b7facb3a6df1232"
      ],
      "author": {
        "name": "Rohit Seth",
        "email": "rohit.seth@intel.com",
        "time": "Sun Jan 08 01:00:40 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:40 2006 -0800"
      },
      "message": "[PATCH] Make high and batch sizes of per_cpu_pagelists configurable\n\nAs recently there has been lot of traffic on the right values for batch and\nhigh water marks for per_cpu_pagelists.  This patch makes these two\nvariables configurable through /proc interface.\n\nA new tunable /proc/sys/vm/percpu_pagelist_fraction is added.  This entry\ncontrols the fraction of pages at most in each zone that are allocated for\neach per cpu page list.  The min value for this is 8.  It means that we\ndon\u0027t allow more than 1/8th of pages in each zone to be allocated in any\nsingle per_cpu_pagelist.\n\nThe batch value of each per cpu pagelist is also updated as a result.  It\nis set to pcp-\u003ehigh/4.  The upper limit of batch is (PAGE_SHIFT * 8)\n\nSigned-off-by: Rohit Seth \u003crohit.seth@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9d0243bca345d5ce25d3f4b74b7facb3a6df1232",
      "tree": "a3a0a763bf83a483282dc1c3caab587941a98fc2",
      "parents": [
        "bec6b0c89b234090681a4516e20ac5debe3e7c59"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sun Jan 08 01:00:39 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:40 2006 -0800"
      },
      "message": "[PATCH] drop-pagecache\n\nAdd /proc/sys/vm/drop_caches.  When written to, this will cause the kernel to\ndiscard as much pagecache and/or reclaimable slab objects as it can.  THis\noperation requires root permissions.\n\nIt won\u0027t drop dirty data, so the user should run `sync\u0027 first.\n\nCaveats:\n\na) Holds inode_lock for exorbitant amounts of time.\n\nb) Needs to be taught about NUMA nodes: propagate these all the way through\n   so the discarding can be controlled on a per-node basis.\n\nThis is a debugging feature: useful for getting consistent results between\nfilesystem benchmarks.  We could possibly put it under a config option, but\nit\u0027s less than 300 bytes.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f9f7500521b25dbf1aba476b81230489ad8e2c4b",
      "tree": "f2bf2f64023c4968ac8d08da54b8aaef86354591",
      "parents": [
        "b792de39d892e06b18ddea85be076bae123d6bf6"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sun Jan 08 01:00:33 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:39 2006 -0800"
      },
      "message": "[PATCH] slab: remove unused align parameter from alloc_percpu\n\n__alloc_percpu and alloc_percpu both take an \u0027align\u0027 argument which is\ncompletely ignored.  snmp6_mib_init() in net/ipv6/af_inet6.c attempts to use\nit, but it will be ignored.  Therefore, remove the \u0027align\u0027 argument and fixup\nthe lone caller.\n\nSigned-off-by: Matthew Dobson \u003ccolpatch@us.ibm.com\u003e\nAcked-by: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b792de39d892e06b18ddea85be076bae123d6bf6",
      "tree": "6604e19464fa0cce997bdb600074756ab1266fa8",
      "parents": [
        "4dab06fa7b6d07ee95c8bba5ddd0840633069159"
      ],
      "author": {
        "name": "Olaf Hering",
        "email": "olh@suse.de",
        "time": "Sun Jan 08 01:00:32 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:39 2006 -0800"
      },
      "message": "[PATCH] Fix compilation with CONFIG_MEMORY_HOTPLUG\u003dy and gcc41.\n\nFix compilation with CONFIG_MEMORY_HOTPLUG\u003dy and gcc41.\nAlso remove unneeded declations, add a public function.\n\ndrivers/base/memory.c:53: error: static declaration of \u0027register_memory_notifier\u0027 follows non-static declaration\ninclude/linux/memory.h:85: error: previous declaration of \u0027register_memory_notifier\u0027 was here\ndrivers/base/memory.c:58: error: static declaration of \u0027unregister_memory_notifier\u0027 follows non-static declaration\ninclude/linux/memory.h:86: error: previous declaration of \u0027unregister_memory_notifier\u0027 was here\ndrivers/base/memory.c:68: error: static declaration of \u0027register_memory\u0027 follows non-static declaration\ninclude/linux/memory.h:73: error: previous declaration of \u0027register_memory\u0027 was here\n\nSigned-off-by: Olaf Hering \u003colh@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5998bf1ddb5fb236597190b2274d357add63fd7e",
      "tree": "ca05dbc0d17957e9d0adcf50f7868eb25cef3921",
      "parents": [
        "84c2008af01132c4ca257ed9b595693c611df15d"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sun Jan 08 01:00:29 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:38 2006 -0800"
      },
      "message": "[PATCH] asm-generic/atomic.h needs types.h\n\nFor BITS_PER_LONG\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "97dc627fb3471664c72d0933790a90ba3f91e131",
      "tree": "89ca7c0856da17268c6f1c0a3d45fb07e4058741",
      "parents": [
        "f53b61d8c385140fe7f09e0c9187ae813ee9f330"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Jan 07 13:23:39 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jan 07 13:23:39 2006 -0800"
      },
      "message": "[IPV4]: make ip_fragment() static\n\nSince there\u0027s no longer any external user of ip_fragment() we can make \nit static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f53b61d8c385140fe7f09e0c9187ae813ee9f330",
      "tree": "effe543a90c814b1b07aeeac7b1fc027b295669d",
      "parents": [
        "da7bc6ee8ee3976696fc740065362ca442eb61c9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jan 07 12:50:27 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jan 07 12:57:42 2006 -0800"
      },
      "message": "[NETFILTER]: Add dummy nf_hook{_thresh}() when NETFILTER is disabled.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e16a8f0b8c53312beb1d8b52e463aae79aa809c7",
      "tree": "2f8e8747261db640e3cc4a5ededb2bcd6a47dedf",
      "parents": [
        "eb9c7ebe6980c41cf6ae889e301c3b49f473ee9f"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jan 06 23:06:48 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jan 07 12:57:38 2006 -0800"
      },
      "message": "[NETFILTER]: Add ipt_policy/ip6t_policy matches\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eb9c7ebe6980c41cf6ae889e301c3b49f473ee9f",
      "tree": "419103d15b9de9c26c8400c698625231df55da91",
      "parents": [
        "b59c270104f03960069596722fea70340579244d"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jan 06 23:06:30 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jan 07 12:57:37 2006 -0800"
      },
      "message": "[NETFILTER]: Handle NAT in IPsec policy checks\n\nHandle NAT of decapsulated IPsec packets by reconstructing the struct flowi\nof the original packet from the conntrack information for IPsec policy\nchecks.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5c901daaea3be0d900b3ae1fc9b5f64ff94e4f02",
      "tree": "7532b280d892bab7fd9af98b02a3f81929ddca5d",
      "parents": [
        "4e8e9de7c25315669e2d5565acc50ec379522c28"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jan 06 23:05:36 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jan 07 12:57:35 2006 -0800"
      },
      "message": "[NETFILTER]: Redo policy lookups after NAT when neccessary\n\nWhen NAT changes the key used for the xfrm lookup it needs to be done\nagain. If a new policy is returned in POST_ROUTING the packet needs\nto be passed to xfrm4_output_one manually after all hooks were called\nbecause POST_ROUTING is called with fixed okfn (ip_finish_output).\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3e3850e989c5d2eb1aab6f0fd9257759f0f4cbc6",
      "tree": "fa05d1de4767bc30e77442ffbacfe8bd8dd2213d",
      "parents": [
        "8cdfab8a43bb4b3da686ea503a702cb6f9f6a803"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jan 06 23:04:54 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jan 07 12:57:33 2006 -0800"
      },
      "message": "[NETFILTER]: Fix xfrm lookup in ip_route_me_harder/ip6_route_me_harder\n\nip_route_me_harder doesn\u0027t use the port numbers of the xfrm lookup and\nuses ip_route_input for non-local addresses which doesn\u0027t do a xfrm\nlookup, ip6_route_me_harder doesn\u0027t do a xfrm lookup at all.\n\nUse xfrm_decode_session and do the lookup manually, make sure both\nonly do the lookup if the packet hasn\u0027t been transformed already.\n\nMakeing sure the lookup only happens once needs a new field in the\nIP6CB, which exceeds the size of skb-\u003ecb. The size of skb-\u003ecb is\nincreased to 48b. Apparently the IPv6 mobile extensions need some\nmore room anyway.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8cdfab8a43bb4b3da686ea503a702cb6f9f6a803",
      "tree": "9c4f42ff23f0e227e705aa5aae4f74e45297f3cb",
      "parents": [
        "b05e106698d9966de524e78d9da1bf6407fe0c32"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jan 06 23:04:01 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jan 07 12:57:32 2006 -0800"
      },
      "message": "[IPV4]: reset IPCB flags when neccessary\n\nReset IPSKB_XFRM_TUNNEL_SIZE flags in ipip and ip_gre hard_start_xmit\nfunction before the packet reenters IP. This is neccessary so the\nencapsulated packets are checked not to be oversized in xfrm4_output.c\nagain. Reset all flags in sit when a packet changes its address family.\n\nAlso remove some obsolete IPSKB flags.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b05e106698d9966de524e78d9da1bf6407fe0c32",
      "tree": "8a7c253b7249451941674805cccdaaba299dff6f",
      "parents": [
        "951dbc8ac714b04c36296b8b5c36c8e036ce433f"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jan 06 23:03:34 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jan 07 12:57:31 2006 -0800"
      },
      "message": "[IPV4/6]: Netfilter IPsec input hooks\n\nWhen the innermost transform uses transport mode the decapsulated packet\nis not visible to netfilter. Pass the packet through the PRE_ROUTING and\nLOCAL_IN hooks again before handing it to upper layer protocols to make\nnetfilter-visibility symetrical to the output path.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "951dbc8ac714b04c36296b8b5c36c8e036ce433f",
      "tree": "7f3599987f6b6db765f66c65d5c1cefe1457ea6a",
      "parents": [
        "16a6677fdf1d1194f688f8291b06fbaff248c353"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jan 06 23:02:34 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jan 07 12:57:29 2006 -0800"
      },
      "message": "[IPV6]: Move nextheader offset to the IP6CB\n\nMove nextheader offset to the IP6CB to make it possible to pass a\npacket to ip6_input_finish multiple times and have it skip already\nparsed headers. As a nice side effect this gets rid of the manual\nhopopts skipping in ip6_input_finish.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "16a6677fdf1d1194f688f8291b06fbaff248c353",
      "tree": "61badedc44ed88eb8f39e082d1abf114252cc686",
      "parents": [
        "ee2e6841b934d76cb944a3390bbea84da777d4fa"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jan 06 23:01:48 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jan 07 12:57:28 2006 -0800"
      },
      "message": "[XFRM]: Netfilter IPsec output hooks\n\nCall netfilter hooks before IPsec transforms. Packets visit the\nFORWARD/LOCAL_OUT and POST_ROUTING hook before the first encapsulation\nand the LOCAL_OUT and POST_ROUTING hook before each following tunnel mode\ntransform.\n\nPatch from Herbert Xu \u003cherbert@gondor.apana.org.au\u003e:\n\nMove the loop from dst_output into xfrm4_output/xfrm6_output since they\u0027re\nthe only ones who need to it. xfrm{4,6}_output_one() processes the first SA\nall subsequent transport mode SAs and is called in a loop that calls the\nnetfilter hooks between each two calls.\n\nIn order to avoid the tail call issue, I\u0027ve added the inline function\nnf_hook which is nf_hook_slow plus the empty list check.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8995b161eb142b843094dd614b80e4cce1d66352",
      "tree": "ffd9988879441d5ec45ab96b2e06f4fcb1210158",
      "parents": [
        "cc918c7ab7da017bfaf9661420bb5c462e057cfb",
        "fe5dd7c73d328b255286b6b65ca19dd34447f709"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jan 07 10:45:22 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jan 07 10:45:22 2006 -0800"
      },
      "message": "Merge master.kernel.org:/home/rmk/linux-2.6-arm\n"
    },
    {
      "commit": "cc918c7ab7da017bfaf9661420bb5c462e057cfb",
      "tree": "36198fe17267200131ec6c3df7c046a857f76b8d",
      "parents": [
        "f9c5d0451b406a6bd0d0bf1fdd63c7777af6ebc6",
        "dd68e88c72ac9ad25052065c4a443326eda6a052"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jan 07 10:44:22 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jan 07 10:44:22 2006 -0800"
      },
      "message": "Merge master.kernel.org:/home/rmk/linux-2.6-serial\n"
    },
    {
      "commit": "f9c5d0451b406a6bd0d0bf1fdd63c7777af6ebc6",
      "tree": "717e9fc0044e9d94dd363670cacc2dff9d5b4407",
      "parents": [
        "d354d9afe923eb08f7ee89128b38ddb6415de01d",
        "f3e2628bed0d5a88ced8239b35f1534557f9631c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jan 07 10:43:40 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jan 07 10:43:40 2006 -0800"
      },
      "message": "Merge master.kernel.org:/home/rmk/linux-2.6-mmc\n"
    },
    {
      "commit": "fe5dd7c73d328b255286b6b65ca19dd34447f709",
      "tree": "5b93364d88c1f214053003c75bdb0c94b7cdb0df",
      "parents": [
        "f8ce25476d5f12ffa29b885e49c38cd95053437e"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Sat Jan 07 16:55:50 2006 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sat Jan 07 16:55:50 2006 +0000"
      },
      "message": "[ARM] byteorder.h needs linux/compiler.h\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "f8ce25476d5f12ffa29b885e49c38cd95053437e",
      "tree": "640fbdaacbf375f13feaf0eee49306d90b778b8a",
      "parents": [
        "de1d815fccee1f4766a7e56054ab0ec3f6f3a7db"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Sat Jan 07 16:15:52 2006 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sat Jan 07 16:15:52 2006 +0000"
      },
      "message": "[ARM] Move asm/hardware/clock.h to linux/clk.h\n\nThis is needs to be visible to other architectures using the AMBA\nbus and peripherals.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "123656d4cc8c946f578ebd18c2050f5251720428",
      "tree": "3d5432eff034a3b9cfdc98b37e245abe5695342d",
      "parents": [
        "a62c80e559809e6c7851ec04d30575e85ad6f6ed",
        "0aec63e67c69545ca757a73a66f5dcf05fa484bf"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Sat Jan 07 14:40:05 2006 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sat Jan 07 14:40:05 2006 +0000"
      },
      "message": "Merge with Linus\u0027 kernel.\n"
    },
    {
      "commit": "a62c80e559809e6c7851ec04d30575e85ad6f6ed",
      "tree": "7d91fd1f5186ad0d95498f65acfa5a10942133d6",
      "parents": [
        "6351610d6906aacbf9176cbdd045dd3876eec4c0"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Sat Jan 07 13:52:45 2006 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sat Jan 07 13:52:45 2006 +0000"
      },
      "message": "[ARM] Move AMBA include files to include/linux/amba/\n\nSince the ARM AMBA bus is used on MIPS as well as ARM, we need\nto make the bus available for other architectures to use.  Move\nthe AMBA include files from include/asm-arm/hardware/ to\ninclude/linux/amba/\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "6351610d6906aacbf9176cbdd045dd3876eec4c0",
      "tree": "af6219c7a958f91c4d62fd1622954ed91ed1a9e7",
      "parents": [
        "2c041f4b9be5cecbd0a042ecd9122a9db6f50416"
      ],
      "author": {
        "name": "Andre McCurdy",
        "email": "armcc2000@yahoo.com",
        "time": "Sat Jan 07 11:39:20 2006 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sat Jan 07 11:39:20 2006 +0000"
      },
      "message": "[ARM] 3239/1: Add ARM optimised swab32\n\nPatch from Andre McCurdy\n\nReplaces generic swab32 routine with a more ARM friendly version.\nReduces kernel text size by approx 1200 bytes when compiled with\n3.4.4 and approx 2400 bytes with 4.0.2\n\nProbably some performance benefit as well.\n\nSigned-off-by: Andre McCurdy \u003carmccurdy@yahoo.co.uk\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "0feb9bfcfa3f9bf67a4a1e3f2608700ad73f92ed",
      "tree": "22c71657387b42787bc070502899a881ed909f39",
      "parents": [
        "d8d8f6a4fd635dcc9e4f946394c1fbde85eeab66",
        "ccf18968b1bbc2fb117190a1984ac2a826dac228"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 15:25:08 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 15:25:08 2006 -0800"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/i2c-2.6\n"
    },
    {
      "commit": "d8d8f6a4fd635dcc9e4f946394c1fbde85eeab66",
      "tree": "0a1bc8ff40c12bb30066467e11ae9153f89514e7",
      "parents": [
        "57d1c91fa6d9146b309b7511f6432dea2a24858b",
        "a2167dc62e9142b9a4bfb20f7e001c0f0a26fd8c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 15:24:28 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 15:24:28 2006 -0800"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "57d1c91fa6d9146b309b7511f6432dea2a24858b",
      "tree": "d7958dd87eb950cc3eeaf8b32fc372c0e7ff6702",
      "parents": [
        "47853e7fa588bef826c9799a87b33904b32bd905",
        "37193147991a53b2e9f573d0ec47f63a2d4de8dc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 15:23:56 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 15:23:56 2006 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild\n"
    },
    {
      "commit": "a2167dc62e9142b9a4bfb20f7e001c0f0a26fd8c",
      "tree": "c6f2a4206952e51f765f3e7ef84892746579501c",
      "parents": [
        "76ab608d86cf1ef5c5c46819b5733eb9f9f964f8"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Jan 06 13:24:54 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 06 13:24:54 2006 -0800"
      },
      "message": "[NET]: Endian-annotate in_aton()\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "76ab608d86cf1ef5c5c46819b5733eb9f9f964f8",
      "tree": "aa8d9947a722459a0ae0e54c9391a8de7c59aeee",
      "parents": [
        "5f8ac64b15172c7ced7d7990eb28342092bc751b"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Jan 06 13:24:29 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 06 13:24:29 2006 -0800"
      },
      "message": "[NET]: Endian-annotate struct iphdr\n\nAnd fix trivial warnings that emerged.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4bad4dc919573dbe9a5b41dd9edff279e99822d7",
      "tree": "530b791512cfd2f310c5806d109242bccf090fd7",
      "parents": [
        "dbbc0988288d9643044e8bd8c7e7de70016ecd23"
      ],
      "author": {
        "name": "Kris Katterjohn",
        "email": "kjak@ispwest.com",
        "time": "Fri Jan 06 13:08:20 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 06 13:08:20 2006 -0800"
      },
      "message": "[NET]: Change sk_run_filter()\u0027s return type in net/core/filter.c\n\nIt should return an unsigned value, and fix sk_filter() as well.\n\nSigned-off-by: Kris Katterjohn \u003ckjak@ispwest.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ccf18968b1bbc2fb117190a1984ac2a826dac228",
      "tree": "7bc8fbf5722aecf1e84fa50c31c657864cba1daa",
      "parents": [
        "e91c021c487110386a07facd0396e6c3b7cf9c1f",
        "d99cf9d679a520d67f81d805b7cb91c68e1847f0"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jan 06 12:59:59 2006 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jan 06 12:59:59 2006 -0800"
      },
      "message": "Merge ../torvalds-2.6/\n"
    },
    {
      "commit": "367cb704212cd0c9273ba2b1e62523139210563b",
      "tree": "cda6402ea19e2b706ad8ac9a186f1e391ab3c6ea",
      "parents": [
        "20ede2741551d4a1d24313292beb0da915a55911"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@mars.ravnborg.org",
        "time": "Fri Jan 06 21:17:50 2006 +0100"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@mars.ravnborg.org",
        "time": "Fri Jan 06 21:17:50 2006 +0100"
      },
      "message": "kbuild: un-stringnify KBUILD_MODNAME\n\nNow when kbuild passes KBUILD_MODNAME with \"\" do not __stringify it when\nused. Remove __stringnify for all users.\nThis also fixes the output of:\n\n$ ls -l /sys/module/\ndrwxr-xr-x 4 root root 0 2006-01-05 14:24 pcmcia\ndrwxr-xr-x 4 root root 0 2006-01-05 14:24 pcmcia_core\ndrwxr-xr-x 3 root root 0 2006-01-05 14:24 \"processor\"\ndrwxr-xr-x 3 root root 0 2006-01-05 14:24 \"psmouse\"\n\nThe quoting of the module names will be gone again.\nThanks to GregKH + Kay Sievers for reproting this.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "9eed129bbde80cbd7ffeacaa1555ba1e0c9a0997",
      "tree": "49066f9b5321e09cf9696e5b69d454bf1e393eb0",
      "parents": [
        "26c78e156b1d1b2387ec33b5f2fb62d6e0a186a3"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Jan 03 09:56:00 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:59 2006 -0500"
      },
      "message": "SUNRPC: Update the spkm3 code to use the make_checksum interface\n\n Also update the tokenlen calculations to accomodate g_token_size().\n\n Signed-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "58df095b732529ade8f4051b41d7c29731afecd6",
      "tree": "917819b96bac91e5daea7a31eb6eba66268952d9",
      "parents": [
        "0065db328533c390fbfb0fe0c46bcf9a278fb99e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:57 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:58 2006 -0500"
      },
      "message": "NFSv4: Allow entries in the idmap cache to expire\n\n If someone changes the uid/gid mapping in userland, then we do eventually\n want those changes to be propagated to the kernel. Currently the kernel\n assumes that it may cache entries forever.\n\n Add an expiration time + garbage collector for idmap entries.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "632e3bdc5006334cea894d078660b691685e1075",
      "tree": "c18dbe84dfe679d19a581ea0c9bfb931daa08917",
      "parents": [
        "eadb8c147154bff982f02accf31b847a1f142ace"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:55 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:57 2006 -0500"
      },
      "message": "SUNRPC: Ensure client closes the socket when server initiates a close\n\n If the server decides to close the RPC socket, we currently don\u0027t actually\n respond until either another RPC call is scheduled, or until xprt_autoclose()\n gets called by the socket expiry timer (which may be up to 5 minutes\n later).\n\n This patch ensures that xprt_autoclose() is called much sooner if the\n server closes the socket.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f518e35aec984036903c1003e867f833747a9d79",
      "tree": "2697838e0b1e6cc80565204de8b46430ded1246a",
      "parents": [
        "922004120b10dcb0ce04b55014168e8a7a8c1a0e"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Jan 03 09:55:52 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:56 2006 -0500"
      },
      "message": "SUNRPC: get rid of cl_chatty\n\n Clean up: Every ULP that uses the in-kernel RPC client, except the NLM\n client, sets cl_chatty.  There\u0027s no reason why NLM shouldn\u0027t set it, so\n just get rid of cl_chatty and always be verbose.\n\n Test-plan:\n Compile with CONFIG_NFS enabled.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "922004120b10dcb0ce04b55014168e8a7a8c1a0e",
      "tree": "4209bbd1043d9ddf09f2f277a65af758aa3631da",
      "parents": [
        "35f5a422ce1af836007f811b613c440d0e348e06"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Jan 03 09:55:51 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:56 2006 -0500"
      },
      "message": "SUNRPC: transport switch API for setting port number\n\n At some point, transport endpoint addresses will no longer be IPv4.  To hide\n the structure of the rpc_xprt\u0027s address field from ULPs and port mappers,\n add an API for setting the port number during an RPC bind operation.\n\n Test-plan:\n Destructive testing (unplugging the network temporarily).  Connectathon\n with UDP and TCP.  NFSv2/3 and NFSv4 mounting should be carefully checked.\n Probably need to rig a server where certain services aren\u0027t running, or\n that returns an error for some typical operation.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "35f5a422ce1af836007f811b613c440d0e348e06",
      "tree": "25aac5cccce27a6ed5ebb4e161f813af2adbaf56",
      "parents": [
        "02107148349f31eee7c0fb06fd7a880df73dbd20"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Jan 03 09:55:50 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:56 2006 -0500"
      },
      "message": "SUNRPC: new interface to force an RPC rebind\n\n We\u0027d like to hide fields in rpc_xprt and rpc_clnt from upper layer protocols.\n Start by creating an API to force RPC rebind, replacing logic that simply\n sets cl_port to zero.\n\n Test-plan:\n Destructive testing (unplugging the network temporarily).  Connectathon\n with UDP and TCP.  NFSv2/3 and NFSv4 mounting should be carefully checked.\n Probably need to rig a server where certain services aren\u0027t running, or\n that returns an error for some typical operation.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "02107148349f31eee7c0fb06fd7a880df73dbd20",
      "tree": "37bffd81e08b8e50394ce89a1aa7a3961f0ffbe7",
      "parents": [
        "03c21733938aad0758f5f88e1cc7ede69fc3c910"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Jan 03 09:55:49 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:55 2006 -0500"
      },
      "message": "SUNRPC: switchable buffer allocation\n\n Add RPC client transport switch support for replacing buffer management\n on a per-transport basis.\n\n In the current IPv4 socket transport implementation, RPC buffers are\n allocated as needed for each RPC message that is sent.  Some transport\n implementations may choose to use pre-allocated buffers for encoding,\n sending, receiving, and unmarshalling RPC messages, however.  For\n transports capable of direct data placement, the buffers can be carved\n out of a pre-registered area of memory rather than from a slab cache.\n\n Test-plan:\n Millions of fsx operations.  Performance characterization with \"sio\" and\n \"iozone\".  Use oprofile and other tools to look for significant regression\n in CPU utilization.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "64a318ee2af9000df482d7a125c3b3e1f1007404",
      "tree": "7b39e558cccce484635dc847a016bbcb5e83abdb",
      "parents": [
        "2c5acd2e1a73cad59203a1bace21e6b03f2920a9"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Jan 03 09:55:46 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:54 2006 -0500"
      },
      "message": "NLM: Further cancel fixes\n\n If the server receives an NLM cancel call and finds no waiting lock to\n cancel, then chances are the lock has already been applied, and the client\n just hadn\u0027t yet processed the NLM granted callback before it sent the\n cancel.\n\n The Open Group text, for example, perimts a server to return either success\n (LCK_GRANTED) or failure (LCK_DENIED) in this case.  But returning an error\n seems more helpful; the client may be able to use it to recognize that a\n race has occurred and to recover from the race.\n\n So, modify the relevant functions to return an error in this case.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fb459f45f7c7689714023d41b3dca999bb90a5d3",
      "tree": "5352bfb2157ad3edfd617e721a3c32e8617b4757",
      "parents": [
        "a72b44222d222749d54b3e370d825094352e389f"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Jan 03 09:55:41 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:53 2006 -0500"
      },
      "message": "SUNRPC: net/sunrpc/xdr.c: remove xdr_decode_string()\n\n This patch removes ths unused function xdr_decode_string().\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nAcked-by: Charles Lever \u003cCharles.Lever@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a72b44222d222749d54b3e370d825094352e389f",
      "tree": "d64815b696d207927a4154a2cbc649552708c6f2",
      "parents": [
        "a895b4a198dd06f8353328867e4f6cfd28b63081"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:41 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:52 2006 -0500"
      },
      "message": "NFSv4: Allow user to set the port used by the NFSv4 callback channel\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fa178f29c0f8a0dce748181a5351f4a92fd4f455",
      "tree": "07de5ced8d16d832ebed98c58a2c0498affa12db",
      "parents": [
        "beb2a5ec386e5ce6891ebd1c06b913da04354b40"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:38 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:51 2006 -0500"
      },
      "message": "NFSv4: Ensure DELEGRETURN returns attributes\n\n Upon return of a write delegation, the server will almost always bump the\n change attribute. Ensure that we pick up that change so that we don\u0027t\n invalidate our data cache unnecessarily.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "70b9ecbdb9c5fdc731f8780bffd45d9519020c4a",
      "tree": "4678182bd417945cd424a652396510bc53eff8b7",
      "parents": [
        "24174119c73983d5217da8f56a12c79a9b57e056"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:34 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:50 2006 -0500"
      },
      "message": "NFS: Make stat() return updated mtimes after a write()\n\n The SuS states that a call to write() will cause mtime to be updated on\n the file. In order to satisfy that requirement, we need to flush out\n any cached writes in nfs_getattr().\n Speed things up slightly by not committing the writes.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "40859d7ee64ed6bfad8a4e93f9bb5c1074afadff",
      "tree": "ed4069423c3d6551035d5b6116f50452cdac4103",
      "parents": [
        "325cfed9ae901320e9234b18c21434b783dbe342"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Wed Nov 30 18:09:02 2005 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:49 2006 -0500"
      },
      "message": "NFS: support large reads and writes on the wire\n\n Most NFS server implementations allow up to 64KB reads and writes on the\n wire.  The Solaris NFS server allows up to a megabyte, for instance.\n\n Now the Linux NFS client supports transfer sizes up to 1MB, too.  This will\n help reduce protocol and context switch overhead on read/write intensive NFS\n workloads, and support larger atomic read and write operations on servers\n that support them.\n\n Test-plan:\n Connectathon and iozone on mount point with wsize\u003drsize\u003e32768 over TCP.\n Tests with NFS over UDP to verify the maximum RPC payload size cap.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a911fd9a6046200e439b4af172e8379c0942eec3",
      "tree": "f67582f100edef03085705fc919b4b068775d57a",
      "parents": [
        "6b59a75460eb9527145d7bd55068e5d32bee8a44"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Wed Nov 30 18:08:59 2005 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:48 2006 -0500"
      },
      "message": "NFS: simplify inlined bit ops in nfs_page.h\n\n Minor cleanup:  inlined bit ops in nfs_page.h can be simpler.\n\n Test plan:\n Write-intensive workload against a server that requires COMMITs.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "911d1aaf26fc4d771174d98fcab710a44e2a5fa0",
      "tree": "e16df0f68093d2dc0abd5f55c2d46ff7705fffb8",
      "parents": [
        "864472e9b8fa76ffaad17dfcb84d79e16df6828c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:16 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:44 2006 -0500"
      },
      "message": "NFSv4: locking XDR cleanup\n\n Get rid of some unnecessary intermediate structures\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cdd4e68b5f0ed12c64b3e2be83655d2a47588a74",
      "tree": "c31565c36e0550655207d2edcabaa6ea1f3217f7",
      "parents": [
        "24ac23ab88df5b21b5b2df8cde748bf99b289099"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:12 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:42 2006 -0500"
      },
      "message": "NFSv4: Make open_confirm() asynchronous too\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "44c288732fdbd7e38460d156a40d29590bf93bce",
      "tree": "d4239fe37529b4799e85443f803db754ef66f874",
      "parents": [
        "4ce70ada1ff1d0b80916ec9ec5764ce44a50a54f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:06 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:40 2006 -0500"
      },
      "message": "NFSv4: stateful NFSv4 RPC call interface\n\n The NFSv4 model requires us to complete all RPC calls that might\n establish state on the server whether or not the user wants to\n interrupt it. We may also need to schedule new work (including\n new RPC calls) in order to cancel the new state.\n\n The asynchronous RPC model will allow us to ensure that RPC calls\n always complete, but in order to allow for \"synchronous\" RPC, we\n want to add the ability to wait for completion.\n The waits are, of course, interruptible.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4ce70ada1ff1d0b80916ec9ec5764ce44a50a54f",
      "tree": "9bc9ffc691679a4423a6b8724a27607c9ad7ea2c",
      "parents": [
        "963d8fe53339128ee46a7701f2e36305f0ccff8c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:05 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:40 2006 -0500"
      },
      "message": "SUNRPC: Further cleanups\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "963d8fe53339128ee46a7701f2e36305f0ccff8c",
      "tree": "426736c70a8e05cb1d945d5c7f44ea6475edd113",
      "parents": [
        "abbcf28f23d53e8ec56a91f3528743913fa2694a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:04 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:39 2006 -0500"
      },
      "message": "RPC: Clean up RPC task structure\n\n Shrink the RPC task structure. Instead of storing separate pointers\n for task-\u003etk_exit and task-\u003etk_release, put them in a structure.\n\n Also pass the user data pointer as a parameter instead of passing it via\n task-\u003etk_calldata. This enables us to nest callbacks.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "abbcf28f23d53e8ec56a91f3528743913fa2694a",
      "tree": "97dafc3840e4660ac0fcf99bbdc7eddc2fecd08a",
      "parents": [
        "abd3e641d5ef9f836ab2f2b04d80b8619b051531"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:03 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:39 2006 -0500"
      },
      "message": "SUNRPC: Yet more RPC cleanups\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "22905f775dd6a8b73be99826dcad07ceec00244b",
      "tree": "960c0ad3d10fa208a31b78256788f332e5ebdd48",
      "parents": [
        "d99cf9d679a520d67f81d805b7cb91c68e1847f0"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Nov 16 15:07:01 2005 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:38 2006 -0500"
      },
      "message": "identify multipage -\u003ewritepages() calls\n\n NFS needs to be able to distinguish between single-page -\u003ewritepage() calls and\n multipage -\u003ewritepages() calls.\n\n For the single-page writepage calls NFS can kick off the I/O within the\n context of -\u003ewritepage().\n\n For multipage -\u003ewritepages calls, nfs_writepage() will leave the I/O pending\n and nfs_writepages() will kick off the I/O when it all has been queued up\n within NFS.\n\n Cc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\n Signed-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d99cf9d679a520d67f81d805b7cb91c68e1847f0",
      "tree": "415aefe6d168df27c006fcc53b1ea5242eabaaea",
      "parents": [
        "7ed40918a386afc2e14a6d3da563ea6d13686c25",
        "e650c305ec3178818b317dad37a6d9c7fa8ba28d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 09:01:25 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 09:01:25 2006 -0800"
      },
      "message": "Merge branch \u0027post-2.6.15\u0027 of git://brick.kernel.dk/data/git/linux-2.6-block\n\nManual fixup for merge with Jens\u0027 \"Suspend support for libata\", commit\nID 9b847548663ef1039dd49f0eb4463d001e596bc3.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9b847548663ef1039dd49f0eb4463d001e596bc3",
      "tree": "105a0eece522b1347bea57f609f6c04ed673fdb3",
      "parents": [
        "88202a0c84e1951d6630d1d557d4801a8cc5b5ef"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Jan 06 09:28:07 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:36:09 2006 -0800"
      },
      "message": "[PATCH] Suspend support for libata\n\nThis patch adds suspend patch to libata, and ata_piix in particular. For\nmost low level drivers, they should just need to add the 4 hooks to\nwork. As I can only test ata_piix, I didn\u0027t enable it for more\nthough.\n\nSuspend support is the single most important feature on a notebook, and\nmost new notebooks have sata drives. It\u0027s quite embarrassing that we\n_still_ do not support this. Right now, it\u0027s perfectly possible to\nsuspend the drive in mid-transfer.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "88202a0c84e1951d6630d1d557d4801a8cc5b5ef",
      "tree": "5a1aadc008de1ee68f40a4bb667157f248211230",
      "parents": [
        "6d7ff7380b2e28c2807da3bf9fa614d91d15bacf"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:21:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:10 2006 -0800"
      },
      "message": "[PATCH] md: allow sync-speed to be controlled per-device\n\nAlso export current (average) speed and status in sysfs.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nAcked-by: 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": "4dbcdc751cb25ffca3a8374cbc5ab6de961cc545",
      "tree": "61d1eb6e35c0eec66e5a8610c1f57b1e6eec135c",
      "parents": [
        "d9d166c2a9d5d01af34396793950aa695883eed4"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:52 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:09 2006 -0800"
      },
      "message": "[PATCH] md: count corrected read errors per drive\n\nStore this total in superblock (As appropriate), and make it available to\nuserspace via sysfs.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nAcked-by: 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": "d9d166c2a9d5d01af34396793950aa695883eed4",
      "tree": "6cb593cc0636476ebec9a9690aa48997510f9701",
      "parents": [
        "8bb93aaca2062cd54cc2c58c76ee8409cae209a7"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:51 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:09 2006 -0800"
      },
      "message": "[PATCH] md: allow array level to be set textually via sysfs\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nAcked-by: 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": "2989ddbd6e1d9638a188311b896362c4bf7b7c25",
      "tree": "6dd1adb19cdff7135aadb96a309e55aed59e8be9",
      "parents": [
        "f188593ee7af8c71755d2df269a7a5f62c4b695e"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:07 2006 -0800"
      },
      "message": "[PATCH] md: make a couple of names in md.c static\n\n.. because they aren\u0027t used outside md.c\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": "1345b1d8adbdeceb1c871d9a4af5e2a700b341c6",
      "tree": "0da1db7d273752ad5281db415e9245f3f3a63383",
      "parents": [
        "7dd5d34c6c2da04e8cd0732e08b33cd3359e4bae"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:40 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:07 2006 -0800"
      },
      "message": "[PATCH] md: define and use safe_put_page for md\n\nmd sometimes call put_page on NULL pointers (treating it like kfree).  This is\nnot safe, so define and use a \u0027safe_put_page\u0027 which checks for NULL.\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": "2604b703b6b3db80e3c75ce472a54dfd0b7bf9f4",
      "tree": "8c0e985c455ff35af24fbe60d8a3f5a276034370",
      "parents": [
        "a24a8dd858e0ba50f06a9fd8f61fe8c4fe7a8d8e"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:06 2006 -0800"
      },
      "message": "[PATCH] md: remove personality numbering from md\n\nmd supports multiple different RAID level, each being implemented by a\n\u0027personality\u0027 (which is often in a separate module).\n\nThese personalities have fairly artificial \u0027numbers\u0027.  The numbers\nare use to:\n 1- provide an index into an array where the various personalities\n    are recorded\n 2- identify the module (via an alias) which implements are particular\n    personality.\n\nNeither of these uses really justify the existence of personality numbers.\nThe array can be replaced by a linked list which is searched (array lookup\nonly happens very rarely).  Module identification can be done using an alias\nbased on level rather than \u0027personality\u0027 number.\n\nThe current \u0027raid5\u0027 modules support two level (4 and 5) but only one\npersonality.  This slight awkwardness (which was handled in the mapping from\nlevel to personality) can be better handled by allowing raid5 to register 2\npersonalities.\n\nWith this change in place, the core md module does not need to have an\nexhaustive list of all possible personalities, so other personalities can be\nadded independently.\n\nThis patch also moves the check for chunksize being non-zero into the -\u003erun\nroutines for the personalities that need it, rather than having it in core-md.\n This has a side effect of allowing \u0027faulty\u0027 and \u0027linear\u0027 not to have a\nchunk-size set.\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": "fccddba060f2b4916a30aa27acc3d03b01bb981e",
      "tree": "92fbb81ab3b1fdbbe8de9ba2ebb91ac68c57b2a0",
      "parents": [
        "9ffae0cf3ea02f75d163922accfd3e592d87adde"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:33 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:06 2006 -0800"
      },
      "message": "[PATCH] md: tidy up raid5/6 hash table code\n\n- replace open-coded hash chain with hlist macros\n\n- Fix hash-table size at one page - it is already quite generous, so there\n  will never be a need to use multiple pages, so no need for __get_free_pages\n\nNo functional change.\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": "0eb3ff12aa8a12538ef681dc83f4361636a0699f",
      "tree": "e5d4b8353362cefd096a4b1ee1a8f473c01169b6",
      "parents": [
        "4443ae10ca15d07922ceda622f03db8865fa3d13"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:29 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:05 2006 -0800"
      },
      "message": "[PATCH] md: raid10 read-error handling - resync and read-only\n\nAdd in correct read-error handling for resync and read-only situations.\n\nWhen read-only, we don\u0027t over-write, so we need to mark the failed drive in\nthe r10_bio so we don\u0027t re-try it.  During resync, we always read all blocks,\nso if there is a read error, we simply over-write it with the good block that\nwe found (assuming we found one).\n\nNote that the recovery case still isn\u0027t handled in an interesting way.  There\nis nothing useful to do for the 2-copies case.  If there are 3 or more copies,\nthen we could try reading from one of the non-missing copies, but this is a\nbit complicated and very rarely would be used, so I\u0027m leaving it for now.\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": "4443ae10ca15d07922ceda622f03db8865fa3d13",
      "tree": "f1f0a6a82142effbdde93913d53596aeeacc9dc4",
      "parents": [
        "220946c9018de74b952446e3a4dff1bfd4cbf310"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:28 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:05 2006 -0800"
      },
      "message": "[PATCH] md: auto-correct correctable read errors in raid10\n\nLargely just a cross-port from raid1.\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": "9910f16af35419a5382fa7850eecc220103036fa",
      "tree": "3b5145b8a706e03a6f2b4da4bd84fe98c83de31a",
      "parents": [
        "cf30a473a02901fe4db37abc0b0fa26dd5ba3f72"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:24 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:04 2006 -0800"
      },
      "message": "[PATCH] md: fix up some rdev rcu locking in raid5/6\n\nThere is this \"FIXME\" comment with a typo in it!!  that been annoying me for\ndays, so I just had to remove it.\n\nconf-\u003edisks[i].rdev should only be accessed if\n  - we know we hold a reference or\n  - the mddev-\u003ereconfig_sem is down or\n  - we have a rcu_readlock\n\nhandle_stripe was referencing rdev in three places without any of these.  For\nthe first two, get an rcu_readlock.  For the last, the same access\n(md_sync_acct call) is made a little later after the rdev has been claimed\nunder and rcu_readlock, if R5_Syncio is set.  So just use that access...\nHowever R5_Syncio isn\u0027t really needed as the \u0027syncing\u0027 variable contains the\nsame information.  So use that instead.\n\nIssues, comment, and fix are identical in raid5 and raid6.\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": "cf30a473a02901fe4db37abc0b0fa26dd5ba3f72",
      "tree": "3fa967963e174913826943f0f98e63c60032d07d",
      "parents": [
        "69382e85371c232df71524137a806b9c210ec021"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:23 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:04 2006 -0800"
      },
      "message": "[PATCH] md: handle errors when read-only\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": "ddaf22abaa831763e75775e6d4c7693504237997",
      "tree": "4f6ba4cb056f8c7cea82c7d548769b879d0fb405",
      "parents": [
        "d69762e98456b71167865db9e33e732a28dd36ab"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:19 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:03 2006 -0800"
      },
      "message": "[PATCH] md: attempt to auto-correct read errors in raid1\n\nOn a read-error we suspend the array, then synchronously read the block from\nother arrays until we find one where we can read it.  Then we try writing the\ngood data back everywhere and make sure it works.  If any write or subsequent\nread fails, only then do we fail the device out of the array.\n\nTo be able to suspend the array, we need to also keep track of how many\nrequests are queued for handling by raid1d.\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": "ca65b73bd9c301d243df93780f7b26579e6c9204",
      "tree": "1ca8157e11033989ee94c20b1f2d4c936f9dc09c",
      "parents": [
        "6cce3b23f6f8e974c00af7a9b88f1d413ba368a8"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:17 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:03 2006 -0800"
      },
      "message": "[PATCH] md: fix raid6 resync check/repair code\n\nraid6 currently does not check the P/Q syndromes when doing a resync, it just\ncalculates the correct value and writes it.  Doing the check can reduce writes\n(often to 0) for a resync, and it is needed to properly implement the\n\n  echo check \u003e sync_action\n\noperation.\n\nThis patch implements the appropriate checks and tidies up some related code.\n\nIt also allows raid6 user-requested resync to bypass the intent bitmap.\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": "6cce3b23f6f8e974c00af7a9b88f1d413ba368a8",
      "tree": "8c156f26a10de82b1626d74f810704cfd6f5ba2b",
      "parents": [
        "b15c2e57f0f5bf596a19e9c5571e5b07cdfc7363"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:16 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:03 2006 -0800"
      },
      "message": "[PATCH] md: write intent bitmap support for raid10\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": "6ff8d8ec06690f4011a6c3ad9e0759b9094f0601",
      "tree": "3606791ca1fb73e0263c4bb90d9c909d354bf9d4",
      "parents": [
        "14f8d26b8ea3413b28f2cac208c9a93600fe3a80"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:15 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:02 2006 -0800"
      },
      "message": "[PATCH] md: allow dirty raid[456] arrays to be started at boot\n\nSee patch to md.txt for more details\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": "0a27ec96b6fb1abf867e36d7b0b681d67588767a",
      "tree": "4db5d9b8ef02b417fc2077d65311e2ea7cda5ce0",
      "parents": [
        "17999be4aa408e7ff3b9d32c735649676567a3cd"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:02 2006 -0800"
      },
      "message": "[PATCH] md: improve raid10 \"IO Barrier\" concept\n\nraid10 needs to put up a barrier to new requests while it does resync or other\nbackground recovery.  The code for this is currently open-coded, slighty\nobscure by its use of two waitqueues, and not documented.\n\nThis patch gathers all the related code into 4 functions, and includes a\ncomment which (hopefully) explains what is happening.\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": "17999be4aa408e7ff3b9d32c735649676567a3cd",
      "tree": "14f9fd4ef0299f16274ce2980baef7b96f111bea",
      "parents": [
        "ac81b2ee45eb811fdb0aa1cfb71d468d944d00ce"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:12 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:01 2006 -0800"
      },
      "message": "[PATCH] md: improve raid1 \"IO Barrier\" concept\n\nraid1 needs to put up a barrier to new requests while it does resync or other\nbackground recovery.  The code for this is currently open-coded, slighty\nobscure by its use of two waitqueues, and not documented.\n\nThis patch gathers all the related code into 4 functions, and includes a\ncomment which (hopefully) explains what is happening.\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": "6da487dcc0c6f4c827779687a20016efeffc4d60",
      "tree": "824d14e18cbb81bf45c6d17104993acfa47c9c36",
      "parents": [
        "aa8d7c2fbe619d8c0837296d2eaf4c14cebac198"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jan 06 00:20:07 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:01 2006 -0800"
      },
      "message": "[PATCH] device-mapper ioctl: add skip lock_fs flag\n\nAdd ioctl DM_SKIP_LOCKFS_FLAG for userspace to request that lock_fs is\nbypassed when suspending a device.\n\nThere\u0027s no change to the behaviour of existing code that doesn\u0027t know about\nthe new flag.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a334de28665b14f0a33df82699fa9a78cfeedf31",
      "tree": "21749c30159b1e0bf4cae7e174ec1bdcf3859ef4",
      "parents": [
        "93fbf1a5de8afde08988dda3735669099dee84d0"
      ],
      "author": {
        "name": "David Shaw",
        "email": "dshaw@jabberwocky.com",
        "time": "Fri Jan 06 00:19:58 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:59 2006 -0800"
      },
      "message": "[PATCH] knfsd: check error status from vfs_getattr and i_op-\u003efsync\n\nBoth vfs_getattr and i_op-\u003efsync return error statuses which nfsd was\nlargely ignoring.  This as noticed when exporting directories using fuse.\n\nThis patch cleans up most of the offences, which involves moving the call\nto vfs_getattr out of the xdr encoding routines (where it is too late to\nreport an error) into the main NFS procedure handling routines.\n\nThere is still a called to vfs_gettattr (related to the ACL code) where the\nstatus is ignored, and called to nfsd_sync_dir don\u0027t check return status\neither.\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": "f93ea411b73594f7d144855fd34278bcf34a9afc",
      "tree": "50419ba9250be6f923470b4eff73370512c00267",
      "parents": [
        "6fe2e70bbed3995d930f39452fb6ce3be7dc47dc"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Jan 06 00:19:55 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:59 2006 -0800"
      },
      "message": "[PATCH] jbd: split checkpoint lists\n\nSplit the checkpoint list of the transaction into two lists.  In the first\nlist we keep the buffers that need to be submitted for IO.  In the second\nlist are kept buffers that were already submitted and we just have to wait\nfor the IO to complete.  This should simplify a handling of checkpoint\nlists a bit and can eventually be also a performance gain.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "81684ee645e15601ec935461d9069a3086179c06",
      "tree": "279068d461a61bc6799f97fcf396ef23d218205b",
      "parents": [
        "a1b9168d83962fbb05859c1ecaa57fd4f53cf38e"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jan 06 00:19:53 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:58 2006 -0800"
      },
      "message": "[PATCH] include/linux/parport_pc.h: \"extern inline\" -\u003e \"static inline\"\n\n\"extern inline\" doesn\u0027t make much sense.\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": "110bee75d2e03d3b4bcc74743dee5a21fe7b43bd",
      "tree": "1bbef7e9c9508204cce50061bad51e56e3bdc8c4",
      "parents": [
        "a6767b7cc674ee39635db75ed2f6f65ed0012239"
      ],
      "author": {
        "name": "Marko Kohtala",
        "email": "marko.kohtala@gmail.com",
        "time": "Fri Jan 06 00:19:49 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:57 2006 -0800"
      },
      "message": "[PATCH] parport: DEBUG_PARPORT build fix\n\nAdd missing \"struct\" keyword preventing compilation with DEBUG_PARPORT\ndefined.  Also add some \"const\".\n\nSigned-off-by: Marko Kohtala \u003cmarko.kohtala@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "742ec650e9b63ea61891455bb6f76bac37025c78",
      "tree": "993a734fc7c412c0a0c37e107bff761e0071cfcf",
      "parents": [
        "c660629059abbbd0eb56e12f9bb4494f01800bbc"
      ],
      "author": {
        "name": "Marko Kohtala",
        "email": "marko.kohtala@gmail.com",
        "time": "Fri Jan 06 00:19:44 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:56 2006 -0800"
      },
      "message": "[PATCH] parport: phase fixes\n\nDid not move the parport interface properly into IEEE1284_PH_REV_IDLE phase at\nend of data due to comparing bytes with nibbles.  Internal phase\nIEEE1284_PH_HBUSY_DNA became unused, so remove it.\n\nSigned-off-by: Marko Kohtala \u003cmarko.kohtala@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3ec870d524c9150add120475c8ddcfa50574f98e",
      "tree": "62918ff93aac09bc13d4730208a8c8bc1fec4e40",
      "parents": [
        "1d3d752b471d2a3a1d5e4fe177e5e7d52abb4e4c"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Jan 06 00:19:41 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:56 2006 -0800"
      },
      "message": "[PATCH] fuse: make maximum write data configurable\n\nMake the maximum size of write data configurable by the filesystem.  The\nprevious fixed 4096 limit only worked on architectures where the page size is\nless or equal to this.  This change make writing work on other architectures\ntoo, and also lets the filesystem receive bigger write requests in direct_io\nmode.\n\nNormal writes which go through the page cache are still limited to a page\nsized chunk per request.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "1d3d752b471d2a3a1d5e4fe177e5e7d52abb4e4c"
}
