)]}'
{
  "log": [
    {
      "commit": "cc314eef0128a807e50fa03baf2d0abc0647952c",
      "tree": "8e38db1be28006894915273b3f3cb3beaa6efda3",
      "parents": [
        "2fb1e3086df9b454538491fba8121298da37cd23"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Aug 19 18:02:56 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Aug 19 18:02:56 2005 -0700"
      },
      "message": "Fix nasty ncpfs symlink handling bug.\n\nThis bug could cause oopses and page state corruption, because ncpfs\nused the generic page-cache symlink handlign functions.  But those\nfunctions only work if the page cache is guaranteed to be \"stable\", ie a\npage that was installed when the symlink walk was started has to still\nbe installed in the page cache at the end of the walk.\n\nWe could have fixed ncpfs to not use the generic helper routines, but it\nis in many ways much cleaner to instead improve on the symlink walking\nhelper routines so that they don\u0027t require that absolute stability.\n\nWe do this by allowing \"follow_link()\" to return a error-pointer as a\ncookie, which is fed back to the cleanup \"put_link()\" routine.  This\nalso simplifies NFS symlink handling.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c7546f8f03f5a4fa612605b6be930234d6026860",
      "tree": "e372cdb3856c9585587283c21b5b99a792a1a41d",
      "parents": [
        "e6cb99413da42af413c11a394538ddc8b9d201e1"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Aug 05 11:59:35 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Aug 05 12:22:37 2005 -0700"
      },
      "message": "[PATCH] Fix hugepage crash on failing mmap()\n\nThis patch fixes a crash in the hugepage code.  unmap_hugepage_area() was\nassuming that (due to prefault) PTEs must exist for all the area in\nquestion.  However, this may not be the case, if mmap() encounters an error\nbefore the prefault and calls unmap_region() to clean up any partial\nmapping.\n\nDepending on the hugepage configuration, this crash can be triggered by an\nunpriveleged user.\n\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2f60f8d3573ff90fe5d75a6d11fd2add1248e7d6",
      "tree": "173980b12459aa55586d3f4f56630abf5af1ffcc",
      "parents": [
        "b68e9f857271189bd7a59b74c99890de9195b0e1"
      ],
      "author": {
        "name": "Simon Derr",
        "email": "Simon.Derr@bull.net",
        "time": "Thu Aug 04 19:52:03 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Aug 04 21:43:14 2005 -0700"
      },
      "message": "[PATCH] __vm_enough_memory() signedness fix\n\nWe have found what seems to be a small bug in __vm_enough_memory() when\nsysctl_overcommit_memory is set to OVERCOMMIT_NEVER.\n\nWhen this bug occurs the systems fails to boot, with /sbin/init whining\nabout fork() returning ENOMEM.\n\nWe hunted down the problem to this:\n\nThe deferred update mecanism used in vm_acct_memory(), on a SMP system,\nallows the vm_committed_space counter to have a negative value.\n\nThis should not be a problem since this counter is known to be inaccurate.\n\nBut in __vm_enough_memory() this counter is compared to the `allowed\u0027\nvariable, which is an unsigned long.  This comparison is broken since it\nwill consider the negative values of vm_committed_space to be huge positive\nvalues, resulting in a memory allocation failure.\n\nSigned-off-by: \u003cJean-Marc.Saffroy@ext.bull.net\u003e\nSigned-off-by: \u003cSimon.Derr@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1c5ad84516ae7ea4ec868436a910a6bd8d20215a",
      "tree": "929e03789ee2191bbebe45fbd9b6c50865c5f9ca",
      "parents": [
        "e234f35c54a30d040313e40833dcf623d14629b4"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Thu Aug 04 13:07:09 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Aug 04 13:11:15 2005 -0700"
      },
      "message": "[PATCH] fix VmSize and VmData after mremap\n\nmremap\u0027s move_vma is applying __vm_stat_account to the old vma which may\nhave already been freed: move it to just before the do_munmap.\n\nmremapping to and fro with CONFIG_DEBUG_SLAB\u003dy showed /proc/\u003cpid\u003e/status\nVmSize and VmData wrapping just like in kernel bugzilla #4842, and fixed by\nthis patch - worth including in 2.6.13, though not yet confirmed that it\nfixes that specific report from Frank van Maarseveen.\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": "a68d2ebc1581a3aec57bd032651e013fa609f530",
      "tree": "b41977c7157d7e26f37e9cb502cd1afbbddcbc17",
      "parents": [
        "f33ea7f404e592e4563b12101b7a4d17da6558d7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Aug 03 10:07:09 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Aug 03 10:07:09 2005 -0700"
      },
      "message": "Fix up recent get_user_pages() handling\n\nThe VM_FAULT_WRITE thing is an extra bit, not a valid return value, and\nhas to be treated as such by get_user_pages().\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f33ea7f404e592e4563b12101b7a4d17da6558d7",
      "tree": "1d587ad8a06cb6d2e3a187f0312c8a524ffefe53",
      "parents": [
        "5cb4cc0d8211c490537c8568001958fc76741312"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Wed Aug 03 20:24:01 2005 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Aug 03 09:12:05 2005 -0700"
      },
      "message": "[PATCH] fix get_user_pages bug\n\nChecking pte_dirty instead of pte_write in __follow_page is problematic\nfor s390, and for copy_one_pte which leaves dirty when clearing write.\n\nSo revert __follow_page to check pte_write as before, and make\ndo_wp_page pass back a special extra VM_FAULT_WRITE bit to say it has\ndone its full job: once get_user_pages receives this value, it no longer\nrequires pte_write in __follow_page.\n\nBut most callers of handle_mm_fault, in the various architectures, have\nswitch statements which do not expect this new case.  To avoid changing\nthem all in a hurry, make an inline wrapper function (using the old\nname) that masks off the new bit, and use the extended interface with\ndouble underscores.\n\nYes, we do have a call to do_wp_page from do_swap_page, but no need to\nchange that: in rare case it\u0027s needed, another do_wp_page will follow.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\n[ Cleanups by Nick Piggin ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ba17101b41977f124948e0a7797fdcbb59e19f3e",
      "tree": "0d5e8b860e1294e4e38576624e1909075cb84ea6",
      "parents": [
        "690dbe1ced143876d8fa56b72310738dbe079d0a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Aug 01 21:11:43 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Aug 01 21:38:00 2005 -0700"
      },
      "message": "[PATCH] sys_set_mempolicy() doesnt check if mode \u003c 0\n\nA kernel BUG() is triggered by a call to set_mempolicy() with a negative\nfirst argument.  This is because the mode is declared as an int, and the\nvalidity check doesnt check \u003c 0 values.  Alternatively, mode could be\ndeclared as unsigned int or unsigned long.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.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": "690dbe1ced143876d8fa56b72310738dbe079d0a",
      "tree": "4297d5647ce5e6cbe429dc506007579952c31015",
      "parents": [
        "74f9c9c258249fba3e2e78f70691528426a6c010"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Mon Aug 01 21:11:42 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Aug 01 21:38:00 2005 -0700"
      },
      "message": "[PATCH] x86_64: access of some bad address\n\nx86_64 has a large sparse gate area between VSYSCALL_START and\nVSYSCALL_END, not all of it presently backed by pmds.  Alexander Nyberg has\nfound that in some circumstances gdb may try to ptrace here, and hit\nget_user_pages BUG_ON.  It seems odd that gdb should be accessing here, but\nit certainly shouldn\u0027t crash in this way: relax BUG_ON to -EFAULT.  Fixes\nkernel bugzilla #4801.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.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": "4ceb5db9757aaeadcf8fbbf97d76bd42aa4df0d6",
      "tree": "6a3108ceea457c21130838d49736f5e9de3badc3",
      "parents": [
        "8d894c47975f7222c5537e450e71310b395488c7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Aug 01 11:14:49 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Aug 01 11:14:49 2005 -0700"
      },
      "message": "Fix get_user_pages() race for write access\n\nThere\u0027s no real guarantee that handle_mm_fault() will always be able to\nbreak a COW situation - if an update from another thread ends up\nmodifying the page table some way, handle_mm_fault() may end up\nrequiring us to re-try the operation.\n\nThat\u0027s normally fine, but get_user_pages() ended up re-trying it as a\nread, and thus a write access could in theory end up losing the dirty\nbit or be done on a page that had not been properly COW\u0027ed.\n\nThis makes get_user_pages() always retry write accesses as write\naccesses by making \"follow_page()\" require that a writable follow has\nthe dirty bit set.  That simplifies the code and solves the race: if the\nCOW break fails for some reason, we\u0027ll just loop around and try again.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e310fd43256b3cf4d37f6447b8f7413ca744657a",
      "tree": "29537927762fd44459fa288b5241d4e79dbadedb",
      "parents": [
        "5fa918b451f625870cd4275ca908b2392ee86a51"
      ],
      "author": {
        "name": "Martin J. Bligh",
        "email": "mbligh@mbligh.org",
        "time": "Fri Jul 29 22:59:18 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jul 30 10:14:46 2005 -0700"
      },
      "message": "[PATCH] Fix NUMA node sizing in nr_free_zone_pages\n\nWe are iterating over all nodes in nr_free_zone_pages().  Because the\nfallback zonelists contain all nodes in the system, and we walk all the\nzonelists, we\u0027re counting memory multiple times (once for each node).  This\ncaused us to make a size estimate of 32GB for an 8GB AMD64 box, which makes\nall the dirty ratio calculations, etc incorrect.\n\nThere\u0027s still a further bug to fix from e820 holes causing overestimation\nas well, but this fix is separate, and good as is, and fixes one class of\nproblems.  Problem found by Badari, and tested by Ram Pai - thanks!\n\nSigned-off-by:  Martin J. Bligh \u003cmbligh@mbligh.org\u003e\nSigned-off-by:  Matt Dobson \u003ccolpatch@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "12b1c5f382194d3f656e78fb5c9c8f2bfbe8ed8a",
      "tree": "052ec39f86482f4623531b247131aed93b6fb345",
      "parents": [
        "165cd40235732644b1856a5ed5e158c9b93f6010"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@shadowen.org",
        "time": "Wed Jul 27 11:44:02 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jul 27 16:25:54 2005 -0700"
      },
      "message": "[PATCH] Remove bogus warning in page_alloc.c\n\nOriginally __free_pages_bulk used the relative page number within a zone to\ndefine its buddies.  This meant that to maintain the \"maximally aligned\"\nrequirements (that an allocation of size N will be aligned at least to N\nphysically) zones had to also be aligned to 1\u003c\u003cMAX_ORDER pages.  When\n__free_pages_bulk was updated to use the relative page frame numbers of the\nfree\u0027d pages to pair buddies this released the alignment constraint on the\n\u0027left\u0027 edge of the zone.  This allows _either_ edge of the zone to contain\npartial MAX_ORDER sized buddies.  These simply never will have matching\nbuddies and thus will never make it to the \u0027top\u0027 of the pyramid.\n\nThe patch below removes a now redundant check ensuring that the mem_map was\naligned to MAX_ORDER.\n\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Christoph Lameter \u003cchristoph@lameter.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "165cd40235732644b1856a5ed5e158c9b93f6010",
      "tree": "c68180b6d700953530c8a7852a095f9ac4840345",
      "parents": [
        "4bfdf37830111321e2cd1fe0102dd776ce93194d"
      ],
      "author": {
        "name": "suzuki",
        "email": "suzuki@in.ibm.com",
        "time": "Wed Jul 27 11:43:59 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jul 27 16:25:54 2005 -0700"
      },
      "message": "[PATCH] madvise() does not always return -EBADF on non-file mapped area\n\nThe madvise() system call returns -EBADF for areas which does not map to\nfiles, only for *behaviour* request MADV_WILLNEED.\n\nAccording to man pages, madvise returns :\n\nEBADF - the map exists, but the area maps something that isn\u0027t a file.\n\nFixes bug 2995.\n\nSigned-off-by: Suzuki K P \u003csuzuki@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1aaf18ff9de1f37bf674236fc0779c3aaa65b998",
      "tree": "53df4d3dd0fbd81b79d5cdb63cf0d11853307a6b",
      "parents": [
        "0cfc11ed45e4c00750039e5a18c0fc0d681e19db"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Jul 27 11:43:54 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jul 27 16:25:53 2005 -0700"
      },
      "message": "[PATCH] check_user_page_readable() deadlock fix\n\nFix bug identifued by Richard Purdie \u003crpurdie@rpsys.net\u003e.\n\noprofile calls check_user_page_readable() from interrupt context, so we\ndeadlock over various VFS locks.\n\nBut check_user_page_readable() doesn\u0027t imply either a read or a write of the\npage\u0027s contents.  Change __follow_page() so that check_user_page_readable()\ncan tell __follow_page() that we\u0027re not accessing the page\u0027s contents, and use\nthat info to avoid the troublesome lock-takings.\n\nAlso, make follow_page() inline for the single callsite in memory.c to save a\nbit of stack space.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "90c5029e471636f21221bf66b9a46ada2ab79a22",
      "tree": "b3a658d77b16fcecdc3c18bfe6eef679e203b757",
      "parents": [
        "c223695634fb360ed65e5a811161853a05e46962"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@muc.de",
        "time": "Wed Jul 27 11:43:50 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jul 27 16:25:52 2005 -0700"
      },
      "message": "[PATCH] Undo mempolicy shared policy rbtree microoptimization\n\nAll mempolicy changes must be inside the spinlock and readding the rb_erase\nprevents a crash while doing:\n\n\u003e echo \"1\" \u003e /tmp/numatest\n\u003e numactl --length\u003d0x4000 --shm /tmp/numatest --localalloc\n\u003e numactl --length\u003d0x2000 --offset\u003d0 --shm /tmp/numatest --membind\u003d0\n\u003e numactl --length\u003d0x2000 --offset\u003d0x2000 --shm /tmp/numatest --membind\u003d1\n\u003e ipcs\n\u003e ipcrm -M \"the_key_value_of_this_shm_area\"\n\nBased on a patch by John Blackwood\n\nCc: \u003cjohn.blackwood@ccur.com\u003e\nCc: \u003candrea@suse.de\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "afa597ba20e9ef55fc6283c1a564854b1c9f13c0",
      "tree": "56cbfbca20a3c59ef6b1d149f67185e8e8f3a85c",
      "parents": [
        "c5287ba132ff742e595d42c28b66cbba19522c4e"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Fri Jul 15 03:56:30 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jul 15 09:54:50 2005 -0700"
      },
      "message": "[PATCH] execute-in-place fixes\n\nThis patch includes feedback from Andrew and Christoph. Thanks for\ntaking time to review.\n\nUse of empty_zero_page was eliminated to fix compilation for architectures\nthat don\u0027t have it.\n\nThis patch removes setting pages up-to-date in ext2_get_xip_page and all\nbug checks to verify that the page is indeed up to date.  Setting the page\nstate on mapping to userland is bogus.  None of the code patchs involved\nwith these pages in mm cares about the page state.\n\nstill on my ToDo list: identify a place outside second extended where\n__inode_direct_access should reside\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "082ff0a9991dcea958785115fbba6dddd0dc280a",
      "tree": "1d98a032b5757365d553dfe035662bb81c119e8b",
      "parents": [
        "eb0a90b4970d667e9ae9df538710f12b8e78e442"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Tue Jul 12 13:58:18 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 12 16:01:00 2005 -0700"
      },
      "message": "[PATCH] mm/filemap_xip.c compilation fix\n\nmm/filemap_xip.c: In function `__xip_unmap\u0027:\nmm/filemap_xip.c:194: request for member `pte\u0027 in something not a structure or union\n\nApparently pte_pfn() takes a pte_t, not a pointer to a pte_t.  From looking\nat asm/page.h, it seems to be the same on ia32 or ppc (iff\nSTRICT_MM_TYPECHECKS is enabled, which is disabled by default on ppc).\n\nAcked-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0db925af1db5f3dfe1691c35b39496e2baaff9c9",
      "tree": "bb9f827fa001b27f7a902abf174e8f0057c9df81",
      "parents": [
        "b84c21572de8a732062eff5592e3c4b3b1793bb8"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Jul 07 17:56:58 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:23:46 2005 -0700"
      },
      "message": "[PATCH] propagate __nocast annotations\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "42639269f9ce4aac2e6c20bcbca30b5da8b9a899",
      "tree": "1583ac4da9d2e40669d4579e338d8e506dedba5a",
      "parents": [
        "37b173a4d03d1681e6c9529bc43d7a3308132db6"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Thu Jul 07 17:56:06 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:23:36 2005 -0700"
      },
      "message": "[PATCH] mm: quieten OOM killer noise\n\nWe now print statistics when invoking the OOM killer, however this\ninformation is not rate limited and you can get into situations where the\nconsole is continually spammed.\n\nFor example, when a task is exiting the OOM killer will simply return\n(waiting for that task to exit and clear up memory).  If the VM continually\ncalls back into the OOM killer we get thousands of copies of show_mem() on\nthe console.\n\nUse printk_ratelimit() to quieten it.\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": "37b173a4d03d1681e6c9529bc43d7a3308132db6",
      "tree": "478802dfe5afee12589d4d5533f8312a923c4ec2",
      "parents": [
        "79b9ce311e192e9a31fd9f3cf1ee4a4edf9e2650"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "marcelo.tosatti@cyclades.com",
        "time": "Thu Jul 07 17:56:05 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:23:35 2005 -0700"
      },
      "message": "[PATCH] remove completly bogus comment inside __alloc_pages() try_to_free_pages handling\n\nRemove completly bogus comment from did_some_progress !\u003d 0 handling (that\nsame comment is a few lines below on did_some_progress \u003d 0 case, where it\nbelongs).\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "79b9ce311e192e9a31fd9f3cf1ee4a4edf9e2650",
      "tree": "210896405b2b70aded7582750e20967df8c8e7bf",
      "parents": [
        "cb2c0233755429037462e16ea0d5497a0092738c"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "marcelo.tosatti@cyclades.com",
        "time": "Thu Jul 07 17:56:04 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:23:35 2005 -0700"
      },
      "message": "[PATCH] print order information when OOM killing\n\nDump the current allocation order when OOM killing.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "83b78bd2d31f12d7d9317d9802a1996a7bd8a6f2",
      "tree": "79468471ee42a327cad337d065a9498833d5bd24",
      "parents": [
        "b4634484815e1879512a23e4f59eef648135c30a"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "christoph@lameter.com",
        "time": "Wed Jul 06 10:47:07 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jul 06 10:52:45 2005 -0700"
      },
      "message": "[PATCH] Fix broken kmalloc_node in rc1/rc2\n\nThis patch used to be in Andrew\u0027s tree before the NUMA slab allocator went\nin. Either this patch or the NUMA slab allocator is needed in order for\nkmalloc_node to work correctly.\n\npcibus_to_node may be used to generate the node information passed to\nkmalloc_node. pcibus_to_node returns -1 if it was not able to determine\non which node a pcibus is located. For that case kmalloc_node must\nwork like kmalloc.\n\nSigned-off-by: Christoph Lameter \u003cchristoph@lameter.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "687a21cee17000177b1935896b9b475acf136678",
      "tree": "41e59684ae6479e84b34edc46972ce32c2cc58b7",
      "parents": [
        "05133fc498e788e1c1ca4e906f9e05d9779fd63b"
      ],
      "author": {
        "name": "Pekka J Enberg",
        "email": "penberg@cs.Helsinki.FI",
        "time": "Tue Jun 28 20:44:55 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 28 21:20:31 2005 -0700"
      },
      "message": "[PATCH] rename wakeup_bdflush to wakeup_pdflush\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3212c6be251219c0f4c2df0c93e122ff5be0d9dc",
      "tree": "8105201ba37d55beeb4a042d4691661ba400d098",
      "parents": [
        "9c4142a133f7efee08238722b157656c3da7ca97"
      ],
      "author": {
        "name": "Bob Picco",
        "email": "bob.picco@hp.com",
        "time": "Mon Jun 27 14:36:28 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 27 15:11:42 2005 -0700"
      },
      "message": "[PATCH] fix WANT_PAGE_VIRTUAL in memmap_init\n\nI spotted this issue while in memmap_init last week.  I can\u0027t say the\nchange has any test coverage by me.  start_pfn was formerly used in main\n\"for\" loop.  The fix is replace start_pfn with pfn.\n\nSigned-off-by: Bob Picco \u003cbob.picco@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2031d0f586839bc68f35bcf8580b18947f8491d4",
      "tree": "e317615b4cb62350edeea0afe0a4fc94152cee29",
      "parents": [
        "98e7f29418a4931f97e6b78d1ef3a47103fe6cd5",
        "3e1d1d28d99dabe63c64f7f40f1ca1d646de1f73"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 17:16:53 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 17:16:53 2005 -0700"
      },
      "message": "Merge Christoph\u0027s freeze cleanup patch\n"
    },
    {
      "commit": "3e1d1d28d99dabe63c64f7f40f1ca1d646de1f73",
      "tree": "d1e7c1e2e8902072042aefc3a7976b271cf76021",
      "parents": [
        "b3e112bcc19abd8e9657dca34a87316786e096f3"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "christoph@lameter.com",
        "time": "Fri Jun 24 23:13:50 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 17:10:13 2005 -0700"
      },
      "message": "[PATCH] Cleanup patch for process freezing\n\n1. Establish a simple API for process freezing defined in linux/include/sched.h:\n\n   frozen(process)\t\tCheck for frozen process\n   freezing(process)\t\tCheck if a process is being frozen\n   freeze(process)\t\tTell a process to freeze (go to refrigerator)\n   thaw_process(process)\tRestart process\n   frozen_process(process)\tProcess is frozen now\n\n2. Remove all references to PF_FREEZE and PF_FROZEN from all\n   kernel sources except sched.h\n\n3. Fix numerous locations where try_to_freeze is manually done by a driver\n\n4. Remove the argument that is no longer necessary from two function calls.\n\n5. Some whitespace cleanup\n\n6. Clear potential race in refrigerator (provides an open window of PF_FREEZE\n   cleared before setting PF_FROZEN, recalc_sigpending does not check\n   PF_FROZEN).\n\nThis patch does not address the problem of freeze_processes() violating the rule\nthat a task may only modify its own flags by setting PF_FREEZE. This is not clean\nin an SMP environment. freeze(process) is therefore not SMP safe!\n\nSigned-off-by: Christoph Lameter \u003cchristoph@lameter.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8c0e33c133021ee241e9d51255b9fb18eb34ef0e",
      "tree": "30ddff7f7cf375c36d11d49352365a42b25e1def",
      "parents": [
        "f45494480f31342125870c1a184999d7c5a59471"
      ],
      "author": {
        "name": "Nick Wilson",
        "email": "njw@osdl.org",
        "time": "Sat Jun 25 14:59:00 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:25:02 2005 -0700"
      },
      "message": "[PATCH] Use ALIGN to remove duplicate code\n\nThis patch makes use of ALIGN() to remove duplicate round-up code.\n\nSigned-off-by: Nick Wilson \u003cnjw@osdl.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "92aa63a5a1bf2e7b0c79e6716d24b76dbbdcf951",
      "tree": "1f4d49c8e9bf02e834e6af8c1f7d4484d9f76c6e",
      "parents": [
        "d58831e4163699de204dea199be2e903bf5d6eff"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@in.ibm.com",
        "time": "Sat Jun 25 14:58:18 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:52 2005 -0700"
      },
      "message": "[PATCH] kdump: Retrieve saved max pfn\n\nThis patch retrieves the max_pfn being used by previous kernel and stores it\nin a safe location (saved_max_pfn) before it is overwritten due to user\ndefined memory map.  This pfn is used to make sure that user does not try to\nread the physical memory beyond saved_max_pfn.\n\nSigned-off-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b0cfbd995d091b10841eeb948976f5d1fbf13cdd",
      "tree": "a693416656084c99581c8ef6d2ca830b0cfe13a9",
      "parents": [
        "8ae0b77811d97552b3b3c745e97de18849583bf7"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Sat Jun 25 14:55:42 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:39 2005 -0700"
      },
      "message": "[PATCH] fix for generic_file_write iov problem\n\nHere is the fix for the problem described in\n\n\thttp://bugzilla.kernel.org/show_bug.cgi?id\u003d4721\n\nBasically, problem is generic_file_buffered_write() is accessing beyond end\nof the iov[] vector after handling the last vector.  If we happen to cross\npage boundary, we get a fault.\n\nI think this simple patch is good enough.  If we really don\u0027t want to\ndepend on the \"count\", then we need pass nr_segs to\nfilemap_set_next_iovec() and decrement it and check it.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "648be3188135add682349e86d46d07cc11c8eb57",
      "tree": "d6c4b7e1408baebb97dc4cd8d7a435ac3eb4cad0",
      "parents": [
        "fc5fb2c609c6acef15a8b062063e9135fb08b4d2"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Sat Jun 25 14:55:09 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:32 2005 -0700"
      },
      "message": "[PATCH] swsusp: kill config_pm_disk\n\nCONFIG_PM_DISK is long gone, but it still managed to survived at few\nplaces.\n\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2d15cab85b85a56cc886037cab43cc292923ff22",
      "tree": "55de7526dfb766067821d552892ad43b32f78c35",
      "parents": [
        "1e8a81c5a37907bc082025d3468718116dca1eeb"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Jun 25 14:54:33 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:26 2005 -0700"
      },
      "message": "[PATCH] mm: fix remap_pte_range BUG\n\nOut-of-tree user of remap_pfn_range hit kernel BUG at mm/memory.c:1112!  It\npasses an unrounded size to remap_pfn_range, which was okay before 2.6.12,\nbut misses remap_pte_range\u0027s new end condition.  An audit of all the other\nptwalks confirms that this is the only one so exposed.\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": "1e8a81c5a37907bc082025d3468718116dca1eeb",
      "tree": "0b9dae5a22d8caeab40a5e08150bfad27411cc41",
      "parents": [
        "b4819b593740a6d11db07b52e0fe35975b29a185"
      ],
      "author": {
        "name": "Hifumi Hisashi",
        "email": "hifumi.hisashi@lab.ntt.co.jp",
        "time": "Sat Jun 25 14:54:32 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:25 2005 -0700"
      },
      "message": "[PATCH] Fix the error handling in direct I/O\n\nFix a bug on error handling in the direct I/O function.\n\nCurrently, if a file is opened with the O_DIRECT|O_SYNC flag, the write()\nsyscall cannot receive the EIO error after an I/O error (SCSI cable is\ndisconnected etc.).\n\nReturn values of other points that call generic_osync_inode() are treated\nappropriately.\n\nSigned-off-by: Hisashi Hifumi  \u003chifumi.hisashi@lab.ntt.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fe77ba6f4f97690baa4c756611a07f3cc033f6ae",
      "tree": "01abe2ed3f1ed6f9340f7d9cbad461cbedb47e65",
      "parents": [
        "eb6fe0c388e43b02e261f0fdee60e42f6298d7f7"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Thu Jun 23 22:05:29 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:42 2005 -0700"
      },
      "message": "[PATCH] xip: madvice/fadvice: execute in place\n\nMake sys_madvice/fadvice return sane with xip.\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "eb6fe0c388e43b02e261f0fdee60e42f6298d7f7",
      "tree": "3924bfbbbb10afc19f3bcd4963af14121f2c0553",
      "parents": [
        "6d79125bba55ee82701f1c7d4ebbc1aa20ecbe4e"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Thu Jun 23 22:05:28 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:41 2005 -0700"
      },
      "message": "[PATCH] xip: reduce code duplication\n\nThis patch reworks filemap_xip.c with the goal to reduce code duplication\nfrom mm/filemap.c.  It applies agains 2.6.12-rc6-mm1.  Instead of\nimplementing the aio functions, this one implements the synchronous\nread/write functions only.  For readv and writev, the generic fallback is\nused.  For aio, we rely on the application doing the fallback.  Since our\n\"synchronous\" function does memcpy immediately anyway, there is no\nperformance difference between using the fallbacks or implementing each\noperation.\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ceffc078528befc008c6f2c2c4decda79eabd534",
      "tree": "a289e10162bdef0c0d9f6533f1a647b0fe1ed7a9",
      "parents": [
        "420edbcc09008342c7b2665453f6b370739aadb0"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Thu Jun 23 22:05:25 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:41 2005 -0700"
      },
      "message": "[PATCH] xip: fs/mm: execute in place\n\n- generic_file* file operations do no longer have a xip/non-xip split\n- filemap_xip.c implements a new set of fops that require get_xip_page\n  aop to work proper. all new fops are exported GPL-only (don\u0027t like to\n  see whatever code use those except GPL modules)\n- __xip_unmap now uses page_check_address, which is no longer static\n  in rmap.c, and defined in linux/rmap.h\n- mm/filemap.h is now much more clean, plainly having just Linus\u0027\n  inline funcs moved here from filemap.c\n- fix includes in filemap_xip to make it build cleanly on i386\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3d41088fa327782b14b5659dbcfff62ec704c23c",
      "tree": "bd9a25f9ae7a0e232c9d5006849905e31a9dbc92",
      "parents": [
        "363412b4f70a2ba19c76a01da7580472399312d4"
      ],
      "author": {
        "name": "Martin Waitz",
        "email": "tali@admingilde.org",
        "time": "Thu Jun 23 22:05:21 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:40 2005 -0700"
      },
      "message": "[PATCH] DocBook: update comments\n\nThis patch updates some comments to match 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": "45778ca819accab1a4a3378b3566cab0f189164f",
      "tree": "9214491346c8d2d91eb1a11cb6c2e6a9387e4290",
      "parents": [
        "280dedb8d64ccfe1166ae03d3b254fc3b65de6a5"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "christoph@graphe.net",
        "time": "Thu Jun 23 00:10:17 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:33 2005 -0700"
      },
      "message": "[PATCH] Remove f_error field from struct file\n\nThe following patch removes the f_error field and all checks of f_error.\n\nTrond said:\n\n  f_error was introduced for NFS, and made sense when we were guaranteed\n  always to have a file pointer around when write errors occurred.  Since\n  then, we have (for various reasons) had to introduce the nfs_open_context in\n  order to track the file read/write state, and it made sense to move our\n  f_error tracking there too.\n\nSigned-off-by: Christoph Lameter \u003cchristoph@lameter.com\u003e\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "01890a4c120f68366441bf5e193d1b9dd543d4d0",
      "tree": "ed854da46009b0837485e8acd17dc9d944e8068f",
      "parents": [
        "8476994af7bd9352ecdf61ba760f7397f54e30a1"
      ],
      "author": {
        "name": "Benjamin LaHaise",
        "email": "bcrl@kvack.org",
        "time": "Thu Jun 23 00:10:01 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:29 2005 -0700"
      },
      "message": "[PATCH] mempool - only init waitqueue in slow path\n\nHere\u0027s a small patch to improve the performance of mempool_alloc by only\ninitializing the wait queue when we\u0027re about to wait.\n\nSigned-off-by: Benjamin LaHaise \u003cbenjamin.c.lahaise@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3bc1ee3e8f1c05c0f64a479c6d56eb34a6190599",
      "tree": "d69ea17b71b309151914ef722d2159e0c780312c",
      "parents": [
        "be5b4fbd017d12e0d09ea0528a5839ce2ed2c8c8"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Jun 23 00:09:09 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:19 2005 -0700"
      },
      "message": "[PATCH] remove redundant vm_flags clearing from madvise.c\n\nThis patch removes redundant VM_ClearReadHint from mm/madvice.c which was\nleft there by Prasanna\u0027s patch.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "543537bd922692bc978e2e356fcd8bfc9c2ee7d5",
      "tree": "0089e3907e7d6c17c01cffc6ea4a8962ed053079",
      "parents": [
        "991114c6fa6a21d1fa4d544abe78592352860c82"
      ],
      "author": {
        "name": "Paulo Marques",
        "email": "pmarques@grupopie.com",
        "time": "Thu Jun 23 00:09:02 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:18 2005 -0700"
      },
      "message": "[PATCH] create a kstrdup library function\n\nThis patch creates a new kstrdup library function and changes the \"local\"\nimplementations in several places to use this function.\n\nMost of the changes come from the sound and net subsystems.  The sound part\nhad already been acknowledged by Takashi Iwai and the net part by David S.\nMiller.\n\nI left UML alone for now because I would need more time to read the code\ncarefully before making changes there.\n\nSigned-off-by: Paulo Marques \u003cpmarques@grupopie.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1946089a109251655c5438d92c539bd2930e71ea",
      "tree": "819a492d5a7c4e6e695b150a86abeb99d5ac46eb",
      "parents": [
        "8c5a09082f4e61a176382e96a831a0636b918602"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "christoph@lameter.com",
        "time": "Thu Jun 23 00:08:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:09 2005 -0700"
      },
      "message": "[PATCH] NUMA aware block device control structure allocation\n\nPatch to allocate the control structures for for ide devices on the node of\nthe device itself (for NUMA systems).  The patch depends on the Slab API\nchange patch by Manfred and me (in mm) and the pcidev_to_node patch that I\nposted today.\n\nDoes some realignment too.\n\nSigned-off-by: Justin M. Forbes \u003cjmforbes@linuxtx.org\u003e\nSigned-off-by: Christoph Lameter \u003cchristoph@lameter.com\u003e\nSigned-off-by: Pravin Shelar \u003cpravin@calsoftinc.com\u003e\nSigned-off-by: Shobhit Dayal \u003cshobhit@calsoftinc.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "29751f6991e845f7d002a6ae520bf996b38c8dcd",
      "tree": "f76c4c660ac4d204436f68851979343d2a9ba224",
      "parents": [
        "641c767389b19859a45e6de46d8e18cd935bdb60"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@shadowen.org",
        "time": "Thu Jun 23 00:08:00 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:05 2005 -0700"
      },
      "message": "[PATCH] sparsemem hotplug base\n\nMake sparse\u0027s initalization be accessible at runtime.  This allows sparse\nmappings to be created after boot in a hotplug situation.\n\nThis patch is separated from the previous one just to give an indication how\nmuch of the sparse infrastructure is *just* for hotplug memory.\n\nThe section_mem_map doesn\u0027t really store a pointer.  It stores something that\nis convenient to do some math against to get a pointer.  It isn\u0027t valid to\njust do *section_mem_map, so I don\u0027t think it should be stored as a pointer.\n\nThere are a couple of things I\u0027d like to store about a section.  First of all,\nthe fact that it is !NULL does not mean that it is present.  There could be\nsuch a combination where section_mem_map *is* NULL, but the math gets you\nproperly to a real mem_map.  So, I don\u0027t think that check is safe.\n\nSince we\u0027re storing 32-bit-aligned structures, we have a few bits in the\nbottom of the pointer to play with.  Use one bit to encode whether there\u0027s\nreally a mem_map there, and the other one to tell whether there\u0027s a valid\nsection there.  We need to distinguish between the two because sometimes\nthere\u0027s a gap between when a section is discovered to be present and when we\ncan get the mem_map for it.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Bob Picco \u003cbob.picco@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "641c767389b19859a45e6de46d8e18cd935bdb60",
      "tree": "b3ac95aaea213823c226b181b8a301e4ae95bd9d",
      "parents": [
        "05b79bdcb48c18cd9b580c39e3efb9a1ab078151"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@shadowen.org",
        "time": "Thu Jun 23 00:07:59 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:05 2005 -0700"
      },
      "message": "[PATCH] sparsemem swiss cheese numa layouts\n\nThe part of the sparsemem patch which modifies memmap_init_zone() has recently\nbecome a problem.  It changes behavior so that there is a call to\npfn_to_page() for each individual page inside of a node\u0027s range:\nnode_start_pfn through node_end_pfn.  It used to simply do this once, at the\nbeginning of the node, but having sparsemem\u0027s non-contiguous mem_map[]s inside\nof a node made it necessary to change.\n\nMike Kravetz recently wrote a patch which made the NUMA code accept some new\nkinds of layouts.  The system\u0027s memory was laid out like this, with node 0\u0027s\nmemory in two pieces: one before and one after node 1\u0027s memory:\n\n\tNode 0: +++++     +++++\n\tNode 1:      +++++\n\nPrevious behavior before Mike\u0027s patch was to assign nodes like this:\n\n\tNode 0: 00000     XXXXX\n\tNode 1:      11111\n\nWhere the \u0027X\u0027 areas were simply thrown away.  The new behavior was to make the\npg_data_t span node 0 across all of its areas, including areas that are really\nnode 1\u0027s: Node 0: 000000000000000 Node 1: 11111\n\nThis wastes a little bit of mem_map space, but ends up being OK, and more\nfully utilizes the system\u0027s memory.  memmap_init_zone() initializes all of the\n\"struct page\"s for node 0, even for the \"hole\", but those never get used,\nbecause there is no pfn_to_page() that resolves to those pages.  However, only\ncalling pfn_to_page() once, memmap_init_zone() always uses the pages that were\nallocated for node0-\u003enode_mem_map because:\n\n\tstruct page *start \u003d pfn_to_page(start_pfn);\n\t// effectively start \u003d \u0026node-\u003enode_mem_map[0]\n\tfor (page \u003d start; page \u003c (start + size); page++) {\n\t\tinit_page_here();...\n\t\tpage++;\n\t}\n\nSlow, and wasteful, but generally harmless.\n\nBut, modify that to call pfn_to_page() for each loop iteration (like sparsemem\ndoes):\n\n\tfor (pfn \u003d start_pfn; pfn \u003c \u003c (start_pfn + size); pfn++++) {\n\t\tpage \u003d pfn_to_page(pfn);\n\t}\n\nAnd you end up trying to initialize node 1\u0027s pages too early, along with bogus\ndata from node 0.  This patch checks for those weird layouts and declines to\ntouch the pages, making the more frequent pfn_to_page() calls OK to do.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d41dee369bff3b9dcb6328d4d822926c28cc2594",
      "tree": "a0405f3b7af3ebca21838a7d427bd75a067bf850",
      "parents": [
        "af705362ab6018071310c5fcd436a6b457517d5f"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@shadowen.org",
        "time": "Thu Jun 23 00:07:54 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:04 2005 -0700"
      },
      "message": "[PATCH] sparsemem memory model\n\nSparsemem abstracts the use of discontiguous mem_maps[].  This kind of\nmem_map[] is needed by discontiguous memory machines (like in the old\nCONFIG_DISCONTIGMEM case) as well as memory hotplug systems.  Sparsemem\nreplaces DISCONTIGMEM when enabled, and it is hoped that it can eventually\nbecome a complete replacement.\n\nA significant advantage over DISCONTIGMEM is that it\u0027s completely separated\nfrom CONFIG_NUMA.  When producing this patch, it became apparent in that NUMA\nand DISCONTIG are often confused.\n\nAnother advantage is that sparse doesn\u0027t require each NUMA node\u0027s ranges to be\ncontiguous.  It can handle overlapping ranges between nodes with no problems,\nwhere DISCONTIGMEM currently throws away that memory.\n\nSparsemem uses an array to provide different pfn_to_page() translations for\neach SECTION_SIZE area of physical memory.  This is what allows the mem_map[]\nto be chopped up.\n\nIn order to do quick pfn_to_page() operations, the section number of the page\nis encoded in page-\u003eflags.  Part of the sparsemem infrastructure enables\nsharing of these bits more dynamically (at compile-time) between the\npage_zone() and sparsemem operations.  However, on 32-bit architectures, the\nnumber of bits is quite limited, and may require growing the size of the\npage-\u003eflags type in certain conditions.  Several things might force this to\noccur: a decrease in the SECTION_SIZE (if you want to hotplug smaller areas of\nmemory), an increase in the physical address space, or an increase in the\nnumber of used page-\u003eflags.\n\nOne thing to note is that, once sparsemem is present, the NUMA node\ninformation no longer needs to be stored in the page-\u003eflags.  It might provide\nspeed increases on certain platforms and will be stored there if there is\nroom.  But, if out of room, an alternate (theoretically slower) mechanism is\nused.\n\nThis patch introduces CONFIG_FLATMEM.  It is used in almost all cases where\nthere used to be an #ifndef DISCONTIG, because SPARSEMEM and DISCONTIGMEM\noften have to compile out the same areas of code.\n\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Martin Bligh \u003cmbligh@aracnet.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nSigned-off-by: Bob Picco \u003cbob.picco@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "af705362ab6018071310c5fcd436a6b457517d5f",
      "tree": "429e505558ee98e19b08ade8d02eedc3fee2478b",
      "parents": [
        "b159d43fbf7eaaac6ecc647f51cf4257332db47b"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@shadowen.org",
        "time": "Thu Jun 23 00:07:53 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:04 2005 -0700"
      },
      "message": "[PATCH] generify memory present\n\nAllow architectures to indicate that they will be providing hooks to indice\ninstalled memory areas, memory_present().  Provide prototypes for the i386\nimplementation.\n\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Martin Bligh \u003cmbligh@aracnet.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "785dcd44b60ec8ede76fed0af54333ab5f3e848c",
      "tree": "d928787cd93c608f24a6366d0990cd962a5a0c16",
      "parents": [
        "e1785e85b9c81c67b581b511ee4efac6c81e9edb"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Thu Jun 23 00:07:50 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:03 2005 -0700"
      },
      "message": "[PATCH] mm/Kconfig: give DISCONTIG more help text\n\nThis gives DISCONTIGMEM a bit more help text to explain what it does, not just\nwhen to choose it.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e1785e85b9c81c67b581b511ee4efac6c81e9edb",
      "tree": "97d0470fec528f9c995674abd39c02c36ec2d110",
      "parents": [
        "074ccf8016b61f4b40066f8d737ab31e17a6afd1"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Thu Jun 23 00:07:49 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:03 2005 -0700"
      },
      "message": "[PATCH] mm/Kconfig: hide \"Memory Model\" selection menu\n\nI got some feedback from users who think that the new \"Memory Model\" menu is a\nlittle invasive.  This patch will hide that menu, except when\nCONFIG_EXPERIMENTAL is enabled *or* when an individual architecture wants it.\n\nAn individual arch may want to enable it because they\u0027ve removed their\narch-specific DISCONTIG prompt in favor of the mm/Kconfig one.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "44d0f805c77902a22dda244fd092b4567066b2b9",
      "tree": "62732a526b6ade8b9cc0f403130ddf4d4b4fdf46",
      "parents": [
        "93b7504e3e6c1d98586854806e51bea329ea3aa9"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Thu Jun 23 00:07:47 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:03 2005 -0700"
      },
      "message": "[PATCH] sparsemem: fix minor \"defaults\" issue in mm/Kconfig\n\nThe following patch applies on top of 2.6.12-rc2-mm1.  It fixes a minor\nuser interaction issue, and an early reference to SPARSEMEM.\n\nThis \"choice\" menu would always default to FLATMEM, as it was listed first.\n Move it to the end so that the other defaults have a chance first.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "93b7504e3e6c1d98586854806e51bea329ea3aa9",
      "tree": "7b0d6f3a6214960daf3136f8c418178405521c07",
      "parents": [
        "0e19243e9a19ef8e5994852671bd06bb51630811"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Thu Jun 23 00:07:47 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:03 2005 -0700"
      },
      "message": "[PATCH] Introduce new Kconfig option for NUMA or DISCONTIG\n\nThere is some confusion that arose when working on SPARSEMEM patch between\nwhat is needed for DISCONTIG vs. NUMA.\n\nMultiple pg_data_t\u0027s are needed for DISCONTIGMEM or NUMA, independently.\nAll of the current NUMA implementations require an implementation of\nDISCONTIG.  Because of this, quite a lot of code which is really needed for\nNUMA is actually under DISCONTIG #ifdefs.  For SPARSEMEM, we changed some\nof these #ifdefs to CONFIG_NUMA, but that broke the DISCONTIG\u003dy and NUMA\u003dn\ncase.\n\nIntroducing this new NEED_MULTIPLE_NODES config option allows code that is\nneeded for both NUMA or DISCONTIG to be separated out from code that is\nspecific to DISCONTIG.\n\nOne great advantage of this approach is that it doesn\u0027t require every\narchitecture to be converted over.  All of the current implementations\nshould \"just work\", only the ones implementing SPARSEMEM will have to be\nfixed up.\n\nThe change to free_area_init() makes it work inside, or out of the new\nconfig option.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3a9da7655d2d5b7f790a370328cf093440c80496",
      "tree": "29fd39ee7dce0cfb4abc104a8492c22ff7f06111",
      "parents": [
        "5b505b90b2d54e526cc8d123bdef3b98c9f0bbc6"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Thu Jun 23 00:07:42 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:01 2005 -0700"
      },
      "message": "[PATCH] create mm/Kconfig for arch-independent memory options\n\nWith sparsemem being introduced, we need a central place for new\nmemory-related .config options: mm/Kconfig.  This allows us to remove many\nof the duplicated arch-specific options.\n\nThe new option, CONFIG_FLATMEM, is there to enable us to detangle NUMA and\nDISCONTIGMEM.  This is a requirement for sparsemem because sparsemem uses\nthe NUMA code without the presence of DISCONTIGMEM.  The sparsemem patches\nuse CONFIG_FLATMEM in generic code, so this patch is a requirement before\napplying them.\n\nAlmost all places that used to do \u0027#ifndef CONFIG_DISCONTIGMEM\u0027 should use\n\u0027#ifdef CONFIG_FLATMEM\u0027 instead.\n\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "348f8b6c4837a07304d2f72b11ce8d96588065e0",
      "tree": "f4c6c332b2c327630b284598325dff2f44e6c9cf",
      "parents": [
        "6f167ec721108c9282d54424516a12c805e3c306"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Thu Jun 23 00:07:40 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:01 2005 -0700"
      },
      "message": "[PATCH] sparsemem base: reorganize page-\u003eflags bit operations\n\nGenerify the value fields in the page_flags.  The aim is to allow the location\nand size of these fields to be varied.  Additionally we want to move away from\nfixed allocations per field whilst still enforcing the overall bit utilisation\nlimits.  We rely on the compiler to spot and optimise the accessor functions.\n\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6f167ec721108c9282d54424516a12c805e3c306",
      "tree": "f7094a2524611ede76b32e4cc3c07987b7b0e275",
      "parents": [
        "c2ebaa425e6630adcbf757b004d257dd4204925b"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Thu Jun 23 00:07:39 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:01 2005 -0700"
      },
      "message": "[PATCH] sparsemem base: simple NUMA remap space allocator\n\nIntroduce a simple allocator for the NUMA remap space.  This space is very\nscarce, used for structures which are best allocated node local.\n\nThis mechanism is also used on non-NUMA ia64 systems with a vmem_map to keep\nthe pgdat-\u003enode_mem_map initialized in a consistent place for all\narchitectures.\n\nIssues:\no alloc_remap takes a node_id where we might expect a pgdat which was intended\n  to allow us to allocate the pgdat\u0027s using this mechanism; which we do not yet\n  do.  Could have alloc_remap_node() and alloc_remap_nid() for this purpose.\n\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b7c84c6ada2be942eca6722edb2cfaad412cd5de",
      "tree": "06cba21e92755bf6b815221d5124ca0f9faf7985",
      "parents": [
        "a4936044001694f033fe4ea94d6034d51a6b465c"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Wed Jun 22 20:26:07 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Wed Jun 22 20:42:32 2005 -0700"
      },
      "message": "[PATCH] boot_pageset must not be freed.\n\nThe boot_pageset needs to be preserved for hotplugging and for off line\nprocessors and nodes. Otherwise pointers will point into memory that has\nnow a different use. /proc/zoneinfo is currently showing strange results\nif processors / nodes are not present.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c0d62219a48bd91ec40fb254c930914dccc77ff1",
      "tree": "66049d2eb980b67bd745d19e97ada5a992975c06",
      "parents": [
        "b4955ce3dd0818b56da532a16c9a4a3804a558ee"
      ],
      "author": {
        "name": "Denis Vlasenko",
        "email": "vda@ilport.com.ua",
        "time": "Tue Jun 21 17:15:14 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:21 2005 -0700"
      },
      "message": "[PATCH] Kill stray newline\n\nOOM killer prints a stray newline.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b4955ce3dd0818b56da532a16c9a4a3804a558ee",
      "tree": "6e01667181bfc495b56e39748783ad2235a4f56e",
      "parents": [
        "c475a8ab625d567eacf5e30ec35d6d8704558062"
      ],
      "author": {
        "name": "Abhijit Karmarkar",
        "email": "abhijitk@veritas.com",
        "time": "Tue Jun 21 17:15:13 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:21 2005 -0700"
      },
      "message": "[PATCH] msync: check pte dirty earlier\n\nIt\u0027s common practice to msync a large address range regularly, in which\noften only a few ptes have actually been dirtied since the previous pass.\n\nsync_pte_range then goes much faster if it tests whether pte is dirty\nbefore locating and accessing each struct page cacheline; and it is hardly\nslowed by ptep_clear_flush_dirty repeating that test in the opposite case,\nwhen every pte actually is dirty.\n\nBut beware, s390\u0027s pte_dirty always says false, since its dirty bit is kept\nin the storage key, located via the struct page address.  So skip this\noptimization in its case: use a pte_maybe_dirty macro which just says true\nif page_test_and_clear_dirty is implemented.\n\nSigned-off-by: Abhijit Karmarkar \u003cabhijitk@veritas.com\u003e\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": "c475a8ab625d567eacf5e30ec35d6d8704558062",
      "tree": "0971bef7b876f1b3eb160621fc2b61cb5313827b",
      "parents": [
        "d296e9cd02c92e576ecce5344026a4df4353cdb2"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Jun 21 17:15:12 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:21 2005 -0700"
      },
      "message": "[PATCH] can_share_swap_page: use page_mapcount\n\nRemember that ironic get_user_pages race?  when the raised page_count on a\npage swapped out led do_wp_page to decide that it had to copy on write, so\nsubstituted a different page into userspace.  2.6.7 onwards have Andrea\u0027s\nsolution, where try_to_unmap_one backs out if it finds page_count raised.\n\nWhich works, but is unsatisfying (rmap.c has no other page_count heuristics),\nand was found a few months ago to hang an intensive page migration test.  A\nyear ago I was hesitant to engage page_mapcount, now it seems the right fix.\n\nSo remove the page_count hack from try_to_unmap_one; and use activate_page in\nunuse_mm when dropping lock, to replace its secondary effect of helping\nswapoff to make progress in that case.\n\nSimplify can_share_swap_page (now called only on anonymous pages) to check\npage_mapcount + page_swapcount \u003d\u003d 1: still needs the page lock to stabilize\ntheir (pessimistic) sum, but does not need swapper_space.tree_lock for that.\n\nIn do_swap_page, move swap_free and unlock_page below page_add_anon_rmap, to\nkeep sum on the high side, and correct when can_share_swap_page called.\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": "d296e9cd02c92e576ecce5344026a4df4353cdb2",
      "tree": "76af62c5d2c16e89672f71f2f4c7a65aa36ff914",
      "parents": [
        "08ef472937e918875a82fd350d3de138aac50414"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Jun 21 17:15:11 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:21 2005 -0700"
      },
      "message": "[PATCH] do_wp_page: cannot share file page\n\nA small optimization to do_wp_page\u0027s check for whether to avoid copy by\nreusing the page already mapped.  It can never share a cached file page,\nnor can it share a reserved page (often the empty zero page), so it\u0027s a\nwaste of time to lock and unlock in those cases.  Which nowadays can both\nbe neatly excluded by a preliminary PageAnon test.\n\nChristoph has reported that a preliminary page_count test proved valuable\nfor scalability here, but PageAnon covers more common cases all at once.\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": "08ef472937e918875a82fd350d3de138aac50414",
      "tree": "990a503a711b82f94ad78ea5794a46992db05228",
      "parents": [
        "7c2f3fda5666c280bcd00ac3b86963270b23e796"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Jun 21 17:15:10 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:21 2005 -0700"
      },
      "message": "[PATCH] get_user_pages: kill get_page_map\n\nSince its birth, get_user_pages has been calling a misguided get_page_map\nfunction.  follow_page has already returned NULL if the pfn is invalid, we\ncannot reach an invalid pfn from a validated struct page.\n\nRemove get_page_map, and the messy rewind in get_user_pages to cope with\nits failure.  Oh, and could we please call that \"struct page *page\" like\neverywhere else, instead of \"struct page *map\"?\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": "334795eca421287c41c257992027d29659dc0f97",
      "tree": "c371467bea94f77bd340730c9cac724cca194b20",
      "parents": [
        "45918e1a8bfcabc1cb4570b8df276655020eac45"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Jun 21 17:15:08 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:19 2005 -0700"
      },
      "message": "[PATCH] bad_page: clear reclaim and slab\n\nSince free_pages_check complains if PG_reclaim or PG_slab is set, bad_page\nought to clear them to avoid repetitive reports (Nikita noticed this too).\nLet prep_new_page check page_count and PG_slab as free_pages_check does.\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": "91612e0df20a52f61db3cac280c153311b36df7a",
      "tree": "44a19e1d03147aabb842cbaac493a7213b836e4a",
      "parents": [
        "941150a326be88af245034ef4b3e9fa00229aa2d"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Jun 21 17:15:07 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:19 2005 -0700"
      },
      "message": "[PATCH] mbind: check_range use standard ptwalk\n\nStrict mbind\u0027s check for currently mapped pages being on node has been\nusing a slow loop which re-evaluates pgd, pud, pmd, pte for each entry:\nreplace that by a standard four-level page table walk like others in mm.\nSince mmap_sem is held for writing, page_table_lock can be taken at the\ninner level to limit latency.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "941150a326be88af245034ef4b3e9fa00229aa2d",
      "tree": "03a058776dccd007150a3f57b1f36bf63b8f6a5d",
      "parents": [
        "400e65146c428d2ef677a927786fda2cec545a76"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Jun 21 17:15:06 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:19 2005 -0700"
      },
      "message": "[PATCH] mbind: fix verify_pages pte_page\n\nStrict mbind\u0027s check that pages already mapped are on right node has been\nusing pte_page without checking if pfn_valid, and without page_table_lock\nto prevent spurious failures when try_to_unmap_one intervenes between the\npte_present and the pte_page.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0edd73b33426df61b1d8a0a50d1f2ec097500abb",
      "tree": "edbc6d9b53ebd107befaf53fbefaaf1a55244273",
      "parents": [
        "65ed0b337bd2b47097cf6c772f024772513b7b0d"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Jun 21 17:15:04 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:18 2005 -0700"
      },
      "message": "[PATCH] shmem: restore superblock info\n\nTo improve shmem scalability, we allowed tmpfs instances which don\u0027t need\ntheir blocks or inodes limited not to count them, and not to allocate any\nsbinfo.  Which was okay when the only use for the sbinfo was accounting\nblocks and inodes; but since then a couple of unrelated projects extending\ntmpfs want to store other data in the sbinfo.  Whether either extension\nreaches mainline is beside the point: I\u0027m guilty of a bad design decision,\nand should restore sbinfo to make any such future extensions easier.\n\nSo, once again allocate a shmem_sb_info for every shmem/tmpfs instance, and\nnow let max_blocks 0 indicate unlimited blocks, and max_inodes 0 unlimited\ninodes.  Brent Casavant verified (many months ago) that this does not\nperceptibly impact the scalability (since the unlimited sbinfo cacheline is\nrepeatedly accessed but only once dirtied).\n\nAnd merge shmem_set_size into its sole caller shmem_remount_fs.\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": "2caaad41e4aa8f5dd999695b4ddeaa0e7f3912a4",
      "tree": "4ce8426bf3a85d92efc5a0f6c981f54963d472e8",
      "parents": [
        "4ae7c03943fca73f23bc0cdb938070f41b98101f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "christoph@graphe.net",
        "time": "Tue Jun 21 17:15:00 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:18 2005 -0700"
      },
      "message": "[PATCH] Reduce size of huge boot per_cpu_pageset\n\nReduce size of the huge per_cpu_pageset structure in __initdata introduced\ninto mm1 with the pageset localization patchset.  Use one specially\nconfigured pageset per cpu for all zones and nodes during bootup.\n\n- Avoid duplication of pageset initialization code.\n- do the adding to the pageset list before potential free_pages_bulk\n  in free_hot_cold_page (otherwise we would have to hold a page\n  in a pageset during the period that the boot pagesets are in use).\n- remove mistaken __cpuinitdata attribute and revert back to __initdata\n  for the boot pageset. A boot pageset is not necessary for cpu hotplug.\n\nTested for UP SMP NUMA on x86_64 (2.6.12-rc6-mm1): UP SMP NUMA Tested on\nIA64 (2.6.12-rc5-mm2): NUMA (2.6.12-rc6-mm1 broken for IA64 because of\nsparsemem patches)\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": "4ae7c03943fca73f23bc0cdb938070f41b98101f",
      "tree": "d4b3a7369896af7aa7bb58d0d1699be91fc4aa0d",
      "parents": [
        "578c2fd6a7f378434655e5c480e23152a3994404"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Tue Jun 21 17:14:57 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:18 2005 -0700"
      },
      "message": "[PATCH] Periodically drain non local pagesets\n\nThe pageset array can potentially acquire a huge amount of memory on large\nNUMA systems.  F.e.  on a system with 512 processors and 256 nodes there\nwill be 256*512 pagesets.  If each pageset only holds 5 pages then we are\ntalking about 655360 pages.With a 16K page size on IA64 this results in\npotentially 10 Gigabytes of memory being trapped in pagesets.  The typical\ncases are much less for smaller systems but there is still the potential of\nmemory being trapped in off node pagesets.  Off node memory may be rarely\nused if local memory is available and so we may potentially have memory in\nseldom used pagesets without this patch.\n\nThe slab allocator flushes its per cpu caches every 2 seconds.  The\nfollowing patch flushes the off node pageset caches in the same way by\ntying into the slab flush.\n\nThe patch also changes /proc/zoneinfo to include the number of pages\ncurrently in each pageset.\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": "578c2fd6a7f378434655e5c480e23152a3994404",
      "tree": "3a6408c416e3825cd17e33ac776425a52b743adc",
      "parents": [
        "c2f29ea111e3344ed48257c2a142c3db514e1529"
      ],
      "author": {
        "name": "Janet Morgan",
        "email": "janetmor@us.ibm.com",
        "time": "Tue Jun 21 17:14:56 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:17 2005 -0700"
      },
      "message": "[PATCH] add OOM debug\n\nThis patch provides more debug info when the system is OOM.  It displays\nmemory stats (basically sysrq-m info) from __alloc_pages() when page\nallocation fails and during OOM kill.\n\nThanks to Dave Jones for coming up with the idea.\n\nSigned-off-by: Janet Morgan \u003cjanetmor@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c2f29ea111e3344ed48257c2a142c3db514e1529",
      "tree": "6750edefb1f08a6be545250fdaca72fa211ef338",
      "parents": [
        "83e5d8f7253cb7b14472385a6d57df1e9f848e8e"
      ],
      "author": {
        "name": "Benjamin LaHaise",
        "email": "bcrl@kvack.org",
        "time": "Tue Jun 21 17:14:55 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:17 2005 -0700"
      },
      "message": "[PATCH] __read_page_state(): pass unsigned long instead of unsigned\n\nBy making the offset argument of __read_page_state an unsigned long instead of\nunsigned, we can avoid forcing the compiler to sign extend a usually constant\nargument.  This saves 1 instruction on x86-64.\n\nSigned-off-by: Benjamin LaHaise \u003cbenjamin.c.lahaise@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "83e5d8f7253cb7b14472385a6d57df1e9f848e8e",
      "tree": "bafb314103aefbb5699aed2b2b284d8954a888d9",
      "parents": [
        "1ad539b2bd89bf2e129123eb24d5bcc4484a35de"
      ],
      "author": {
        "name": "Benjamin LaHaise",
        "email": "bcrl@kvack.org",
        "time": "Tue Jun 21 17:14:54 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:17 2005 -0700"
      },
      "message": "[PATCH] __mod_page_state(): pass unsigned long instead of unsigned\n\nBy making the offset argument of __mod_page_state an unsigned long instead\nof unsigned, we can avoid forcing the compiler to sign extend a usually\nconstant argument.  This saves 1 instruction on x86-64.\n\nSigned-off-by: Benjamin LaHaise \u003cbenjamin.c.lahaise@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1ad539b2bd89bf2e129123eb24d5bcc4484a35de",
      "tree": "e416e208cdbd5d9890d39e39384e4ec913c26ef6",
      "parents": [
        "cbe37d093707762fc0abb280781e6a82a9d8d568"
      ],
      "author": {
        "name": "Darren Hart",
        "email": "dvhltc@us.ibm.com",
        "time": "Tue Jun 21 17:14:53 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:17 2005 -0700"
      },
      "message": "[PATCH] vm: try_to_free_pages unused argument\n\ntry_to_free_pages accepts a third argument, order, but hasn\u0027t used it since\nbefore 2.6.0.  The following patch removes the argument and updates all the\ncalls to try_to_free_pages.\n\nSigned-off-by: Darren Hart \u003cdvhltc@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "73219d178051691a56d57184d8c7f6d0cbe3c5c1",
      "tree": "c527691510f5a2b757eac424c5671704084fc9eb",
      "parents": [
        "1363c3cd8603a913a27e2995dccbd70d5312d8e6"
      ],
      "author": {
        "name": "Chris Wright",
        "email": "chrisw@osdl.org",
        "time": "Tue Jun 21 17:14:52 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:16 2005 -0700"
      },
      "message": "[PATCH] mmap topdown fix for large stack limit, large allocation\n\nThe topdown changes in 2.6.12-rc1 can cause large allocations with large\nstack limit to fail, despite there being space available.  The\nmmap_base-len is only valid when len \u003e\u003d mmap_base.  However, nothing in\ntopdown allocator checks this.  It\u0027s only (now) caught at higher level,\nwhich will cause allocation to simply fail.  The following change restores\nthe fallback to bottom-up path, which will allow large allocations with\nlarge stack limit to potentially still succeed.\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": "1363c3cd8603a913a27e2995dccbd70d5312d8e6",
      "tree": "405e7fc1ef44678f3ca0a54c536d0457e6e80f45",
      "parents": [
        "e7c8d5c9955a4d2e88e36b640563f5d6d5aba48a"
      ],
      "author": {
        "name": "Wolfgang Wander",
        "email": "wwc@rentec.com",
        "time": "Tue Jun 21 17:14:49 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:16 2005 -0700"
      },
      "message": "[PATCH] Avoiding mmap fragmentation\n\nIngo recently introduced a great speedup for allocating new mmaps using the\nfree_area_cache pointer which boosts the specweb SSL benchmark by 4-5% and\ncauses huge performance increases in thread creation.\n\nThe downside of this patch is that it does lead to fragmentation in the\nmmap-ed areas (visible via /proc/self/maps), such that some applications\nthat work fine under 2.4 kernels quickly run out of memory on any 2.6\nkernel.\n\nThe problem is twofold:\n\n  1) the free_area_cache is used to continue a search for memory where\n     the last search ended.  Before the change new areas were always\n     searched from the base address on.\n\n     So now new small areas are cluttering holes of all sizes\n     throughout the whole mmap-able region whereas before small holes\n     tended to close holes near the base leaving holes far from the base\n     large and available for larger requests.\n\n  2) the free_area_cache also is set to the location of the last\n     munmap-ed area so in scenarios where we allocate e.g.  five regions of\n     1K each, then free regions 4 2 3 in this order the next request for 1K\n     will be placed in the position of the old region 3, whereas before we\n     appended it to the still active region 1, placing it at the location\n     of the old region 2.  Before we had 1 free region of 2K, now we only\n     get two free regions of 1K -\u003e fragmentation.\n\nThe patch addresses thes issues by introducing yet another cache descriptor\ncached_hole_size that contains the largest known hole size below the\ncurrent free_area_cache.  If a new request comes in the size is compared\nagainst the cached_hole_size and if the request can be filled with a hole\nbelow free_area_cache the search is started from the base instead.\n\nThe results look promising: Whereas 2.6.12-rc4 fragments quickly and my\n(earlier posted) leakme.c test program terminates after 50000+ iterations\nwith 96 distinct and fragmented maps in /proc/self/maps it performs nicely\n(as expected) with thread creation, Ingo\u0027s test_str02 with 20000 threads\nrequires 0.7s system time.\n\nTaking out Ingo\u0027s patch (un-patch available per request) by basically\ndeleting all mentions of free_area_cache from the kernel and starting the\nsearch for new memory always at the respective bases we observe: leakme\nterminates successfully with 11 distinctive hardly fragmented areas in\n/proc/self/maps but thread creating is gringdingly slow: 30+s(!) system\ntime for Ingo\u0027s test_str02 with 20000 threads.\n\nNow - drumroll ;-) the appended patch works fine with leakme: it ends with\nonly 7 distinct areas in /proc/self/maps and also thread creation seems\nsufficiently fast with 0.71s for 20000 threads.\n\nSigned-off-by: Wolfgang Wander \u003cwwc@rentec.com\u003e\nCredit-to: \"Richard Purdie\" \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e (partly)\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e7c8d5c9955a4d2e88e36b640563f5d6d5aba48a",
      "tree": "f04f7b0d08cbc46d2f190a85904a3dd696dc6e88",
      "parents": [
        "63551ae0feaaa23807ebea60de1901564bbef32e"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "christoph@lameter.com",
        "time": "Tue Jun 21 17:14:47 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:16 2005 -0700"
      },
      "message": "[PATCH] node local per-cpu-pages\n\nThis patch modifies the way pagesets in struct zone are managed.\n\nEach zone has a per-cpu array of pagesets.  So any particular CPU has some\nmemory in each zone structure which belongs to itself.  Even if that CPU is\nnot local to that zone.\n\nSo the patch relocates the pagesets for each cpu to the node that is nearest\nto the cpu instead of allocating the pagesets in the (possibly remote) target\nzone.  This means that the operations to manage pages on remote zone can be\ndone with information available locally.\n\nWe play a macro trick so that non-NUMA pmachines avoid the additional\npointer chase on the page allocator fastpath.\n\nAIM7 benchmark on a 32 CPU SGI Altix\n\nw/o patches:\nTasks    jobs/min  jti  jobs/min/task      real       cpu\n    1      484.68  100       484.6769     12.01      1.97   Fri Mar 25 11:01:42 2005\n  100    27140.46   89       271.4046     21.44    148.71   Fri Mar 25 11:02:04 2005\n  200    30792.02   82       153.9601     37.80    296.72   Fri Mar 25 11:02:42 2005\n  300    32209.27   81       107.3642     54.21    451.34   Fri Mar 25 11:03:37 2005\n  400    34962.83   78        87.4071     66.59    588.97   Fri Mar 25 11:04:44 2005\n  500    31676.92   75        63.3538     91.87    742.71   Fri Mar 25 11:06:16 2005\n  600    36032.69   73        60.0545     96.91    885.44   Fri Mar 25 11:07:54 2005\n  700    35540.43   77        50.7720    114.63   1024.28   Fri Mar 25 11:09:49 2005\n  800    33906.70   74        42.3834    137.32   1181.65   Fri Mar 25 11:12:06 2005\n  900    34120.67   73        37.9119    153.51   1325.26   Fri Mar 25 11:14:41 2005\n 1000    34802.37   74        34.8024    167.23   1465.26   Fri Mar 25 11:17:28 2005\n\nwith slab API changes and pageset patch:\n\nTasks    jobs/min  jti  jobs/min/task      real       cpu\n    1      485.00  100       485.0000     12.00      1.96   Fri Mar 25 11:46:18 2005\n  100    28000.96   89       280.0096     20.79    150.45   Fri Mar 25 11:46:39 2005\n  200    32285.80   79       161.4290     36.05    293.37   Fri Mar 25 11:47:16 2005\n  300    40424.15   84       134.7472     43.19    438.42   Fri Mar 25 11:47:59 2005\n  400    39155.01   79        97.8875     59.46    590.05   Fri Mar 25 11:48:59 2005\n  500    37881.25   82        75.7625     76.82    730.19   Fri Mar 25 11:50:16 2005\n  600    39083.14   78        65.1386     89.35    872.79   Fri Mar 25 11:51:46 2005\n  700    38627.83   77        55.1826    105.47   1022.46   Fri Mar 25 11:53:32 2005\n  800    39631.94   78        49.5399    117.48   1169.94   Fri Mar 25 11:55:30 2005\n  900    36903.70   79        41.0041    141.94   1310.78   Fri Mar 25 11:57:53 2005\n 1000    36201.23   77        36.2012    160.77   1458.31   Fri Mar 25 12:00:34 2005\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Shobhit Dayal \u003cshobhit@calsoftinc.com\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": "63551ae0feaaa23807ebea60de1901564bbef32e",
      "tree": "f6f97f60f83c3e9813bdfcc6039c499997b1ea10",
      "parents": [
        "1e7e5a9048b30c57ba1ddaa6cdf59b21b65cde99"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Tue Jun 21 17:14:44 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:15 2005 -0700"
      },
      "message": "[PATCH] Hugepage consolidation\n\nA lot of the code in arch/*/mm/hugetlbpage.c is quite similar.  This patch\nattempts to consolidate a lot of the code across the arch\u0027s, putting the\ncombined version in mm/hugetlb.c.  There are a couple of uglyish hacks in\norder to covert all the hugepage archs, but the result is a very large\nreduction in the total amount of code.  It also means things like hugepage\nlazy allocation could be implemented in one place, instead of six.\n\nTested, at least a little, on ppc64, i386 and x86_64.\n\nNotes:\n\t- this patch changes the meaning of set_huge_pte() to be more\n\t  analagous to set_pte()\n\t- does SH4 need s special huge_ptep_get_and_clear()??\n\nAcked-by: William Lee 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": "1e7e5a9048b30c57ba1ddaa6cdf59b21b65cde99",
      "tree": "26eb9c483718ca1a0fad23597c0dfd3a69e9f080",
      "parents": [
        "0c35bbadc59f5ed105c34471143eceb4c0dd9c95"
      ],
      "author": {
        "name": "Martin Hicks",
        "email": "mort@sgi.com",
        "time": "Tue Jun 21 17:14:43 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:14 2005 -0700"
      },
      "message": "[PATCH] VM: rate limit early reclaim\n\nWhen early zone reclaim is turned on the LRU is scanned more frequently when a\nzone is low on memory.  This limits when the zone reclaim can be called by\nskipping the scan if another thread (either via kswapd or sync reclaim) is\nalready reclaiming from the zone.\n\nSigned-off-by: Martin Hicks \u003cmort@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0c35bbadc59f5ed105c34471143eceb4c0dd9c95",
      "tree": "d82de388e8c0a38fa4b1d27ad372e84c9f01e013",
      "parents": [
        "753ee728964e5afb80c17659cc6c3a6fd0a42fe0"
      ],
      "author": {
        "name": "Martin Hicks",
        "email": "mort@sgi.com",
        "time": "Tue Jun 21 17:14:42 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:14 2005 -0700"
      },
      "message": "[PATCH] VM: add __GFP_NORECLAIM\n\nWhen using the early zone reclaim, it was noticed that allocating new pages\nthat should be spread across the whole system caused eviction of local pages.\n\nThis adds a new GFP flag to prevent early reclaim from happening during\ncertain allocation attempts.  The example that is implemented here is for page\ncache pages.  We want page cache pages to be spread across the whole system,\nand we don\u0027t want page cache pages to evict other pages to get local memory.\n\nSigned-off-by:  Martin Hicks \u003cmort@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "753ee728964e5afb80c17659cc6c3a6fd0a42fe0",
      "tree": "41c9a7700d0858c1f77c5bdaba97e5b636f69b06",
      "parents": [
        "bfbb38fb808ac23ef44472d05d9bb36edfb49ed0"
      ],
      "author": {
        "name": "Martin Hicks",
        "email": "mort@sgi.com",
        "time": "Tue Jun 21 17:14:41 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:14 2005 -0700"
      },
      "message": "[PATCH] VM: early zone reclaim\n\nThis is the core of the (much simplified) early reclaim.  The goal of this\npatch is to reclaim some easily-freed pages from a zone before falling back\nonto another zone.\n\nOne of the major uses of this is NUMA machines.  With the default allocator\nbehavior the allocator would look for memory in another zone, which might be\noff-node, before trying to reclaim from the current zone.\n\nThis adds a zone tuneable to enable early zone reclaim.  It is selected on a\nper-zone basis and is turned on/off via syscall.\n\nAdding some extra throttling on the reclaim was also required (patch\n4/4).  Without the machine would grind to a crawl when doing a \"make -j\"\nkernel build.  Even with this patch the System Time is higher on\naverage, but it seems tolerable.  Here are some numbers for kernbench\nruns on a 2-node, 4cpu, 8Gig RAM Altix in the \"make -j\" run:\n\n\t\t\twall  user   sys   %cpu  ctx sw.  sleeps\n\t\t\t----  ----   ---   ----   ------  ------\nNo patch\t\t1009  1384   847   258   298170   504402\nw/patch, no reclaim     880   1376   667   288   254064   396745\nw/patch \u0026 reclaim       1079  1385   926   252   291625   548873\n\nThese numbers are the average of 2 runs of 3 \"make -j\" runs done right\nafter system boot.  Run-to-run variability for \"make -j\" is huge, so\nthese numbers aren\u0027t terribly useful except to seee that with reclaim\nthe benchmark still finishes in a reasonable amount of time.\n\nI also looked at the NUMA hit/miss stats for the \"make -j\" runs and the\nreclaim doesn\u0027t make any difference when the machine is thrashing away.\n\nDoing a \"make -j8\" on a single node that is filled with page cache pages\ntakes 700 seconds with reclaim turned on and 735 seconds without reclaim\n(due to remote memory accesses).\n\nThe simple zone_reclaim syscall program is at\nhttp://www.bork.org/~mort/sgi/zone_reclaim.c\n\nSigned-off-by: Martin Hicks \u003cmort@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bfbb38fb808ac23ef44472d05d9bb36edfb49ed0",
      "tree": "19d26b575bf0ff1e2b3ec2c8ee12310154fdead5",
      "parents": [
        "295ab93497ec703f7d6eaf0787dd9768b83035fe"
      ],
      "author": {
        "name": "Martin Hicks",
        "email": "mort@sgi.com",
        "time": "Tue Jun 21 17:14:40 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:14 2005 -0700"
      },
      "message": "[PATCH] VM: add may_swap flag to scan_control\n\nHere\u0027s the next round of these patches.  These are totally different in\nan attempt to meet the \"simpler\" request after the last patches.  For\nreference the earlier threads are:\n\nhttp://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d110839604924587\u0026w\u003d2\nhttp://marc.theaimsgroup.com/?l\u003dlinux-mm\u0026m\u003d111461480721249\u0026w\u003d2\n\nThis set of patches replaces my other vm- patches that are currently in\n-mm.  So they\u0027re against 2.6.12-rc5-mm1 about half way through the -mm\npatchset.\n\nAs I said already this patch is a lot simpler.  The reclaim is turned on\nor off on a per-zone basis using a syscall.  I haven\u0027t tested the x86\nsyscall, so it might be wrong.  It uses the existing reclaim/pageout\ncode with the small addition of a may_swap flag to scan_control\n(patch 1/4).\n\nI also added __GFP_NORECLAIM (patch 3/4) so that certain allocation\ntypes can be flagged to never cause reclaim.  This was a deficiency\nthat was in all of my earlier patch sets.  Previously, doing a big\nbuffered read would fill one zone with page cache and then start to\nreclaim from that same zone, leaving the other zones untouched.\n\nAdding some extra throttling on the reclaim was also required (patch\n4/4).  Without the machine would grind to a crawl when doing a \"make -j\"\nkernel build.  Even with this patch the System Time is higher on\naverage, but it seems tolerable.  Here are some numbers for kernbench\nruns on a 2-node, 4cpu, 8Gig RAM Altix in the \"make -j\" run:\n\n\t\t\twall  user   sys   %cpu  ctx sw.  sleeps\n\t\t\t----  ----   ---   ----   ------  ------\nNo patch\t\t1009  1384   847   258   298170   504402\nw/patch, no reclaim     880   1376   667   288   254064   396745\nw/patch \u0026 reclaim       1079  1385   926   252   291625   548873\n\nThese numbers are the average of 2 runs of 3 \"make -j\" runs done right\nafter system boot.  Run-to-run variability for \"make -j\" is huge, so\nthese numbers aren\u0027t terribly useful except to seee that with reclaim\nthe benchmark still finishes in a reasonable amount of time.\n\nI also looked at the NUMA hit/miss stats for the \"make -j\" runs and the\nreclaim doesn\u0027t make any difference when the machine is thrashing away.\n\nDoing a \"make -j8\" on a single node that is filled with page cache pages\ntakes 700 seconds with reclaim turned on and 735 seconds without reclaim\n(due to remote memory accesses).\n\nThe simple zone_reclaim syscall program is at\nhttp://www.bork.org/~mort/sgi/zone_reclaim.c\n\nThis patch:\n\nThis adds an extra switch to the scan_control struct.  It simply lets the\nreclaim code know if its allowed to swap pages out.\n\nThis was required for a simple per-zone reclaimer.  Without this addition\npages would be swapped out as soon as a zone ran out of memory and the early\nreclaim kicked in.\n\nSigned-off-by: Martin Hicks \u003cmort@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "295ab93497ec703f7d6eaf0787dd9768b83035fe",
      "tree": "e3dce05d4cab0d7d3907a7357d37932c99ffd76d",
      "parents": [
        "05b7438475ddbac47e75506913d44550f0e75938"
      ],
      "author": {
        "name": "Nikita Danilov",
        "email": "nikita@clusterfs.com",
        "time": "Tue Jun 21 17:14:38 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:14 2005 -0700"
      },
      "message": "[PATCH] mm: add /proc/zoneinfo\n\nAdd /proc/zoneinfo file to display information about memory zones.  Useful\nto analyze VM behaviour.\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": "05b7438475ddbac47e75506913d44550f0e75938",
      "tree": "3871b9c9c0cfa3699de9581a9283dc9fee608f2c",
      "parents": [
        "e798c6e87b64d9fdbd5e9f757b1c033223763d9f"
      ],
      "author": {
        "name": "Prasanna Meda",
        "email": "pmeda@akamai.com",
        "time": "Tue Jun 21 17:14:37 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:13 2005 -0700"
      },
      "message": "[PATCH] madvise: merge the maps\n\nThis attempts to merge back the split maps.  This code is mostly copied\nfrom Chrisw\u0027s mlock merging from post 2.6.11 trees.  The only difference is\nin munmapped_error handling.  Also passed prev to willneed/dontneed,\neventhogh they do not handle it now, since I felt it will be cleaner,\ninstead of handling prev in madvise_vma in some cases and in subfunction in\nsome cases.\n\nSigned-off-by: Prasanna Meda \u003cpmeda@akamai.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e798c6e87b64d9fdbd5e9f757b1c033223763d9f",
      "tree": "da4cdd7c60acff82d2fcc826cdbae43440a6df44",
      "parents": [
        "b15e0905f2b9964fc7426fecab57445e96021b61"
      ],
      "author": {
        "name": "Prasanna Meda",
        "email": "pmeda@akamai.com",
        "time": "Tue Jun 21 17:14:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:13 2005 -0700"
      },
      "message": "[PATCH] madvise: do not split the maps\n\nThis attempts to avoid splittings when it is not needed, that is when\nvm_flags are same as new flags.  The idea is from the \u003c2.6.11 mlock_fixup\nand others.  This will provide base for the next madvise merging patch.\n\nSigned-off-by: Prasanna Meda \u003cpmeda@akamai.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b15e0905f2b9964fc7426fecab57445e96021b61",
      "tree": "bc1b3606cf282f88cd6598de22190eff6708affa",
      "parents": [
        "39c715b71740c4a78ba4769fb54826929bac03cb"
      ],
      "author": {
        "name": "akpm@osdl.org",
        "email": "akpm@osdl.org",
        "time": "Tue Jun 21 17:14:35 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:13 2005 -0700"
      },
      "message": "[PATCH] vmscan: notice slab shrinking\n\nFix a problem identified by Andrea Arcangeli \u003candrea@suse.de\u003e\n\nkswapd will set a zone into all_unreclaimable state if it sees that we\u0027re not\nsuccessfully reclaiming LRU pages.  But that fails to notice that we\u0027re\nsuccessfully reclaiming slab obects, so we can set all_unreclaimable too soon.\n\nSo change shrink_slab() to return a success indication if it actually\nreclaimed some objects, and don\u0027t assume that the zone is all_unreclaimable if\nthat is true.  This means that we won\u0027t enter all_unreclaimable state if we\nare successfully freeing slab objects but we\u0027re not yet actually freeing slab\npages, due to internal fragmentation.\n\n(hm, this has a shortcoming.  We could be successfully freeing ZONE_NORMAL\nslab objects while being really oom on ZONE_DMA.  If that happens then kswapd\nmight burn a lot of CPU.  But given that there might be some slab objects in\nZONE_DMA, perhaps that is appropriate.)\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1944972d3bb651474a5021c9da8d0166ae19f1eb",
      "tree": "cc638b40d8a7dfb4949d4a84a695ec8915c0fc2b",
      "parents": [
        "ee57eef99b9e19194677f552ebc0690ec35d62db"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sat Jun 18 22:46:19 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 18 22:46:19 2005 -0700"
      },
      "message": "[SLAB] Introduce kmem_cache_name\n\nThis is for use with slab users that pass a dynamically allocated slab name in\nkmem_cache_create, so that before destroying the slab one can retrieve the name\nand free its memory.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "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"
    }
  ],
  "next": "93ea1d0a12623dc1a693642b5758261f35f9bf96"
}
