)]}'
{
  "log": [
    {
      "commit": "788084aba2ab7348257597496befcbccabdc98a3",
      "tree": "2da42d746d67b16ef705229a1b5a3528ec19c725",
      "parents": [
        "8cf948e744e0218af604c32edecde10006dc8e9e"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri Jul 31 12:54:11 2009 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Aug 17 15:09:11 2009 +1000"
      },
      "message": "Security/SELinux: seperate lsm specific mmap_min_addr\n\nCurrently SELinux enforcement of controls on the ability to map low memory\nis determined by the mmap_min_addr tunable.  This patch causes SELinux to\nignore the tunable and instead use a seperate Kconfig option specific to how\nmuch space the LSM should protect.\n\nThe tunable will now only control the need for CAP_SYS_RAWIO and SELinux\npermissions will always protect the amount of low memory designated by\nCONFIG_LSM_MMAP_MIN_ADDR.\n\nThis allows users who need to disable the mmap_min_addr controls (usual reason\nbeing they run WINE as a non-root user) to do so and still have SELinux\ncontrols preventing confined domains (like a web server) from being able to\nmap some area of low memory.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "9d73777e500929b71dcfed16eec05f6760e345a6",
      "tree": "7b2d0e7a619b4a5c994ca8789e680f6e7642849c",
      "parents": [
        "ab420e6d9c2511b862d753b70efb4e979faa0714"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Jun 25 11:58:55 2009 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 25 11:22:13 2009 -0700"
      },
      "message": "clarify get_user_pages() prototype\n\nCurrently the 4th parameter of get_user_pages() is called len, but its\nin pages, not bytes. Rename the thing to nr_pages to avoid future\nconfusion.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d06063cc221fdefcab86589e79ddfdb7c0e14b63",
      "tree": "00ccaf8c1992b57a4445d78b9eae25fde0b3ab31",
      "parents": [
        "30c9f3a9fae79517bca595826a19c6855fbb6d32"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 10 09:01:23 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 21 13:08:22 2009 -0700"
      },
      "message": "Move FAULT_FLAG_xyz into handle_mm_fault() callers\n\nThis allows the callers to now pass down the full set of FAULT_FLAG_xyz\nflags to handle_mm_fault().  All callers have been (mechanically)\nconverted to the new calling convention, there\u0027s almost certainly room\nfor architectures to clean up their code and then add FAULT_FLAG_RETRY\nwhen that support is added.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a3d06cc6aa3e765dc2bf98626f87272dcf641dca",
      "tree": "aa3e49b58f08d6c0ea55cdca4fb5e6c8ba6ae333",
      "parents": [
        "0990b1c65729012a63e0eeca93aaaafea4e9a064",
        "65795efbd380a832ae508b04dba8f8e53f0b84d9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 17 13:06:17 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 17 13:06:17 2009 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into perfcounters/core\n\nConflicts:\n\tarch/x86/include/asm/kmap_types.h\n\tinclude/linux/mm.h\n\n\tinclude/asm-generic/kmap_types.h\n\nMerge reason: We crossed changes with kmap_types.h cleanups in mainline.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "168f5ac668f63dfb64439766e3ef9e866b83719d",
      "tree": "ddefb5678ffc15ac6ddec66e281d3f9c8a75fa0b",
      "parents": [
        "aca8bf323edd31ad462dc98c107c23a5c6022ca2"
      ],
      "author": {
        "name": "Sergei Trofimovich",
        "email": "slyfox@inbox.ru",
        "time": "Tue Jun 16 15:33:02 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:44 2009 -0700"
      },
      "message": "mm cleanup: shmem_file_setup: \u0027char *\u0027 -\u003e \u0027const char *\u0027 for name argument\n\nAs function shmem_file_setup does not modify/allocate/free/pass given\nfilename - mark it as const.\n\nSigned-off-by: Sergei Trofimovich \u003cslyfox@inbox.ru\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "96cb4df5ddf5e6d5785b5acd4003e3689b87f896",
      "tree": "e6bd74df480e9065617aebec29b4285fa021c919",
      "parents": [
        "bc75d33f0fc1d56e734db1f56d3cfc8097b8e0cf"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Tue Jun 16 15:32:49 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:42 2009 -0700"
      },
      "message": "page-allocator: add inactive ratio calculation function of each zone\n\nFactor the per-zone arithemetic inside setup_per_zone_inactive_ratio()\u0027s\nloop into a a separate function, calculate_zone_inactive_ratio().  This\nfunction will be used in a later patch\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bc75d33f0fc1d56e734db1f56d3cfc8097b8e0cf",
      "tree": "4dc5054afdff491d8378dee2a235da64d6ad3de6",
      "parents": [
        "b70d94ee438b3fd9c15c7691d7a932a135c18101"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Tue Jun 16 15:32:48 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:41 2009 -0700"
      },
      "message": "page-allocator: clean up functions related to pages_min\n\nChange the names of two functions. It doesn\u0027t affect behavior.\n\nPresently, setup_per_zone_pages_min() changes low, high of zone as well as\nmin.  So a better name is setup_per_zone_wmarks().  That\u0027s because Mel\nchanged zone-\u003epages_[hig/low/min] to zone-\u003ewatermark array in \"page\nallocator: replace the watermark-related union in struct zone with a\nwatermark[] array\".\n\n * setup_per_zone_pages_min \u003d\u003e setup_per_zone_wmarks\n\nOf course, we have to change init_per_zone_pages_min, too.  There are not\npages_min any more.\n\n * init_per_zone_pages_min \u003d\u003e init_per_zone_wmark_min\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3b6748e2dd69906af3835db4dc9d1c8a3ee4c68c",
      "tree": "5d5476844f8e29e31684ce8ccf7e163ab3182ad6",
      "parents": [
        "03668a4debf4f50de55c34b6e66dae63e1c73716"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Tue Jun 16 15:32:35 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:40 2009 -0700"
      },
      "message": "mm: introduce follow_pfn()\n\nAnaloguous to follow_phys(), add a helper that looks up the PFN at a\nuser virtual address in an IO mapping or a raw PFN mapping.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nAcked-by: Magnus Damm \u003cmagnus.damm@gmail.com\u003e\nCc: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6484eb3e2a81807722c5f28efef94d8338b7b996",
      "tree": "10ce36f412c2ff0c7eb399af1a189f8e354f56db",
      "parents": [
        "b3c466ce512923298ae8c0121d3e9f397a3f1210"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Jun 16 15:31:54 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:32 2009 -0700"
      },
      "message": "page allocator: do not check NUMA node ID when the caller knows the node is valid\n\nCallers of alloc_pages_node() can optionally specify -1 as a node to mean\n\"allocate from the current node\".  However, a number of the callers in\nfast paths know for a fact their node is valid.  To avoid a comparison and\nbranch, this patch adds alloc_pages_exact_node() that only checks the nid\nwith VM_BUG_ON().  Callers that know their node is valid are then\nconverted.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\t[for the SLOB NUMA bits]\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d2bf6be8ab63aa84e6149aac934649aadf3828b1",
      "tree": "65e7f74f1ed6fd9516f1615b0f293d2aaeede07b",
      "parents": [
        "7ffc59b4d0bdfa00e882339f85b8a969bb7021e2"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Tue Jun 16 15:31:39 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:30 2009 -0700"
      },
      "message": "mm: clean up get_user_pages_fast() documentation\n\nMove more documentation for get_user_pages_fast into the new kerneldoc comment.\nAdd some comments for get_user_pages as well.\n\nAlso, move get_user_pages_fast declaration up to get_user_pages. It wasn\u0027t\nthere initially because it was once a static inline function.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Andy Grover \u003candy.grover@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d30a11004e3411909f2448546f036a011978062e",
      "tree": "c1980adb410d9fabd2c2eb8af9f0ed8ee4b656da",
      "parents": [
        "2fad6f5deee5556f511eab58da78737a23ddb35d"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Tue Jun 16 15:31:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:29 2009 -0700"
      },
      "message": "readahead: record mmap read-around states in file_ra_state\n\nMmap read-around now shares the same code style and data structure with\nreadahead code.\n\nThis also removes do_page_cache_readahead().  Its last user, mmap\nread-around, has been changed to call ra_submit().\n\nThe no-readahead-if-congested logic is dumped by the way.  Users will be\npretty sensitive about the slow loading of executables.  So it\u0027s\nunfavorable to disabled mmap read-around on a congested queue.\n\n[akpm@linux-foundation.org: coding-style fixes]\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "465a454f254ee2ff7acc4aececbe31f8af046bc0",
      "tree": "459a4ba588c9ccd2320e20d6f9ae66538f2ebfea",
      "parents": [
        "75f937f24bd9c003dcb9d7d5509f23459f1f6000"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jun 15 12:31:37 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 15 15:57:51 2009 +0200"
      },
      "message": "x86, mm: Add __get_user_pages_fast()\n\nIntroduce a gup_fast() variant which is usable from IRQ/NMI context.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCC: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3296ca27f50ecbd71db1d808c7a72d311027f919",
      "tree": "833eaa58b2013bda86d4bd95faf6efad7a2d5ca4",
      "parents": [
        "e893123c7378192c094747dadec326b7c000c190",
        "73fbad283cfbbcf02939bdbda31fc4a30e729cca"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 11 10:01:41 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 11 10:01:41 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: (44 commits)\n  nommu: Provide mmap_min_addr definition.\n  TOMOYO: Add description of lists and structures.\n  TOMOYO: Remove unused field.\n  integrity: ima audit dentry_open failure\n  TOMOYO: Remove unused parameter.\n  security: use mmap_min_addr indepedently of security models\n  TOMOYO: Simplify policy reader.\n  TOMOYO: Remove redundant markers.\n  SELinux: define audit permissions for audit tree netlink messages\n  TOMOYO: Remove unused mutex.\n  tomoyo: avoid get+put of task_struct\n  smack: Remove redundant initialization.\n  integrity: nfsd imbalance bug fix\n  rootplug: Remove redundant initialization.\n  smack: do not beyond ARRAY_SIZE of data\n  integrity: move ima_counts_get\n  integrity: path_check update\n  IMA: Add __init notation to ima functions\n  IMA: Minimal IMA policy and boot param for TCB IMA policy\n  selinux: remove obsolete read buffer limit from sel_read_bool\n  ...\n"
    },
    {
      "commit": "862366118026a358882eefc70238dbcc3db37aac",
      "tree": "4eb62bc10327a5afac064a95a091ea05ecd2acc1",
      "parents": [
        "57eee9ae7bbcfb692dc96c739a5184adb6349733",
        "511b01bdf64ad8a38414096eab283c7784aebfc4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 10 19:53:40 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 10 19:53:40 2009 -0700"
      },
      "message": "Merge branch \u0027tracing-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (244 commits)\n  Revert \"x86, bts: reenable ptrace branch trace support\"\n  tracing: do not translate event helper macros in print format\n  ftrace/documentation: fix typo in function grapher name\n  tracing/events: convert block trace points to TRACE_EVENT(), fix !CONFIG_BLOCK\n  tracing: add protection around module events unload\n  tracing: add trace_seq_vprint interface\n  tracing: fix the block trace points print size\n  tracing/events: convert block trace points to TRACE_EVENT()\n  ring-buffer: fix ret in rb_add_time_stamp\n  ring-buffer: pass in lockdep class key for reader_lock\n  tracing: add annotation to what type of stack trace is recorded\n  tracing: fix multiple use of __print_flags and __print_symbolic\n  tracing/events: fix output format of user stack\n  tracing/events: fix output format of kernel stack\n  tracing/trace_stack: fix the number of entries in the header\n  ring-buffer: discard timestamps that are at the start of the buffer\n  ring-buffer: try to discard unneeded timestamps\n  ring-buffer: fix bug in ring_buffer_discard_commit\n  ftrace: do not profile functions when disabled\n  tracing: make trace pipe recognize latency format flag\n  ...\n"
    },
    {
      "commit": "73fbad283cfbbcf02939bdbda31fc4a30e729cca",
      "tree": "7c89fe13e1b4a2c7f2d60f4ea6eaf69c14bccab7",
      "parents": [
        "769f3e8c384795cc350e2aae27de2a12374d19d4",
        "35f2c2f6f6ae13ef23c4f68e6d3073753077ca43"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Jun 11 11:03:14 2009 +1000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Jun 11 11:03:14 2009 +1000"
      },
      "message": "Merge branch \u0027next\u0027 into for-linus\n"
    },
    {
      "commit": "e0a94c2a63f2644826069044649669b5e7ca75d3",
      "tree": "debf8a9af6ac23dadd116dc1cd1f9dcefe9629c6",
      "parents": [
        "7d2948b1248109dbc7f4aaf9867c54b1912d494c"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Wed Jun 03 16:04:31 2009 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Jun 04 12:07:48 2009 +1000"
      },
      "message": "security: use mmap_min_addr indepedently of security models\n\nThis patch removes the dependency of mmap_min_addr on CONFIG_SECURITY.\nIt also sets a default mmap_min_addr of 4096.\n\nmmapping of addresses below 4096 will only be possible for processes\nwith CAP_SYS_RAWIO.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nLooks-ok-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "888a589f6be07d624e21e2174d98375e9f95911b",
      "tree": "5c2c210796a114479807f41fc15fe69805d66074",
      "parents": [
        "b286e21868ea1af724a7a4802da2c8e144fa70de"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Fri May 15 13:59:37 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 18 09:13:31 2009 +0200"
      },
      "message": "mm, x86: remove MEMORY_HOTPLUG_RESERVE related code\n\nafter:\n\n | commit b263295dbffd33b0fbff670720fa178c30e3392a\n | Author: Christoph Lameter \u003cclameter@sgi.com\u003e\n | Date:   Wed Jan 30 13:30:47 2008 +0100\n |\n |    x86: 64-bit, make sparsemem vmemmap the only memory model\n\nwe don\u0027t have MEMORY_HOTPLUG_RESERVE anymore.\n\nHistorically, x86-64 had an architecture-specific method for memory hotplug\nwhereby it scanned the SRAT for physical memory ranges that could be\npotentially used for memory hot-add later. By reserving those ranges\nwithout physical memory, the memmap would be allocated and left dormant\nuntil needed. This depended on the DISCONTIG memory model which has been\nremoved so the code implementing HOTPLUG_RESERVE is now dead.\n\nThis patch removes the dead code used by MEMORY_HOTPLUG_RESERVE.\n\n(Changelog authored by Mel.)\n\nv2: updated changelog, and remove hotadd\u003d in doc\n\n[ Impact: remove dead code ]\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nWorkflow-found-OK-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLKML-Reference: \u003c4A0C4910.7090508@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1cb81b143fa8f0e4629f10690862e2e52ca792ff",
      "tree": "667b9677f8ad1211ca3d094bedabe47a3d4f5ba9",
      "parents": [
        "7e0bfad24d85de7cf2202a7b0ce51de11a077b21"
      ],
      "author": {
        "name": "Markus Metzger",
        "email": "markus.t.metzger@intel.com",
        "time": "Fri Apr 24 09:51:43 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 24 10:18:52 2009 +0200"
      },
      "message": "x86, bts, mm: clean up buffer allocation\n\nThe current mm interface is asymetric. One function allocates a locked\nbuffer, another function only refunds the memory.\n\nChange this to have two functions for accounting and refunding locked\nmemory, respectively; and do the actual buffer allocation in ptrace.\n\n[ Impact: refactor BTS buffer allocation code ]\n\nSigned-off-by: Markus Metzger \u003cmarkus.t.metzger@intel.com\u003e\nAcked-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20090424095143.A30265@sedona.ch.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a34b50ddc265bae058c66661b096ef6384c5a8b1",
      "tree": "cd37db20405efebdfff8f0601d985717ab770ae2",
      "parents": [
        "44bc9dc729e33a4ec6ebed4d0b6c08e8d20b42cf"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 08 10:56:54 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 08 10:57:24 2009 +0200"
      },
      "message": "mm, x86, ptrace, bts: defer branch trace stopping, remove dead code\n\nRemove the unused free_locked_buffer() API.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "44bc9dc729e33a4ec6ebed4d0b6c08e8d20b42cf",
      "tree": "10fd9713406ba588638fff5fe9bc309371fc782e",
      "parents": [
        "017bc617657c928cb9a0c45a7a7e9f4e66695347"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 08 10:47:17 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 08 10:47:17 2009 +0200"
      },
      "message": "mm, x86, ptrace, bts: defer branch trace stopping, cleanup\n\nAndrew Morton noticed that mm.h needlessly includes sched.h - remove it.\n\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e2b371f00a6f529f6362654239bdec8dcd510760",
      "tree": "36e47cd9fb949fd72893c2d5ddab489fa55b1869",
      "parents": [
        "a26b89f05d194413c7238e0bea071054f6b5d3c8"
      ],
      "author": {
        "name": "Markus Metzger",
        "email": "markus.t.metzger@intel.com",
        "time": "Fri Apr 03 16:43:35 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 07 13:36:13 2009 +0200"
      },
      "message": "mm, x86, ptrace, bts: defer branch trace stopping\n\nWhen a ptraced task is unlinked, we need to stop branch tracing for\nthat task.\n\nSince the unlink is called with interrupts disabled, and we need\ninterrupts enabled to stop branch tracing, we defer the work.\n\nCollect all branch tracing related stuff in a branch tracing context.\n\nReviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Markus Metzger \u003cmarkus.t.metzger@intel.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: roland@redhat.com\nCc: eranian@googlemail.com\nCc: juan.villacis@intel.com\nCc: ak@linux.jf.intel.com\nLKML-Reference: \u003c20090403144550.712401000@intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "33e5d76979cf01e3834814fe0aea569d1d602c1a",
      "tree": "58a03e5da59db203245da10db144a4f6f61a83ba",
      "parents": [
        "5482415a5ecc0cd791a5d885cc3db8281401078f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Apr 02 16:56:32 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 19:04:48 2009 -0700"
      },
      "message": "nommu: fix a number of issues with the per-MM VMA patch\n\nFix a number of issues with the per-MM VMA patch:\n\n (1) Make mmap_pages_allocated an atomic_long_t, just in case this is used on\n     a NOMMU system with more than 2G pages.  Makes no difference on a 32-bit\n     system.\n\n (2) Report vma-\u003evm_pgoff * PAGE_SIZE as a 64-bit value, not a 32-bit value,\n     lest it overflow.\n\n (3) Move the allocation of the vm_area_struct slab back for fork.c.\n\n (4) Use KMEM_CACHE() for both vm_area_struct and vm_region slabs.\n\n (5) Use BUG_ON() rather than if () BUG().\n\n (6) Make the default validate_nommu_regions() a static inline rather than a\n     #define.\n\n (7) Make free_page_series()\u0027s objection to pages with a refcount !\u003d 1 more\n     informative.\n\n (8) Adjust the __put_nommu_region() banner comment to indicate that the\n     semaphore must be held for writing.\n\n (9) Limit the number of warnings about munmaps of non-mmapped regions.\n\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Greg Ungerer \u003cgerg@snapgear.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c2ec175c39f62949438354f603f4aa170846aabb",
      "tree": "f2c9bf1bec2deabe2d3a5092405b027637b6ead3",
      "parents": [
        "c2fdf3a9b2d52842808a8e551b53b55dd9b45030"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Mar 31 15:23:21 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:14 2009 -0700"
      },
      "message": "mm: page_mkwrite change prototype to match fault\n\nChange the page_mkwrite prototype to take a struct vm_fault, and return\nVM_FAULT_xxx flags.  There should be no functional change.\n\nThis makes it possible to return much more detailed error information to\nthe VM (and also can provide more information eg.  virtual_address to the\ndriver, which might be important in some special cases).\n\nThis is required for a subsequent fix.  And will also make it easier to\nmerge page_mkwrite() with fault() in future.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Mark Fasheh \u003cmfasheh@suse.com\u003e\nCc: Joel Becker \u003cjoel.becker@oracle.com\u003e\nCc: Artem Bityutskiy \u003cdedekind@infradead.org\u003e\nCc: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e3a7cca1ef4c1af9b0acef9bd66eff6582a737b5",
      "tree": "717097ec82ce0de55e44b2fe3e35fa041e5169b2",
      "parents": [
        "bd2f6199cf9af472aeefa1b642c9f504f19e6008"
      ],
      "author": {
        "name": "Edward Shishkin",
        "email": "edward.shishkin@gmail.com",
        "time": "Tue Mar 31 15:19:39 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:12 2009 -0700"
      },
      "message": "vfs: add/use account_page_dirtied()\n\nAdd a helper function account_page_dirtied().  Use that from two\ncallsites.  reiser4 adds a function which adds a third callsite.\n\nSigned-off-by: Edward Shishkin\u003cedward.shishkin@gmail.com\u003e\nCc: 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": "895791dac6946d535991edd11341046f8e85ea77",
      "tree": "4ad589460b0d7c039f5d5a42666c6bd572255049",
      "parents": [
        "4bb9c5c02153dfc89a6c73a6f32091413805ad7d"
      ],
      "author": {
        "name": "Pallipadi, Venkatesh",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Fri Mar 13 16:35:44 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Mar 14 09:47:44 2009 +0100"
      },
      "message": "VM, x86, PAT: add a new vm flag to track full pfnmap at mmap\n\nImpact: cleanup\n\nAdd a new vm flag VM_PFN_AT_MMAP to identify a PFNMAP that is\nfully mapped with remap_pfn_range. Patch removes the overloading\nof VM_INSERTPAGE from the earlier patch.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nAcked-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nLKML-Reference: \u003c20090313233543.GA19909@linux-os.sc.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4bb9c5c02153dfc89a6c73a6f32091413805ad7d",
      "tree": "408dee350cab80fbe7884b6640d651ef8ec44601",
      "parents": [
        "6a5c05f002c3e4f24887a5fe8e7df757d339d368"
      ],
      "author": {
        "name": "Pallipadi, Venkatesh",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Thu Mar 12 17:45:27 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 13 04:28:50 2009 +0100"
      },
      "message": "VM, x86, PAT: Change is_linear_pfn_mapping to not use vm_pgoff\n\nImpact: fix false positive PAT warnings - also fix VirtalBox hang\n\nUse of vma-\u003evm_pgoff to identify the pfnmaps that are fully\nmapped at mmap time is broken. vm_pgoff is set by generic mmap\ncode even for cases where drivers are setting up the mappings\nat the fault time.\n\nThe problem was originally reported here:\n\n http://marc.info/?l\u003dlinux-kernel\u0026m\u003d123383810628583\u0026w\u003d2\n\nChange is_linear_pfn_mapping logic to overload VM_INSERTPAGE\nflag along with VM_PFNMAP to mean full PFNMAP setup at mmap\ntime.\n\nProblem also tracked at:\n\n http://bugzilla.kernel.org/show_bug.cgi?id\u003d12800\n\nReported-by: Thomas Hellstrom \u003cthellstrom@vmware.com\u003e\nTested-by: Frans Pop \u003celendil@planet.nl\u003e\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha\u003e@intel.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: \"ebiederm@xmission.com\" \u003cebiederm@xmission.com\u003e\nCc: \u003cstable@kernel.org\u003e # only for 2.6.29.1, not .28\nLKML-Reference: \u003c20090313004527.GA7176@linux-os.sc.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f2dbcfa738368c8a40d4a5f0b65dc9879577cb21",
      "tree": "bdea32c637fa572a9c356cddd202a57530b2a45c",
      "parents": [
        "ada723dcd681e2dffd7d73345cc8fda0eb0df9bd"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Feb 18 14:48:32 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:55 2009 -0800"
      },
      "message": "mm: clean up for early_pfn_to_nid()\n\nWhat\u0027s happening is that the assertion in mm/page_alloc.c:move_freepages()\nis triggering:\n\n\tBUG_ON(page_zone(start_page) !\u003d page_zone(end_page));\n\nOnce I knew this is what was happening, I added some annotations:\n\n\tif (unlikely(page_zone(start_page) !\u003d page_zone(end_page))) {\n\t\tprintk(KERN_ERR \"move_freepages: Bogus zones: \"\n\t\t       \"start_page[%p] end_page[%p] zone[%p]\\n\",\n\t\t       start_page, end_page, zone);\n\t\tprintk(KERN_ERR \"move_freepages: \"\n\t\t       \"start_zone[%p] end_zone[%p]\\n\",\n\t\t       page_zone(start_page), page_zone(end_page));\n\t\tprintk(KERN_ERR \"move_freepages: \"\n\t\t       \"start_pfn[0x%lx] end_pfn[0x%lx]\\n\",\n\t\t       page_to_pfn(start_page), page_to_pfn(end_page));\n\t\tprintk(KERN_ERR \"move_freepages: \"\n\t\t       \"start_nid[%d] end_nid[%d]\\n\",\n\t\t       page_to_nid(start_page), page_to_nid(end_page));\n ...\n\nAnd here\u0027s what I got:\n\n\tmove_freepages: Bogus zones: start_page[2207d0000] end_page[2207dffc0] zone[fffff8103effcb00]\n\tmove_freepages: start_zone[fffff8103effcb00] end_zone[fffff8003fffeb00]\n\tmove_freepages: start_pfn[0x81f600] end_pfn[0x81f7ff]\n\tmove_freepages: start_nid[1] end_nid[0]\n\nMy memory layout on this box is:\n\n[    0.000000] Zone PFN ranges:\n[    0.000000]   Normal   0x00000000 -\u003e 0x0081ff5d\n[    0.000000] Movable zone start PFN for each node\n[    0.000000] early_node_map[8] active PFN ranges\n[    0.000000]     0: 0x00000000 -\u003e 0x00020000\n[    0.000000]     1: 0x00800000 -\u003e 0x0081f7ff\n[    0.000000]     1: 0x0081f800 -\u003e 0x0081fe50\n[    0.000000]     1: 0x0081fed1 -\u003e 0x0081fed8\n[    0.000000]     1: 0x0081feda -\u003e 0x0081fedb\n[    0.000000]     1: 0x0081fedd -\u003e 0x0081fee5\n[    0.000000]     1: 0x0081fee7 -\u003e 0x0081ff51\n[    0.000000]     1: 0x0081ff59 -\u003e 0x0081ff5d\n\nSo it\u0027s a block move in that 0x81f600--\u003e0x81f7ff region which triggers\nthe problem.\n\nThis patch:\n\nDeclaration of early_pfn_to_nid() is scattered over per-arch include\nfiles, and it seems it\u0027s complicated to know when the declaration is used.\n I think it makes fix-for-memmap-init not easy.\n\nThis patch moves all declaration to include/linux/mm.h\n\nAfter this,\n  if !CONFIG_NODES_POPULATES_NODE_MAP \u0026\u0026 !CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID\n     -\u003e Use static definition in include/linux/mm.h\n  else if !CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID\n     -\u003e Use generic definition in mm/page_alloc.c\n  else\n     -\u003e per-arch back end function will be called.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nTested-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReported-by: David Miller \u003cdavem@davemlloft.net\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.25.x, 2.6.26.x, 2.6.27.x, 2.6.28.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1cf6e7d83bf334cc5916137862c920a97aabc018",
      "tree": "6bdbc4a98e9b332919beaeba0649797fff544795",
      "parents": [
        "610d18f4128ebbd88845d0fc60cce67b49af881e"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Feb 18 14:48:18 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:54 2009 -0800"
      },
      "message": "mm: task dirty accounting fix\n\nYAMAMOTO-san noticed that task_dirty_inc doesn\u0027t seem to be called properly for\ncases where set_page_dirty is not used to dirty a page (eg. mark_buffer_dirty).\n\nAdditionally, there is some inconsistency about when task_dirty_inc is\ncalled.  It is used for dirty balancing, however it even gets called for\n__set_page_dirty_no_writeback.\n\nSo rather than increment it in a set_page_dirty wrapper, move it down to\nexactly where the dirty page accounting stats are incremented.\n\nCc: YAMAMOTO Takashi \u003cyamamoto@valinux.co.jp\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\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": "35010334aa007480a833401b80922299cb1a15ef",
      "tree": "6e318eb89da45d37ea8dceddd1ae6858b74dee1e",
      "parents": [
        "8ce9a75a307e142a8871c649627555e0e4a1eefb",
        "be716615fe596ee117292dc615e95f707fb67fd1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 17 14:27:39 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 17 14:27:39 2009 -0800"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, vm86: fix preemption bug\n  x86, olpc: fix model detection without OFW\n  x86, hpet: fix for LS21 + HPET \u003d boot hang\n  x86: CPA avoid repeated lazy mmu flush\n  x86: warn if arch_flush_lazy_mmu_cpu is called in preemptible context\n  x86/paravirt: make arch_flush_lazy_mmu/cpu disable preemption\n  x86, pat: fix warn_on_once() while mapping 0-1MB range with /dev/mem\n  x86/cpa: make sure cpa is safe to call in lazy mmu mode\n  x86, ptrace, mm: fix double-free on race\n"
    },
    {
      "commit": "9f339e7028e2855717af3193c938f9960ad13b38",
      "tree": "76e0e9181f4ee2b324742d517518e837d5c250bf",
      "parents": [
        "06eb23b1ba39c61ee5d5faeb42a097635693e370"
      ],
      "author": {
        "name": "Markus Metzger",
        "email": "markus.t.metzger@intel.com",
        "time": "Wed Feb 11 15:10:27 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 11 15:44:20 2009 +0100"
      },
      "message": "x86, ptrace, mm: fix double-free on race\n\nPtrace_detach() races with __ptrace_unlink() if the traced task is\nreaped while detaching. This might cause a double-free of the BTS\nbuffer.\n\nChange the ptrace_detach() path to only do the memory accounting in\nptrace_bts_detach() and leave the buffer free to ptrace_bts_untrace()\nwhich will be called from __ptrace_unlink().\n\nThe fix follows a proposal from Oleg Nesterov.\n\nReported-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Markus Metzger \u003cmarkus.t.metzger@intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5a6fe125950676015f5108fb71b2a67441755003",
      "tree": "c985fac46de39392466c4917c497b50bdc9c0757",
      "parents": [
        "4c098bcd55fad34dcf224bf8343db6a9ac58fc68"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Feb 10 14:02:27 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 10 10:48:42 2009 -0800"
      },
      "message": "Do not account for the address space used by hugetlbfs using VM_ACCOUNT\n\nWhen overcommit is disabled, the core VM accounts for pages used by anonymous\nshared, private mappings and special mappings. It keeps track of VMAs that\nshould be accounted for with VM_ACCOUNT and VMAs that never had a reserve\nwith VM_NORESERVE.\n\nOvercommit for hugetlbfs is much riskier than overcommit for base pages\ndue to contiguity requirements. It avoids overcommiting on both shared and\nprivate mappings using reservation counters that are checked and updated\nduring mmap(). This ensures (within limits) that hugepages exist in the\nfuture when faults occurs or it is too easy to applications to be SIGKILLed.\n\nAs hugetlbfs makes its own reservations of a different unit to the base page\nsize, VM_ACCOUNT should never be set. Even if the units were correct, we would\ndouble account for the usage in the core VM and hugetlbfs. VM_NORESERVE may\nbe set because an application can request no reserves be made for hugetlbfs\nat the risk of getting killed later.\n\nWith commit fc8744adc870a8d4366908221508bb113d8b72ee, VM_NORESERVE and\nVM_ACCOUNT are getting unconditionally set for hugetlbfs-backed mappings. This\nbreaks the accounting for both the core VM and hugetlbfs, can trigger an\nOOM storm when hugepage pools are too small lockups and corrupted counters\notherwise are used. This patch brings hugetlbfs more in line with how the\ncore VM treats VM_NORESERVE but prevents VM_ACCOUNT being set.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "18e6959c385f3edf3991fa6662a53dac4eb10d5b",
      "tree": "9cb7911e022ce8943bdfb3f6611ce758963abb67",
      "parents": [
        "a6525042bfdfcab128bd91fad264de10fd24a55e"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Jan 14 07:28:16 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 14 07:32:44 2009 -0800"
      },
      "message": "mm: fix assertion\n\nThis assertion is incorrect for lockless pagecache.  By definition if we\nhave an unpinned page that we are trying to take a speculative reference\nto, it may become the tail of a compound page at any time (if it is\nfreed, then reallocated as a compound page).\n\nIt was still a valid assertion for the vmscan.c LRU isolation case, but\nit doesn\u0027t seem incredibly helpful...  if somebody wants it, they can\nput it back directly where it applies in the vmscan code.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8feae13110d60cc6287afabc2887366b0eb226c2",
      "tree": "b3188986faab70e753e00ea8670a11ba8ec844c0",
      "parents": [
        "41836382ebb415d68d3ebc4525e78e871fe58baf"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jan 08 12:04:47 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jan 08 12:04:47 2009 +0000"
      },
      "message": "NOMMU: Make VMAs per MM as for MMU-mode linux\n\nMake VMAs per mm_struct as for MMU-mode linux.  This solves two problems:\n\n (1) In SYSV SHM where nattch for a segment does not reflect the number of\n     shmat\u0027s (and forks) done.\n\n (2) In mmap() where the VMA\u0027s vm_mm is set to point to the parent mm by an\n     exec\u0027ing process when VM_EXECUTABLE is specified, regardless of the fact\n     that a VMA might be shared and already have its vm_mm assigned to another\n     process or a dead process.\n\nA new struct (vm_region) is introduced to track a mapped region and to remember\nthe circumstances under which it may be shared and the vm_list_struct structure\nis discarded as it\u0027s no longer required.\n\nThis patch makes the following additional changes:\n\n (1) Regions are now allocated with alloc_pages() rather than kmalloc() and\n     with no recourse to __GFP_COMP, so the pages are not composite.  Instead,\n     each page has a reference on it held by the region.  Anything else that is\n     interested in such a page will have to get a reference on it to retain it.\n     When the pages are released due to unmapping, each page is passed to\n     put_page() and will be freed when the page usage count reaches zero.\n\n (2) Excess pages are trimmed after an allocation as the allocation must be\n     made as a power-of-2 quantity of pages.\n\n (3) VMAs are added to the parent MM\u0027s R/B tree and mmap lists.  As an MM may\n     end up with overlapping VMAs within the tree, the VMA struct address is\n     appended to the sort key.\n\n (4) Non-anonymous VMAs are now added to the backing inode\u0027s prio list.\n\n (5) Holes may be punched in anonymous VMAs with munmap(), releasing parts of\n     the backing region.  The VMA and region structs will be split if\n     necessary.\n\n (6) sys_shmdt() only releases one attachment to a SYSV IPC shared memory\n     segment instead of all the attachments at that addresss.  Multiple\n     shmat()\u0027s return the same address under NOMMU-mode instead of different\n     virtual addresses as under MMU-mode.\n\n (7) Core dumping for ELF-FDPIC requires fewer exceptions for NOMMU-mode.\n\n (8) /proc/maps is now the global list of mapped regions, and may list bits\n     that aren\u0027t actually mapped anywhere.\n\n (9) /proc/meminfo gains a line (tagged \"MmapCopy\") that indicates the amount\n     of RAM currently allocated by mmap to hold mappable regions that can\u0027t be\n     mapped directly.  These are copies of the backing device or file if not\n     anonymous.\n\nThese changes make NOMMU mode more similar to MMU mode.  The downside is that\nNOMMU mode requires some extra memory to track things over NOMMU without this\npatch (VMAs are no longer shared, and there are now region structs).\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nTested-by: Mike Frysinger \u003cvapier.adi@gmail.com\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "1c0fe6e3bda0464728c23c8d84aa47567e8b716c",
      "tree": "64f7903ee7757b14464e8a06bf91f5c4d5a8ba56",
      "parents": [
        "5bd1455c239672081d0e7f086e899b8cbc7a9844"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Jan 06 14:38:59 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:58:58 2009 -0800"
      },
      "message": "mm: invoke oom-killer from page fault\n\nRather than have the pagefault handler kill a process directly if it gets\na VM_FAULT_OOM, have it call into the OOM killer.\n\nWith increasingly sophisticated oom behaviour (cpusets, memory cgroups,\noom killing throttling, oom priority adjustment or selective disabling,\npanic on oom, etc), it\u0027s silly to unconditionally kill the faulting\nprocess at page fault time.  Create a hook for pagefault oom path to call\ninto instead.\n\nOnly converted x86 and uml so far.\n\n[akpm@linux-foundation.org: make __out_of_memory() static]\n[akpm@linux-foundation.org: fix comment]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b0f4b285d7ed174804658539129a834270f4829a",
      "tree": "be7f8dca58075aba2c6a137fcfd4d44c5c333efc",
      "parents": [
        "be9c5ae4eeec2e85527e95647348b8ea4eb25128",
        "5250d329e38cdf7580faeb9c53c17d3588d7d19c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:21:10 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:21:10 2008 -0800"
      },
      "message": "Merge branch \u0027tracing-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (241 commits)\n  sched, trace: update trace_sched_wakeup()\n  tracing/ftrace: don\u0027t trace on early stage of a secondary cpu boot, v3\n  Revert \"x86: disable X86_PTRACE_BTS\"\n  ring-buffer: prevent false positive warning\n  ring-buffer: fix dangling commit race\n  ftrace: enable format arguments checking\n  x86, bts: memory accounting\n  x86, bts: add fork and exit handling\n  ftrace: introduce tracing_reset_online_cpus() helper\n  tracing: fix warnings in kernel/trace/trace_sched_switch.c\n  tracing: fix warning in kernel/trace/trace.c\n  tracing/ring-buffer: remove unused ring_buffer size\n  trace: fix task state printout\n  ftrace: add not to regex on filtering functions\n  trace: better use of stack_trace_enabled for boot up code\n  trace: add a way to enable or disable the stack tracer\n  x86: entry_64 - introduce FTRACE_ frame macro v2\n  tracing/ftrace: add the printk-msg-only option\n  tracing/ftrace: use preempt_enable_no_resched_notrace in ring_buffer_time_stamp()\n  x86, bts: correctly report invalid bts records\n  ...\n\nFixed up trivial conflict in scripts/recordmcount.pl due to SH bits\nbeing already partly merged by the SH merge.\n"
    },
    {
      "commit": "c5dee6177f4bd2095aab7d9be9f6ebdddd6deee9",
      "tree": "fb980dcfc3d3e6f04d4dcef488c370ca653434da",
      "parents": [
        "bf53de907dfdaac178c92d774aae7370d7b97d20"
      ],
      "author": {
        "name": "Markus Metzger",
        "email": "markus.t.metzger@intel.com",
        "time": "Fri Dec 19 15:17:02 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Dec 20 09:15:47 2008 +0100"
      },
      "message": "x86, bts: memory accounting\n\nImpact: move the BTS buffer accounting to the mlock bucket\n\nAdd alloc_locked_buffer() and free_locked_buffer() functions to mm/mlock.c\nto kalloc a buffer and account the locked memory to current.\n\nAccount the memory for the BTS buffer to the tracer.\n\nSigned-off-by: Markus Metzger \u003cmarkus.t.metzger@intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "34801ba9bf0381fcf0e2b08179d2c07f2c6ede74",
      "tree": "e14d979cb9abf9220d0c60b04505851805975398",
      "parents": [
        "982d789ab76c8a11426852fec2fdf2f412e21c0c"
      ],
      "author": {
        "name": "venkatesh.pallipadi@intel.com",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Fri Dec 19 13:47:29 2008 -0800"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Dec 19 15:40:30 2008 -0800"
      },
      "message": "x86: PAT: move track untrack pfnmap stubs to asm-generic\n\nImpact: Cleanup and branch hints only.\n\nMove the track and untrack pfn stub routines from memory.c to asm-generic.\nAlso add unlikely to pfnmap related calls in fork and exit path.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "982d789ab76c8a11426852fec2fdf2f412e21c0c",
      "tree": "41e6932764facecb11bc9ca831ffd67ded384d68",
      "parents": [
        "d87fe6607c31944f7572f965c1507ae77026c133"
      ],
      "author": {
        "name": "venkatesh.pallipadi@intel.com",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Fri Dec 19 13:47:28 2008 -0800"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Dec 19 15:40:30 2008 -0800"
      },
      "message": "x86: PAT: remove follow_pfnmap_pte in favor of follow_phys\n\nImpact: Cleanup - removes a new function in favor of a recently modified older one.\n\nReplace follow_pfnmap_pte in pat code with follow_phys. follow_phys lso\nreturns protection eliminating the need of pte_pgprot call. Using follow_phys\nalso eliminates the need for pte_pa.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "d87fe6607c31944f7572f965c1507ae77026c133",
      "tree": "56e41312b33ca3fe2bca50252f436e5f19e256a8",
      "parents": [
        "6bd9cd50c830eb88d571c492ec370a30bf999e15"
      ],
      "author": {
        "name": "venkatesh.pallipadi@intel.com",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Fri Dec 19 13:47:27 2008 -0800"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Dec 19 15:40:30 2008 -0800"
      },
      "message": "x86: PAT: modify follow_phys to return phys_addr prot and return value\n\nImpact: Changes and globalizes an existing static interface.\n\nFollow_phys does similar things as follow_pfnmap_pte. Make a minor change\nto follow_phys so that it can be used in place of follow_pfnmap_pte.\nPhysical address return value with 0 as error return does not work in\nfollow_phys as the actual physical address 0 mapping may exist in pte.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "6bd9cd50c830eb88d571c492ec370a30bf999e15",
      "tree": "4232d9aacd16e524644e8a259a35d99efec97ea4",
      "parents": [
        "a2ced6e173e0c93870f79856e97825f4e180891e"
      ],
      "author": {
        "name": "venkatesh.pallipadi@intel.com",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Fri Dec 19 13:47:26 2008 -0800"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Dec 19 15:40:30 2008 -0800"
      },
      "message": "x86: PAT: clarify is_linear_pfn_mapping() interface\n\nImpact: Documentation only\n\nIncremental patches to address the review comments from Nick Piggin\nfor v3 version of x86 PAT pfnmap changes patchset here\n\nhttp://lkml.indiana.edu/hypermail/linux/kernel/0812.2/01330.html\n\nThis patch:\n\nClarify is_linear_pfn_mapping() and its usage.\n\nIt is used by x86 PAT code for performance reasons. Identifying pfnmap\nas linear over entire vma helps speedup reserve and free of memtype\nfor the region.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "2ab640379a0ab4cef746ced1d7e04a0941774bcb",
      "tree": "53837aaa257f463a0b40c4d00a80fec936558f49",
      "parents": [
        "e121e418441525b5636321fe03d16f0193ad218e"
      ],
      "author": {
        "name": "venkatesh.pallipadi@intel.com",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Thu Dec 18 11:41:29 2008 -0800"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Dec 18 13:30:15 2008 -0800"
      },
      "message": "x86: PAT: hooks in generic vm code to help archs to track pfnmap regions - v3\n\nImpact: Introduces new hooks, which are currently null.\n\nIntroduce generic hooks in remap_pfn_range and vm_insert_pfn and\ncorresponding copy and free routines with reserve and free tracking.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "e121e418441525b5636321fe03d16f0193ad218e",
      "tree": "d9f54fef9c4f137c2e8327edbf3ba8110dfb968d",
      "parents": [
        "3c8bb73ace6249bd089b70c941440441940e3365"
      ],
      "author": {
        "name": "venkatesh.pallipadi@intel.com",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Thu Dec 18 11:41:28 2008 -0800"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Dec 18 13:30:15 2008 -0800"
      },
      "message": "x86: PAT: add follow_pfnmp_pte routine to help tracking pfnmap pages - v3\n\nImpact: New currently unused interface.\n\nAdd a generic interface to follow pfn in a pfnmap vma range. This is used by\none of the subsequent x86 PAT related patch to keep track of memory types\nfor vma regions across vma copy and free.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "3c8bb73ace6249bd089b70c941440441940e3365",
      "tree": "974c8b86fa68c26daa76e5122bab3cf5651a51dd",
      "parents": [
        "55dac3a5553b13891f0ae4bbd11920619b5436d4"
      ],
      "author": {
        "name": "venkatesh.pallipadi@intel.com",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Thu Dec 18 11:41:27 2008 -0800"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Dec 18 13:30:15 2008 -0800"
      },
      "message": "x86: PAT: store vm_pgoff for all linear_over_vma_region mappings - v3\n\nImpact: Code transformation, new functions added should have no effect.\n\nDrivers use mmap followed by pgprot_* and remap_pfn_range or vm_insert_pfn,\nin order to export reserved memory to userspace. Currently, such mappings are\nnot tracked and hence not kept consistent with other mappings (/dev/mem,\npci resource, ioremap) for the sme memory, that may exist in the system.\n\nThe following patchset adds x86 PAT attribute tracking and untracking for\npfnmap related APIs.\n\nFirst three patches in the patchset are changing the generic mm code to fit\nin this tracking. Last four patches are x86 specific to make things work\nwith x86 PAT code. The patchset aso introduces pgprot_writecombine interface,\nwhich gives writecombine mapping when enabled, falling back to\npgprot_noncached otherwise.\n\nThis patch:\n\nWhile working on x86 PAT, we faced some hurdles with trackking\nremap_pfn_range() regions, as we do not have any information to say\nwhether that PFNMAP mapping is linear for the entire vma range or\nit is smaller granularity regions within the vma.\n\nA simple solution to this is to use vm_pgoff as an indicator for\nlinear mapping over the vma region. Currently, remap_pfn_range\nonly sets vm_pgoff for COW mappings. Below patch changes the\nlogic and sets the vm_pgoff irrespective of COW. This will still not\nbe enough for the case where pfn is zero (vma region mapped to\nphysical address zero). But, for all the other cases, we can look at\npfnmap VMAs and say whether the mappng is for the entire vma region\nor not.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "b291f000393f5a0b679012b39d79fbc85c018233",
      "tree": "28eb785d4d157d3396e4377294e6054635a4bd90",
      "parents": [
        "89e004ea55abe201b29e2d6e35124101f1288ef7"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sat Oct 18 20:26:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:30 2008 -0700"
      },
      "message": "mlock: mlocked pages are unevictable\n\nMake sure that mlocked pages also live on the unevictable LRU, so kswapd\nwill not scan them over and over again.\n\nThis is achieved through various strategies:\n\n1) add yet another page flag--PG_mlocked--to indicate that\n   the page is locked for efficient testing in vmscan and,\n   optionally, fault path.  This allows early culling of\n   unevictable pages, preventing them from getting to\n   page_referenced()/try_to_unmap().  Also allows separate\n   accounting of mlock\u0027d pages, as Nick\u0027s original patch\n   did.\n\n   Note:  Nick\u0027s original mlock patch used a PG_mlocked\n   flag.  I had removed this in favor of the PG_unevictable\n   flag + an mlock_count [new page struct member].  I\n   restored the PG_mlocked flag to eliminate the new\n   count field.\n\n2) add the mlock/unevictable infrastructure to mm/mlock.c,\n   with internal APIs in mm/internal.h.  This is a rework\n   of Nick\u0027s original patch to these files, taking into\n   account that mlocked pages are now kept on unevictable\n   LRU list.\n\n3) update vmscan.c:page_evictable() to check PageMlocked()\n   and, if vma passed in, the vm_flags.  Note that the vma\n   will only be passed in for new pages in the fault path;\n   and then only if the \"cull unevictable pages in fault\n   path\" patch is included.\n\n4) add try_to_unlock() to rmap.c to walk a page\u0027s rmap and\n   ClearPageMlocked() if no other vmas have it mlocked.\n   Reuses as much of try_to_unmap() as possible.  This\n   effectively replaces the use of one of the lru list links\n   as an mlock count.  If this mechanism let\u0027s pages in mlocked\n   vmas leak through w/o PG_mlocked set [I don\u0027t know that it\n   does], we should catch them later in try_to_unmap().  One\n   hopes this will be rare, as it will be relatively expensive.\n\nOriginal mm/internal.h, mm/rmap.c and mm/mlock.c changes:\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\n\nsplitlru: introduce __get_user_pages():\n\n  New munlock processing need to GUP_FLAGS_IGNORE_VMA_PERMISSIONS.\n  because current get_user_pages() can\u0027t grab PROT_NONE pages theresore it\n  cause PROT_NONE pages can\u0027t munlock.\n\n[akpm@linux-foundation.org: fix this for pagemap-pass-mm-into-pagewalkers.patch]\n[akpm@linux-foundation.org: untangle patch interdependencies]\n[akpm@linux-foundation.org: fix things after out-of-order merging]\n[hugh@veritas.com: fix page-flags mess]\n[lee.schermerhorn@hp.com: fix munlock page table walk - now requires \u0027mm\u0027]\n[kosaki.motohiro@jp.fujitsu.com: build fix]\n[kosaki.motohiro@jp.fujitsu.com: fix truncate race and sevaral comments]\n[kosaki.motohiro@jp.fujitsu.com: splitlru: introduce __get_user_pages()]\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "89e004ea55abe201b29e2d6e35124101f1288ef7",
      "tree": "272a8f453106fd33d66fd7153f44696648dbe8b6",
      "parents": [
        "ba9ddf49391645e6bb93219131a40446538a5e76"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "Lee.Schermerhorn@hp.com",
        "time": "Sat Oct 18 20:26:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:50:26 2008 -0700"
      },
      "message": "SHM_LOCKED pages are unevictable\n\nShmem segments locked into memory via shmctl(SHM_LOCKED) should not be\nkept on the normal LRU, since scanning them is a waste of time and might\nthrow off kswapd\u0027s balancing algorithms.  Place them on the unevictable\nLRU list instead.\n\nUse the AS_UNEVICTABLE flag to mark address_space of SHM_LOCKed shared\nmemory regions as unevictable.  Then these pages will be culled off the\nnormal LRU lists during vmscan.\n\nAdd new wrapper function to clear the mapping\u0027s unevictable state when/if\nshared memory segment is munlocked.\n\nAdd \u0027scan_mapping_unevictable_page()\u0027 to mm/vmscan.c to scan all pages in\nthe shmem segment\u0027s mapping [struct address_space] for evictability now\nthat they\u0027re no longer locked.  If so, move them to the appropriate zone\nlru list.\n\nChanges depend on [CONFIG_]UNEVICTABLE_LRU.\n\n[kosaki.motohiro@jp.fujitsu.com: revert shm change]\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Kosaki Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8daf14cf56816303d64d1a705fcbc389211ba36e",
      "tree": "c14bcf688efd184ab10b576259d570f6d3d09c56",
      "parents": [
        "1db5fff9aeab18566eb380e354629fdbbe7792f0",
        "eceb1383361c6327cef4de01d278cd6722ebceeb",
        "28f7e66fc1da53997a545684b21b91fb3ca3f321",
        "fd1452ebf257317f24e0e285a17a2ec2ce3e6df7",
        "7aa413def76146f7b3784228556d9e4bc562eab3",
        "46eaa6702016e3ac9a188172a2c309d6ca1be1cd",
        "45e96f26f257bd873017c6244a6cafd27f6f5439",
        "9f482807a6bd7e2aa1ed0d8cfc48463ec4ca3568",
        "325af5fb1418c79953db0954556de048e061d8b6",
        "acbaa41a780490c791492c41144c774c04875af1",
        "2407390bd20de38740eef87eab4fe3d1deafdbdd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Oct 12 15:50:02 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Oct 12 15:50:02 2008 +0200"
      },
      "message": "Merge branches \u0027x86/xen\u0027, \u0027x86/build\u0027, \u0027x86/microcode\u0027, \u0027x86/mm-debug-v2\u0027, \u0027x86/memory-corruption-check\u0027, \u0027x86/early-printk\u0027, \u0027x86/xsave\u0027, \u0027x86/ptrace-v2\u0027, \u0027x86/quirks\u0027, \u0027x86/setup\u0027, \u0027x86/spinlocks\u0027 and \u0027x86/signal\u0027 into x86/core-v2\n"
    },
    {
      "commit": "f7d0b926ac8c8ec0c7a83ee69409bd2e6bb39f81",
      "tree": "c5d6c99368dbe769c5a7ee9a00843d2745191f68",
      "parents": [
        "adee14b2e1557d0a8559f29681732d05a89dfc35"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Tue Sep 09 15:43:22 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 10 14:04:59 2008 +0200"
      },
      "message": "mm: define USE_SPLIT_PTLOCKS rather than repeating expression\n\nDefine USE_SPLIT_PTLOCKS as a constant expression rather than repeating\n\"NR_CPUS \u003e\u003d CONFIG_SPLIT_PTLOCK_CPUS\" all over the place.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "605d9288b3e8a3d15e6f36185c2fc737b6979572",
      "tree": "010addb96a08b07eaef0db1231bb395c719bb857",
      "parents": [
        "71ef2a46fce43042a60d7ccbf55ecbd789c03c2e"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Aug 16 11:07:21 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 16 16:45:56 2008 -0700"
      },
      "message": "mm: VM_flags comment fixes\n\nTry to comment away a little of the confusion between mm\u0027s vm_area_struct\nvm_flags and vmalloc\u0027s vm_struct flags: based on an idea by Ulrich Drepper.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "912985dce45ef18fcdd9f5439fef054e0e22302a",
      "tree": "394b3be51134bddef200f86dde48aa3e3c7ae94c",
      "parents": [
        "40c42076ebd362dc69210cccea101ac80b6d4bd4"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Aug 12 17:52:52 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Aug 12 17:52:53 2008 +1000"
      },
      "message": "mm: Make generic weak get_user_pages_fast and EXPORT_GPL it\n\nOut of line get_user_pages_fast fallback implementation, make it a weak\nsymbol, get rid of CONFIG_HAVE_GET_USER_PAGES_FAST.\n\nExport the symbol to modules so lguest can use it.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "c627f9cc046c7cd93b4525d89377fb409e170a18",
      "tree": "851913d2ebd2946b577592fb410f750e6fdc943b",
      "parents": [
        "f718cd4add5aea9d379faff92f162571e356cc5f"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Tue Jul 29 22:33:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 30 09:41:47 2008 -0700"
      },
      "message": "mm: add zap_vma_ptes(): a library function to unmap driver ptes\n\nzap_vma_ptes() is intended to be used by drivers to unmap ptes assigned to the\ndriver private vmas.  This interface is similar to zap_page_range() but is\nless general \u0026 less likely to be abused.\n\nNeeded by the GRU driver.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1d1958f05095a7e9ecbba86235122784a3d1b561",
      "tree": "9c0621d0f689c4711d5de2e770140698366b14aa",
      "parents": [
        "3971e1a917548977cff71418a7c3575ffbc9571f"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Tue Jul 29 22:33:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 30 09:41:44 2008 -0700"
      },
      "message": "mm: remove find_max_pfn_with_active_regions\n\nIt has no user now\n\nAlso print out info about adding/removing active regions.\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7906d00cd1f687268f0a3599442d113767795ae6",
      "tree": "63609454d164a088d7f535f826764579c0f297f6",
      "parents": [
        "6beeac76f5f96590fb751af5e138fbc3f62e8460"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "andrea@qumranet.com",
        "time": "Mon Jul 28 15:46:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 16:30:21 2008 -0700"
      },
      "message": "mmu-notifiers: add mm_take_all_locks() operation\n\nmm_take_all_locks holds off reclaim from an entire mm_struct.  This allows\nmmu notifiers to register into the mm at any time with the guarantee that\nno mmu operation is in progress on the mm.\n\nThis operation locks against the VM for all pte/vma/mm related operations\nthat could ever happen on a certain mm.  This includes vmtruncate,\ntry_to_unmap, and all page faults.\n\nThe caller must take the mmap_sem in write mode before calling\nmm_take_all_locks().  The caller isn\u0027t allowed to release the mmap_sem\nuntil mm_drop_all_locks() returns.\n\nmmap_sem in write mode is required in order to block all operations that\ncould modify pagetables and free pages without need of altering the vma\nlayout (for example populate_range() with nonlinear vmas).  It\u0027s also\nneeded in write mode to avoid new anon_vmas to be associated with existing\nvmas.\n\nA single task can\u0027t take more than one mm_take_all_locks() in a row or it\nwould deadlock.\n\nmm_take_all_locks() and mm_drop_all_locks are expensive operations that\nmay have to take thousand of locks.\n\nmm_take_all_locks() can fail if it\u0027s interrupted by signals.\n\nWhen mmu_notifier_register returns, we must be sure that the driver is\nnotified if some task is in the middle of a vmtruncate for the \u0027mm\u0027 where\nthe mmu notifier was registered (mmu_notifier_invalidate_range_start/end\nis run around the vmtruncation but mmu_notifier_register can run after\nmmu_notifier_invalidate_range_start and before\nmmu_notifier_invalidate_range_end).  Same problem for rmap paths.  And\nwe\u0027ve to remove page pinning to avoid replicating the tlb_gather logic\ninside KVM (and GRU doesn\u0027t work well with page pinning regardless of\nneeding tlb_gather), so without mm_take_all_locks when vmtruncate frees\nthe page, kvm would have no way to notice that it mapped into sptes a page\nthat is going into the freelist without a chance of any further\nmmu_notifier notification.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Andrea Arcangeli \u003candrea@qumranet.com\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Robin Holt \u003cholt@sgi.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Kanoj Sarcar \u003ckanojsarcar@yahoo.com\u003e\nCc: Roland Dreier \u003crdreier@cisco.com\u003e\nCc: Steve Wise \u003cswise@opengridcomputing.com\u003e\nCc: Avi Kivity \u003cavi@qumranet.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Anthony Liguori \u003caliguori@us.ibm.com\u003e\nCc: Chris Wright \u003cchrisw@redhat.com\u003e\nCc: Marcelo Tosatti \u003cmarcelo@kvack.org\u003e\nCc: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Izik Eidus \u003cizike@qumranet.com\u003e\nCc: Anthony Liguori \u003caliguori@us.ibm.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "15f59adae001766a2c7f7fe4f196387bb04bcff5",
      "tree": "941f7a7c38af5783d55560ce303f3432fcffc01b",
      "parents": [
        "9d8fddfb17aaee4ffc5e3d0560620d0fa8b50a42"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Jul 25 19:46:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:12 2008 -0700"
      },
      "message": "make mm/memory.c:print_bad_pte() static\n\nThis patch makes the needlessly global print_bad_pte() static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "21cc199baa815d7b3f1ace4be20b9558cbddc00f",
      "tree": "eb4f3fa42a83613e2fe586b2555a811740952dce",
      "parents": [
        "a0a8f5364a5ad248aec6cb705e0092ff563edc2f"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Fri Jul 25 19:45:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:05 2008 -0700"
      },
      "message": "mm: introduce get_user_pages_fast\n\nIntroduce a new get_user_pages_fast mm API, which is basically a\nget_user_pages with a less general API (but still tends to be suited to\nthe common case):\n\n- task and mm are always current and current-\u003emm\n- force is always 0\n- pages is always non-NULL\n- don\u0027t pass back vmas\n\nThis restricted API can be implemented in a much more scalable way on many\narchitectures when the ptes are present, by walking the page tables\nlocklessly (no mmap_sem or page table locks).  When the ptes are not\npopulated, get_user_pages_fast() could be slower.\n\nThis is implemented locklessly on x86, and used in some key direct IO call\nsites, in later patches, which provides nearly 10% performance improvement\non a threaded database workload.\n\nLots of other code could use this too, depending on use cases (eg.  grep\ndrivers/).  And it might inspire some new and clever ways to use it.\n\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nCc: Zach Brown \u003czach.brown@oracle.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nReviewed-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": "27ac792ca0b0a1e7e65f20342260650516c95864",
      "tree": "8e0bc93612da0803fe12303ccb75c837cd633c83",
      "parents": [
        "d92bc318547507a944a22e7ef936793dc0fe167f"
      ],
      "author": {
        "name": "Andrea Righi",
        "email": "righi.andrea@gmail.com",
        "time": "Wed Jul 23 21:28:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:21 2008 -0700"
      },
      "message": "PAGE_ALIGN(): correctly handle 64-bit values on 32-bit architectures\n\nOn 32-bit architectures PAGE_ALIGN() truncates 64-bit values to the 32-bit\nboundary. For example:\n\n\tu64 val \u003d PAGE_ALIGN(size);\n\nalways returns a value \u003c 4GB even if size is greater than 4GB.\n\nThe problem resides in PAGE_MASK definition (from include/asm-x86/page.h for\nexample):\n\n#define PAGE_SHIFT      12\n#define PAGE_SIZE       (_AC(1,UL) \u003c\u003c PAGE_SHIFT)\n#define PAGE_MASK       (~(PAGE_SIZE-1))\n...\n#define PAGE_ALIGN(addr)       (((addr)+PAGE_SIZE-1)\u0026PAGE_MASK)\n\nThe \"~\" is performed on a 32-bit value, so everything in \"and\" with\nPAGE_MASK greater than 4GB will be truncated to the 32-bit boundary.\nUsing the ALIGN() macro seems to be the right way, because it uses\ntypeof(addr) for the mask.\n\nAlso move the PAGE_ALIGN() definitions out of include/asm-*/page.h in\ninclude/linux/mm.h.\n\nSee also lkml discussion: http://lkml.org/lkml/2008/6/11/237\n\n[akpm@linux-foundation.org: fix drivers/media/video/uvc/uvc_queue.c]\n[akpm@linux-foundation.org: fix v850]\n[akpm@linux-foundation.org: fix powerpc]\n[akpm@linux-foundation.org: fix arm]\n[akpm@linux-foundation.org: fix mips]\n[akpm@linux-foundation.org: fix drivers/media/video/pvrusb2/pvrusb2-dvb.c]\n[akpm@linux-foundation.org: fix drivers/mtd/maps/uclinux.c]\n[akpm@linux-foundation.org: fix powerpc]\nSigned-off-by: Andrea Righi \u003crighi.andrea@gmail.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cdfd4325c0d878679bd6a3ba8285b71d9980e3c0",
      "tree": "1b1d52ce2ac528851630c706fbcf9db1072460a5",
      "parents": [
        "e7c4b0bfd025f71cf7624b7c1be174f63caade33"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@shadowen.org",
        "time": "Wed Jul 23 21:27:28 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:16 2008 -0700"
      },
      "message": "mm: record MAP_NORESERVE status on vmas and fix small page mprotect reservations\n\nWith Mel\u0027s hugetlb private reservation support patches applied, strict\novercommit semantics are applied to both shared and private huge page\nmappings.  This can be a problem if an application relied on unlimited\novercommit semantics for private mappings.  An example of this would be an\napplication which maps a huge area with the intention of using it very\nsparsely.  These application would benefit from being able to opt-out of\nthe strict overcommit.  It should be noted that prior to hugetlb\nsupporting demand faulting all mappings were fully populated and so\napplications of this type should be rare.\n\nThis patch stack implements the MAP_NORESERVE mmap() flag for huge page\nmappings.  This flag has the same meaning as for small page mappings,\nsuppressing reservations for that mapping.\n\nThanks to Mel Gorman for reviewing a number of early versions of these\npatches.\n\nThis patch:\n\nWhen a small page mapping is created with mmap() reservations are created\nby default for any memory pages required.  When the region is read/write\nthe reservation is increased for every page, no reservation is needed for\nread-only regions (as they implicitly share the zero page).  Reservations\nare tracked via the VM_ACCOUNT vma flag which is present when the region\nhas reservation backing it.  When we convert a region from read-only to\nread-write new reservations are aquired and VM_ACCOUNT is set.  However,\nwhen a read-only map is created with MAP_NORESERVE it is indistinguishable\nfrom a normal mapping.  When we then convert that to read/write we are\nforced to incorrectly create reservations for it as we have no record of\nthe original MAP_NORESERVE.\n\nThis patch introduces a new vma flag VM_NORESERVE which records the\npresence of the original MAP_NORESERVE flag.  This allows us to\ndistinguish these two circumstances and correctly account the reserve.\n\nAs well as fixing this FIXME in the code, this makes it much easier to\nintroduce MAP_NORESERVE support for huge pages as this flag is available\nconsistantly for the life of the mapping.  VM_ACCOUNT on the other hand is\nheavily used at the generic level in association with small pages.\n\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: Johannes Weiner \u003channes@saeurebad.de\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9109fb7b3520de187ebc3646c209d66a233f7169",
      "tree": "f1d64d2efafb8e1652836126523f1b36fb10acd1",
      "parents": [
        "2185e69f680ae8c8496b6fc15e20c889d5b39b67"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Wed Jul 23 21:27:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:16 2008 -0700"
      },
      "message": "mm: drop unneeded pgdat argument from free_area_init_node()\n\nfree_area_init_node() gets passed in the node id as well as the node\ndescriptor.  This is redundant as the function can trivially get the node\ndescriptor itself by means of NODE_DATA() and the node\u0027s id.\n\nI checked all the users and NODE_DATA() seems to be usable everywhere\nfrom where this function is called.\n\nSigned-off-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "42b7772812d15b86543a23b82bd6070eef9a08b1",
      "tree": "10665ee01fe82ce17c68a6278d044531b1ed64c0",
      "parents": [
        "a352894d07059649398c4769dc8b645e1a1dad88"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Wed Jul 23 21:27:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:15 2008 -0700"
      },
      "message": "mm: remove double indirection on tlb parameter to free_pgd_range() \u0026 Co\n\nThe double indirection here is not needed anywhere and hence (at least)\nconfusing.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nAcked-by: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "28b2ee20c7cba812b6f2ccf6d722cf86d00a84dc",
      "tree": "e8f1efd05c38c1cb26ca3ee051a454eb685fd122",
      "parents": [
        "0d71d10a4252a3938e6b70189bc776171c02e076"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Wed Jul 23 21:27:05 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:15 2008 -0700"
      },
      "message": "access_process_vm device memory infrastructure\n\nIn order to be able to debug things like the X server and programs using\nthe PPC Cell SPUs, the debugger needs to be able to access device memory\nthrough ptrace and /proc/pid/mem.\n\nThis patch:\n\nAdd the generic_access_phys access function and put the hooks in place\nto allow access_process_vm to access device or PPC Cell SPU memory.\n\n[riel@redhat.com: Add documentation for the vm_ops-\u003eaccess function]\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Benjamin Herrensmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\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": "0d71d10a4252a3938e6b70189bc776171c02e076",
      "tree": "2bdaddc5eb5de1543368508e63d8859a94354073",
      "parents": [
        "a969e903a944f69309ee5cc9e7c7b08310d1151e"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Jul 23 21:27:05 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:15 2008 -0700"
      },
      "message": "mm: remove nopfn\n\nThere are no users of nopfn in the tree. Remove it.\n\n[hugh@veritas.com: fix build error]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "43d2548bb2ef7e6d753f91468a746784041e522d",
      "tree": "77d13fcd48fd998393abb825ec36e2b732684a73",
      "parents": [
        "585583d95c5660973bc0cf64add517b040acd8a4",
        "85082fd7cbe3173198aac0eb5e85ab1edcc6352c"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Jul 15 15:44:51 2008 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Jul 15 15:44:51 2008 +1000"
      },
      "message": "Merge commit \u002785082fd7cbe3173198aac0eb5e85ab1edcc6352c\u0027 into test-build\n\nManual fixup of:\n\n\tarch/powerpc/Kconfig"
    },
    {
      "commit": "aba46c5027cb59d98052231b36efcbbde9c77a1d",
      "tree": "b69dd362c74db562789d14136294c5fcbb7632e7",
      "parents": [
        "b845f313d78e4e259ec449909e3bbadf77b53a6d"
      ],
      "author": {
        "name": "Dave Kleikamp",
        "email": "shaggy@linux.vnet.ibm.com",
        "time": "Tue Jul 08 00:28:52 2008 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Jul 09 16:30:45 2008 +1000"
      },
      "message": "powerpc/mm: Define flags for Strong Access Ordering\n\nThis patch defines:\n\n- PROT_SAO, which is passed into mmap() and mprotect() in the prot field\n- VM_SAO in vma-\u003evm_flags, and\n- _PAGE_SAO, the combination of WIMG bits in the pte that enables strong\naccess ordering for the page.\n\nSigned-off-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "d52d53b8a5b258bfaab9223a5e7284fcfdd48577",
      "tree": "8871bb322bdb1b31546eaa130e0017a588bbceab",
      "parents": [
        "1ea598c29748a559a0086a84a016886d786e6272"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Mon Jun 16 20:10:55 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 08 12:48:27 2008 +0200"
      },
      "message": "RFC x86: try to remove arch_get_ram_range\n\nwant to remove arch_get_ram_range, and use early_node_map instead.\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2b4fa851b2f06fdb04cac808b57324f5e51e1578",
      "tree": "97db3ad5adda7683923630982f68b8b52c86e790",
      "parents": [
        "3de352bbd86f890dd0c5e1c09a6a1b0b29e0f8ce",
        "46f68e1c6b04a04772e828ff3bcd07ed708805c2"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 08 11:59:23 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 08 11:59:23 2008 +0200"
      },
      "message": "Merge branch \u0027x86/numa\u0027 into x86/devel\n\nConflicts:\n\n\tarch/x86/Kconfig\n\tarch/x86/kernel/e820.c\n\tarch/x86/kernel/efi_64.c\n\tarch/x86/kernel/mpparse.c\n\tarch/x86/kernel/setup.c\n\tarch/x86/kernel/setup_32.c\n\tarch/x86/mm/init_64.c\n\tinclude/asm-x86/proto.h\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3461b0af025251bbc6b3d56c821c6ac2de6f7209",
      "tree": "5350ad712311a69b4b59deec1ec60d8573db8817",
      "parents": [
        "9f248bde9d47cc177011198c9a15fb339b9f3215"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Mon May 12 21:21:13 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 08 11:31:25 2008 +0200"
      },
      "message": "x86: remove static boot_cpu_pda array v2\n\n  * Remove the boot_cpu_pda array and pointer table from the data section.\n    Allocate the pointer table and array during init.  do_boot_cpu()\n    will reallocate the pda in node local memory and if the cpu is being\n    brought up before the bootmem array is released (after_bootmem \u003d 0),\n    then it will free the initial pda.  This will happen for all cpus\n    present at system startup.\n\n    This removes 512k + 32k bytes from the data section.\n\nFor inclusion into sched-devel/latest tree.\n\nBased on:\n\tgit://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git\n    +   sched-devel/latest  .../mingo/linux-2.6-sched-devel.git\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b5bc6c0e55000dab86b73f838f5ad02908b23755",
      "tree": "4895117f5e69ed8648f102dccc895c80c14fbae5",
      "parents": [
        "d0be6bdea103b8d04c8a3495538b7c0011ae4129"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Sat Jun 14 18:32:52 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 08 10:37:25 2008 +0200"
      },
      "message": "x86, mm: use add_highpages_with_active_regions() for high pages init v2\n\nuse early_node_map to init high pages, so we can remove page_is_ram() and\npage_is_reserved_early() in the big loop with add_one_highpage\n\nalso remove page_is_reserved_early(), it is not needed anymore.\n\nv2: fix the build of other platforms\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cc1050bafebfb1d7935331282e948b5016318192",
      "tree": "7e9e6935ed4a18afb63dedbcd808657c683265f5",
      "parents": [
        "d2dbf343329dc777d77488743465f7be4245971d"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Fri Jun 13 19:08:52 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 08 10:36:29 2008 +0200"
      },
      "message": "x86: replace shrink_active_range() with remove_active_range()\n\nin case we have kva before ramdisk on a node, we still need to use\nthose ranges.\n\nv2: reserve_early kva ram area, in case there are holes in highmem, to avoid\n    those area could be treat as free high pages.\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "896395c290f902576270d84291c1f7f8bfbe339d",
      "tree": "650114bff3a5f808ee1d713ecc443b0eaab2e1c3",
      "parents": [
        "af1cf204ba2fd8135933a2e4df523fb1112dc0e2",
        "1b40a895df6c7d5a80e71f65674060b03d84bbef"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 08 10:32:56 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 08 10:32:56 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into tmp.x86.mpparse.new\n"
    },
    {
      "commit": "59ea746337c69f6a5f1bc4d5e8544b3cbf12f801",
      "tree": "118c9c69eb8a2f6a22c62967ec36288153c87303",
      "parents": [
        "952f4a0a9b27e6dbd5d32e330b3f609ebfa0b061"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Jun 12 13:56:40 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 19 13:31:42 2008 +0200"
      },
      "message": "MM: virtual address debug\n\nAdd some (configurable) expensive sanity checking to catch wrong address\ntranslations on x86.\n\n- create linux/mmdebug.h file to be able include this file in\n  asm headers to not get unsolvable loops in header files\n- __phys_addr on x86_32 became a function in ioremap.c since\n  PAGE_OFFSET, is_vmalloc_addr and VMALLOC_* non-constasts are undefined\n  if declared in page_32.h\n- add __phys_addr_const for initializing doublefault_tss.__cr3\n\nTested on 386, 386pae, x86_64 and x86_64 numa\u003dfake\u003d2.\n\nContains Andi\u0027s enable numa virtual address debug patch.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2165009bdf63f79716a36ad545df14c3cdf958b7",
      "tree": "83d1735f2104b6b5158be56a362856ac1079861d",
      "parents": [
        "cfc53f65f56f9f33c0cf522124045ac5a64076b3"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Thu Jun 12 15:21:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 12 18:05:41 2008 -0700"
      },
      "message": "pagemap: pass mm into pagewalkers\n\nWe need this at least for huge page detection for now, because powerpc\nneeds the vm_area_struct to be able to determine whether a virtual address\nis referring to a huge page (its pmd_huge() doesn\u0027t work).\n\nIt might also come in handy for some of the other users.\n\nSigned-off-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cc1a9d86ce989083703c4bdc11b75a87e1cc404a",
      "tree": "ee2b58df708b291f4a20311508cb26438647f82f",
      "parents": [
        "db3660c1905293b91653e07f7857576df71ebf28"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Sun Jun 08 19:39:16 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 10 11:31:44 2008 +0200"
      },
      "message": "mm, x86: shrink_active_range() should check all\n\nNow we are using register_e820_active_regions() instead of\nadd_active_range() directly. So end_pfn could be different between the\nvalue in early_node_map to node_end_pfn.\n\nSo we need to make shrink_active_range() smarter.\n\nshrink_active_range() is a generic MM function in mm/page_alloc.c but\nit is only used on 32-bit x86. Should we move it back to some file in\narch/x86?\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "925d1c401fa6cfd0df5d2e37da8981494ccdec07",
      "tree": "4f3b7a09311cd99783b822350628125e44f9902d",
      "parents": [
        "e93b4ea20adb20f1f1f07f10ba5d7dd739d2843e"
      ],
      "author": {
        "name": "Matt Helsley",
        "email": "matthltc@us.ibm.com",
        "time": "Tue Apr 29 01:01:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:17 2008 -0700"
      },
      "message": "procfs task exe symlink\n\nThe kernel implements readlink of /proc/pid/exe by getting the file from\nthe first executable VMA.  Then the path to the file is reconstructed and\nreported as the result.\n\nBecause of the VMA walk the code is slightly different on nommu systems.\nThis patch avoids separate /proc/pid/exe code on nommu systems.  Instead of\nwalking the VMAs to find the first executable file-backed VMA we store a\nreference to the exec\u0027d file in the mm_struct.\n\nThat reference would prevent the filesystem holding the executable file\nfrom being unmounted even after unmapping the VMAs.  So we track the number\nof VM_EXECUTABLE VMAs and drop the new reference when the last one is\nunmapped.  This avoids pinning the mounted filesystem.\n\n[akpm@linux-foundation.org: improve comments]\n[yamamoto@valinux.co.jp: fix dup_mmap]\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc:\"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: YAMAMOTO Takashi \u003cyamamoto@valinux.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "07d45da616f8514651360b502314fc9554223a03",
      "tree": "ac9c673a369f2ab3c0476179d4269a432a978a02",
      "parents": [
        "f11b00f3bd89c91c684d56b2082d1b0241ff20ae"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Apr 29 00:58:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:00 2008 -0700"
      },
      "message": "fs/drop_caches.c: make 2 functions static\n\nMake the following needlessly global functions static:\n\n- drop_pagecache()\n- drop_slab()\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a6020ed759404372e8be2b276e85e51735472cc9",
      "tree": "1fb0a346909dcc9d3b916671001af87b17931ddd",
      "parents": [
        "aab0b1029f0843756b68e0ed3ca983685bf43ed6"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Mon Apr 28 02:13:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:24 2008 -0700"
      },
      "message": "mempolicy: document {set|get}_policy() vm_ops APIs\n\nDocument mempolicy return value reference semantics assumed by the rest of the\nmempolicy code for the set_ and get_policy vm_ops in \u003clinux/mm.h\u003e--where the\nprototypes are defined--to inform any future mempolicy vm_op writers what the\nrest of the subsystem expects of them.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "423bad600443c590f34ed7ce357591f76f48f137",
      "tree": "79487f811bf1097f2592c4d20f688d1b1ec41e25",
      "parents": [
        "7e675137a8e1a4d45822746456dd389b65745bf6"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Mon Apr 28 02:13:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:23 2008 -0700"
      },
      "message": "mm: add vm_insert_mixed\n\nvm_insert_mixed will insert either a raw pfn or a refcounted struct page into\nthe page tables, depending on whether vm_normal_page() will return the page or\nnot.  With the introduction of the new pte bit, this is now a too tricky for\ndrivers to be doing themselves.\n\nfilemap_xip uses this in a subsequent patch.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Jared Hulbert \u003cjaredeh@gmail.com\u003e\nCc: Carsten Otte \u003ccotte@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.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": "7e675137a8e1a4d45822746456dd389b65745bf6",
      "tree": "5df01d23ea1b6b212d18f2136ff82913fcbe7718",
      "parents": [
        "b379d790197cdf8a95fb67507d75a24ac0a1678d"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Mon Apr 28 02:13:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:23 2008 -0700"
      },
      "message": "mm: introduce pte_special pte bit\n\ns390 for one, cannot implement VM_MIXEDMAP with pfn_valid, due to their memory\nmodel (which is more dynamic than most).  Instead, they had proposed to\nimplement it with an additional path through vm_normal_page(), using a bit in\nthe pte to determine whether or not the page should be refcounted:\n\nvm_normal_page()\n{\n\t...\n        if (unlikely(vma-\u003evm_flags \u0026 (VM_PFNMAP|VM_MIXEDMAP))) {\n                if (vma-\u003evm_flags \u0026 VM_MIXEDMAP) {\n#ifdef s390\n\t\t\tif (!mixedmap_refcount_pte(pte))\n\t\t\t\treturn NULL;\n#else\n                        if (!pfn_valid(pfn))\n                                return NULL;\n#endif\n                        goto out;\n                }\n\t...\n}\n\nThis is fine, however if we are allowed to use a bit in the pte to determine\nrefcountedness, we can use that to _completely_ replace all the vma based\nschemes.  So instead of adding more cases to the already complex vma-based\nscheme, we can have a clearly seperate and simple pte-based scheme (and get\nslightly better code generation in the process):\n\nvm_normal_page()\n{\n#ifdef s390\n\tif (!mixedmap_refcount_pte(pte))\n\t\treturn NULL;\n\treturn pte_page(pte);\n#else\n\t...\n#endif\n}\n\nAnd finally, we may rather make this concept usable by any architecture rather\nthan making it s390 only, so implement a new type of pte state for this.\nUnfortunately the old vma based code must stay, because some architectures may\nnot be able to spare pte bits.  This makes vm_normal_page a little bit more\nugly than we would like, but the 2 cases are clearly seperate.\n\nSo introduce a pte_special pte state, and use it in mm/memory.c.  It is\ncurrently a noop for all architectures, so this doesn\u0027t actually result in any\ncompiled code changes to mm/memory.o.\n\nBTW:\nI haven\u0027t put vm_normal_page() into arch code as-per an earlier suggestion.\nThe reason is that, regardless of where vm_normal_page is actually\nimplemented, the *abstraction* is still exactly the same. Also, while it\ndepends on whether the architecture has pte_special or not, that is the\nonly two possible cases, and it really isn\u0027t an arch specific function --\nthe role of the arch code should be to provide primitive functions and\naccessors with which to build the core code; pte_special does that. We do\nnot want architectures to know or care about vm_normal_page itself, and\nwe definitely don\u0027t want them being able to invent something new there\nout of sight of mm/ code. If we made vm_normal_page an arch function, then\nwe have to make vm_insert_mixed (next patch) an arch function too. So I\ndon\u0027t think moving it to arch code fundamentally improves any abstractions,\nwhile it does practically make the code more difficult to follow, for both\nmm and arch developers, and easier to misuse.\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nCc: Jared Hulbert \u003cjaredeh@gmail.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.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": "b379d790197cdf8a95fb67507d75a24ac0a1678d",
      "tree": "8ea36c9a0766aca3cfd69cd33aa8a5d2ca8dd2d4",
      "parents": [
        "214e471ff99064726b2d8af3aa0e24a73c775531"
      ],
      "author": {
        "name": "Jared Hulbert",
        "email": "jaredeh@gmail.com",
        "time": "Mon Apr 28 02:12:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:22 2008 -0700"
      },
      "message": "mm: introduce VM_MIXEDMAP\n\nThis series introduces some important infrastructure work.  The overall result\nis that:\n\n1. We now support XIP backed filesystems using memory that have no\n   struct page allocated to them. And patches 6 and 7 actually implement\n   this for s390.\n\n   This is pretty important in a number of cases. As far as I understand,\n   in the case of virtualisation (eg. s390), each guest may mount a\n   readonly copy of the same filesystem (eg. the distro). Currently,\n   guests need to allocate struct pages for this image. So if you have\n   100 guests, you already need to allocate more memory for the struct\n   pages than the size of the image. I think. (Carsten?)\n\n   For other (eg. embedded) systems, you may have a very large non-\n   volatile filesystem. If you have to have struct pages for this, then\n   your RAM consumption will go up proportionally to fs size. Even\n   though it is just a small proportion, the RAM can be much more costly\n   eg in terms of power, so every KB less that Linux uses makes it more\n   attractive to a lot of these guys.\n\n2. VM_MIXEDMAP allows us to support mappings where you actually do want\n   to refcount _some_ pages in the mapping, but not others, and support\n   COW on arbitrary (non-linear) mappings. Jared needs this for his NVRAM\n   filesystem in progress. Future iterations of this filesystem will\n   most likely want to migrate pages between pagecache and XIP backing,\n   which is where the requirement for mixed (some refcounted, some not)\n   comes from.\n\n3. pte_special also has a peripheral usage that I need for my lockless\n   get_user_pages patch. That was shown to speed up \"oltp\" on db2 by\n   10% on a 2 socket system, which is kind of significant because they\n   scrounge for months to try to find 0.1% improvement on these\n   workloads. I\u0027m hoping we might finally be faster than AIX on\n   pSeries with this :). My reference to lockless get_user_pages is not\n   meant to justify this patchset (which doesn\u0027t include lockless gup),\n   but just to show that pte_special is not some s390 specific thing that\n   should be hidden in arch code or xip code: I definitely want to use it\n   on at least x86 and powerpc as well.\n\nThis patch:\n\nIntroduce a new type of mapping, VM_MIXEDMAP.  This is unlike VM_PFNMAP in\nthat it can support COW mappings of arbitrary ranges including ranges without\nstruct page *and* ranges with a struct page that we actually want to refcount\n(PFNMAP can only support COW in those cases where the un-COW-ed translations\nare mapped linearly in the virtual address, and can only support non\nrefcounted ranges).\n\nVM_MIXEDMAP achieves this by refcounting all pfn_valid pages, and not\nrefcounting !pfn_valid pages (which is not an option for VM_PFNMAP, because it\nneeds to avoid refcounting pfn_valid pages eg.  for /dev/mem mappings).\n\nSigned-off-by: Jared Hulbert \u003cjaredeh@gmail.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nCc: Jared Hulbert \u003cjaredeh@gmail.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.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": "9223b4190fa1297a59f292f3419fc0285321d0ea",
      "tree": "c6fbbc6b4c35916232e95686194eea1bd9de7377",
      "parents": [
        "e26831814998cee8e6d9f0a9854cb46c516f5547"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Apr 28 02:12:48 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:21 2008 -0700"
      },
      "message": "pageflags: get rid of FLAGS_RESERVED\n\nNR_PAGEFLAGS specifies the number of page flags we are using.  From that we\ncan calculate the number of bits leftover that can be used for zone, node (and\nmaybe the sections id).  There is no need anymore for FLAGS_RESERVED if we use\nNR_PAGEFLAGS.\n\nUse the new methods to make NR_PAGEFLAGS available via the preprocessor.\nNR_PAGEFLAGS is used to calculate field boundaries in the page flags fields.\nThese field widths have to be available to the preprocessor.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "726b80127239aeea9c8d8aad5b4e2c80313e3ce8",
      "tree": "4b4df86f199f9bf9689f038132a8922f34a9c8d4",
      "parents": [
        "1cdf25d704f7951d02a04064c97db547d6021872"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Apr 28 02:12:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:21 2008 -0700"
      },
      "message": "page_mapping(): add ifdef around reference to swapper_space\n\nThis fixes the superh build when the pageflags patches are applied.\n\nBut it shouldn\u0027t unless it\u0027s a gcc bug.\n\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "308c05e35e3517d19bb67a7e97772235c9e15cd7",
      "tree": "75d0eae800ef1fc7297f97262b42ddbd1347cad0",
      "parents": [
        "2301696932b55e2ea2085cefc84f7b94fa2dd54b"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Apr 28 02:12:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:21 2008 -0700"
      },
      "message": "sparsemem: vmemmap does not need section bits\n\nA set of patches that attempts to improve page flag handling.  First of all a\nmethod is introduced to generate the page flag functions using macros.  Then\nthe number of page flags used by sparsemem is reduced.  All page flag\noperations will no longer be macros.  All flags will use inline function.\n\nThen we add a way to export enum constants to the preprocessor which allows us\nto get rid of __ZONE_COUNT and use the NR_PAGEFLAGS for the dynamic\ncalculation of actually available page flags for fields.\n\nThis patch:\n\nSparsemem vmemmap does not need any section bits.  This patch has the effect\nof reducing the number of bits used in page-\u003eflags by at least 6.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3c18ddd160d1fcd46d1131d9ad6c594dd8e9af99",
      "tree": "7307ba1ae4bdb99d1363eb59b1ebefcf5295c8ef",
      "parents": [
        "4d3d5b41a72b52555d43efbfc4ccde6ba6e5444f"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Mon Apr 28 02:12:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:18 2008 -0700"
      },
      "message": "mm: remove nopage\n\nNothing in the tree uses nopage any more.  Remove support for it in the\ncore mm code and documentation (and a few stray references to it in\ncomments).\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c2b91e2eec9678dbda274e906cc32ea8f711da3b",
      "tree": "fd9e9799078c65c8282ca3a996e6c3bd9e94fa4c",
      "parents": [
        "1a27fc0a42162964d758e9d36d2d1b49c082a67c"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel.send@gmail.com",
        "time": "Sat Apr 12 01:19:24 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 22:51:09 2008 +0200"
      },
      "message": "x86_64/mm: check and print vmemmap allocation continuous\n\nOn big systems with lots of memory, don\u0027t print out too much during\nbootup, and make it easy to find if it is continuous.\n\non 256G 8 sockets system will get\n [ffffe20000000000-ffffe20002bfffff] PMD -\u003e [ffff810001400000-ffff810003ffffff] on node 0\n[ffffe2001c700000-ffffe2001c7fffff] potential offnode page_structs\n [ffffe20002c00000-ffffe2001c7fffff] PMD -\u003e [ffff81000c000000-ffff8100255fffff] on node 0\n[ffffe20038700000-ffffe200387fffff] potential offnode page_structs\n [ffffe2001c800000-ffffe200387fffff] PMD -\u003e [ffff810820200000-ffff81083c1fffff] on node 1\n [ffffe20040000000-ffffe2007fffffff] PUD -\u003effff811027a00000 on node 2\n [ffffe20038800000-ffffe2003fffffff] PMD -\u003e [ffff811020200000-ffff8110279fffff] on node 2\n[ffffe20054700000-ffffe200547fffff] potential offnode page_structs\n [ffffe20040000000-ffffe200547fffff] PMD -\u003e [ffff811027c00000-ffff81103c3fffff] on node 2\n[ffffe20070700000-ffffe200707fffff] potential offnode page_structs\n [ffffe20054800000-ffffe200707fffff] PMD -\u003e [ffff811820200000-ffff81183c1fffff] on node 3\n [ffffe20080000000-ffffe200bfffffff] PUD -\u003effff81202fa00000 on node 4\n [ffffe20070800000-ffffe2007fffffff] PMD -\u003e [ffff812020200000-ffff81202f9fffff] on node 4\n[ffffe2008c700000-ffffe2008c7fffff] potential offnode page_structs\n [ffffe20080000000-ffffe2008c7fffff] PMD -\u003e [ffff81202fc00000-ffff81203c3fffff] on node 4\n[ffffe200a8700000-ffffe200a87fffff] potential offnode page_structs\n [ffffe2008c800000-ffffe200a87fffff] PMD -\u003e [ffff812820200000-ffff81283c1fffff] on node 5\n [ffffe200c0000000-ffffe200ffffffff] PUD -\u003effff813037a00000 on node 6\n [ffffe200a8800000-ffffe200bfffffff] PMD -\u003e [ffff813020200000-ffff8130379fffff] on node 6\n[ffffe200c4700000-ffffe200c47fffff] potential offnode page_structs\n [ffffe200c0000000-ffffe200c47fffff] PMD -\u003e [ffff813037c00000-ffff81303c3fffff] on node 6\n [ffffe200c4800000-ffffe200e07fffff] PMD -\u003e [ffff813820200000-ffff81383c1fffff] on node 7\n\ninstead of a very long print out...\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "0738c4bb8f2a8bf15178f852494643b0981f578b",
      "tree": "929e985eb01594298dab4c1278d3aec9b0ec4c18",
      "parents": [
        "baadac8b10c5ac15ce3d26b68fa266c8889b163f"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Wed Mar 12 16:51:31 2008 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 12 12:34:37 2008 -0700"
      },
      "message": "nommu: Provide is_vmalloc_addr() stub.\n\nIntroduced in commit-id 9e2779fa281cfda13ac060753d674bbcaa23367e and\nifdef\u0027ed out for nommu in 8ca3ed87db062201e1fa15b64a9214e193fc3a8a, both\napproaches end up breaking the nommu build in different ways. An\nimpressive feat for a 2-liner.\n\nCurrent is_vmalloc_addr() users fall in to two camps:\n\n\t- Determining whether to use vfree()/kfree()\n\t- Whether to do vmlist traversal (only /proc/kcore).\n\nSince we don\u0027t support /proc/kcore on nommu, that leaves the\nvfree()/kfree() determination use cases. nommu vfree() happens to be a\nwrapper to kfree() anyways, so is_vmalloc_addr() can always return 0\nand end up with the right behaviour.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8ca3ed87db062201e1fa15b64a9214e193fc3a8a",
      "tree": "d22235a78e9f24e968690c8beeb7c891f9374a32",
      "parents": [
        "0400b697ef20247d26427e4beb6a84ca5aa51f45"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sat Feb 23 15:23:37 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Feb 23 17:12:14 2008 -0800"
      },
      "message": "NOMMU: is_vmalloc_addr() won\u0027t compile if !MMU\n\nMake is_vmalloc_addr() contingent on CONFIG_MMU\u003dy, as it won\u0027t compile\nin !MMU mode.\n\n[ Bug introduced in commit 9e2779fa281cfda13ac060753d674bbcaa23367e:\n  \"is_vmalloc_addr(): Check if an address is within the vmalloc\n  boundaries\" ].\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Greg Ungerer \u003cgerg@snapgear.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8a235efad548abd2ab5ebea45a9ffa750c814375",
      "tree": "9b8c6c1fa3d2e28d9bb198d7019cba8883d5299e",
      "parents": [
        "e80af3a8dbbbf431b2070cc760699f01c5a6ac69"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Feb 20 01:47:44 2008 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Feb 21 02:15:28 2008 -0500"
      },
      "message": "Hibernation: Handle DEBUG_PAGEALLOC on x86\n\nMake hibernation work with CONFIG_DEBUG_PAGEALLOC set on x86, by\nchecking if the pages to be copied are marked as present in the\nkernel mapping and temporarily marking them as present if that\u0027s not\nthe case.  No functional modifications are introduced if\nCONFIG_DEBUG_PAGEALLOC is unset.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "b3c97528689619fc66569b30bf83d09d9929521a",
      "tree": "91dc53590deab88c9bf255c2b5cbd74bdbc36de1",
      "parents": [
        "aa02cd2d9bd1e24a230bd66a0a741b984d03915a"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Feb 13 15:03:15 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 13 16:21:18 2008 -0800"
      },
      "message": "include/linux: Remove all users of FASTCALL() macro\n\nFASTCALL() is always expanded to empty, remove it.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2f569afd9ced9ebec9a6eb3dbf6f83429be0a7b4",
      "tree": "23a31763887d9505e62e9d7cc8ec2fa4b86bd380",
      "parents": [
        "13214adf738abc92b0a00c0763fd3be79eebaa7c"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Feb 08 04:22:04 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:42 2008 -0800"
      },
      "message": "CONFIG_HIGHPTE vs. sub-page page tables.\n\nBackground: I\u0027ve implemented 1K/2K page tables for s390.  These sub-page\npage tables are required to properly support the s390 virtualization\ninstruction with KVM.  The SIE instruction requires that the page tables\nhave 256 page table entries (pte) followed by 256 page status table entries\n(pgste).  The pgstes are only required if the process is using the SIE\ninstruction.  The pgstes are updated by the hardware and by the hypervisor\nfor a number of reasons, one of them is dirty and reference bit tracking.\nTo avoid wasting memory the standard pte table allocation should return\n1K/2K (31/64 bit) and 2K/4K if the process is using SIE.\n\nProblem: Page size on s390 is 4K, page table size is 1K or 2K.  That means\nthe s390 version for pte_alloc_one cannot return a pointer to a struct\npage.  Trouble is that with the CONFIG_HIGHPTE feature on x86 pte_alloc_one\ncannot return a pointer to a pte either, since that would require more than\n32 bit for the return value of pte_alloc_one (and the pte * would not be\naccessible since its not kmapped).\n\nSolution: The only solution I found to this dilemma is a new typedef: a\npgtable_t.  For s390 pgtable_t will be a (pte *) - to be introduced with a\nlater patch.  For everybody else it will be a (struct page *).  The\nadditional problem with the initialization of the ptl lock and the\nNR_PAGETABLE accounting is solved with a constructor pgtable_page_ctor and\na destructor pgtable_page_dtor.  The page table allocation and free\nfunctions need to call these two whenever a page table page is allocated or\nfreed.  pmd_populate will get a pgtable_t instead of a struct page pointer.\n To get the pgtable_t back from a pmd entry that has been installed with\npmd_populate a new function pmd_pgtable is added.  It replaces the pmd_page\ncall in free_pte_range and apply_to_pte_range.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e6473092bd9116583ce9ab8cf1b6570e1aa6fc83",
      "tree": "e91a7ca6ce89f24a4a2d500d748dabf727c61887",
      "parents": [
        "698dd4ba6b12e34e1e432c944c01478c0b2cd773"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Mon Feb 04 22:29:01 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:16 2008 -0800"
      },
      "message": "maps4: introduce a generic page walker\n\nIntroduce a general page table walker\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Dave Hansen \u003chaveblue@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": "aec2c3ed01ed54d0cdf7f6b7c4be217c045ac5ea",
      "tree": "b4fcc3f69567eafe956d2fd0af37ba5ca008c531",
      "parents": [
        "bf53d6f8fa467397a16de2a2500312ae26528d34"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Feb 04 22:28:35 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:14 2008 -0800"
      },
      "message": "VM: allow get_page_unless_zero on compound pages\n\nBoth slab defrag and the large blocksize patches need to ability to take\nrefcounts on compound pages.  May be useful in other places as well.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9e2779fa281cfda13ac060753d674bbcaa23367e",
      "tree": "e2af17d69b71e0f8b3f00fe949cb8abfba4298ed",
      "parents": [
        "0b7a96114bd5991d355a1f1c1d3d9c0c9d9c1cfc"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Feb 04 22:28:34 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:14 2008 -0800"
      },
      "message": "is_vmalloc_addr(): Check if an address is within the vmalloc boundaries\n\nChecking if an address is a vmalloc address is done in a couple of places.\nDefine a common version in mm.h and replace the other checks.\n\nAgain the include structures suck.  The definition of VMALLOC_START and\nVMALLOC_END is not available in vmalloc.h since highmem.c cannot be included\nthere.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: 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": "b3bdda02aa547a0753b4fdbc105e86ef9046b30b",
      "tree": "969557274d94bd0a8e3c638b796c0a13f3e3afd2",
      "parents": [
        "48667e7a43c1a1e0ba743f93ae946f8cb34ff2f9"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Feb 04 22:28:32 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:14 2008 -0800"
      },
      "message": "vmalloc: add const to void* parameters\n\nMake vmalloc functions work the same way as kfree() and friends that\ntake a const void * argument.\n\n[akpm@linux-foundation.org: fix consts, coding-style]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "48667e7a43c1a1e0ba743f93ae946f8cb34ff2f9",
      "tree": "b2fb79d16fbac46a859f8332cf95852b73839e07",
      "parents": [
        "eebd2aa355692afaf9906f62118620f1a1c19dbb"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Feb 04 22:28:31 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:13 2008 -0800"
      },
      "message": "Move vmalloc_to_page() to mm/vmalloc.\n\nWe already have page table manipulation for vmalloc in vmalloc.c. Move the\nvmalloc_to_page() function there as well.\n\nMove the definitions for vmalloc related functions in mm.h to a newly created\nsection.  A better place would be vmalloc.h but mm.h is basic and may depend\non these functions.  An alternative would be to include vmalloc.h in mm.h\n(like done for vmstat.h).\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "12d6f21eacc21d84a809829543f2fe45c7e37319",
      "tree": "6985f2370ad238fb2a568547a5049751d7c95a69",
      "parents": [
        "9a3dc7804e9856668caef41efc54179e61ffccc0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:33:58 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:33:58 2008 +0100"
      },
      "message": "x86: do not PSE on CONFIG_DEBUG_PAGEALLOC\u003dy\n\nget more testing of the c_p_a() code done by not turning off\nPSE on DEBUG_PAGEALLOC.\n\nthis simplifies the early pagetable setup code, and tests\nthe largepage-splitup code quite heavily.\n\nIn the end, all the largepages will be split up pretty quickly,\nso there\u0027s no difference to how DEBUG_PAGEALLOC worked before.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "03252919b79891063cf99145612360efbdf9500b",
      "tree": "a80dc0c89448308d75d247446a5a04c84cb708a6",
      "parents": [
        "d3432896dae72ee97deb850ad7bbc30329d32c0d"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Jan 30 13:33:18 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:33:18 2008 +0100"
      },
      "message": "x86: print which shared library/executable faulted in segfault etc. messages v3\n\nThey now look like:\n\nhal-resmgr[13791]: segfault at 3c rip 2b9c8caec182 rsp 7fff1e825d30 error 4 in libacl.so.1.1.0[2b9c8caea000+6000]\n\nThis makes it easier to pinpoint bugs to specific libraries.\n\nAnd printing the offset into a mapping also always allows to find the\ncorrect fault point in a library even with randomized mappings. Previously\nthere was no way to actually find the correct code address inside\nthe randomized mapping.\n\nRelies on earlier patch to shorten the printk formats.\n\nThey are often now longer than 80 characters, but I think that\u0027s worth it.\n\n[includes fix from Eric Dumazet to check d_path error value]\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "42d7896ebc5f7268b1fe6bbd20f2282e20ae7895",
      "tree": "98247e79ea997801420bcb594c66f351a14bce75",
      "parents": [
        "88c3f7a8f2c86be264d326cf6f49a3e8c30d13a6"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@sdv.(none)",
        "time": "Wed Dec 26 15:12:37 2007 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Jan 25 11:29:49 2008 +1100"
      },
      "message": "Security: remove security.h include from mm.h\n\nRemove security.h include from mm.h, as it is only needed for a single\nextern declaration, and pulls in all kinds of crud.\n\nFine-by-me: David Chinner \u003cdgc@sgi.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "7cd94146cd504016315608e297219f9fb7b1413b",
      "tree": "1d118d6af0a6d3efb9be66f7305827aee2ceffea",
      "parents": [
        "8869477a49c3e99def1fcdadd6bbc407fea14b45"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Nov 26 18:47:40 2007 -0500"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 06 00:25:10 2007 +1100"
      },
      "message": "Security: round mmap hint address above mmap_min_addr\n\nIf mmap_min_addr is set and a process attempts to mmap (not fixed) with a\nnon-null hint address less than mmap_min_addr the mapping will fail the\nsecurity checks.  Since this is just a hint address this patch will round\nsuch a hint address above mmap_min_addr.\n\ngcj was found to try to be very frugal with vm usage and give hint addresses\nin the 8k-32k range.  Without this patch all such programs failed and with\nthe patch they happily get a higher address.\n\nThis patch is wrappad in CONFIG_SECURITY since mmap_min_addr doesn\u0027t exist\nwithout it and there would be no security check possible no matter what.  So\nwe should not bother compiling in this rounding if it is just a waste of\ntime.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "4af3c9cc4fad54c3627e9afebf905aafde5690ed",
      "tree": "655364e458b8734a86c632316f4b5a1518529c60",
      "parents": [
        "1a614f505193fcfc1b298643268a5db5b48e297f"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Oct 16 23:29:23 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:55 2007 -0700"
      },
      "message": "Drop some headers from mm.h\n\nmm.h doesn\u0027t use directly anything from mutex.h and backing-dev.h, so\nremove them and add them back to files which need them.\n\nCross-compile tested on many configs and archs.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d8dc74f212c38407fc9f4367181f8f969b719485",
      "tree": "2ff1ec0aaee1e6b3ee29d258a7158deb4b43688c",
      "parents": [
        "af767cbdd78f293485c294113885d95e7f1da123"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Oct 16 01:26:26 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:03 2007 -0700"
      },
      "message": "mm/shmem.c: make 3 functions static\n\nThis patch makes three needlessly global functions static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "98f3cfc1dc7a53b629d43b7844a9b3f786213048",
      "tree": "de98ff0e3c25b01863c31abc0f3054de978b9ef8",
      "parents": [
        "48e94196a533dbee17c252bf80d0310fb8c8c2eb"
      ],
      "author": {
        "name": "Yasunori Goto",
        "email": "y-goto@jp.fujitsu.com",
        "time": "Tue Oct 16 01:26:14 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:02 2007 -0700"
      },
      "message": "memory hotplug: Hot-add with sparsemem-vmemmap\n\nThis patch is to avoid panic when memory hot-add is executed with\nsparsemem-vmemmap.  Current vmemmap-sparsemem code doesn\u0027t support memory\nhot-add.  Vmemmap must be populated when hot-add.  This is for\n2.6.23-rc2-mm2.\n\nTodo: # Even if this patch is applied, the message \"[xxxx-xxxx] potential\n        offnode page_structs\" is displayed. To allocate memmap on its node,\n        memmap (and pgdat) must be initialized itself like chicken and\n        egg relationship.\n\n      # vmemmap_unpopulate will be necessary for followings.\n         - For cancel hot-add due to error.\n         - For unplug.\n\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8e65d24c7caf2a4c69b3ae0ce170bf3082ba359f",
      "tree": "4f690448c1363bf02f74abd9293126c3e3a9e4c9",
      "parents": [
        "dfb4f09609827301740ef0a11b37530d190f1681"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Oct 16 01:26:06 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:01 2007 -0700"
      },
      "message": "SLUB: Do not use page-\u003emapping\n\nAfter moving the lockless_freelist to kmem_cache_cpu we no longer need\npage-\u003elockless_freelist. Restructure the use of the struct page fields in\nsuch a way that we never touch the mapping field.\n\nThis is turn allows us to remove the special casing of SLUB when determining\nthe mapping of a page (needed for corner cases of virtual caches machines that\nneed to flush caches of processors mapping a page).\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "c92ff1bde06f69d59b40f3194016aee51cc5da55"
}
