)]}'
{
  "log": [
    {
      "commit": "a51171816826b074828fa96cb6ef60fc3b13631a",
      "tree": "e3c6f7a9852d45e9fdec75d7c71548ba404625e7",
      "parents": [
        "7cef5677ef3a8084f2588ce0a129dc95d65161f6"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Mon Jun 06 13:35:54 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 06 14:42:23 2005 -0700"
      },
      "message": "[PATCH] broken fault_in_pages_readable call in generic_file_buffered_write()\n\nfault_in_pages_readable() is being passed an incorrect `end\u0027 address, which\ncan result in writes accidentally faulting in pages which will not be affected\nby the write() call.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cafdd8ba08935d9b161bb781851dc4c0e6f70427",
      "tree": "ee6a5305902cfd6abf818e398c538694db24dcb7",
      "parents": [
        "c33880aaddbbab1ccf36f4457ed1090621f2e39a"
      ],
      "author": {
        "name": "William Lee Irwin III",
        "email": "wli@holomorphy.com",
        "time": "Tue May 24 19:31:09 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue May 24 20:08:13 2005 -0700"
      },
      "message": "[PATCH] try_to_unmap_cluster() passes out-of-bounds pte to pte_unmap()\n\ntry_to_unmap_cluster() does:\n        for (pte \u003d pte_offset_map(pmd, address);\n                        address \u003c end; pte++, address +\u003d PAGE_SIZE) {\n\t\t...\n\t}\n\n\tpte_unmap(pte);\n\nIt may take a little staring to notice, but pte can actually fall off the\nend of the pte page in this iteration, which makes life difficult for\nkmap_atomic() and the users not expecting it to BUG().  Of course, we\u0027re\nsomewhat lucky in that arithmetic elsewhere in the function guarantees that\nat least one iteration is made, lest this force larger rearrangements to be\nmade.  This issue and patch also apply to non-mm mainline and with trivial\nadjustments, at least two related kernels.\n\nDiscovered during internal testing at Oracle.\n\nSigned-off-by: William Irwin \u003cwli@holomorphy.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b5c44c2147a447f77e07fecdb087ae288e1f4e40",
      "tree": "ec1d95eb1e03e320fc5eb5cfb40379f2f4a7267d",
      "parents": [
        "f359b74c80bc76c1f6c2cb8f2837882f2335ba0c"
      ],
      "author": {
        "name": "Suparna Bhattacharya",
        "email": "suparna@in.ibm.com",
        "time": "Sat May 21 16:33:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat May 21 16:45:24 2005 -0700"
      },
      "message": "[PATCH] fix for __generic_file_aio_read() to return 0 on EOF\n\nI came across the following problem while running ltp-aiodio testcases from\nltp-full-20050405 on linux-2.6.12-rc3-mm3.  I tried running the tests with\nEXT3 as well as JFS filesystems.\n\nOne or two fsx-linux testcases were hung after some time.  These testcases\nwere hanging at wait_for_all_aios().\n\nDebugging shows that there were some iocbs which were not getting completed\neventhough the last retry for those returned -EIOCBQUEUED.  Also all such\npending iocbs represented READ operation.\n\nFurther debugging revealed that all such iocbs hit EOF in the DIO layer.\nTo be more precise, the \"pos\" from which they were trying to read was\ngreater than the \"size\" of the file.  So the generic_file_direct_IO\nreturned 0.\n\nThis happens rarely as there is already a check in\n__generic_file_aio_read(), for whether \"pos\" \u003c \"size\" before calling direct\nIO routine.\n\n\u003esize \u003d i_size_read(inode);\n\u003eif (pos \u003c size) {\n\u003e\t  retval \u003d generic_file_direct_IO(READ, iocb,\n\u003e                               iov, pos, nr_segs);\n\nBut for READ, we are taking the inode-\u003ei_sem only in the DIO layer.  So it\nis possible that some other process can change the size of the file before\nwe take the i_sem.  In such a case ( when \"pos\" \u003e \"size\"), the\n__generic_file_aio_read() would return -EIOCBQUEUED even though there were\nno I/O requests submitted by the DIO layer.  This would cause the AIO layer\nto expect aio_complete() for THE iocb, which doesnot happen.  And thus the\ntest hangs forever, waiting for an I/O completion, where there are no\nrequests submitted at all.\n\nThe following patch makes __generic_file_aio_read() return 0 (instead of\nreturning -EIOCBQUEUED), on getting 0 from generic_file_direct_IO(), so\nthat the AIO layer does the aio_complete().\n\nTesting:\n\nI have tested the patch on a SMP machine(with 2 Pentium 4 (HT)) running\nlinux-2.6.12-rc3-mm3.  I ran the ltp-aiodio testcases and none of the\nfsx-linux tests hung.  Also the aio-stress tests ran without any problem.\n\nSigned-off-by: Suzuki K P \u003csuzuki@in.ibm.com\u003e\nSigned-off-by: Suparna Bhattacharya \u003csuparna@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7856dfeb23c16ef3d8dac8871b4d5b93c70b59b9",
      "tree": "0e9f799c3882dce14b49356c6db10bb6f4ba1713",
      "parents": [
        "c4d1fcf3a2ea89b6d6221fa8b4588c77aff50995"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Fri May 20 14:27:57 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri May 20 15:48:20 2005 -0700"
      },
      "message": "[PATCH] x86_64: Fixed guard page handling again in iounmap\n\nCaused oopses again.  Also fix potential mismatch in checking if\nchange_page_attr was needed.\n\nTo do it without races I needed to change mm/vmalloc.c to export a\n__remove_vm_area that does not take vmlist lock.\n\nNoticed by Terence Ripperda and based on a patch of his.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "07ab67c8d0d7c1021343b7d5c045033d6bf7be69",
      "tree": "5857098ebbb760afc8b0d722f119e06b3d1f6511",
      "parents": [
        "66e60f92518268f4d2a702a1c4ffbe1caacd6290"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 19 22:43:37 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 19 22:43:37 2005 -0700"
      },
      "message": "Fix get_unmapped_area sanity tests\n\nAs noted by Chris Wright, we need to do the full range of tests regardless\nof whether MAP_FIXED is set or not, so re-organize get_unmapped_area()\nslightly to do the sanity checks unconditionally.\n"
    },
    {
      "commit": "49a43876b935c811cfd29d8fe998a6912a1cc5c4",
      "tree": "c7d7a187a2125518e655dfeadffd38156239ffc3",
      "parents": [
        "05d3794aa8bd3b2c9f7920a05003c331cdeb75c5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@osdl.org",
        "time": "Wed May 18 15:39:33 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 19 07:46:36 2005 -0700"
      },
      "message": "[PATCH] prevent NULL mmap in topdown model\n\nPrevent the topdown allocator from allocating mmap areas all the way\ndown to address zero.\n\nWe still allow a MAP_FIXED mapping of page 0 (needed for various things,\nranging from Wine and DOSEMU to people who want to allow speculative\nloads off a NULL pointer).\n\nTested by Chris Wright.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b81074800b98ac50b64d4c8d34e8abf0fda5e3d1",
      "tree": "01b5114255fcf1ea8ea15fabe08cc9782131e684",
      "parents": [
        "c64610ba585fabb36be78782868277f3d9741a2e"
      ],
      "author": {
        "name": "Kirill Korotaev",
        "email": "dev@sw.ru",
        "time": "Mon May 16 21:53:50 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue May 17 07:59:20 2005 -0700"
      },
      "message": "[PATCH] do_swap_page() can map random data if swap read fails\n\nThere is a bug in do_swap_page(): when swap page happens to be unreadable,\npage filled with random data is mapped into user address space.  The fix is\nto check for PageUptodate and send SIGBUS in case of error.\n\nSigned-Off-By: Kirill Korotaev \u003cdev@sw.ru\u003e\nSigned-Off-By: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ba32311eb73f624a85a5fc2e043cda8e076f86ef",
      "tree": "1baa53ef8f4b708ec1807ca3a267c713d00da266",
      "parents": [
        "59afda786a58f2e8f74a48f2af90534d76d5338d"
      ],
      "author": {
        "name": "McMullan, Jason",
        "email": "jason.mcmullan@timesys.com",
        "time": "Mon May 16 21:53:40 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue May 17 07:59:18 2005 -0700"
      },
      "message": "[PATCH] swapout oops fix\n\nFix OOPS when swapping on a device that doesn\u0027t have an unplug_io_fn defined\n(eg, ATA Over Ethernet)\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7a019225c797a1047470accee950d69cfe7c59c5",
      "tree": "0292277ce6b1fda86658dbaeeb4402800c2bef0f",
      "parents": [
        "59db2e6ed080ac385f19b9f4329133d634215bfd"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon May 16 21:53:37 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue May 17 07:59:17 2005 -0700"
      },
      "message": "[PATCH] mm/nommu.c: try to fix __vmalloc\n\nLinus changed the second argument of __vmalloc from int to unsigned int\nbreaking the compilation for CONFIG_MMU\u003dn configurations (since he only\nchanged vmalloc.c but not nommu.c).\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": "7179906293ebdc333f14a03d3e58b03604848f3c",
      "tree": "48623522c6af985400e6181ce1b18d98b910c0fc",
      "parents": [
        "202d182a92c60416680e31baa697faa60b0882f5"
      ],
      "author": {
        "name": "Kirill Korotaev",
        "email": "dev@sw.ru",
        "time": "Mon May 16 21:53:18 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue May 17 07:59:12 2005 -0700"
      },
      "message": "[PATCH] mm acct accounting fix\n\nThis patch fixes mm-\u003etotal_vm and mm-\u003elocked_vm acctounting in case when\nmove_page_tables() fails inside move_vma().\n\nSigned-Off-By: Kirill Korotaev \u003cdev@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "202d182a92c60416680e31baa697faa60b0882f5",
      "tree": "361fdd4f061791e980ef686c1a914a96e6711c8b",
      "parents": [
        "7a5febe9ffeecd1e78c5b505260ccc1ef18021b4"
      ],
      "author": {
        "name": "Bjorn Steinbrink",
        "email": "B.Steinbrink@gmx.de",
        "time": "Mon May 16 21:53:17 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue May 17 07:59:12 2005 -0700"
      },
      "message": "[PATCH] mm: fix rss counter being incremented when unmapping\n\nThis patch fixes a bug introduced by the \"mm counter operations through\nmacros\" patch, which replaced a decrement operation in with an increment\nmacro in try_to_unmap_one().\n\nSigned-off-by: Björn Steinbrink \u003cB.Steinbrink@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "91bb52416854dfd581efe6e2a0aca8dc655f043e",
      "tree": "d1c30d46a1c4053b34ff3aaaf04adcbd41cc54e8",
      "parents": [
        "5b76ffd5d9f12ba850fc988188f55056204ad4e2"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu May 05 16:15:59 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 05 16:36:43 2005 -0700"
      },
      "message": "[PATCH] remove outdated comments from filemap.c\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7223a93a5321f84337647aef62ef947afd8df41a",
      "tree": "10d4c8e4cb1b4ddf33ca32efbe915ca91d19fcd1",
      "parents": [
        "2e34f07ff0c944399a6456e2d91cf0ca1d9a497c"
      ],
      "author": {
        "name": "Dean Nelson",
        "email": "dcn@sgi.com",
        "time": "Wed Mar 23 19:00:00 2005 -0700"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Tue May 03 12:09:32 2005 -0700"
      },
      "message": "[IA64] Export node_online_map and node_possible_map\n\nExport node_online_map and node_possible_map so that kernel modules can use\nthe nodemask macros, like, for_each_node() and for_each_online_node().\n\nSigned-off-by: Dean Nelson \u003cdcn@sgi.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "67be2dd1bace0ec7ce2dbc1bba3f8df3d7be597e",
      "tree": "317d114a0288d3b19ef9902f94b536a5a8731dbd",
      "parents": [
        "6013d5445f9a6d0b28090027868f455c5012d1cc"
      ],
      "author": {
        "name": "Martin Waitz",
        "email": "tali@admingilde.org",
        "time": "Sun May 01 08:59:26 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:59:26 2005 -0700"
      },
      "message": "[PATCH] DocBook: fix some descriptions\n\nSome KernelDoc descriptions are updated to match the current code.\nNo code changes.\n\nSigned-off-by: Martin Waitz \u003ctali@admingilde.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4dc3b16ba18c0f967ad100c52fa65b01a4f76ff0",
      "tree": "fa038ad8969980eec6cef5b737872fda9feb4c6a",
      "parents": [
        "333f981720d619e2038b980a55ad01b10580eb9f"
      ],
      "author": {
        "name": "Pavel Pisa",
        "email": "pisa@cmp.felk.cvut.cz",
        "time": "Sun May 01 08:59:25 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:59:25 2005 -0700"
      },
      "message": "[PATCH] DocBook: changes and extensions to the kernel documentation\n\nI have recompiled Linux kernel 2.6.11.5 documentation for me and our\nuniversity students again.  The documentation could be extended for more\nsources which are equipped by structured comments for recent 2.6 kernels.  I\nhave tried to proceed with that task.  I have done that more times from 2.6.0\ntime and it gets boring to do same changes again and again.  Linux kernel\ncompiles after changes for i386 and ARM targets.  I have added references to\nsome more files into kernel-api book, I have added some section names as well.\n So please, check that changes do not break something and that categories are\nnot too much skewed.\n\nI have changed kernel-doc to accept \"fastcall\" and \"asmlinkage\" words reserved\nby kernel convention.  Most of the other changes are modifications in the\ncomments to make kernel-doc happy, accept some parameters description and do\nnot bail out on errors.  Changed \u003cpid\u003e to @pid in the description, moved some\n#ifdef before comments to correct function to comments bindings, etc.\n\nYou can see result of the modified documentation build at\n  http://cmp.felk.cvut.cz/~pisa/linux/lkdb-2.6.11.tar.gz\n\nSome more sources are ready to be included into kernel-doc generated\ndocumentation.  Sources has been added into kernel-api for now.  Some more\nsection names added and probably some more chaos introduced as result of quick\ncleanup work.\n\nSigned-off-by: Pavel Pisa \u003cpisa@cmp.felk.cvut.cz\u003e\nSigned-off-by: Martin Waitz \u003ctali@admingilde.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fbd568a3e61a7decb8a754ad952aaa5b5c82e9e5",
      "tree": "40a44149a9b6a39eac5481380e2212f9b9b74eb2",
      "parents": [
        "9b06e818985d139fd9e82c28297f7744e1b484e1"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@us.ibm.com",
        "time": "Sun May 01 08:59:04 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:59:04 2005 -0700"
      },
      "message": "[PATCH] Change synchronize_kernel to _rcu and _sched\n\nThis patch changes calls to synchronize_kernel(), deprecated in the earlier\n\"Deprecate synchronize_kernel, GPL replacement\" patch to instead call the new\nsynchronize_rcu() and synchronize_sched() APIs.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cd7619d6bf36564cf54ff7218ef54e558a741913",
      "tree": "c11674169b6d8f0b498e7ebe8a85d624cca82502",
      "parents": [
        "c8538a7aa5527d02c7191ac5da124efadf6a2827"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Sun May 01 08:59:01 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:59:01 2005 -0700"
      },
      "message": "[PATCH] Exterminate PAGE_BUG\n\nRemove PAGE_BUG - repalce it with BUG and BUG_ON.\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d59dd4620fb8d6422555a9e2b82a707718e68327",
      "tree": "78205657d24efcaa3f8314064951ac3814ed95a7",
      "parents": [
        "0d8d4d42f2d00eb65262b49f4edd4cf7ef4eb6fc"
      ],
      "author": {
        "name": "akpm@osdl.org",
        "email": "akpm@osdl.org",
        "time": "Sun May 01 08:58:47 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:58:47 2005 -0700"
      },
      "message": "[PATCH] use smp_mb/wmb/rmb where possible\n\nReplace a number of memory barriers with smp_ variants.  This means we won\u0027t\ntake the unnecessary hit on UP machines.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "97e2bde47f886a317909c8a8f9bd2fcd8ce2f0b0",
      "tree": "bef8ff5bd628ecffd188bdbad4c765bf5e737b8d",
      "parents": [
        "dd1d5afca8d3bda7ff9db773fc08e648d2503dc6"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@dbl.q-ag.de",
        "time": "Sun May 01 08:58:38 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:58:38 2005 -0700"
      },
      "message": "[PATCH] add kmalloc_node, inline cleanup\n\nThe patch makes the following function calls available to allocate memory\non a specific node without changing the basic operation of the slab\nallocator:\n\n kmem_cache_alloc_node(kmem_cache_t *cachep, unsigned int flags, int node);\n kmalloc_node(size_t size, unsigned int flags, int node);\n\nin a similar way to the existing node-blind functions:\n\n kmem_cache_alloc(kmem_cache_t *cachep, unsigned int flags);\n kmalloc(size, flags);\n\nkmem_cache_alloc_node was changed to pass flags and the node information\nthrough the existing layers of the slab allocator (which lead to some minor\nrearrangements).  The functions at the lowest layer (kmem_getpages,\ncache_grow) are already node aware.  Also __alloc_percpu can call\nkmalloc_node now.\n\nPerformance measurements (using the pageset localization patch) yields:\n\nw/o patches:\nTasks    jobs/min  jti  jobs/min/task      real       cpu\n    1      484.27  100       484.2736     12.02      1.97   Wed Mar 30 20:50:43 2005\n  100    25170.83   91       251.7083     23.12    150.10   Wed Mar 30 20:51:06 2005\n  200    34601.66   84       173.0083     33.64    294.14   Wed Mar 30 20:51:40 2005\n  300    37154.47   86       123.8482     46.99    436.56   Wed Mar 30 20:52:28 2005\n  400    39839.82   80        99.5995     58.43    580.46   Wed Mar 30 20:53:27 2005\n  500    40036.32   79        80.0726     72.68    728.60   Wed Mar 30 20:54:40 2005\n  600    44074.21   79        73.4570     79.23    872.10   Wed Mar 30 20:55:59 2005\n  700    44016.60   78        62.8809     92.56   1015.84   Wed Mar 30 20:57:32 2005\n  800    40411.05   80        50.5138    115.22   1161.13   Wed Mar 30 20:59:28 2005\n  900    42298.56   79        46.9984    123.83   1303.42   Wed Mar 30 21:01:33 2005\n 1000    40955.05   80        40.9551    142.11   1441.92   Wed Mar 30 21:03:55 2005\n\nwith pageset localization and slab API patches:\nTasks    jobs/min  jti  jobs/min/task      real       cpu\n    1      484.19  100       484.1930     12.02      1.98   Wed Mar 30 21:10:18 2005\n  100    27428.25   92       274.2825     21.22    149.79   Wed Mar 30 21:10:40 2005\n  200    37228.94   86       186.1447     31.27    293.49   Wed Mar 30 21:11:12 2005\n  300    41725.42   85       139.0847     41.84    434.10   Wed Mar 30 21:11:54 2005\n  400    43032.22   82       107.5805     54.10    582.06   Wed Mar 30 21:12:48 2005\n  500    42211.23   83        84.4225     68.94    722.61   Wed Mar 30 21:13:58 2005\n  600    40084.49   82        66.8075     87.12    873.11   Wed Mar 30 21:15:25 2005\n  700    44169.30   79        63.0990     92.24   1008.77   Wed Mar 30 21:16:58 2005\n  800    43097.94   79        53.8724    108.03   1155.88   Wed Mar 30 21:18:47 2005\n  900    41846.75   79        46.4964    125.17   1303.38   Wed Mar 30 21:20:52 2005\n 1000    40247.85   79        40.2478    144.60   1442.21   Wed Mar 30 21:23:17 2005\n\nSigned-off-by: Christoph Lameter \u003cchristoph@lameter.com\u003e\nSigned-off-by: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dd1d5afca8d3bda7ff9db773fc08e648d2503dc6",
      "tree": "b0cc49be9dc43558e31be18d6045181661492018",
      "parents": [
        "93ea1d0a12623dc1a693642b5758261f35f9bf96"
      ],
      "author": {
        "name": "William Lee Irwin III",
        "email": "wli@holomorphy.com",
        "time": "Sun May 01 08:58:38 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:58:38 2005 -0700"
      },
      "message": "[PATCH] sync_page() smp_mb() comment\n\nThe smp_mb() is becaus sync_page() doesn\u0027t have PG_locked while it accesses\npage_mapping(page).  The comments in the patch (the entire patch is the\naddition of this comment) try to explain further how and why smp_mb() is\nused.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "93ea1d0a12623dc1a693642b5758261f35f9bf96",
      "tree": "4938d87a7d269f7b3e53328d02eac259cb93515a",
      "parents": [
        "edfbe2b0038723e5699ab22695ccd62b5542a5c1"
      ],
      "author": {
        "name": "Chris Wright",
        "email": "chrisw@osdl.org",
        "time": "Sun May 01 08:58:38 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:58:38 2005 -0700"
      },
      "message": "[PATCH] RLIMIT_MEMLOCK checking fix\n\nAlways use page counts when doing RLIMIT_MEMLOCK checking to avoid possible\noverflow.\n\nSigned-off-by: Chris Wright \u003cchrisw@osdl.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "edfbe2b0038723e5699ab22695ccd62b5542a5c1",
      "tree": "f1c613d32824f274b0e3daf492e87b0c9051c789",
      "parents": [
        "2054606ad6dd6fee559fe790f190b15ed9355237"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Sun May 01 08:58:37 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:58:37 2005 -0700"
      },
      "message": "[PATCH] count bounce buffer pages in vmstat\n\nThis is a patch for counting the number of pages for bounce buffers.  It\u0027s\nshown in /proc/vmstat.\n\nCurrently, the number of bounce pages are not counted anywhere.  So, if\nthere are many bounce pages, it seems that there are leaked pages.  And\nit\u0027s difficult for a user to imagine the usage of bounce pages.  So, it\u0027s\nmeaningful to show # of bouce pages.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bd53b714d32a29bdf33009f812e295667e92b930",
      "tree": "b8b6e72fcda7b40d2273498bfa16ba53e15e7917",
      "parents": [
        "20a77776c24800d1e40a73f520cfcb32239568a9"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sun May 01 08:58:37 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:58:37 2005 -0700"
      },
      "message": "[PATCH] mm: use __GFP_NOMEMALLOC\n\nUse the new __GFP_NOMEMALLOC to simplify the previous handling of\nPF_MEMALLOC.\n\nSigned-off-by: 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": "20a77776c24800d1e40a73f520cfcb32239568a9",
      "tree": "8a28cc68cf10b87d35b7603b2d6f26215390cc0f",
      "parents": [
        "b84a35be0285229b0a8a5e2e04d79360c5b75562"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sun May 01 08:58:37 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:58:37 2005 -0700"
      },
      "message": "[PATCH] mempool: simplify alloc\n\nMempool is pretty clever.  Looks too clever for its own good :) It\nshouldn\u0027t really know so much about page reclaim internals.\n\n- don\u0027t guess about what effective page reclaim might involve.\n\n- don\u0027t randomly flush out all dirty data if some unlikely thing\n  happens (alloc returns NULL). page reclaim can (sort of :P) handle\n  it.\n\nI think the main motivation is trying to avoid pool-\u003elock at all costs.\nHowever the first allocation is attempted with __GFP_WAIT cleared, so it\nwill be \u0027can_try_harder\u0027 if it hits the page allocator.  So if allocation\nstill fails, then we can probably afford to hit the pool-\u003elock - and what\u0027s\nthe alternative?  Try page reclaim and hit zone-\u003elru_lock?\n\nA nice upshot is that we don\u0027t need to do any fancy memory barriers or do\n(intentionally) racy access to pool-\u003e fields outside the lock.\n\nSigned-off-by: 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": "b84a35be0285229b0a8a5e2e04d79360c5b75562",
      "tree": "3ff63fde8534eb615b408d047b461015781f6a5b",
      "parents": [
        "8e30f272a93ec9c1d5c305c5040dfaebc880499d"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sun May 01 08:58:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:58:36 2005 -0700"
      },
      "message": "[PATCH] mempool: NOMEMALLOC and NORETRY\n\nMempools have 2 problems.\n\nThe first is that mempool_alloc can possibly get stuck in __alloc_pages\nwhen they should opt to fail, and take an element from their reserved pool.\n\nThe second is that it will happily eat emergency PF_MEMALLOC reserves\ninstead of going to their reserved pools.\n\nFix the first by passing __GFP_NORETRY in the allocation calls in\nmempool_alloc.  Fix the second by introducing a __GFP_MEMPOOL flag which\ndirects the page allocator not to allocate from the reserve pool.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8e30f272a93ec9c1d5c305c5040dfaebc880499d",
      "tree": "ed5b54d2895d3e93768f79b2ec2b968f79bf7013",
      "parents": [
        "81b4082dc7666e2bc5ec229d8e837f3bafb96883"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sun May 01 08:58:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:58:36 2005 -0700"
      },
      "message": "[PATCH] mm: pcp use non powers of 2 for batch size\n\nJack Steiner reported this to have fixed his problem (bad colouring):\n\"The patches fix both problems that I found - bad\n coloring \u0026 excessive pages in pagesets.\"\n\nIn most workloads this is not likely to be such a pronounced problem,\nhowever it should help corner cases.  And avoiding powers of 2 in these\ntypes of memory operations is always a good idea.\n\nSigned-off-by: 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": "81b4082dc7666e2bc5ec229d8e837f3bafb96883",
      "tree": "d37c73b9fa3d3d321d0997113c9170b52aeb10b6",
      "parents": [
        "119f657c72fc07d6fd28c61de59cfba1566970a9"
      ],
      "author": {
        "name": "Nikita Danilov",
        "email": "nikita@clusterfs.com",
        "time": "Sun May 01 08:58:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:58:36 2005 -0700"
      },
      "message": "[PATCH] mm: rmap.c cleanup\n\nmm/rmap.c:page_referenced_one() and mm/rmap.c:try_to_unmap_one() contain\nidentical code that\n\n - takes mm-\u003epage_table_lock;\n\n - drills through page tables;\n\n - checks that correct pte is reached.\n\nCoalesce this into page_check_address()\n\nSigned-off-by: Nikita Danilov \u003cnikita@clusterfs.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "119f657c72fc07d6fd28c61de59cfba1566970a9",
      "tree": "33c8070aa904c4919cf244cdcd7c01e54589bb9e",
      "parents": [
        "f021e9210185b46e41ec3a0e78ec1621e168eacb"
      ],
      "author": {
        "name": "akpm@osdl.org",
        "email": "akpm@osdl.org",
        "time": "Sun May 01 08:58:35 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:58:35 2005 -0700"
      },
      "message": "[PATCH] RLIMIT_AS checking fix\n\nAddress bug #4508: there\u0027s potential for wraparound in the various places\nwhere we perform RLIMIT_AS checking.\n\n(I\u0027m a bit worried about acct_stack_growth().  Are we sure that vma-\u003evm_mm is\nalways equal to current-\u003emm?  If not, then we\u0027re comparing some other\nprocess\u0027s total_vm with the calling process\u0027s rlimits).\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f021e9210185b46e41ec3a0e78ec1621e168eacb",
      "tree": "5661ced2f5c69f737dcf7673db2ef6e852003d6d",
      "parents": [
        "69aa3f71580990f39e387d96ed1001d2f5fb04b1"
      ],
      "author": {
        "name": "akpm@osdl.org",
        "email": "akpm@osdl.org",
        "time": "Sun May 01 08:58:35 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:58:35 2005 -0700"
      },
      "message": "[PATCH] generic_file_buffered_write fixes\n\nAnton Altaparmakov \u003caia21@cam.ac.uk\u003e points out:\n\n- It calls fault_in_pages_readable() which is completely bogus if @nr_segs \u003e\n  1.  It needs to be replaced by a to be written\n  \"fault_in_pages_readable_iovec()\".\n\n- It increments @buf even in the iovec case thus @buf can point to random\n  memory really quickly (in the iovec case) and then it calls\n  fault_in_pages_readable() on this random memory.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "01424961e621737c638e489b6a0b5e6602b02612",
      "tree": "ae51380febe42e40d09375648b0d379325b905a7",
      "parents": [
        "bc86120a85ebf553180946e8854d1993f074e9f5"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@www.linux.org.uk",
        "time": "Sun Apr 24 12:28:34 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun Apr 24 12:28:34 2005 -0700"
      },
      "message": "[PATCH] mempolicy.c GFP fix\n\nzonelist_policy() forgot to mask non-zone bits from gfp when comparing\nzone number with policy_zone. \n\nACKed-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "561bbe3235da614562fb26bb14042af684971a2d",
      "tree": "c60b08c7d319dd4799d7910e4f0c58100a80afd1",
      "parents": [
        "d455a3696c72283923e6870e9e4fe1daa861d7cd"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Apr 19 13:29:23 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org.(none)",
        "time": "Tue Apr 19 13:29:23 2005 -0700"
      },
      "message": "[PATCH] freepgt: remove FIRST_USER_ADDRESS hack\n\nOnce all the MMU architectures define FIRST_USER_ADDRESS, remove hack from\nmmap.c which derived it from FIRST_USER_PGD_NR.\n\nSigned-off-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": "8462e201756dd3bbe7e542106fc6fd6fe059cee2",
      "tree": "009c39a83ef819534621445647b04ba44bb3b13f",
      "parents": [
        "e2cdef8c847b480529b7e26991926aab4be008e6"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Apr 19 13:29:20 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org.(none)",
        "time": "Tue Apr 19 13:29:20 2005 -0700"
      },
      "message": "[PATCH] freepgt: sys_mincore ignore FIRST_USER_PGD_NR\n\nRemove use of FIRST_USER_PGD_NR from sys_mincore: it\u0027s inconsistent (no other\nsyscall refers to it), unnecessary (sys_mincore loops over vmas further down)\nand incorrect (misses user addresses in ARM\u0027s first pgd).\n\nSigned-off-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": "e2cdef8c847b480529b7e26991926aab4be008e6",
      "tree": "b936ab7f0964f56bc3312ad9ad956e978ac39895",
      "parents": [
        "021740dc30d184e3b0fa7679936e65a56090c425"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Apr 19 13:29:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org.(none)",
        "time": "Tue Apr 19 13:29:19 2005 -0700"
      },
      "message": "[PATCH] freepgt: free_pgtables from FIRST_USER_ADDRESS\n\nThe patches to free_pgtables by vma left problems on any architectures which\nleave some user address page table entries unencapsulated by vma.  Andi has\nfixed the 32-bit vDSO on x86_64 to use a vma.  Now fix arm (and arm26), whose\nfirst PAGE_SIZE is reserved (perhaps) for machine vectors.\n\nOur calls to free_pgtables must not touch that area, and exit_mmap\u0027s\nBUG_ON(nr_ptes) must allow that arm\u0027s get_pgd_slow may (or may not) have\nallocated an extra page table, which its free_pgd_slow would free later.\n\nFIRST_USER_PGD_NR has misled me and others: until all the arches define\nFIRST_USER_ADDRESS instead, a hack in mmap.c to derive one from t\u0027other.  This\npatch fixes the bugs, the remaining patches just clean it up.\n\nSigned-off-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": "146425a316fb937fbdcac018b34a23c67d12214b",
      "tree": "3246589ae0fa8f4c334247222792a9e6339b4ccc",
      "parents": [
        "8f6c99c11ae63ce887686f3e51c412cc4d8d8a7d"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Apr 19 13:29:18 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org.(none)",
        "time": "Tue Apr 19 13:29:18 2005 -0700"
      },
      "message": "[PATCH] freepgt: mpnt to vma cleanup\n\nWhile dabbling here in mmap.c, clean up mysterious \"mpnt\"s to \"vma\"s.\n\nSigned-off-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": "3bf5ee95648c694bac4d13529563c230cd4fe5f2",
      "tree": "9430e6e4f4c3d586ecb7375cd780fd17694888c7",
      "parents": [
        "ee39b37b23da0b6ec53a8ebe90ff41c016f8ae27"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Apr 19 13:29:16 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org.(none)",
        "time": "Tue Apr 19 13:29:16 2005 -0700"
      },
      "message": "[PATCH] freepgt: hugetlb_free_pgd_range\n\nia64 and ppc64 had hugetlb_free_pgtables functions which were no longer being\ncalled, and it wasn\u0027t obvious what to do about them.\n\nThe ppc64 case turns out to be easy: the associated tables are noted elsewhere\nand freed later, safe to either skip its hugetlb areas or go through the\nmotions of freeing nothing.  Since ia64 does need a special case, restore to\nppc64 the special case of skipping them.\n\nThe ia64 hugetlb case has been broken since pgd_addr_end went in, though it\nprobably appeared to work okay if you just had one such area; in fact it\u0027s\nbeen broken much longer if you consider a long munmap spanning from another\nregion into the hugetlb region.\n\nIn the ia64 hugetlb region, more virtual address bits are available than in\nthe other regions, yet the page tables are structured the same way: the page\nat the bottom is larger.  Here we need to scale down each addr before passing\nit to the standard free_pgd_range.  Was about to write a hugely_scaled_down\nmacro, but found htlbpage_to_page already exists for just this purpose.  Fixed\noff-by-one in ia64 is_hugepage_only_range.\n\nUninline free_pgd_range to make it available to ia64.  Make sure the\nvma-gathering loop in free_pgtables cannot join a hugepage_only_range to any\nother (safe to join huges?  probably but don\u0027t bother).\n\nSigned-off-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": "ee39b37b23da0b6ec53a8ebe90ff41c016f8ae27",
      "tree": "4af606913ab8f95551623b788c0c66c1f5902229",
      "parents": [
        "e0da382c92626ad1d7f4b7527d19b80104d67a83"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Apr 19 13:29:15 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org.(none)",
        "time": "Tue Apr 19 13:29:15 2005 -0700"
      },
      "message": "[PATCH] freepgt: remove MM_VM_SIZE(mm)\n\nThere\u0027s only one usage of MM_VM_SIZE(mm) left, and it\u0027s a troublesome macro\nbecause mm doesn\u0027t contain the (32-bit emulation?) info needed.  But it too is\nonly needed because we ignore the end from the vma list.\n\nWe could make flush_pgtables return that end, or unmap_vmas.  Choose the\nlatter, since it\u0027s a natural fit with unmap_mapping_range_vma needing to know\nits restart addr.  This does make more than minimal change, but if unmap_vmas\nhad returned the end before, this is how we\u0027d have done it, rather than\nstoring the break_addr in zap_details.\n\nunmap_vmas used to return count of vmas scanned, but that\u0027s just debug which\nhasn\u0027t been useful in a while; and if we want the map_count 0 on exit check\nback, it can easily come from the final remove_vm_struct loop.\n\nSigned-off-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": "e0da382c92626ad1d7f4b7527d19b80104d67a83",
      "tree": "b3f455518c286ee14cb2755ced8808487bca7911",
      "parents": [
        "9f6c6fc505560465be0964eb4da1b6ca97bd3951"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Apr 19 13:29:15 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org.(none)",
        "time": "Tue Apr 19 13:29:15 2005 -0700"
      },
      "message": "[PATCH] freepgt: free_pgtables use vma list\n\nRecent woes with some arches needing their own pgd_addr_end macro; and 4-level\nclear_page_range regression since 2.6.10\u0027s clear_page_tables; and its\nlong-standing well-known inefficiency in searching throughout the higher-level\npage tables for those few entries to clear and free: all can be blamed on\nignoring the list of vmas when we free page tables.\n\nReplace exit_mmap\u0027s clear_page_range of the total user address space by\nfree_pgtables operating on the mm\u0027s vma list; unmap_region use it in the same\nway, giving floor and ceiling beyond which it may not free tables.  This\nbrings lmbench fork/exec/sh numbers back to 2.6.10 (unless preempt is enabled,\nin which case latency fixes spoil unmap_vmas throughput).\n\nBeware: the do_mmap_pgoff driver failure case must now use unmap_region\ninstead of zap_page_range, since a page table might have been allocated, and\ncan only be freed while it is touched by some vma.\n\nMove free_pgtables from mmap.c to memory.c, where its lower levels are adapted\nfrom the clear_page_range levels.  (Most of free_pgtables\u0027 old code was\nactually for a non-existent case, prev not properly set up, dating from before\nhch gave us split_vma.) Pass mmu_gather** in the public interfaces, since we\nmight want to add latency lockdrops later; but no attempt to do so yet, going\nby vma should itself reduce latency.\n\nBut what if is_hugepage_only_range?  Those ia64 and ppc64 cases need careful\nexamination: put that off until a later patch of the series.\n\nWhat of x86_64\u0027s 32bit vdso page __map_syscall32 maps outside any vma?\n\nAnd the range to sparc64\u0027s flush_tlb_pgtables?  It\u0027s less clear to me now that\nwe need to do more than is done here - every PMD_SIZE ever occupied will be\nflushed, do we really have to flush every PGDIR_SIZE ever partially occupied? \nA shame to complicate it unnecessarily.\n\nSpecial thanks to David Miller for time spent repairing my ceilings.\n\nSigned-off-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": "323aca6c0bda611d0f31b3234d9fe291d31a9207",
      "tree": "d1ece2a5bd91f56981f7773f264843828e9b71c6",
      "parents": [
        "79befd0c08c4766f8fa27e37ac2a70e40840a56a"
      ],
      "author": {
        "name": "akpm@osdl.org",
        "email": "akpm@osdl.org",
        "time": "Sat Apr 16 15:24:06 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:24:06 2005 -0700"
      },
      "message": "[PATCH] vmscan: pageout(): remove unneeded test\n\n\r)\n\n\n\nWe only call pageout() for dirty pages, so this test is redundant.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "79befd0c08c4766f8fa27e37ac2a70e40840a56a",
      "tree": "d0600c289b1a54902e3b78eec0729dc7011569a3",
      "parents": [
        "d345734267dbec642f4e34a9d392d2fd85b5fa9b"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "andrea@suse.de",
        "time": "Sat Apr 16 15:24:05 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:24:05 2005 -0700"
      },
      "message": "[PATCH] oom-killer disable for iscsi/lvm2/multipath userland critical sections\n\niscsi/lvm2/multipath needs guaranteed protection from the oom-killer, so\nmake the magical value of -17 in /proc/\u003cpid\u003e/oom_adj defeat the oom-killer\naltogether.\n\n(akpm: we still need to document oom_adj and friends in\nDocumentation/filesystems/proc.txt!)\n\nSigned-off-by: Andrea Arcangeli \u003candrea@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d345734267dbec642f4e34a9d392d2fd85b5fa9b",
      "tree": "9a74f4b8292a696620f95933171ac5ddff970ef9",
      "parents": [
        "41aac24f8fb5a21ff3d0f6f56f85fad3cf0e88a9"
      ],
      "author": {
        "name": "Jeff Moyer",
        "email": "jmoyer@redhat.com",
        "time": "Sat Apr 16 15:24:05 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:24:05 2005 -0700"
      },
      "message": "[PATCH] filemap_getpage can block when MAP_NONBLOCK specified\n\nWe will return NULL from filemap_getpage when a page does not exist in the\npage cache and MAP_NONBLOCK is specified, here:\n\n\tpage \u003d find_get_page(mapping, pgoff);\n\tif (!page) {\n\t\tif (nonblock)\n\t\t\treturn NULL;\n\t\tgoto no_cached_page;\n\t}\n\nBut we forget to do so when the page in the cache is not uptodate.  The\nfollowing could result in a blocking call:\n\n\t/*\n\t * Ok, found a page in the page cache, now we need to check\n\t * that it\u0027s up-to-date.\n\t */\n\tif (!PageUptodate(page))\n\t\tgoto page_not_uptodate;\n\n\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
