)]}'
{
  "log": [
    {
      "commit": "e94b1766097d53e6f3ccfb36c8baa562ffeda3fc",
      "tree": "93fa0a8ab84976d4e89c50768ca8b8878d642a0d",
      "parents": [
        "54e6ecb23951b195d02433a741c7f7cb0b796c78"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:17 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:24 2006 -0800"
      },
      "message": "[PATCH] slab: remove SLAB_KERNEL\n\nSLAB_KERNEL is an alias of GFP_KERNEL.\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": "54e6ecb23951b195d02433a741c7f7cb0b796c78",
      "tree": "c8885c49f37c8d383945b8af69d51597494ed62c",
      "parents": [
        "f7267c0c0721fd02ad3dc37c3d6dd24ccd81d4d6"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:16 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:24 2006 -0800"
      },
      "message": "[PATCH] slab: remove SLAB_ATOMIC\n\nSLAB_ATOMIC is an alias of GFP_ATOMIC\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": "f7267c0c0721fd02ad3dc37c3d6dd24ccd81d4d6",
      "tree": "4bbc467e881f9dce909de3d9d9d27bb068a8a3b4",
      "parents": [
        "e6b4f8da3a88457148038bc952043e99a7fdba64"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:15 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:24 2006 -0800"
      },
      "message": "[PATCH] slab: remove SLAB_USER\n\nSLAB_USER is an alias of GFP_USER\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": "e6b4f8da3a88457148038bc952043e99a7fdba64",
      "tree": "858c2a0e04b442395e7ecd0f60c8d2a3304b83e1",
      "parents": [
        "55acbda0965ca0a29b0ca276e7d17a55edc11d1b"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:14 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:23 2006 -0800"
      },
      "message": "[PATCH] slab: remove SLAB_NOFS\n\nSLAB_NOFS is an alias of GFP_NOFS.\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": "55acbda0965ca0a29b0ca276e7d17a55edc11d1b",
      "tree": "db2eb5d570999e3e04f24d1ad57f7544b58df395",
      "parents": [
        "a06d72c1dcbff015250df6ad9f0b1d18c02113bf"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:23 2006 -0800"
      },
      "message": "[PATCH] slab: remove SLAB_NOIO\n\nSLAB_NOIO is an alias of GFP_NOIO with a single instance of use.\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": "a06d72c1dcbff015250df6ad9f0b1d18c02113bf",
      "tree": "e3284c3fa53817481c05a1cf8033f85ad6c6a26b",
      "parents": [
        "6e0eaa4b05cf53ca5caa702fd2760a5b3376be69"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:12 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:23 2006 -0800"
      },
      "message": "[PATCH] slab: remove SLAB_LEVEL_MASK\n\nSLAB_LEVEL_MASK is only used internally to the slab and is\nand alias of GFP_LEVEL_MASK.\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": "6e0eaa4b05cf53ca5caa702fd2760a5b3376be69",
      "tree": "f79ade4f91bf4b5c9fd5ec9605ac925740b9a8a6",
      "parents": [
        "2d4d862f729f0cb1ad8027203aceff49dc9f63fa"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:10 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:23 2006 -0800"
      },
      "message": "[PATCH] slab: remove SLAB_NO_GROW\n\nIt is only used internally in the slab.\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": "2d4d862f729f0cb1ad8027203aceff49dc9f63fa",
      "tree": "e081c175e65efee2e0bf239a215cceeeb8b8a26b",
      "parents": [
        "ce421c799b5bde77aa60776d6fb61036ae0aea11"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Wed Dec 06 20:33:09 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:23 2006 -0800"
      },
      "message": "[PATCH] kill install_file_pte\u0027s pte_val\n\nDavid Binderman and his Intel C compiler rightly observe that\ninstall_file_pte no longer has any use for its pte_val.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: d binderman \u003cdcb314@hotmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ce421c799b5bde77aa60776d6fb61036ae0aea11",
      "tree": "98e0a52cdafdfa28c986991f57854209e68b8226",
      "parents": [
        "5d1854e15ee979f8e27330f0d3ce5e2703afa1dc"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@shadowen.org",
        "time": "Wed Dec 06 20:33:08 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:23 2006 -0800"
      },
      "message": "[PATCH] mm: cleanup indentation on switch for CPU operations\n\nThese patches introduced new switch statements which are indented contrary\nto the concensus in mm/*.c.  Fix them up to match that concensus.\n\n    [PATCH] node local per-cpu-pages\n    [PATCH] ZVC: Scale thresholds depending on the size of the system\n    commit e7c8d5c9955a4d2e88e36b640563f5d6d5aba48a\n    commit df9ecaba3f152d1ea79f2a5e0b87505e03f47590\n\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5d1854e15ee979f8e27330f0d3ce5e2703afa1dc",
      "tree": "8aff9641966020284218f2cdd75fd3b7bfc2babc",
      "parents": [
        "4af2bfc1202041006a0f01d0591a975f6c573f09"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Dec 06 20:33:06 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:23 2006 -0800"
      },
      "message": "[PATCH] reject corrupt swapfiles earlier\n\nThe fsfuzzer found this; with a corrupt small swapfile that claims to have\nmany pages:\n\n  [root]# file swap.741.img\n  swap.741.img: Linux/i386 swap file (new style) 1 (4K pages) size 1040191487 pages\n  [root]# ls -l swap.741.img\n  -rw-r--r-- 1 root root 16777216 Nov 22 05:18 swap.741.img\n\nsys_swapon() will try to vmalloc all those pages, and -then- check to see if\nthe file is actually that large:\n\n                if (!(p-\u003eswap_map \u003d vmalloc(maxpages * sizeof(short)))) {\n  \u003csnip\u003e\n        if (swapfilesize \u0026\u0026 maxpages \u003e swapfilesize) {\n                printk(KERN_WARNING\n                       \"Swap area shorter than signature indicates\\n\");\n\nIt seems to me that it would make more sense to move this test up before\nthe vmalloc, with the other checks, to avoid the OOM-killer in this\nsituation...\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4af2bfc1202041006a0f01d0591a975f6c573f09",
      "tree": "6fb140a40083c793919a417cfa28b31c9f86c662",
      "parents": [
        "25ba77c141dbcd2602dd0171824d0d72aa023a01"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@shadowen.org",
        "time": "Wed Dec 06 20:33:04 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:23 2006 -0800"
      },
      "message": "[PATCH] silence unused pgdat warning from alloc_bootmem_node and friends\n\nx86 NUMA systems only define bootmem for node 0.  alloc_bootmem_node() and\nfriends therefore ignore the passed pgdat and use NODE_DATA(0) in all\ncases.  This leads to the following warnings as we are not using the passed\nparameter:\n\n  .../mm/page_alloc.c: In function \u0027zone_wait_table_init\u0027:\n  .../mm/page_alloc.c:2259: warning: unused variable \u0027pgdat\u0027\n\nOne option would be to define all variables used with these macros\n__attribute__ ((unused)), but this would leave us exposed should these\nbecome genuinely unused.\n\nThe key here is that we _are_ using the value, we ignore it but that is a\ndeliberate action.  This patch adds a nested local variable within the\nalloc_bootmem_node helper to which the pgdat parameter is assigned making\nit \u0027used\u0027.  The nested local is marked __attribute__ ((unused)) to silence\nthis same warning for it.\n\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "25ba77c141dbcd2602dd0171824d0d72aa023a01",
      "tree": "153eb9bc567f63d739dcaf8a3caf11c8f48b8379",
      "parents": [
        "bc4ba393c007248f76c05945abb7b7b892cdd1cc"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@shadowen.org",
        "time": "Wed Dec 06 20:33:03 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:23 2006 -0800"
      },
      "message": "[PATCH] numa node ids are int, page_to_nid and zone_to_nid should return int\n\nNUMA node ids are passed as either int or unsigned int almost exclusivly\npage_to_nid and zone_to_nid both return unsigned long.  This is a throw\nback to when page_to_nid was a #define and was thus exposing the real type\nof the page flags field.\n\nIn addition to fixing up the definitions of page_to_nid and zone_to_nid I\naudited the users of these functions identifying the following incorrect\nuses:\n\n1) mm/page_alloc.c show_node() -- printk dumping the node id,\n2) include/asm-ia64/pgalloc.h pgtable_quicklist_free() -- comparison\n   against numa_node_id() which returns an int from cpu_to_node(), and\n3) mm/mpolicy.c check_pte_range -- used as an index in node_isset which\n   uses bit_set which in generic code takes an int.\n\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bc4ba393c007248f76c05945abb7b7b892cdd1cc",
      "tree": "3c2cf7e13ecf991c58ffc00617757fcdeb3d863f",
      "parents": [
        "ebe29738f3934ad6a93c8bd76e30aa5d797a269d"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:02 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:23 2006 -0800"
      },
      "message": "[PATCH] drain_node_page(): Drain pages in batch units\n\ndrain_node_pages() currently drains the complete pageset of all pages.  If\nthere are a large number of pages in the queues then we may hold off\ninterrupts for too long.\n\nDuplicate the method used in free_hot_cold_page.  Only drain pcp-\u003ebatch\npages at one time.\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": "ebe29738f3934ad6a93c8bd76e30aa5d797a269d",
      "tree": "bde287ec1b33aaeaa0941eeac6bdb677eec3feb3",
      "parents": [
        "b86c089b83b8ae2bc814db865057768a9ba787b5"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:32:59 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:23 2006 -0800"
      },
      "message": "[PATCH] Remove uses of kmem_cache_t from mm/* and include/linux/slab.h\n\nRemove all uses of kmem_cache_t (the most were left in slab.h).  The\ntypedef for kmem_cache_t is then only necessary for other kernel\nsubsystems.  Add a comment to that effect.\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": "b86c089b83b8ae2bc814db865057768a9ba787b5",
      "tree": "f5a838ca841c6f655ad25e73a0295c357b904ee4",
      "parents": [
        "aa362a83e78d2e9320da588805cf2a0b53356bc3"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:32:57 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:23 2006 -0800"
      },
      "message": "[PATCH] Move names_cachep to linux/fs.h\n\nThe names_cachep is used for getname() and putname().  So lets put it into\nfs.h near those two definitions.\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": "aa362a83e78d2e9320da588805cf2a0b53356bc3",
      "tree": "74851124298557f468fe6549b6eed06b410f7ddf",
      "parents": [
        "8b7d91eb7f6a3e8f0caaa613937bda5ab7dc7dc2"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:32:54 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:23 2006 -0800"
      },
      "message": "[PATCH] Move fs_cachep to linux/fs_struct.h\n\nfs_cachep is only used in kernel/exit.c and in kernel/fork.c.\n\nIt is used to store fs_struct items so it should be placed in linux/fs_struct.h\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": "8b7d91eb7f6a3e8f0caaa613937bda5ab7dc7dc2",
      "tree": "8036dc7f0c05ec2712acfed92589bd41ed5766f9",
      "parents": [
        "5d6538fcf231faccb2ac42f92851d259d00e62f9"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:32:52 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:23 2006 -0800"
      },
      "message": "[PATCH] Move filep_cachep to include/file.h\n\nfilp_cachep is only used in fs/file_table.c and in fs/dcache.c where\nit is defined.\n\nMove it to related definitions in linux/file.h.\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": "5d6538fcf231faccb2ac42f92851d259d00e62f9",
      "tree": "6ccf2d0755d32d5049d365a7f30c13240030585f",
      "parents": [
        "c43692e85f306667545b91194c748a6e46c1f8b4"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:32:50 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:22 2006 -0800"
      },
      "message": "[PATCH] Move files_cachep to include/file.h\n\nProper place is in file.h since files_cachep uses are rated to file I/O.\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": "c43692e85f306667545b91194c748a6e46c1f8b4",
      "tree": "5a1a47c0ddeded4d4591befcd3176f50669cd322",
      "parents": [
        "298ec1e2ac85cecce3eddd167286359358c44d5d"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:32:48 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:22 2006 -0800"
      },
      "message": "[PATCH] Move vm_area_cachep to include/mm.h\n\nvm_area_cachep is used to store vm_area_structs. So move to mm.h.\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": "298ec1e2ac85cecce3eddd167286359358c44d5d",
      "tree": "36472ce09abe8bcb0dbdb56270abaf572594cb30",
      "parents": [
        "54cc211ce3fc73a9d21c6316886db0676beaca95"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:32:47 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:22 2006 -0800"
      },
      "message": "[PATCH] Move sighand_cachep to include/signal.h\n\nMove sighand_cachep definitioni to linux/signal.h\n\nThe sighand cache is only used in fs/exec.c and kernel/fork.c.  It is defined\nin kernel/fork.c but only used in fs/exec.c.\n\nThe sighand_cachep is related to signal processing.  So add the definition to\nsignal.h.\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": "54cc211ce3fc73a9d21c6316886db0676beaca95",
      "tree": "1b78720012a6f1b8764c2937791eb59b3add2ca0",
      "parents": [
        "e30500557eca09ddd340806ce44abf84d9115ab1"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:32:45 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:22 2006 -0800"
      },
      "message": "[PATCH] Remove bio_cachep from slab.h\n\nRemove bio_cachep from slab.h - it no longer exists.\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": "e30500557eca09ddd340806ce44abf84d9115ab1",
      "tree": "2745f903ea3a0f6f85d78a8f296fc4a22dcb5120",
      "parents": [
        "7c309a64d6afa90a0a07813c836ba480aeaeca8c"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed Dec 06 20:32:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:22 2006 -0800"
      },
      "message": "[PATCH] make mm/thrash.c:global_faults static\n\nThis patch makes the needlessly global \"global_faults\" static.\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": "7c309a64d6afa90a0a07813c836ba480aeaeca8c",
      "tree": "a56b235fa35c2e528752071df2a6e21a25a4e8f6",
      "parents": [
        "a120586873d3d64de93bd6d593d237e131994e58"
      ],
      "author": {
        "name": "Christian Krafft",
        "email": "krafft@de.ibm.com",
        "time": "Wed Dec 06 20:32:41 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:22 2006 -0800"
      },
      "message": "[PATCH] enable booting a NUMA system where some nodes have no memory\n\nWhen booting a NUMA system with nodes that have no memory (eg by limiting\nmemory), bootmem_alloc_core tried to find pages in an uninitialized\nbootmem_map.  This caused a null pointer access.  This fix adds a check, so\nthat NULL is returned.  That will enable the caller (bootmem_alloc_nopanic)\nto alloc memory on other without a panic.\n\nSigned-off-by: Christian Krafft \u003ckrafft@de.ibm.com\u003e\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Martin Bligh \u003cmbligh@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a120586873d3d64de93bd6d593d237e131994e58",
      "tree": "ae284884e23268e867f748a2ab52353cf2390e89",
      "parents": [
        "b30973f877fea1a3fb84e05599890fcc082a88e5"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed Dec 06 20:32:37 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:22 2006 -0800"
      },
      "message": "[PATCH] Allow NULL pointers in percpu_free\n\nThe patch (as824b) makes percpu_free() ignore NULL arguments, as one would\nexpect for a deallocation routine.  (Note that free_percpu is #defined as\npercpu_free in include/linux/percpu.h.) A few callers are updated to remove\nnow-unneeded tests for NULL.  A few other callers already seem to assume\nthat passing a NULL pointer to percpu_free() is okay!\n\nThe patch also removes an unnecessary NULL check in percpu_depopulate().\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b30973f877fea1a3fb84e05599890fcc082a88e5",
      "tree": "198f7c31d5945288c1195348ac4e521ba90d81d6",
      "parents": [
        "873481367edb18a7d0d7e5a285e6728c16bb44a9"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Dec 06 20:32:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:22 2006 -0800"
      },
      "message": "[PATCH] node-aware skb allocation\n\nNode-aware allocation of skbs for the receive path.\n\nDetails:\n\n  - __alloc_skb gets a new node argument and cals the node-aware\n    slab functions with it.\n  - netdev_alloc_skb passed the node number it gets from dev_to_node\n    to it, everyone else passes -1 (any node)\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "873481367edb18a7d0d7e5a285e6728c16bb44a9",
      "tree": "dd97507a3c061addac715bb07bfd5c4991e08f80",
      "parents": [
        "8b98c1699eba23cfd2e8b366625c50ff5fd1415b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Dec 06 20:32:33 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:22 2006 -0800"
      },
      "message": "[PATCH] add numa node information to struct device\n\nFor node-aware skb allocations we need information about the node in struct\nnet_device or struct device.  Davem suggested to put it into struct device\nwhich this patch does.\n\nIn particular:\n\n - struct device gets a new int numa_node member if CONFIG_NUMA is set\n - there are two new helpers, dev_to_node and set_dev_node to\n   transparently deal with the non-numa case\n - for pci devices the node-info is set to the value we get from\n   pcibus_to_node.\n\nNote that for some architectures pcibus_to_node doesn\u0027t work yet at the time\nwe call it currently.  This is harmless and will just mean skb allocations\naren\u0027t node-local on this architectures until the implementation of\npcibus_to_node on these architectures have been updated (There are patches for\nx86 and x86_64 floating around)\n\n[akpm@osdl.org: cleanup]\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8b98c1699eba23cfd2e8b366625c50ff5fd1415b",
      "tree": "24462eaefeb4e2fa85e77d392a94a60316ad2349",
      "parents": [
        "881e4aabe4c6b3fce93674b67c6adc646fe2683b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Dec 06 20:32:30 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:22 2006 -0800"
      },
      "message": "[PATCH] leak tracking for kmalloc_node\n\nWe have variants of kmalloc and kmem_cache_alloc that leave leak tracking to\nthe caller.  This is used for subsystem-specific allocators like skb_alloc.\n\nTo make skb_alloc node-aware we need similar routines for the node-aware slab\nallocator, which this patch adds.\n\nNote that the code is rather ugly, but it mirrors the non-node-aware code 1:1:\n\n[akpm@osdl.org: add module export]\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "881e4aabe4c6b3fce93674b67c6adc646fe2683b",
      "tree": "f5e429c01ca20c8bb8bd300e33013f056516b131",
      "parents": [
        "b43a57bb4dae72e8f7232e7c821a8799eda30022"
      ],
      "author": {
        "name": "Suleiman Souhlal",
        "email": "ssouhlal@FreeBSD.org",
        "time": "Wed Dec 06 20:32:28 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:22 2006 -0800"
      },
      "message": "[PATCH] Always print out the header line in /proc/swaps\n\nIt would be possible for /proc/swaps to not always print out the header:\n\nswapon /dev/hdc2\nswapon /dev/hde2\nswapoff /dev/hdc2\n\nAt this point /proc/swaps would not have a header.\n\nSigned-off-by: Suleiman Souhlal \u003csuleiman@google.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b43a57bb4dae72e8f7232e7c821a8799eda30022",
      "tree": "4293286b44c8b11bac6a03c4ddfe75aea40aa089",
      "parents": [
        "a3eea484f7a1aadb70ed6665338026a09ad6ce85"
      ],
      "author": {
        "name": "Kirill Korotaev",
        "email": "dev@openvz.org",
        "time": "Wed Dec 06 20:32:27 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:22 2006 -0800"
      },
      "message": "[PATCH] OOM can panic due to processes stuck in __alloc_pages()\n\nOOM can panic due to the processes stuck in __alloc_pages() doing infinite\nrebalance loop while no memory can be reclaimed.  OOM killer tries to kill\nsome processes, but unfortunetaly, rebalance label was moved by someone\nbelow the TIF_MEMDIE check, so buddy allocator doesn\u0027t see that process is\nOOM-killed and it can simply fail the allocation :/\n\nObserved in reality on RHEL4(2.6.9)+OpenVZ kernel when a user doing some\nmemory allocation tricks triggered OOM panic.\n\nSigned-off-by: Denis Lunev \u003cden@sw.ru\u003e\nSigned-off-by: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a3eea484f7a1aadb70ed6665338026a09ad6ce85",
      "tree": "95bf0a3d1bc65d00b4cb26e5cf2a419f13ac5814",
      "parents": [
        "8fb4fc68ca391862b061b3d358a288ccf6abed39"
      ],
      "author": {
        "name": "Rik Bobbaers",
        "email": "Rik.Bobbaers@cc.kuleuven.be",
        "time": "Wed Dec 06 20:32:25 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:22 2006 -0800"
      },
      "message": "[PATCH] mlock cleanup\n\nmm is defined as vma-\u003evm_mm, so use that.\n\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8fb4fc68ca391862b061b3d358a288ccf6abed39",
      "tree": "5fb67541fb76957260879812d6d21ead6c4e6852",
      "parents": [
        "3b17979bda74493633364c2c263b452b7788e350"
      ],
      "author": {
        "name": "Guillem Jover",
        "email": "guillem.jover@nokia.com",
        "time": "Wed Dec 06 20:32:24 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:21 2006 -0800"
      },
      "message": "[PATCH] Allow user processes to raise their oom_adj value\n\nCurrently a user process cannot rise its own oom_adj value (i.e.\nunprotecting itself from the OOM killer).  As this value is stored in the\ntask structure it gets inherited and the unprivileged childs will be unable\nto rise it.\n\nThe EPERM will be handled by the generic proc fs layer, as only processes\nwith the proper caps or the owner of the process will be able to write to\nthe file.  So we allow only the processes with CAP_SYS_RESOURCE to lower\nthe value, otherwise it will get an EACCES which seems more appropriate\nthan EPERM.\n\nSigned-off-by: Guillem Jover \u003cguillem.jover@nokia.com\u003e\nAcked-by: Andrea Arcangeli \u003candrea@novell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3b17979bda74493633364c2c263b452b7788e350",
      "tree": "3b15ec560ae56bb7730eedb3e7e8594ced2f7029",
      "parents": [
        "ad76fb6b5a5183255279e0ab5260715481770678"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Dec 06 20:32:22 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:21 2006 -0800"
      },
      "message": "[PATCH] Fix kunmap_atomic\u0027s use of kpte_clear_flush()\n\nkunmap_atomic() will call kpte_clear_flush with vaddr/ptep arguments which\ndon\u0027t correspond if the vaddr is just a normal lowmem address (ie, not in\nthe KMAP area).  This patch makes sure that the pte is only cleared if kmap\narea was actually used for the mapping.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Zachary Amsden \u003czach@vmware.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ad76fb6b5a5183255279e0ab5260715481770678",
      "tree": "31034294d70f5fc3d6166a76fe9b7f8cd19db0fd",
      "parents": [
        "a866374aecc90c7d90619727ccd851ac096b2fc7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 06 20:32:21 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:21 2006 -0800"
      },
      "message": "[PATCH] mm: k{,um}map_atomic() vs in_atomic()\n\nMake kmap_atomic/kunmap_atomic denote a pagefault disabled scope.  All non\ntrivial implementations already do this anyway.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a866374aecc90c7d90619727ccd851ac096b2fc7",
      "tree": "eabae0b36b5281dcef20563470c7f05549689b8c",
      "parents": [
        "6edaf68a87d17570790fd55f0c451a29ec1d6703"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 06 20:32:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:21 2006 -0800"
      },
      "message": "[PATCH] mm: pagefault_{disable,enable}()\n\nIntroduce pagefault_{disable,enable}() and use these where previously we did\nmanual preempt increments/decrements to make the pagefault handler do the\natomic thing.\n\nCurrently they still rely on the increased preempt count, but do not rely on\nthe disabled preemption, this might go away in the future.\n\n(NOTE: the extra barrier() in pagefault_disable might fix some holes on\n       machines which have too many registers for their own good)\n\n[heiko.carstens@de.ibm.com: s390 fix]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6edaf68a87d17570790fd55f0c451a29ec1d6703",
      "tree": "8ea1f3509dcf3e721919471dea67ef55a3aff78f",
      "parents": [
        "3395ee0588795b0b3bd889c260e55959cf2b61f5"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 06 20:32:18 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:21 2006 -0800"
      },
      "message": "[PATCH] mm: arch do_page_fault() vs in_atomic()\n\nIn light of the recent pagefault and filemap_copy_from_user work I\u0027ve gone\nthrough all the arch pagefault handlers to make sure the inc_preempt_count()\n\u0027feature\u0027 works as expected.\n\nSeveral sections of code (including the new filemap_copy_from_user) rely on\nthe fact that faults do not take locks under increased preempt count.\n\narch/x86_64 - good\narch/powerpc - good\narch/cris - fixed\narch/i386 - good\narch/parisc - fixed\narch/sh - good\narch/sparc - good\narch/s390 - good\narch/m68k - fixed\narch/ppc - good\narch/alpha - fixed\narch/mips - good\narch/sparc64 - good\narch/ia64 - good\narch/arm - fixed\narch/um - good\narch/avr32 - good\narch/h8300 - NA\narch/m32r - good\narch/v850 - good\narch/frv - fixed\narch/m68knommu - NA\narch/arm26 - fixed\narch/sh64 - fixed\narch/xtensa - good\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3395ee0588795b0b3bd889c260e55959cf2b61f5",
      "tree": "ea2513a28464a5b2907a9cb71cbfb6be88389205",
      "parents": [
        "8f5be20bf87da7c7c59c5cc84f630a1eca5cc99c"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Wed Dec 06 20:32:16 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:21 2006 -0800"
      },
      "message": "[PATCH] mm: add noaliencache boot option to disable numa alien caches\n\nWhen using numa\u003dfake on non-NUMA hardware there is no benefit to having the\nalien caches, and they consume much memory.\n\nAdd a kernel boot option to disable them.\n\nChristoph sayeth \"This is good to have even on large NUMA.  The problem is\nthat the alien caches grow by the square of the size of the system in terms of\nnodes.\"\n\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: 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": "8f5be20bf87da7c7c59c5cc84f630a1eca5cc99c",
      "tree": "0fc18e33fa1b43543837e99a0f09c77f686f327b",
      "parents": [
        "a44b56d354b49f9abb184e5a14f71889856283bb"
      ],
      "author": {
        "name": "Ravikiran G Thirumalai",
        "email": "kiran@scalex86.org",
        "time": "Wed Dec 06 20:32:14 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:21 2006 -0800"
      },
      "message": "[PATCH] mm: slab: eliminate lock_cpu_hotplug from slab\n\nHere\u0027s an attempt towards doing away with lock_cpu_hotplug in the slab\nsubsystem.  This approach also fixes a bug which shows up when cpus are\nbeing offlined/onlined and slab caches are being tuned simultaneously.\n\nhttp://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d116098888100481\u0026w\u003d2\n\nThe patch has been stress tested overnight on a 2 socket 4 core AMD box with\nrepeated cpu online and offline, while dbench and kernbench process are\nrunning, and slab caches being tuned at the same time.\nThere were no lockdep warnings either.  (This test on 2,6.18 as 2.6.19-rc\ncrashes at __drain_pages\nhttp://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d116172164217678\u0026w\u003d2 )\n\nThe approach here is to hold cache_chain_mutex from CPU_UP_PREPARE until\nCPU_ONLINE (similar in approach as worqueue_mutex) .  Slab code sensitive\nto cpu_online_map (kmem_cache_create, kmem_cache_destroy, slabinfo_write,\n__cache_shrink) is already serialized with cache_chain_mutex.  (This patch\nlengthens cache_chain_mutex hold time at kmem_cache_destroy to cover this).\n This patch also takes the cache_chain_sem at kmem_cache_shrink to protect\nsanity of cpu_online_map at __cache_shrink, as viewed by slab.\n(kmem_cache_shrink-\u003e__cache_shrink-\u003edrain_cpu_caches).  But, really,\nkmem_cache_shrink is used at just one place in the acpi subsystem!  Do we\nreally need to keep kmem_cache_shrink at all?\n\nAnother note.  Looks like a cpu hotplug event can send  CPU_UP_CANCELED to\na registered subsystem even if the subsystem did not receive CPU_UP_PREPARE.\nThis could be due to a subsystem registered for notification earlier than\nthe current subsystem crapping out with NOTIFY_BAD. Badness can occur with\nin the CPU_UP_CANCELED code path at slab if this happens (The same would\napply for workqueue.c as well).  To overcome this, we might have to use either\na) a per subsystem flag and avoid handling of CPU_UP_CANCELED, or\nb) Use a special notifier events like LOCK_ACQUIRE/RELEASE as Gautham was\n   using in his experiments, or\nc) Do not send CPU_UP_CANCELED to a subsystem which did not receive\n   CPU_UP_PREPARE.\n\nI would prefer c).\n\nSigned-off-by: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Shai Fultheim \u003cshai@scalex86.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a44b56d354b49f9abb184e5a14f71889856283bb",
      "tree": "36eced3b179038a70463645395e6b31f3a5cc74c",
      "parents": [
        "cace673d376d97b0c66ffa0a49b8d588a696d5d2"
      ],
      "author": {
        "name": "Kevin Hilman",
        "email": "khilman@mvista.com",
        "time": "Wed Dec 06 20:32:11 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:21 2006 -0800"
      },
      "message": "[PATCH] slab debug and ARCH_SLAB_MINALIGN don\u0027t get along\n\nWhen CONFIG_SLAB_DEBUG is used in combination with ARCH_SLAB_MINALIGN, some\ndebug flags should be disabled which depend on BYTES_PER_WORD alignment.\n\nThe disabling of these debug flags is not properly handled when\nBYTES_PER_WORD \u003c ARCH_SLAB_MEMALIGN \u003c cache_line_size()\n\nThis patch fixes that and also adds an alignment check to\ncache_alloc_debugcheck_after() when ARCH_SLAB_MINALIGN is used.\n\nSigned-off-by: Kevin Hilman \u003ckhilman@mvista.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nCc: 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": "cace673d376d97b0c66ffa0a49b8d588a696d5d2",
      "tree": "c85c2ad65ad10132f00b484e91c8bfcd6e3f1afc",
      "parents": [
        "39dde65c9940c97fcd178a3d2b1c57ed8b7b68aa"
      ],
      "author": {
        "name": "Chen, Kenneth W",
        "email": "kenneth.w.chen@intel.com",
        "time": "Wed Dec 06 20:32:07 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:21 2006 -0800"
      },
      "message": "[PATCH] htlb forget rss with pt sharing\n\nImprecise RSS accounting is an irritating ill effect with pt sharing.  After\nconsulted with several VM experts, I have tried various methods to solve that\nproblem: (1) iterate through all mm_structs that share the PT and increment\ncount; (2) keep RSS count in page table structure and then sum them up at\nreporting time.  None of the above methods yield any satisfactory\nimplementation.\n\nSince process RSS accounting is pure information only, I propose we don\u0027t\ncount them at all for hugetlb page.  rlimit has such field, though there is\nabsolutely no enforcement on limiting that resource.  One other method is to\naccount all RSS at hugetlb mmap time regardless they are faulted or not.  I\nopt for the simplicity of no accounting at all.\n\nHugetlb page are special, they are reserved up front in global reservation\npool and is not reclaimable.  From physical memory resource point of view, it\nis already consumed regardless whether there are users using them.\n\nIf the concern is that RSS can be used to control resource allocation, we\nalready can specify hugetlb fs size limit and sysadmin can enforce that at\nmount time.  Combined with the two points mentioned above, I fail to see if\nthere is anything got affected because of this patch.\n\nSigned-off-by: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Dave McCracken \u003cdmccr@us.ibm.com\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "39dde65c9940c97fcd178a3d2b1c57ed8b7b68aa",
      "tree": "750818d68ac7381f80fec31491e1d1c78df4b9f6",
      "parents": [
        "e1dbeda60a7ea9e82a908d93c07308d104d50d79"
      ],
      "author": {
        "name": "Chen, Kenneth W",
        "email": "kenneth.w.chen@intel.com",
        "time": "Wed Dec 06 20:32:03 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:21 2006 -0800"
      },
      "message": "[PATCH] shared page table for hugetlb page\n\nFollowing up with the work on shared page table done by Dave McCracken.  This\nset of patch target shared page table for hugetlb memory only.\n\nThe shared page table is particular useful in the situation of large number of\nindependent processes sharing large shared memory segments.  In the normal\npage case, the amount of memory saved from process\u0027 page table is quite\nsignificant.  For hugetlb, the saving on page table memory is not the primary\nobjective (as hugetlb itself already cuts down page table overhead\nsignificantly), instead, the purpose of using shared page table on hugetlb is\nto allow faster TLB refill and smaller cache pollution upon TLB miss.\n\nWith PT sharing, pte entries are shared among hundreds of processes, the cache\nconsumption used by all the page table is smaller and in return, application\ngets much higher cache hit ratio.  One other effect is that cache hit ratio\nwith hardware page walker hitting on pte in cache will be higher and this\nhelps to reduce tlb miss latency.  These two effects contribute to higher\napplication performance.\n\nSigned-off-by: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Dave McCracken \u003cdmccr@us.ibm.com\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e1dbeda60a7ea9e82a908d93c07308d104d50d79",
      "tree": "f83d342064a72336bf37fb6bb8bdf5fc9fc47c10",
      "parents": [
        "cc102509074bba0316f2b5deebd7ef4447da295e"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Dec 06 20:32:01 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:21 2006 -0800"
      },
      "message": "[PATCH] balance_pdgat() cleanup\n\nDespaghettify balance_pdgat() a bit.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cc102509074bba0316f2b5deebd7ef4447da295e",
      "tree": "44ac5fc0c0dd7a24e8925e680a03361f4722a5a6",
      "parents": [
        "7602bdf2fd14a40dd9b104e516fdc05e1bd17952"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Dec 06 20:32:00 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:21 2006 -0800"
      },
      "message": "[PATCH] mm: add arch_alloc_page\n\nAdd an arch_alloc_page to match arch_free_page.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7602bdf2fd14a40dd9b104e516fdc05e1bd17952",
      "tree": "5ca703b0a95f6f2e6d977c816532b9085f453974",
      "parents": [
        "098fe651f7e9d759d1117c78c1a642b9b3945922"
      ],
      "author": {
        "name": "Ashwin Chaugule",
        "email": "ashwin.chaugule@celunite.com",
        "time": "Wed Dec 06 20:31:57 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:21 2006 -0800"
      },
      "message": "[PATCH] new scheme to preempt swap token\n\nThe new swap token patches replace the current token traversal algo.  The old\nalgo had a crude timeout parameter that was used to handover the token from\none task to another.  This algo, transfers the token to the tasks that are in\nneed of the token.  The urgency for the token is based on the number of times\na task is required to swap-in pages.  Accordingly, the priority of a task is\nincremented if it has been badly affected due to swap-outs.  To ensure that\nthe token doesnt bounce around rapidly, the token holders are given a priority\nboost.  The priority of tasks is also decremented, if their rate of swap-in\u0027s\nkeeps reducing.  This way, the condition to check whether to pre-empt the swap\ntoken, is a matter of comparing two task\u0027s priority fields.\n\n[akpm@osdl.org: cleanups]\nSigned-off-by: Ashwin Chaugule \u003cashwin.chaugule@celunite.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "098fe651f7e9d759d1117c78c1a642b9b3945922",
      "tree": "8688e367d04c8341e79d9da775dccb9dc7747509",
      "parents": [
        "cd54e7e54318d333227b13186f9a464bf1f68d27"
      ],
      "author": {
        "name": "Ashwin Chaugule",
        "email": "ashwin.chaugule@celunite.com",
        "time": "Wed Dec 06 20:31:54 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:21 2006 -0800"
      },
      "message": "[PATCH] grab swap token reordered\n\nMake sure the contention for the token happens _before_ any read-in and\nkicks the swap-token algo only when the VM is under pressure.\n\nSigned-off-by: Ashwin Chaugule \u003cashwin.chaugule@celunite.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cd54e7e54318d333227b13186f9a464bf1f68d27",
      "tree": "75bf795ab6c3805f318b2d3040321ba31ef35c6a",
      "parents": [
        "f2a2a7108aa0039ba7a5fe7a0d2ecef2219a7584"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Dec 06 20:31:53 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:20 2006 -0800"
      },
      "message": "[PATCH] mm: incorrect VM_FAULT_OOM returns from drivers\n\nSome drivers are returning OOM when it is not in response to a memory\nshortage.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nCc: Jaroslav Kysela \u003cperex@suse.cz\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f2a2a7108aa0039ba7a5fe7a0d2ecef2219a7584",
      "tree": "a82338b774d680ca410830e94c1125fa3b9b693d",
      "parents": [
        "f3af38d30c18538d069a95e624a3db7c3d486a1e"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Dec 06 20:31:52 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:20 2006 -0800"
      },
      "message": "[PATCH] oom: less memdie\n\nDon\u0027t cause all threads in all other thread groups to gain TIF_MEMDIE\notherwise we\u0027ll get a thundering herd eating our memory reserve.  This may not\nbe the optimal scheme, but it fits our policy of allowing just one TIF_MEMDIE\nin the system at once.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f3af38d30c18538d069a95e624a3db7c3d486a1e",
      "tree": "549bb2246a2932727285f962f405d6e0c49ecdf8",
      "parents": [
        "c33e0fca3508f0aa387b1c10d0ef158102deb140"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Dec 06 20:31:51 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:20 2006 -0800"
      },
      "message": "[PATCH] oom: cleanup messages\n\nClean up the OOM killer messages to be more consistent.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c33e0fca3508f0aa387b1c10d0ef158102deb140",
      "tree": "d4dbbddbcd7cdf605dc5c0c97088789c7e10f4b4",
      "parents": [
        "7253f4ef04b1cd138baf2b29a95473743ac0a307"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Dec 06 20:31:50 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:20 2006 -0800"
      },
      "message": "[PATCH] oom: don\u0027t kill unkillable children or siblings\n\nAbort the kill if any of our threads have OOM_DISABLE set.  Having this\ntest here also prevents any OOM_DISABLE child of the \"selected\" process\nfrom being killed.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7253f4ef04b1cd138baf2b29a95473743ac0a307",
      "tree": "5883e6773a3cdad31992539ba3ad989d2566a041",
      "parents": [
        "9276b1bc96a132f4068fdee00983c532f43d3a26"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Wed Dec 06 20:31:49 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:20 2006 -0800"
      },
      "message": "[PATCH] memory page_alloc zonelist caching reorder structure\n\nRearrange the struct members in the \u0027struct zonelist_cache\u0027 structure, so\nas to put the readonly (once initialized) z_to_n[] array first, where it\nwill come right after the zones[] array in struct zonelist.\n\nThis pretty much eliminates the chance that the two frequently written\nelements of \u0027struct zonelist_cache\u0027, the fullzones bitmap and last_full_zap\ntimes, will end up on the same cache line as the performance sensitive,\nfrequently read, never (after init) written zones[] array.\n\nKeeping frequently written data off frequently read cache lines is good for\nperformance.\n\nThanks to Rohit Seth for the suggestion.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Rohit Seth \u003crohitseth@google.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9276b1bc96a132f4068fdee00983c532f43d3a26",
      "tree": "04d64444cf6558632cfc7514b5437578b5e616af",
      "parents": [
        "89689ae7f95995723fbcd5c116c47933a3bb8b13"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Wed Dec 06 20:31:48 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:20 2006 -0800"
      },
      "message": "[PATCH] memory page_alloc zonelist caching speedup\n\nOptimize the critical zonelist scanning for free pages in the kernel memory\nallocator by caching the zones that were found to be full recently, and\nskipping them.\n\nRemembers the zones in a zonelist that were short of free memory in the\nlast second.  And it stashes a zone-to-node table in the zonelist struct,\nto optimize that conversion (minimize its cache footprint.)\n\nRecent changes:\n\n    This differs in a significant way from a similar patch that I\n    posted a week ago.  Now, instead of having a nodemask_t of\n    recently full nodes, I have a bitmask of recently full zones.\n    This solves a problem that last weeks patch had, which on\n    systems with multiple zones per node (such as DMA zone) would\n    take seeing any of these zones full as meaning that all zones\n    on that node were full.\n\n    Also I changed names - from \"zonelist faster\" to \"zonelist cache\",\n    as that seemed to better convey what we\u0027re doing here - caching\n    some of the key zonelist state (for faster access.)\n\n    See below for some performance benchmark results.  After all that\n    discussion with David on why I didn\u0027t need them, I went and got\n    some ;).  I wanted to verify that I had not hurt the normal case\n    of memory allocation noticeably.  At least for my one little\n    microbenchmark, I found (1) the normal case wasn\u0027t affected, and\n    (2) workloads that forced scanning across multiple nodes for\n    memory improved up to 10% fewer System CPU cycles and lower\n    elapsed clock time (\u0027sys\u0027 and \u0027real\u0027).  Good.  See details, below.\n\n    I didn\u0027t have the logic in get_page_from_freelist() for various\n    full nodes and zone reclaim failures correct.  That should be\n    fixed up now - notice the new goto labels zonelist_scan,\n    this_zone_full, and try_next_zone, in get_page_from_freelist().\n\nThere are two reasons I persued this alternative, over some earlier\nproposals that would have focused on optimizing the fake numa\nemulation case by caching the last useful zone:\n\n 1) Contrary to what I said before, we (SGI, on large ia64 sn2 systems)\n    have seen real customer loads where the cost to scan the zonelist\n    was a problem, due to many nodes being full of memory before\n    we got to a node we could use.  Or at least, I think we have.\n    This was related to me by another engineer, based on experiences\n    from some time past.  So this is not guaranteed.  Most likely, though.\n\n    The following approach should help such real numa systems just as\n    much as it helps fake numa systems, or any combination thereof.\n\n 2) The effort to distinguish fake from real numa, using node_distance,\n    so that we could cache a fake numa node and optimize choosing\n    it over equivalent distance fake nodes, while continuing to\n    properly scan all real nodes in distance order, was going to\n    require a nasty blob of zonelist and node distance munging.\n\n    The following approach has no new dependency on node distances or\n    zone sorting.\n\nSee comment in the patch below for a description of what it actually does.\n\nTechnical details of note (or controversy):\n\n - See the use of \"zlc_active\" and \"did_zlc_setup\" below, to delay\n   adding any work for this new mechanism until we\u0027ve looked at the\n   first zone in zonelist.  I figured the odds of the first zone\n   having the memory we needed were high enough that we should just\n   look there, first, then get fancy only if we need to keep looking.\n\n - Some odd hackery was needed to add items to struct zonelist, while\n   not tripping up the custom zonelists built by the mm/mempolicy.c\n   code for MPOL_BIND.  My usual wordy comments below explain this.\n   Search for \"MPOL_BIND\".\n\n - Some per-node data in the struct zonelist is now modified frequently,\n   with no locking.  Multiple CPU cores on a node could hit and mangle\n   this data.  The theory is that this is just performance hint data,\n   and the memory allocator will work just fine despite any such mangling.\n   The fields at risk are the struct \u0027zonelist_cache\u0027 fields \u0027fullzones\u0027\n   (a bitmask) and \u0027last_full_zap\u0027 (unsigned long jiffies).  It should\n   all be self correcting after at most a one second delay.\n\n - This still does a linear scan of the same lengths as before.  All\n   I\u0027ve optimized is making the scan faster, not algorithmically\n   shorter.  It is now able to scan a compact array of \u0027unsigned\n   short\u0027 in the case of many full nodes, so one cache line should\n   cover quite a few nodes, rather than each node hitting another\n   one or two new and distinct cache lines.\n\n - If both Andi and Nick don\u0027t find this too complicated, I will be\n   (pleasantly) flabbergasted.\n\n - I removed the comment claiming we only use one cachline\u0027s worth of\n   zonelist.  We seem, at least in the fake numa case, to have put the\n   lie to that claim.\n\n - I pay no attention to the various watermarks and such in this performance\n   hint.  A node could be marked full for one watermark, and then skipped\n   over when searching for a page using a different watermark.  I think\n   that\u0027s actually quite ok, as it will tend to slightly increase the\n   spreading of memory over other nodes, away from a memory stressed node.\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nPerformance - some benchmark results and analysis:\n\nThis benchmark runs a memory hog program that uses multiple\nthreads to touch alot of memory as quickly as it can.\n\nMultiple runs were made, touching 12, 38, 64 or 90 GBytes out of\nthe total 96 GBytes on the system, and using 1, 19, 37, or 55\nthreads (on a 56 CPU system.)  System, user and real (elapsed)\ntimings were recorded for each run, shown in units of seconds,\nin the table below.\n\nTwo kernels were tested - 2.6.18-mm3 and the same kernel with\nthis zonelist caching patch added.  The table also shows the\npercentage improvement the zonelist caching sys time is over\n(lower than) the stock *-mm kernel.\n\n      number     2.6.18-mm3\t   zonelist-cache    delta (\u003c 0 good)\tpercent\n GBs    N  \t------------\t   --------------    ----------------\tsystime\n mem threads   sys user  real\t  sys  user  real     sys  user  real\t better\n  12\t 1     153   24   177\t  151\t 24   176      -2     0    -1\t   1%\n  12\t19\t99   22     8\t   99\t 22\t8\t0     0     0\t   0%\n  12\t37     111   25     6\t  112\t 25\t6\t1     0     0\t  -0%\n  12\t55     115   25     5\t  110\t 23\t5      -5    -2     0\t   4%\n  38\t 1     502   74   576\t  497\t 73   570      -5    -1    -6\t   0%\n  38\t19     426   78    48\t  373\t 76    39     -53    -2    -9\t  12%\n  38\t37     544   83    36\t  547\t 82    36\t3    -1     0\t  -0%\n  38\t55     501   77    23\t  511\t 80    24      10     3     1\t  -1%\n  64\t 1     917  125  1042\t  890\t124  1014     -27    -1   -28\t   2%\n  64\t19    1118  138   119\t  965\t141   103    -153     3   -16\t  13%\n  64\t37    1202  151    94\t 1136\t150    81     -66    -1   -13\t   5%\n  64\t55    1118  141    61\t 1072\t140    58     -46    -1    -3\t   4%\n  90\t 1    1342  177  1519\t 1275\t174  1450     -67    -3   -69\t   4%\n  90\t19    2392  199   192\t 2116\t189   176    -276   -10   -16\t  11%\n  90\t37    3313  238   175\t 2972\t225   145    -341   -13   -30\t  10%\n  90\t55    1948  210   104\t 1843\t213   100    -105     3    -4\t   5%\n\nNotes:\n 1) This test ran a memory hog program that started a specified number N of\n    threads, and had each thread allocate and touch 1/N\u0027th of\n    the total memory to be used in the test run in a single loop,\n    writing a constant word to memory, one store every 4096 bytes.\n    Watching this test during some earlier trial runs, I would see\n    each of these threads sit down on one CPU and stay there, for\n    the remainder of the pass, a different CPU for each thread.\n\n 2) The \u0027real\u0027 column is not comparable to the \u0027sys\u0027 or \u0027user\u0027 columns.\n    The \u0027real\u0027 column is seconds wall clock time elapsed, from beginning\n    to end of that test pass.  The \u0027sys\u0027 and \u0027user\u0027 columns are total\n    CPU seconds spent on that test pass.  For a 19 thread test run,\n    for example, the sum of \u0027sys\u0027 and \u0027user\u0027 could be up to 19 times the\n    number of \u0027real\u0027 elapsed wall clock seconds.\n\n 3) Tests were run on a fresh, single-user boot, to minimize the amount\n    of memory already in use at the start of the test, and to minimize\n    the amount of background activity that might interfere.\n\n 4) Tests were done on a 56 CPU, 28 Node system with 96 GBytes of RAM.\n\n 5) Notice that the \u0027real\u0027 time gets large for the single thread runs, even\n    though the measured \u0027sys\u0027 and \u0027user\u0027 times are modest.  I\u0027m not sure what\n    that means - probably something to do with it being slow for one thread to\n    be accessing memory along ways away.  Perhaps the fake numa system, running\n    ostensibly the same workload, would not show this substantial degradation\n    of \u0027real\u0027 time for one thread on many nodes -- lets hope not.\n\n 6) The high thread count passes (one thread per CPU - on 55 of 56 CPUs)\n    ran quite efficiently, as one might expect.  Each pair of threads needed\n    to allocate and touch the memory on the node the two threads shared, a\n    pleasantly parallizable workload.\n\n 7) The intermediate thread count passes, when asking for alot of memory forcing\n    them to go to a few neighboring nodes, improved the most with this zonelist\n    caching patch.\n\nConclusions:\n * This zonelist cache patch probably makes little difference one way or the\n   other for most workloads on real numa hardware, if those workloads avoid\n   heavy off node allocations.\n * For memory intensive workloads requiring substantial off-node allocations\n   on real numa hardware, this patch improves both kernel and elapsed timings\n   up to ten per-cent.\n * For fake numa systems, I\u0027m optimistic, but will have to leave that up to\n   Rohit Seth to actually test (once I get him a 2.6.18 backport.)\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Rohit Seth \u003crohitseth@google.com\u003e\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nCc: David Rientjes \u003crientjes@cs.washington.edu\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "89689ae7f95995723fbcd5c116c47933a3bb8b13",
      "tree": "4d73ff59b557fa1a84c6064406ff101c76ff8adc",
      "parents": [
        "c0a499c2c42992cff097b38be29d2ba60d2fd99a"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:31:45 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:20 2006 -0800"
      },
      "message": "[PATCH] Get rid of zone_table[]\n\nThe zone table is mostly not needed.  If we have a node in the page flags\nthen we can get to the zone via NODE_DATA() which is much more likely to be\nalready in the cpu cache.\n\nIn case of SMP and UP NODE_DATA() is a constant pointer which allows us to\naccess an exact replica of zonetable in the node_zones field.  In all of\nthe above cases there will be no need at all for the zone table.\n\nThe only remaining case is if in a NUMA system the node numbers do not fit\ninto the page flags.  In that case we make sparse generate a table that\nmaps sections to nodes and use that table to to figure out the node number.\n This table is sized to fit in a single cache line for the known 32 bit\nNUMA platform which makes it very likely that the information can be\nobtained without a cache miss.\n\nFor sparsemem the zone table seems to be have been fairly large based on\nthe maximum possible number of sections and the number of zones per node.\nThere is some memory saving by removing zone_table.  The main benefit is to\nreduce the cache foootprint of the VM from the frequent lookups of zones.\nPlus it simplifies the page allocator.\n\n[akpm@osdl.org: build fix]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c0a499c2c42992cff097b38be29d2ba60d2fd99a",
      "tree": "e02e80f190eb6f4eedb2c991d92840137505f8f8",
      "parents": [
        "0798e5193cd70f6c867ec176d7730589f944c627"
      ],
      "author": {
        "name": "Chen, Kenneth W",
        "email": "kenneth.w.chen@intel.com",
        "time": "Wed Dec 06 20:31:39 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:20 2006 -0800"
      },
      "message": "[PATCH] __unmap_hugepage_range(): add comment\n\nSigned-off-by: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0798e5193cd70f6c867ec176d7730589f944c627",
      "tree": "abe3ada0b04080729418a0c301d8b55b4363b56e",
      "parents": [
        "a2ce774096110ccc5c02cbdc05897d005fcd3db8"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Wed Dec 06 20:31:38 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:20 2006 -0800"
      },
      "message": "[PATCH] memory page alloc minor cleanups\n\n- s/freeliest/freelist/ spelling fix\n\n- Check for NULL *z zone seems useless - even if it could happen, so\n  what?  Perhaps we should have a check later on if we are faced with an\n  allocation request that is not allowed to fail - shouldn\u0027t that be a\n  serious kernel error, passing an empty zonelist with a mandate to not\n  fail?\n\n- Initializing \u0027z\u0027 to zonelist-\u003ezones can wait until after the first\n  get_page_from_freelist() fails; we only use \u0027z\u0027 in the wakeup_kswapd()\n  loop, so let\u0027s initialize \u0027z\u0027 there, in a \u0027for\u0027 loop.  Seems clearer.\n\n- Remove superfluous braces around a break\n\n- Fix a couple errant spaces\n\n- Adjust indentation on the cpuset_zone_allowed() check, to match the\n  lines just before it -- seems easier to read in this case.\n\n- Add another set of braces to the zone_watermark_ok logic\n\nFrom: Paul Jackson \u003cpj@sgi.com\u003e\n\n  Backout one item from a previous \"memory page_alloc minor cleanups\" patch.\n   Until and unless we are certain that no one can ever pass an empty zonelist\n  to __alloc_pages(), this check for an empty zonelist (or some BUG\n  equivalent) is essential.  The code in get_page_from_freelist() blow ups if\n  passed an empty zonelist.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a2ce774096110ccc5c02cbdc05897d005fcd3db8",
      "tree": "6a6a5830a7e4e789afbfc8258e70e7889af5e7ea",
      "parents": [
        "822191a2fa1584a29c3224ab328507adcaeac1ab"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Dec 06 20:31:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:20 2006 -0800"
      },
      "message": "[PATCH] uml: workqueue build fix\n\n  arch/um/drivers/chan_kern.c:643: error: conflicting types for \u0027chan_interrupt\u0027\n  arch/um/include/chan_kern.h:31: error: previous declaration of \u0027chan_interrupt\u0027\n\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "822191a2fa1584a29c3224ab328507adcaeac1ab",
      "tree": "833b6e7d88fc49bf430826db26f75b4877593a15",
      "parents": [
        "a1e85378ba50694cf8f27b190c7e16d7c8dad276"
      ],
      "author": {
        "name": "Andrey Mirkin",
        "email": "amirkin@openvz.org",
        "time": "Wed Dec 06 20:31:35 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:20 2006 -0800"
      },
      "message": "[PATCH] skip data conversion in compat_sys_mount when data_page is NULL\n\nOpenVZ Linux kernel team has found a problem with mounting in compat mode.\n\nSimple command \"mount -t smbfs ...\" on Fedora Core 5 distro in 32-bit mode\nleads to oops:\n\n  Unable to handle kernel NULL pointer dereference at 0000000000000000 RIP: compat_sys_mount+0xd6/0x290\n  Process mount (pid: 14656, veid\u003d300, threadinfo ffff810034d30000, task ffff810034c86bc0)\n  Call Trace: ia32_sysret+0x0/0xa\n\nThe problem is that data_page pointer can be NULL, so we should skip data\nconversion in this case.\n\nSigned-off-by: Andrey Mirkin \u003camirkin@openvz.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a1e85378ba50694cf8f27b190c7e16d7c8dad276",
      "tree": "29519f1092517196015b4ee03870aaf706e5d7c0",
      "parents": [
        "676dcb8bc2ec78d80091037773598d6ec8c673d6"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Dec 06 20:31:33 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:20 2006 -0800"
      },
      "message": "[PATCH] drm-sis linkage fix\n\nFix http://bugzilla.kernel.org/show_bug.cgi?id\u003d7606\n\nWARNING: \"drm_sman_set_manager\" [drivers/char/drm/sis.ko] undefined!\n\nCc: \u003cdaniel-silveira@gee.inatel.br\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "676dcb8bc2ec78d80091037773598d6ec8c673d6",
      "tree": "70a82f63dcda34f8907ffd9e92898e8a8a5fef87",
      "parents": [
        "620034c84d1d939717bdfbe02c51a3fee43541c3"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Dec 06 20:31:30 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:20 2006 -0800"
      },
      "message": "[PATCH] add bottom_half.h\n\nWith CONFIG_SMP\u003dn:\n\n  drivers/input/ff-memless.c:384: warning: implicit declaration of function \u0027local_bh_disable\u0027\n  drivers/input/ff-memless.c:393: warning: implicit declaration of function \u0027local_bh_enable\u0027\n\nReally linux/spinlock.h should include linux/interrupt.h.  But interrupt.h\nincludes sched.h which will need spinlock.h.\n\nSo the patch breaks the _bh declarations out into a separate header and\nincludes it in both interrupt.h and spinlock.h.\n\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: \u003cstable@kernel.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "620034c84d1d939717bdfbe02c51a3fee43541c3",
      "tree": "7826b7c5c23d2cf6f68bdfc658791962e9eca12d",
      "parents": [
        "6fc52f81a871e4c29ade34dd736a383906caf47e"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Thu Dec 07 00:45:58 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 06 16:41:21 2006 -0800"
      },
      "message": "[PATCH] A few small additions and corrections to README\n\nHere\u0027s a small patch which\n\n - adds a few archs to the current list of supported platforms.\n - adds a few missing slashes at the end of URLs.\n - adds a few references to additional documentation.\n - adds \"make config\" to the list of possible configuration targets.\n - makes a few other minor changes.\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\n[ Ben Nizette \u003cben.nizette@iinet.net.au\u003e points out AVR32 arch too ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6fc52f81a871e4c29ade34dd736a383906caf47e",
      "tree": "916c6d89604072df5bd918e8a6ae1473a5a2b243",
      "parents": [
        "3f5e573a08a369bd10d2f89b63a2d68843f64a6b"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Thu Dec 07 00:16:26 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 06 16:38:58 2006 -0800"
      },
      "message": "[PATCH] Clean up \u0027make help\u0027 output for documentation targets.\n\nHere\u0027s a patch that cleans up the \"make help\" output a bit for the\ndocumentation targets.\n\nCurrently the documentation targets are listed completely different than\nall the other targets :\n\n  Documentation targets:\n    Linux kernel internal documentation in different formats:\n    xmldocs (XML DocBook), psdocs (Postscript), pdfdocs (PDF)\n    htmldocs (HTML), mandocs (man pages, use installmandocs to install)\n\nwith this patch they are more in line with the rest of the output :\n\n  Documentation targets:\n   Linux kernel internal documentation in different formats:\n    htmldocs        - HTML\n    installmandocs  - install man pages generated by mandocs\n    mandocs         - man pages\n    pdfdocs         - PDF\n    psdocs          - Postscript\n    xmldocs         - XML DocBook\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3f5e573a08a369bd10d2f89b63a2d68843f64a6b",
      "tree": "069a5636974c783adc6251f71d71cd2b0aa49cc9",
      "parents": [
        "9232d5876e83921414de65d82edd1098258f6680",
        "2cafe978462bc4016392aa330bf501a674679a86"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 06 16:17:37 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 06 16:17:37 2006 -0800"
      },
      "message": "Merge branch \u0027upstream\u0027 of git://ftp.linux-mips.org/pub/scm/upstream-linus\n\n* \u0027upstream\u0027 of git://ftp.linux-mips.org/pub/scm/upstream-linus:\n  [MIPS] Import updates from i386\u0027s i8259.c\n  [MIPS] *-berr: Header inclusions for DEC bus error handlers\n  [MIPS] Compile __do_IRQ() when really needed\n  [MIPS] genirq: use name instead of typename\n  [MIPS] Do not use handle_level_irq for ioasic_dma_irq_type.\n  [MIPS] pte_offset(dir,addr): parenthesis fix\n"
    },
    {
      "commit": "9232d5876e83921414de65d82edd1098258f6680",
      "tree": "e174b2a4fe535f5e5386ad0c8e435c24c6c99c04",
      "parents": [
        "2fdb611d3102509e31ef21c79fc91f97f300b9c3",
        "c7f570a5eca59575572ee231390df727df207bda"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 06 16:16:35 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 06 16:16:35 2006 -0800"
      },
      "message": "Merge branch \u0027release\u0027 of master.kernel.org:/home/ftp/pub/scm/linux/kernel/git/aegl/linux-2.6\n\n* \u0027release\u0027 of master.kernel.org:/home/ftp/pub/scm/linux/kernel/git/aegl/linux-2.6:\n  [IA64] Fix pci.c kernel compilation breakage.\n"
    },
    {
      "commit": "2fdb611d3102509e31ef21c79fc91f97f300b9c3",
      "tree": "715f253eb5a3231fe0691b54a7d9a9b428363470",
      "parents": [
        "91c7c56855855d63c46c854c38576135be31a4c9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Wed Dec 06 21:15:22 2006 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 06 14:51:14 2006 -0800"
      },
      "message": "[PATCH] ... and then some more work_struct-induced breakage (ibmvscsi)\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "91c7c56855855d63c46c854c38576135be31a4c9",
      "tree": "0b3d399d8b41f4461c9d81920dd78b85c81228c8",
      "parents": [
        "4927b3f74c6a2fd92226dcf1542a598be9738808"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Wed Dec 06 19:50:06 2006 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 06 14:51:14 2006 -0800"
      },
      "message": "[PATCH] ... and more work_struct-induced breakage (mips)\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4927b3f74c6a2fd92226dcf1542a598be9738808",
      "tree": "aee712f33f32a6dc992434773fd0de41e335078e",
      "parents": [
        "f9e9dcb38f5106fa8cdac04a9e967d5487f1cd20"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Wed Dec 06 19:18:20 2006 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 06 14:51:14 2006 -0800"
      },
      "message": "[PATCH] More work_struct induced breakage (s390)\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f9e9dcb38f5106fa8cdac04a9e967d5487f1cd20",
      "tree": "8d1cbf17b9b54eacde5a7bf7adf4d5ba6cb119dc",
      "parents": [
        "16afea0255cf6963eb924d4334cdb5acb9074581"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 06 14:42:57 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 06 14:42:57 2006 -0800"
      },
      "message": "x86[-64]:Remove \u0027volatile\u0027 from atomic_t\n\nAny code that relies on the volatile would be a bug waiting to happen\nanyway.\n\nDon\u0027t encourage people to think that putting \u0027volatile\u0027 on data\nstructures somehow fixes problems.  We should always use proper locking\n(and other serialization) techniques.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "16afea0255cf6963eb924d4334cdb5acb9074581",
      "tree": "c86f8130cd07e441b81df1d3489de3d1e32838bb",
      "parents": [
        "3e577a80ea85e2557831fd44064f809646f260b4"
      ],
      "author": {
        "name": "Art Haas",
        "email": "ahaas@airmail.net",
        "time": "Wed Dec 06 14:45:53 2006 -0600"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 06 14:39:53 2006 -0800"
      },
      "message": "[PATCH] Remove \u0027volatile\u0027 from spinlock_types\n\nThis is a resubmission of patches originally created by Ingo Molnar.\nThe link below is the initial (?) posting of the patch.\n\n  http://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d115217423929806\u0026w\u003d2\n\nRemove \u0027volatile\u0027 from spinlock_types as it causes GCC to generate bad\ncode (see link) and locking should be used on kernel data.\n\nSigned-off-by: Art Haas \u003cahaas@airmail.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c7f570a5eca59575572ee231390df727df207bda",
      "tree": "76525f17fafafe9eef8ea542f52fbcba48eb9ded",
      "parents": [
        "3e577a80ea85e2557831fd44064f809646f260b4"
      ],
      "author": {
        "name": "Peter Chubb",
        "email": "peterc@gelato.unsw.edu.au",
        "time": "Tue Dec 05 12:25:31 2006 +1100"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Wed Dec 06 14:13:38 2006 -0800"
      },
      "message": "[IA64] Fix pci.c kernel compilation breakage.\n\nThe recent change to convert the is_enabled flag in the PCI device to an\natomic count broke the IA64 compilation.\n\nAs pcibios_disable_device is only ever called if the reference count\nis zero, convert the if to a BUG_ON.\n\nSigned-off-by: Peter Chubb \u003cpeterc@gelato.unsw.edu.au\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "2cafe978462bc4016392aa330bf501a674679a86",
      "tree": "f74ab335a5e42d6bd6f6cb8ac3c8566b745542c7",
      "parents": [
        "49afb1f67b42c4240fef9d2d8b76c317c56a189d"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Thu Dec 07 02:04:17 2006 +0900"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Wed Dec 06 20:16:09 2006 +0000"
      },
      "message": "[MIPS] Import updates from i386\u0027s i8259.c\n\nImport many updates from i386\u0027s i8259.c, especially genirq transitions.\n\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "49afb1f67b42c4240fef9d2d8b76c317c56a189d",
      "tree": "d6534d010bcb3d758ebd69e85f92577165e2c915",
      "parents": [
        "e77c232cfc6e1250b2916a7c69225d6634d05a49"
      ],
      "author": {
        "name": "Maciej W. Rozycki",
        "email": "macro@linux-mips.org",
        "time": "Wed Dec 06 11:50:23 2006 +0000"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Wed Dec 06 20:16:09 2006 +0000"
      },
      "message": "[MIPS] *-berr: Header inclusions for DEC bus error handlers\n\n A fixup to add missing header inclusions for bus error handlers for\nDECstation system after the recent switch to get_irq_regs().\n\nSigned-off-by: Maciej W. Rozycki \u003cmacro@linux-mips.org\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "e77c232cfc6e1250b2916a7c69225d6634d05a49",
      "tree": "a5a193c3d6d7f8c8a9eb35d970dd47fa867e5e24",
      "parents": [
        "1ccd1c1c35a6cb21da32479931d4fa6d47320095"
      ],
      "author": {
        "name": "Franck Bui-Huu",
        "email": "fbuihuu@gmail.com",
        "time": "Fri Dec 01 18:22:27 2006 +0100"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Wed Dec 06 20:16:08 2006 +0000"
      },
      "message": "[MIPS] Compile __do_IRQ() when really needed\n\n__do_IRQ() is needed only by irq handlers that can\u0027t use\ndefault handlers defined in kernel/irq/chip.c.\n\nFor others platforms there\u0027s no need to compile this function\nsince it won\u0027t be used. For those platforms this patch defines\nGENERIC_HARDIRQS_NO__DO_IRQ symbol which is used exactly for\nthis purpose.\n\nFuthermore for platforms which do not use __do_IRQ(), end()\nmethod which is part of the \u0027irq_chip\u0027 structure is not used.\nThis patch simply removes this method in this case.\n\nSigned-off-by: Franck Bui-Huu \u003cfbuihuu@gmail.com\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "1ccd1c1c35a6cb21da32479931d4fa6d47320095",
      "tree": "63315c187ba40f763192c85994d717a85ad31e36",
      "parents": [
        "25ba2f506c69bd54a7342210422176baf10018c5"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Wed Dec 06 01:20:57 2006 +0900"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Wed Dec 06 20:16:08 2006 +0000"
      },
      "message": "[MIPS] genirq: use name instead of typename\n\nThe \"typename\" field was obsoleted by the \"name\" field.\n\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "25ba2f506c69bd54a7342210422176baf10018c5",
      "tree": "e3fed20b42b7ff51767d1c6b79567144162df170",
      "parents": [
        "5b70a31708c958cb259e9c6cbecf7190521c856e"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Sat Dec 02 00:08:03 2006 +0900"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Wed Dec 06 20:16:08 2006 +0000"
      },
      "message": "[MIPS] Do not use handle_level_irq for ioasic_dma_irq_type.\n\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "5b70a31708c958cb259e9c6cbecf7190521c856e",
      "tree": "3f635bb2fa64843b4749405d1e67c7878e41fc72",
      "parents": [
        "ec0bf39a471bf6fcd01def2bd677128cea940b73"
      ],
      "author": {
        "name": "Franck Bui-Huu",
        "email": "fbuihuu@gmail.com",
        "time": "Tue Dec 05 10:39:56 2006 +0100"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Wed Dec 06 20:16:08 2006 +0000"
      },
      "message": "[MIPS] pte_offset(dir,addr): parenthesis fix\n\nThis patch adds missing parenthesis around \u0027dir\u0027 argument in pte_offset()\nmacro definition.\n\nIt also removes an extra space in the definition of pte_offset_kernel()\nmacro.\n\nSigned-off-by: Franck Bui-Huu \u003cfbuihuu@gmail.com\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "3e577a80ea85e2557831fd44064f809646f260b4",
      "tree": "11e5198b33075effb33f70693bc3a189091eb1c3",
      "parents": [
        "7a87b6c228b8d0cc54b9faa159732fcb2a6c9d0c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Wed Dec 06 18:41:45 2006 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 06 11:09:08 2006 -0800"
      },
      "message": "[PATCH] drivers/{char|isdn}: work_struct-induced breakage\n\npart 1 of fsck-knows-how-many\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7a87b6c228b8d0cc54b9faa159732fcb2a6c9d0c",
      "tree": "c9ab9daa24814066d18cac314441a04126c9c9df",
      "parents": [
        "dd6a7c19e4630f635467246a81b8e0cc818c05e6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Wed Dec 06 18:51:40 2006 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 06 11:06:46 2006 -0800"
      },
      "message": "[PATCH] hamradio/dmascc: fix up work_struct-induced breakage\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dd6a7c19e4630f635467246a81b8e0cc818c05e6",
      "tree": "8fc93cdef4070183cbd3fa06019c84728380b389",
      "parents": [
        "dd8856bda5f1308beb113281b248683992998a9e",
        "ea0f8feaa041f3ccec3d6b8ee51325b177daef06"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 06 08:10:55 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 06 08:10:55 2006 -0800"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6: (43 commits)\n  sh: sh775x/titan fixes for irq header changes.\n  sh: update r7780rp defconfig.\n  sh: compile fixes for header cleanup.\n  sh: Fixup pte_mkhuge() build failure.\n  sh: set KBUILD_IMAGE to something sensible.\n  sh: show held locks in stack trace with lockdep.\n  sh: platform_pata support for R7780RP\n  sh: stacktrace/lockdep/irqflags tracing support.\n  sh: Fixup movli.l/movco.l atomic ops for gcc4.\n  sh: dyntick infrastructure.\n  sh: Clock framework tidying.\n  sh: Turn off IRQs around get_timer_offset() calls.\n  sh: Get the PGD right in oops case with 64-bit PTEs.\n  sh: Fix store queue bitmap end.\n  sh: More flexible + SH7780 earlyprintk SCIF support.\n  sh: Fixup various PAGE_SIZE \u003d\u003d 4096 assumptions.\n  sh: Fixup 4K irq stacks.\n  sh: dma-api channel capability extensions.\n  sh: Drop name overload in dma-sh.\n  sh: Make dma-isa depend on ISA_DMA_API.\n  ...\n"
    },
    {
      "commit": "dd8856bda5f1308beb113281b248683992998a9e",
      "tree": "5dc35290cdbca32cbdecd93a76fa5b29075ac18c",
      "parents": [
        "f81cff0d4067e41fd7383d9c013cc82da7c169d2",
        "06328b4f7919e9d2169d45cadc5a37b828a78eda"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 06 08:01:37 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 06 08:01:37 2006 -0800"
      },
      "message": "Merge git://git.infradead.org/users/dhowells/workq-2.6\n\n* git://git.infradead.org/users/dhowells/workq-2.6:\n  Actually update the fixed up compile failures.\n  WorkQueue: Fix up arch-specific work items where possible\n  WorkStruct: make allyesconfig\n  WorkStruct: Pass the work_struct pointer instead of context data\n  WorkStruct: Merge the pending bit into the wq_data pointer\n  WorkStruct: Typedef the work function prototype\n  WorkStruct: Separate delayable and non-delayable events.\n"
    },
    {
      "commit": "f81cff0d4067e41fd7383d9c013cc82da7c169d2",
      "tree": "92c5c8a647e31be6b3e09dcce42ec261d43ad2f5",
      "parents": [
        "3363c9b0ed8f6b5a241d63018cad242ae458cdf9"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Wed Dec 06 12:02:59 2006 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 06 07:41:26 2006 -0800"
      },
      "message": "[PATCH] uclinux: fix mmap() of directory for nommu case\n\nI was playing with blackfin when i hit a neat bug ... doing an open() on a\ndirectory and then passing that fd to mmap() would cause the kernel to hang\n\nafter poking into the code a bit more, i found that\nmm/nommu.c:validate_mmap_request() checks the length and if it is 0, just\nreturns the address ... this is in stark contrast to mmu\u0027s\nmm/mmap.c:do_mmap_pgoff() where it returns -EINVAL for 0 length requests ...\ni then noticed that some other parts of the logic is out of date between the\ntwo funcs, so perhaps that\u0027s the easy fix ?\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3363c9b0ed8f6b5a241d63018cad242ae458cdf9",
      "tree": "b29ff9517ebbc2409096fadbc7b158657778c630",
      "parents": [
        "a8b8d57c25eb61a04431324e1a41109925290512"
      ],
      "author": {
        "name": "Gavin Lambert",
        "email": "gavinl@compacsort.com",
        "time": "Wed Dec 06 11:57:53 2006 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 06 07:41:26 2006 -0800"
      },
      "message": "[PATCH] m68knommu: remove FP conditionals in ucontext struct\n\nThe first patch is to the 2.6 kernel include file (for m68knommu), to get\nrid of the conditional definitions, otherwise the structures have different\nsizes depending on whether there\u0027s an FPU or not.\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a8b8d57c25eb61a04431324e1a41109925290512",
      "tree": "fc2ca7ae7a24de84368d82b75caabf29d19c22d8",
      "parents": [
        "dcb14775493170ea60fb8b657b411cdc9532b7ee"
      ],
      "author": {
        "name": "Greg Ungerer",
        "email": "gerg@snapgear.com",
        "time": "Wed Dec 06 11:49:34 2006 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 06 07:41:26 2006 -0800"
      },
      "message": "[PATCH] m68knommu: ColdFire serial driver fixes\n\nSome updates for the old ColdFire serial driver:\n\n . support 3 and 4 UARTs on some ColdFire parts that have them\n . enable multifunction pins to serial for 527x CPU\u0027s\n . support the 5272 UART\u0027s fractional baud rate divisor\n . switch driver name to \"mcfserial\"\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dcb14775493170ea60fb8b657b411cdc9532b7ee",
      "tree": "6119b96d277b32cdd17fa5817f195d9c4cf4c86e",
      "parents": [
        "deb77c8501f47ab228bf7cc7fd649e50603ed2cd"
      ],
      "author": {
        "name": "Greg Ungerer",
        "email": "gerg@snapgear.com",
        "time": "Wed Dec 06 11:43:14 2006 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 06 07:41:26 2006 -0800"
      },
      "message": "[PATCH] m68knommu: switch 68360 to using rtc_time\n\nAdds support for RTCs (through genrtc) for M68KNOMMU.\n\nBoard-specific code will have to link the appropriate RTC driver to the\nmach_hwclk callback, at minimum.\n\nThis patch switches the 68360 code over to using rtc_time.\n\nSigned-off-by: Gavin Lambert \u003cgavinl@compacsort.com\u003e\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "deb77c8501f47ab228bf7cc7fd649e50603ed2cd",
      "tree": "9a55c608f3eb4783c109da1401f707546e85423a",
      "parents": [
        "dd93e857fca0f6dedb8b0ffe61bf5096029963bb"
      ],
      "author": {
        "name": "Greg Ungerer",
        "email": "gerg@snapgear.com",
        "time": "Wed Dec 06 11:36:59 2006 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 06 07:41:26 2006 -0800"
      },
      "message": "[PATCH] m68knommu: fix timer register access on 523x ColdFire platforms\n\nThe 523x timer TRR register is a full 32bits, the older register (on\nother ColdFire parts) was only 16 bits.  Use the right type of\n__raw_read when accessing it.\n\nProblem found by Yaroslav Vinogradov \u003cyaroslav.vinogradov@freescale.com\u003e\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dd93e857fca0f6dedb8b0ffe61bf5096029963bb",
      "tree": "8c5ecdf83282374359ba2ace9c20f0088d941a0e",
      "parents": [
        "5340be59093d59826f4477a5f9991c762e4417e8"
      ],
      "author": {
        "name": "Greg Ungerer",
        "email": "gerg@snapgear.com",
        "time": "Wed Dec 06 11:36:13 2006 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 06 07:41:26 2006 -0800"
      },
      "message": "[PATCH] m68knommu: implement irq_canonicalize()\n\nAdd a null definition for irq_canonicalize(). It is used in the gerneric\nserial subsystem code, can\u0027t compile without it.\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5340be59093d59826f4477a5f9991c762e4417e8",
      "tree": "cf6428281d7e34d265e465f0f05ea4ee7fa7d880",
      "parents": [
        "ec0bf39a471bf6fcd01def2bd677128cea940b73"
      ],
      "author": {
        "name": "Greg Ungerer",
        "email": "gerg@snapgear.com",
        "time": "Wed Dec 06 11:35:16 2006 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 06 07:41:26 2006 -0800"
      },
      "message": "[PATCH] m68knommu: create rtc.h\n\nThis adds support for RTCs (through genrtc) for M68KNOMMU.\n\nBoard-specific code will have to link the appropriate RTC driver to the\nmach_hwclk callback, at minimum.\n\nSigned-off-by: Gavin Lambert \u003cgavinl@compacsort.com\u003e\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "06328b4f7919e9d2169d45cadc5a37b828a78eda",
      "tree": "2c048aad57f0f9cf17bddfec864e57348b1fe3b8",
      "parents": [
        "4796b71fbb907ce6b8a9acf1852d3646a80b4576"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Dec 06 15:02:26 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@warthog.cambridge.redhat.com",
        "time": "Wed Dec 06 15:02:26 2006 +0000"
      },
      "message": "Actually update the fixed up compile failures.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "4796b71fbb907ce6b8a9acf1852d3646a80b4576",
      "tree": "6263f165446c581efdbb760205c1f85378fe6259",
      "parents": [
        "6d5aefb8eaa38e44b5b8cf60c812aceafc02d924",
        "ec0bf39a471bf6fcd01def2bd677128cea940b73"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Dec 06 15:01:18 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@warthog.cambridge.redhat.com",
        "time": "Wed Dec 06 15:01:18 2006 +0000"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tdrivers/pcmcia/ds.c\n\nFix up merge failures with Linus\u0027s head and fix new compile failures.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "ea0f8feaa041f3ccec3d6b8ee51325b177daef06",
      "tree": "261c7d75e5caccbaface63370bae029ecd81b98a",
      "parents": [
        "fe9687dec0400c6de7187ab5efa91facd958ca84"
      ],
      "author": {
        "name": "Jamie Lenehan",
        "email": "lenehan@twibble.org",
        "time": "Wed Dec 06 12:05:02 2006 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Wed Dec 06 12:05:02 2006 +0900"
      },
      "message": "sh: sh775x/titan fixes for irq header changes.\n\nThe following moves the creation of IPR interupts into setup-7750.c\nand updates a few other things to make it all work after the \"Drop\nCPU subtype IRQ headers\" commit. It boots and runs fine on my titan\nboard.\n\n - adds an ipr_idx to the ipr_data and uses a function in the subtype\n   code to calculate the address of the IPR registers\n\n - adds a function to enable individual interrupt mode for externals\n   in the subtype code and calls that from the titan board code\n   instead of doing it directly.\n\n - I changed the shift in the ipr_data to be the actual # of bits to\n   shift, instead of the numnber / 4 - made it easier to match with\n   the manual.\n\nSigned-off-by: Jamie Lenehan \u003clenehan@twibble.org\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "fe9687dec0400c6de7187ab5efa91facd958ca84",
      "tree": "6bdc2c3e540b3a797c2ee77a85c93ae2dec48925",
      "parents": [
        "65e5d90de6dba9975332dac4f849b81f663e16fa"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Wed Dec 06 12:02:01 2006 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Wed Dec 06 12:02:01 2006 +0900"
      },
      "message": "sh: update r7780rp defconfig.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "65e5d90de6dba9975332dac4f849b81f663e16fa",
      "tree": "0dcd1d9e94edfaed6053bd5fe22d95f098016bab",
      "parents": [
        "5b67954e804465a4658dd4da8d52b87a8d1ea00c"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Wed Dec 06 11:24:48 2006 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Wed Dec 06 11:24:48 2006 +0900"
      },
      "message": "sh: compile fixes for header cleanup.\n\nSince some header inclusion paths were cleaned up, compilation\nbroke. Add in the headers we need directly to build again.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "5b67954e804465a4658dd4da8d52b87a8d1ea00c",
      "tree": "ecaf439834f2e6453c090700f051cd7952a6043a",
      "parents": [
        "f36af73304555849985b1fb5c0821c1bfab3a5a0"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Wed Dec 06 11:20:53 2006 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Wed Dec 06 11:20:53 2006 +0900"
      },
      "message": "sh: Fixup pte_mkhuge() build failure.\n\nWhen hugetlbpage support isn\u0027t enabled, this can be bogus.\nWrap it back in _PAGE_FLAGS_HARD to avoid changes to the\nbase PTE when not aiming for larger sizes.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "f36af73304555849985b1fb5c0821c1bfab3a5a0",
      "tree": "bfc55e6ac0dc4a00b6d8d2a120561f531ba249c3",
      "parents": [
        "9b8c90eb0d916f6802f8bbac79f61aca6ac533e8"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Wed Dec 06 11:08:49 2006 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Wed Dec 06 11:08:49 2006 +0900"
      },
      "message": "sh: set KBUILD_IMAGE to something sensible.\n\nThis was missing for sh too, wire it up..\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "9b8c90eb0d916f6802f8bbac79f61aca6ac533e8",
      "tree": "09f9f7d40e2e213bbc2678cbe1bea1eb06ca65db",
      "parents": [
        "0c020e3dfb9429a3b31669a5ac2b86dd675c1ad2"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Wed Dec 06 11:07:51 2006 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Wed Dec 06 11:07:51 2006 +0900"
      },
      "message": "sh: show held locks in stack trace with lockdep.\n\nFollows the same change as other architectures..\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "0c020e3dfb9429a3b31669a5ac2b86dd675c1ad2",
      "tree": "0c457d3c33703fcafa08ec028ea181ed51888120",
      "parents": [
        "afbfb52e47273a440df33274452c603e8c332de2"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Wed Dec 06 10:43:44 2006 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Wed Dec 06 10:45:40 2006 +0900"
      },
      "message": "sh: platform_pata support for R7780RP\n\nThis adds a platform device for the directly connected\nCF interface on R7780RP boards, for use with the\npata_platform libata driver.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "afbfb52e47273a440df33274452c603e8c332de2",
      "tree": "041dc70061a67e787b362959298e093830b4b4d7",
      "parents": [
        "c03c69610bfa728805deceeb624ee4268c722a5a"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Mon Dec 04 18:17:28 2006 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Wed Dec 06 10:45:40 2006 +0900"
      },
      "message": "sh: stacktrace/lockdep/irqflags tracing support.\n\nWire up all of the essentials for lockdep..\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "c03c69610bfa728805deceeb624ee4268c722a5a",
      "tree": "07085eab7196c1e7219473d5a164a0569bce9611",
      "parents": [
        "bd156147eb63ae525e0ac67868e41a808f03c532"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Dec 01 14:32:54 2006 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Wed Dec 06 10:45:40 2006 +0900"
      },
      "message": "sh: Fixup movli.l/movco.l atomic ops for gcc4.\n\ngcc4 gets a bit pissy about the outputs:\n\ninclude/asm/atomic.h: In function \u0027atomic_add\u0027:\ninclude/asm/atomic.h:37: error: invalid lvalue in asm statement\ninclude/asm/atomic.h:30: error: invalid lvalue in asm output 1\n...\n\nthis ended up being a thinko anyways, so just fix it up.\n\nVerified for proper behaviour with the older toolchains, too.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "bd156147eb63ae525e0ac67868e41a808f03c532",
      "tree": "8774cf4f3297c94c10583f6331b5b17e0322f0db",
      "parents": [
        "1d118562c2067a42d0e8f70671a4ce27d7c6ffee"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Dec 01 13:23:47 2006 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Wed Dec 06 10:45:40 2006 +0900"
      },
      "message": "sh: dyntick infrastructure.\n\nThis adds basic NO_IDLE_HZ support to the SH timer API so timers\nare able to wire it up. Taken from the ARM version, as it fit in\nto our API with very few changes needed.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "1d118562c2067a42d0e8f70671a4ce27d7c6ffee",
      "tree": "fa59028397143d7fa94d86785bee8443efe30798",
      "parents": [
        "e74b56800e78a10bc09b56a87831876a1d9d09ae"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Dec 01 13:15:14 2006 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Wed Dec 06 10:45:40 2006 +0900"
      },
      "message": "sh: Clock framework tidying.\n\nThis syncs up the SH clock framework with the linux/clk.h API,\nfor which there were only some minor changes required, namely\nthe clk_get() dev_id and subsequent callsites.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "e74b56800e78a10bc09b56a87831876a1d9d09ae",
      "tree": "0468f7bd4324ffe8d6d7f00ffd2fa3376fcc65aa",
      "parents": [
        "bca7c20764c83a44c7b8b0831089922d56a3a9a2"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Dec 01 13:12:05 2006 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Wed Dec 06 10:45:39 2006 +0900"
      },
      "message": "sh: Turn off IRQs around get_timer_offset() calls.\n\nSince all of the sys_timer sources currently do this on their own\nwithin the -\u003eget_offset() path, it\u0027s more sensible to just have\nthe caller take care of it when grabbing xtime_lock. Incidentally,\nthis is more in line with what others (ie, ARM) are doing already.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "bca7c20764c83a44c7b8b0831089922d56a3a9a2",
      "tree": "18c82b8b8e5b3542301421d5e165541ce0d8b5f7",
      "parents": [
        "9f650cf2b811cfb605f10483eeb1dc86f43cdbcb"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Dec 01 12:14:11 2006 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Wed Dec 06 10:45:39 2006 +0900"
      },
      "message": "sh: Get the PGD right in oops case with 64-bit PTEs.\n\nPreviously this was using a static pgd shift in the reporting\ncode, simply flip this to PGDIR_SHIFT which does the right\nthing depending on varying PTE magnitudes on the SH-X2 MMU.\n\nWhile we\u0027re at it, and since it\u0027s been recently added, use\nget_TTB() for fetching the TTB, rather than the open coded\ninstructions.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "9f650cf2b811cfb605f10483eeb1dc86f43cdbcb",
      "tree": "db9506994a49ecdd9151776fe5fb3ed7f3343c92",
      "parents": [
        "6fc21b82ef74911887ced1aff8d37ce079bb8b36"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Dec 01 12:01:43 2006 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Wed Dec 06 10:45:39 2006 +0900"
      },
      "message": "sh: Fix store queue bitmap end.\n\nThe end of the store queue bitmap is miscalculated when searching\nfor a free range in sq_remap(), missing the PAGE_SHIFT shift that\u0027s\ndone in sq_api_init(). This runs in to workloads where we can scan\nbeyond the end of the bitmap.\n\nSpotted by Paul Jackson:\n\n\thttp://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d116493191224097\u0026w\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    }
  ],
  "next": "6fc21b82ef74911887ced1aff8d37ce079bb8b36"
}
