)]}'
{
  "log": [
    {
      "commit": "d688abf50bd5a30d2c44dea2a72dd59052cd3cce",
      "tree": "2f572d18af05969b2c882970cda4860be345bdfc",
      "parents": [
        "6819457d2cb7fe4fdb0fc3655b6b6dc71a86bee9"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Thu Jul 19 01:49:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:52 2007 -0700"
      },
      "message": "move page writeback acounting out of macros\n\npage-writeback accounting is presently performed in the page-flags macros.\nThis is inconsistent and a bit ugly and makes it awkward to implement\nper-backing_dev under-writeback page accounting.\n\nSo move this accounting down to the callsite(s).\n\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fe3cba17c49471e99d3421e675fc8b3deaaf0b70",
      "tree": "df696c4584c6db2e439f068d2474fcb946ca587d",
      "parents": [
        "d8983910a4045fa21022cfccf76ed13eb40fd7f5"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "wfg@mail.ustc.edu.cn",
        "time": "Thu Jul 19 01:48:07 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:44 2007 -0700"
      },
      "message": "mm: share PG_readahead and PG_reclaim\n\nShare the same page flag bit for PG_readahead and PG_reclaim.\n\nOne is used only on file reads, another is only for emergency writes.  One\nis used mostly for fresh/young pages, another is for old pages.\n\nCombinations of possible interactions are:\n\na) clear PG_reclaim \u003d\u003e implicit clear of PG_readahead\n\tit will delay an asynchronous readahead into a synchronous one\n\tit actually does _good_ for readahead:\n\t\tthe pages will be reclaimed soon, it\u0027s readahead thrashing!\n\t\tin this case, synchronous readahead makes more sense.\n\nb) clear PG_readahead \u003d\u003e implicit clear of PG_reclaim\n\tone(and only one) page will not be reclaimed in time\n\tit can be avoided by checking PageWriteback(page) in readahead first\n\nc) set PG_reclaim \u003d\u003e implicit set of PG_readahead\n\twill confuse readahead and make it restart the size rampup process\n\tit\u0027s a trivial problem, and can mostly be avoided by checking\n\tPageWriteback(page) first in readahead\n\nd) set PG_readahead \u003d\u003e implicit set of PG_reclaim\n\tPG_readahead will never be set on already cached pages.\n\tPG_reclaim will always be cleared on dirtying a page.\n\tso not a problem.\n\nIn summary,\n\ta)   we get better behavior\n\tb,d) possible interactions can be avoided\n\tc)   racy condition exists that might affect readahead, but the chance\n\t     is _really_ low, and the hurt on readahead is trivial.\n\nCompound pages also use PG_reclaim, but for now they do not interact with\nreclaim/readahead code.\n\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d77c2d7cc5126639a47d73300b40d461f2811a0f",
      "tree": "d02b32ca92fde9a04be9bee0f0b7c8961479448c",
      "parents": [
        "2ba2d00363975242dee9bb22cf798b487e3cd61e"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "wfg@mail.ustc.edu.cn",
        "time": "Thu Jul 19 01:47:55 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:43 2007 -0700"
      },
      "message": "readahead: introduce PG_readahead\n\nIntroduce a new page flag: PG_readahead.\n\nIt acts as a look-ahead mark, which tells the page reader: Hey, it\u0027s time to\ninvoke the read-ahead logic.  For the sake of I/O pipelining, don\u0027t wait until\nit runs out of cached pages!\n\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nCc: Steven Pratt \u003cslpratt@austin.ibm.com\u003e\nCc: Ram Pai \u003clinuxram@us.ibm.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c85b04c3749507546f6d5868976e4793e35c2ec0",
      "tree": "77ad99f3850d11dab3df2b8b7e1998754d72d8bd",
      "parents": [
        "e738fca8d7dffec30eeee231c38f128eed56c8c8"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:05 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:43 2007 -0700"
      },
      "message": "xen: add pinned page flag\n\nAdd a new definition for PG_owner_priv_1 to define PG_pinned on Xen\npagetable pages.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\n"
    },
    {
      "commit": "04293355ac9dbe81bd01b89ca2adb58be34c2c60",
      "tree": "fa5d893fee14e27056cac71dd3e3fed9fe2167a9",
      "parents": [
        "74dfd666de861c97d47bdbd892f6d21b801d0247"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun May 06 14:50:43 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:59 2007 -0700"
      },
      "message": "mm: remove unused page flags\n\nRemove the two page flags that were previously used by swsusp and are no\nlonger needed.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d7779538f765963ced45a3fa4bed7ba8d2c277d",
      "tree": "07d47e6ff1ab30309004e2ba0674dcabd83945c1",
      "parents": [
        "d85f33855c303acfa87fa457157cef755b6087df"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:49:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:53 2007 -0700"
      },
      "message": "mm: optimize compound_head() by avoiding a shared page flag\n\nThe patch adds PageTail(page) and PageHead(page) to check if a page is the\nhead or the tail of a compound page.  This is done by masking the two bits\ndescribing the state of a compound page and then comparing them.  So one\ncomparision and a branch instead of two bit checks and two branches.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d85f33855c303acfa87fa457157cef755b6087df",
      "tree": "f1184a1a24b432727b0399594ede37c7539db888",
      "parents": [
        "30520864839dc796fd314812e7036e754880b47d"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:49:39 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:53 2007 -0700"
      },
      "message": "Make page-\u003eprivate usable in compound pages\n\nIf we add a new flag so that we can distinguish between the first page and the\ntail pages then we can avoid to use page-\u003eprivate in the first page.\npage-\u003eprivate \u003d\u003d page for the first page, so there is no real information in\nthere.\n\nFreeing up page-\u003eprivate makes the use of compound pages more transparent.\nThey become more usable like real pages.  Right now we have to be careful f.e.\n if we are going beyond PAGE_SIZE allocations in the slab on i386 because we\ncan then no longer use the private field.  This is one of the issues that\ncause us not to support debugging for page size slabs in SLAB.\n\nHaving page-\u003eprivate available for SLUB would allow more meta information in\nthe page struct.  I can probably avoid the 16 bit ints that I have in there\nright now.\n\nAlso if page-\u003eprivate is available then a compound page may be equipped with\nbuffer heads.  This may free up the way for filesystems to support larger\nblocks than page size.\n\nWe add PageTail as an alias of PageReclaim.  Compound pages cannot currently\nbe reclaimed.  Because of the alias one needs to check PageCompound first.\n\nThe RFC for the this approach was discussed at\nhttp://marc.info/?t\u003d117574302800001\u0026r\u003d1\u0026w\u003d2\n\n[nacc@us.ibm.com: fix hugetlbfs]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6c210482ae4a9a5bb9377ad250feaacec3faa3cd",
      "tree": "2eb89d89a22380298d64edad59010c1d0a59e5a4",
      "parents": [
        "2fc2d1e9ffcde78af7ab63ed640d9a4901797de2"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Apr 27 16:01:57 2007 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Apr 27 16:01:46 2007 +0200"
      },
      "message": "[S390] split page_test_and_clear_dirty.\n\nThe page_test_and_clear_dirty primitive really consists of two\noperations, page_test_dirty and the page_clear_dirty. The combination\nof the two is not an atomic operation, so it makes more sense to have\ntwo separate operations instead of one.\nIn addition to the improved readability of the s390 version of\nSetPageUptodate, it now avoids the page_test_dirty operation which is\nan insert-storage-key-extended (iske) instruction which is an expensive\noperation.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "5409bae07a63630ba5a40f3f00b7f3e6d7eceedd",
      "tree": "cc8837a90476091fc1fec7f20e4a2ca99ffbae41",
      "parents": [
        "93a6fefe2f6fc380870c0985b246bec7f37a06f7"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Wed Feb 28 20:12:27 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 01 14:53:37 2007 -0800"
      },
      "message": "[PATCH] Rename PG_checked to PG_owner_priv_1\n\nRename PG_checked to PG_owner_priv_1 to reflect its availablilty as a\nprivate flag for use by the owner/allocator of the page.  In the case of\npagecache pages (which might be considered to be owned by the mm),\nfilesystems may use the flag.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fba2591bf4e418b6c3f9f8794c9dd8fe40ae7bd9",
      "tree": "d6909973e402b3171ee409f660b33df2fad029ba",
      "parents": [
        "46d2277c796f9f4937bfa668c40b2e3f43e93dd0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 20 13:46:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 21 09:19:57 2006 -0800"
      },
      "message": "VM: Remove \"clear_page_dirty()\" and \"test_clear_page_dirty()\" functions\n\nThey were horribly easy to mis-use because of their tempting naming, and\nthey also did way more than any users of them generally wanted them to\ndo.\n\nA dirty page can become clean under two circumstances:\n\n (a) when we write it out.  We have \"clear_page_dirty_for_io()\" for\n     this, and that function remains unchanged.\n\n     In the \"for IO\" case it is not sufficient to just clear the dirty\n     bit, you also have to mark the page as being under writeback etc.\n\n (b) when we actually remove a page due to it becoming inaccessible to\n     users, notably because it was truncate()\u0027d away or the file (or\n     metadata) no longer exists, and we thus want to cancel any\n     outstanding dirty state.\n\nFor the (b) case, we now introduce \"cancel_dirty_page()\", which only\ntouches the page state itself, and verifies that the page is not mapped\n(since cancelling writes on a mapped page would be actively wrong as it\nis still accessible to users).\n\nSome filesystems need to be fixed up for this: CIFS, FUSE, JFS,\nReiserFS, XFS all use the old confusing functions, and will be fixed\nseparately in subsequent commits (with some of them just removing the\noffending logic, and others using clear_page_dirty_for_io()).\n\nThis was confirmed by Martin Michlmayr to fix the apt database\ncorruption on ARM.\n\nCc: Martin Michlmayr \u003ctbm@cyrius.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Andrei Popa \u003candrei.popa@i-neo.ro\u003e\nCc: Andrew Morton \u003cakpm@osdl.org\u003e\nCc: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nCc: Gordon Farquharson \u003cgordonfarquharson@gmail.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2dcea57ae19275451a756a2d5bf96b329487b0e0",
      "tree": "37b0def2369c106fdf3653ca85e0c1a34ce4d905",
      "parents": [
        "d1807793e1e7e502e3dc047115e9dbc3b50e4534"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Sep 29 01:58:41 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:03 2006 -0700"
      },
      "message": "[PATCH] convert s390 page handling macros to functions\n\nConvert s390 page handling macros to functions.  In particular this fixes a\nproblem with s390\u0027s SetPageUptodate macro which uses its input parameter\ntwice which again can cause subtle bugs.\n\n[akpm@osdl.org: build fix]\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "da6052f7b33abe55fbfd7d2213815f58c00a88d4",
      "tree": "a2deda88ae8e9fc33d9a0ce80f42fde2c55c7bbc",
      "parents": [
        "e5ac9c5aec7c4bc57fa93f2d37d760a22cb7bd33"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Mon Sep 25 23:31:35 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:49 2006 -0700"
      },
      "message": "[PATCH] update some mm/ comments\n\nLet\u0027s try to keep mm/ comments more useful and up to date. This is a start.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ce866b34ae1b7f1ce60234cf65855886ac7e7d30",
      "tree": "e9a2664f0abc5221b9a92e1417d8e02b94a634c4",
      "parents": [
        "b1e7a8fd854d2f895730e82137400012b509650e"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jun 30 01:55:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 11:25:35 2006 -0700"
      },
      "message": "[PATCH] zoned vm counters: conversion of nr_writeback to per zone counter\n\nConversion of nr_writeback to per zone counter.\n\nThis removes the last page_state counter from arch/i386/mm/pgtable.c so we\ndrop the page_state from there.\n\n[akpm@osdl.org: bugfix]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: 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": "f6ac2354d791195ca40822b84d73d48a4e8b7f2b",
      "tree": "5f600175cf3591eac3d32bb8cebfd45d0aabf804",
      "parents": [
        "672b2714ae57af16fe7d760dc4e0918a7a6cb0fa"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jun 30 01:55:32 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 11:25:34 2006 -0700"
      },
      "message": "[PATCH] zoned vm counters: create vmstat.c/.h from page_alloc.c/.h\n\nNOTE: ZVC are *not* the lightweight event counters.  ZVCs are reliable whereas\nevent counters do not need to be.\n\nZone based VM statistics are necessary to be able to determine what the state\nof memory in one zone is.  In a NUMA system this can be helpful for local\nreclaim and other memory optimizations that may be able to shift VM load in\norder to get more balanced memory use.\n\nIt is also useful to know how the computing load affects the memory\nallocations on various zones.  This patchset allows the retrieval of that data\nfrom userspace.\n\nThe patchset introduces a framework for counters that is a cross between the\nexisting page_stats --which are simply global counters split per cpu-- and the\napproach of deferred incremental updates implemented for nr_pagecache.\n\nSmall per cpu 8 bit counters are added to struct zone.  If the counter exceeds\ncertain thresholds then the counters are accumulated in an array of\natomic_long in the zone and in a global array that sums up all zone values.\nThe small 8 bit counters are next to the per cpu page pointers and so they\nwill be in high in the cpu cache when pages are allocated and freed.\n\nAccess to VM counter information for a zone and for the whole machine is then\npossible by simply indexing an array (Thanks to Nick Piggin for pointing out\nthat approach).  The access to the total number of pages of various types does\nno longer require the summing up of all per cpu counters.\n\nBenefits of this patchset right now:\n\n- Ability for UP and SMP configuration to determine how memory\n  is balanced between the DMA, NORMAL and HIGHMEM zones.\n\n- loops over all processors are avoided in writeback and\n  reclaim paths. We can avoid caching the writeback information\n  because the needed information is directly accessible.\n\n- Special handling for nr_pagecache removed.\n\n- zone_reclaim_interval vanishes since VM stats can now determine\n  when it is worth to do local reclaim.\n\n- Fast inline per node page state determination.\n\n- Accurate counters in /sys/devices/system/node/node*/meminfo. Current\n  counters are counting simply which processor allocated a page somewhere\n  and guestimate based on that. So the counters were not useful to show\n  the actual distribution of page use on a specific zone.\n\n- The swap_prefetch patch requires per node statistics in order to\n  figure out when processors of a node can prefetch. This patch provides\n  some of the needed numbers.\n\n- Detailed VM counters available in more /proc and /sys status files.\n\nReferences to earlier discussions:\nV1 http://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d113511649910826\u0026w\u003d2\nV2 http://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d114980851924230\u0026w\u003d2\nV3 http://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d115014697910351\u0026w\u003d2\nV4 http://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d115024767318740\u0026w\u003d2\n\nPerformance tests with AIM7 did not show any regressions.  Seems to be a tad\nfaster even.  Tested on ia64/NUMA.  Builds fine on i386, SMP / UP.  Includes\nfixes for s390/arm/uml arch code.\n\nThis patch:\n\nMove counter code from page_alloc.c/page-flags.h to vmstat.c/h.\n\nCreate vmstat.c/vmstat.h by separating the counter code and the proc\nfunctions.\n\nMove the vm_stat_text array before zoneinfo_show.\n\n[akpm@osdl.org: s390 build fix]\n[akpm@osdl.org: HOTPLUG_CPU build fix]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: 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": "f886ed443fedb109e2062988bf120a531f0ec80a",
      "tree": "379858e1b4fc28c266f041902477ee41069171e4",
      "parents": [
        "729bd0b74ce9ac6c829109052fcd565f5c366ca5"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Jun 23 02:03:06 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:46 2006 -0700"
      },
      "message": "[PATCH] PG_uncached is ia64 only\n\nAs Nick points out, only ia64 uses PG_uncached.  So we can push it up into the\nhigher bits of the lower half of page-\u003eflags and make room for another flag on\n32-bit machines.\n\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Jesse Barnes \u003cjbarnes@sgi.com\u003e\nCc: Jes Sorensen \u003cjes@trained-monkey.org\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "91fc8ab3c6312931d64c72845ee2f93a0f87f1a5",
      "tree": "63cbc8d224a27f7d62bd1651afa5cd3b659c7587",
      "parents": [
        "d5ddc79bcaab6975e7671805c3578407dc33b764"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@shadowen.org",
        "time": "Mon Apr 10 22:53:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:32 2006 -0700"
      },
      "message": "[PATCH] page flags: add commentry regarding field reservation\n\nAdd some documentation regarding the utilisation of the flags field in\nstruct page.  This field is overloaded for per page bits and to hold node,\nzone and SPARSEMEM information.  Make it clear which areas are used for\nwhat and how many bits are in each area.\n\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "676165a8af7167f488abdcce6851a9bc36e83254",
      "tree": "a9b2b8dc155b48ce073b5ada31f2ac0694118e69",
      "parents": [
        "c3a9d6541f84ac3ff566982d08389b87c1c36b4e"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "piggin@cyberone.com.au",
        "time": "Mon Apr 10 11:21:48 2006 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Apr 10 10:16:37 2006 -0700"
      },
      "message": "[PATCH] Fix buddy list race that could lead to page lru list corruptions\n\nRohit found an obscure bug causing buddy list corruption.\n\npage_is_buddy is using a non-atomic test (PagePrivate \u0026\u0026 page_count \u003d\u003d 0)\nto determine whether or not a free page\u0027s buddy is itself free and in the\nbuddy lists.\n\nEach of the conjuncts may be true at different times due to unrelated\nconditions, so the non-atomic page_is_buddy test may find each conjunct to\nbe true even if they were not both true at the same time (ie. the page was\nnot on the buddy lists).\n\nSigned-off-by: Martin Bligh \u003cmbligh@google.com\u003e\nSigned-off-by: Rohit Seth \u003crohitseth@google.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9d41415221214ca4820b9464dfa548e2f20e7dd5",
      "tree": "58db93aca7cf16ddf22a9d86f32c6f04c19d721c",
      "parents": [
        "8dfcc9ba27e2ed257e5de9539f7f03e57c2c0e33"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Mar 22 00:08:06 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:53:58 2006 -0800"
      },
      "message": "[PATCH] mm: page_state comment more\n\nClarify that preemption needs to be guarded against with the\n__xxx_page_state functions.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f205b2fe62d321403525065a4cb31b6bff1bbe53",
      "tree": "26a2273e7da089e99690097348bf4d35600393f4",
      "parents": [
        "5e9dace8d386def04219134d7160e8a778824764"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Mar 22 00:08:02 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:53:57 2006 -0800"
      },
      "message": "[PATCH] mm: slab less atomics\n\nAtomic operation removal from slab\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5e9dace8d386def04219134d7160e8a778824764",
      "tree": "d74ca57577cc4872eb6bcf609e3c7f7d1a39fdf6",
      "parents": [
        "674539115cc88473f623581e1d53c0e2ecef2179"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Mar 22 00:08:01 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:53:57 2006 -0800"
      },
      "message": "[PATCH] mm: page_alloc less atomics\n\nMore atomic operation removal from page allocator\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "674539115cc88473f623581e1d53c0e2ecef2179",
      "tree": "7a32501091d7370ff4387df68804f918a089c631",
      "parents": [
        "4c84cacfa424264f7ad5287298d3ea4a3e935278"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Mar 22 00:08:00 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:53:57 2006 -0800"
      },
      "message": "[PATCH] mm: less atomic ops\n\nIn the page release paths, we can be sure that nobody will mess with our\npage-\u003eflags because the refcount has dropped to 0.  So no need for atomic\noperations here.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4c84cacfa424264f7ad5287298d3ea4a3e935278",
      "tree": "8cefe97dfd0cdfbdebe5636ccc68b14ab3ae1207",
      "parents": [
        "8d438f96d2b8eade6cbcd8adfc22dae6f5cbd6c0"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Mar 22 00:08:00 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:53:57 2006 -0800"
      },
      "message": "[PATCH] mm: PageActive no testset\n\nPG_active is protected by zone-\u003elru_lock, it does not need TestSet/TestClear\noperations.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8d438f96d2b8eade6cbcd8adfc22dae6f5cbd6c0",
      "tree": "5248caf52ed9ba1dbb172d9e3bd3216c97ab3b84",
      "parents": [
        "46453a6e194a8c55fe6cf3dc8e1c4f24e2abc013"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Mar 22 00:07:59 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:53:56 2006 -0800"
      },
      "message": "[PATCH] mm: PageLRU no testset\n\nPG_lru is protected by zone-\u003elru_lock. It does not need TestSet/TestClear\noperations.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b09eb1c06a14641209e6b86e9a5b28ea8287f193",
      "tree": "1a3adbf25c05d7f6a585331260c2cdd7287e8c36",
      "parents": [
        "a74609fafa2e5cc31d558012abaaa55ec9ad9da4"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Fri Jan 06 00:11:21 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:29 2006 -0800"
      },
      "message": "[PATCH] mm: page_state opt docs\n\nComment the new locking rules for page_state statistics.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a74609fafa2e5cc31d558012abaaa55ec9ad9da4",
      "tree": "0be653692864d99da345b575dfe2083994ee1d21",
      "parents": [
        "d3cb487149bd706aa6aeb02042332a450978dc1c"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Fri Jan 06 00:11:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:29 2006 -0800"
      },
      "message": "[PATCH] mm: page_state opt\n\nOptimise page_state manipulations by introducing interrupt unsafe accessors\nto page_state fields.  Callers must provide their own locking (either\ndisable interrupts or not update from interrupt context).\n\nSwitch over the hot callsites that can easily be moved under interrupts off\nsections.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9328b8faae922e52073785ed6c1eaa8565648a0e",
      "tree": "065034bc534a4997197d26acf1774725159e4e65",
      "parents": [
        "7756b9e4e321c3c83c7aa5b9532d3e7fd7ddeb4a"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Fri Jan 06 00:11:10 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:26 2006 -0800"
      },
      "message": "[PATCH] mm: dma32 zone statistics\n\nAdd dma32 to zone statistics.  Also attempt to arrange struct page_state a\nbit better (visually).\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\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": "664beed0190fae687ac51295694004902ddeb18e",
      "tree": "89a7c8d9d541fb678c567834cb758fc88b375d47",
      "parents": [
        "1cdca61bf8537043edde8ef784ce1a1351361dac"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Mon Nov 21 21:32:14 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Nov 22 09:13:42 2005 -0800"
      },
      "message": "[PATCH] unpaged: unifdefed PageCompound\n\nIt looks like snd_xxx is not the only nopage to be using PageReserved as a way\nof holding a high-order page together: which no longer works, but is masked by\nour failure to free from VM_RESERVED areas.  We cannot fix that bug without\nfirst substituting another way to hold the high-order page together, while\nfarming out the 0-order pages from within it.\n\nThat\u0027s just what PageCompound is designed for, but it\u0027s been kept under\nCONFIG_HUGETLB_PAGE.  Remove the #ifdefs: which saves some space (out- of-line\nput_page), doesn\u0027t slow down what most needs to be fast (already using\nhugetlb), and unifies the way we handle high-order pages.\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": "c07e02db76940c75fc92f2f2c9adcdbb09ed70d0",
      "tree": "9d777784fd5e3658d8db5b01a965d4fc568ceb93",
      "parents": [
        "e070ad49f31155d872d8e96cab2142840993e3c0"
      ],
      "author": {
        "name": "Martin Hicks",
        "email": "mort@sgi.com",
        "time": "Sat Sep 03 15:55:11 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:49 2005 -0700"
      },
      "message": "[PATCH] VM: add page_state info to per-node meminfo\n\nAdd page_state info to the per-node meminfo file in sysfs.  This is mostly\njust for informational purposes.\n\nThe lack of this information was brought up recently during a discussion\nregarding pagecache clearing, and I put this patch together to test out one\nof the suggestions.\n\nIt seems like interesting info to have, so I\u0027m submitting the patch.\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": "242e54686257493f0b10ac557e730419d9af7d24",
      "tree": "d68754b32c531141969a09ca0c5df246893c5b1e",
      "parents": [
        "9a61c349b28ec5aef7e929236571fd770fdef0bb"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Sep 03 15:54:50 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:44 2005 -0700"
      },
      "message": "[PATCH] mm: remove atomic\n\nThis bitop does not need to be atomic because it is performed when there will\nbe no references to the page (ie.  the page is being freed).\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "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": "cbe37d093707762fc0abb280781e6a82a9d8d568",
      "tree": "8af4a268765346655291f1ef27df12d11825269c",
      "parents": [
        "73219d178051691a56d57184d8c7f6d0cbe3c5c1"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Tue Jun 21 17:14:52 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:17 2005 -0700"
      },
      "message": "[PATCH] mm: remove PG_highmem\n\nRemove PG_highmem, to save a page flag.  Use is_highmem() instead.  It\u0027ll\ngenerate a little more code, but we don\u0027t use PageHigheMem() in many places.\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "edfbe2b0038723e5699ab22695ccd62b5542a5c1",
      "tree": "f1c613d32824f274b0e3daf492e87b0c9051c789",
      "parents": [
        "2054606ad6dd6fee559fe790f190b15ed9355237"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Sun May 01 08:58:37 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:58:37 2005 -0700"
      },
      "message": "[PATCH] count bounce buffer pages in vmstat\n\nThis is a patch for counting the number of pages for bounce buffers.  It\u0027s\nshown in /proc/vmstat.\n\nCurrently, the number of bounce pages are not counted anywhere.  So, if\nthere are many bounce pages, it seems that there are leaked pages.  And\nit\u0027s difficult for a user to imagine the usage of bounce pages.  So, it\u0027s\nmeaningful to show # of bouce pages.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
