)]}'
{
  "log": [
    {
      "commit": "bc658c96037fc87463f0703ad2ea7c895344cb7e",
      "tree": "eed6d7b83dfa04b242231bb7a5c431348ea92c4d",
      "parents": [
        "139f37f5e14cd883eee2a8a36289f544b5390a44"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sun May 29 10:33:44 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 09:25:48 2011 -0700"
      },
      "message": "mm, rmap: Add yet more comments to page_get_anon_vma/page_lock_anon_vma\n\nInspired by an analysis from Hugh on why again all this doesn\u0027t explode\nin our face.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eee0f252c6537da2e883f75d22cff1427515eaf3",
      "tree": "87ca6a49dd2d299b6cb4146ff3295bb625519b05",
      "parents": [
        "5dbe0af47f8a8f968bac2991c3ec974c6e3eaabc"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Sat May 28 13:20:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 28 16:55:32 2011 -0700"
      },
      "message": "mm: fix page_lock_anon_vma leaving mutex locked\n\nOn one machine I\u0027ve been getting hangs, a page fault\u0027s anon_vma_prepare()\nwaiting in anon_vma_lock(), other processes waiting for that page\u0027s lock.\n\nThis is a replay of last year\u0027s f18194275c39 \"mm: fix hang on\nanon_vma-\u003eroot-\u003elock\".\n\nThe new page_lock_anon_vma() places too much faith in its refcount: when\nit has acquired the mutex_trylock(), it\u0027s possible that a racing task in\nanon_vma_alloc() has just reallocated the struct anon_vma, set refcount\nto 1, and is about to reset its anon_vma-\u003eroot.\n\nFix this by saving anon_vma-\u003eroot, and relying on the usual page_mapped()\ncheck instead of a refcount check: if page is still mapped, the anon_vma\nis still ours; if page is not still mapped, we\u0027re no longer interested.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5dbe0af47f8a8f968bac2991c3ec974c6e3eaabc",
      "tree": "e936955d61fc2a69e36b2e9276f5ad7585134255",
      "parents": [
        "826267cf1e6c6899eda1325a19f1b1d15c558b20"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Sat May 28 13:17:04 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 28 16:09:26 2011 -0700"
      },
      "message": "mm: fix kernel BUG at mm/rmap.c:1017!\n\nI\u0027ve hit the \"address \u003e\u003d vma-\u003evm_end\" check in do_page_add_anon_rmap()\njust once.  The stack showed khugepaged allocation trying to compact\npages: the call to page_add_anon_rmap() coming from remove_migration_pte().\n\nThat path holds anon_vma lock, but does not hold mmap_sem: it can\ntherefore race with a split_vma(), and in commit 5f70b962ccc2 \"mmap:\navoid unnecessary anon_vma lock\" we just took away the anon_vma lock\nprotection when adjusting vma-\u003evm_end.\n\nI don\u0027t think that particular BUG_ON ever caught anything interesting,\nso better replace it by a comment, than reinstate the anon_vma locking.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "826267cf1e6c6899eda1325a19f1b1d15c558b20",
      "tree": "f022fabd26f035888c4fec972ff54163378b8962",
      "parents": [
        "36947a76826111e661a26cb0f668a5be6cc3ddb4"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Sat May 28 13:14:09 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 28 16:09:26 2011 -0700"
      },
      "message": "tmpfs: fix race between truncate and writepage\n\nWhile running fsx on tmpfs with a memhog then swapoff, swapoff was hanging\n(interruptibly), repeatedly failing to locate the owner of a 0xff entry in\nthe swap_map.\n\nAlthough shmem_writepage() does abandon when it sees incoming page index\nis beyond eof, there was still a window in which shmem_truncate_range()\ncould come in between writepage\u0027s dropping lock and updating swap_map,\nfind the half-completed swap_map entry, and in trying to free it,\nleave it in a state that swap_shmem_alloc() could not correct.\n\nArguably a bug in __swap_duplicate()\u0027s and swap_entry_free()\u0027s handling\nof the different cases, but easiest to fix by moving swap_shmem_alloc()\nunder cover of the lock.\n\nMore interesting than the bug: it\u0027s been there since 2.6.33, why could\nI not see it with earlier kernels?  The mmotm of two weeks ago seems to\nhave some magic for generating races, this is just one of three I found.\n\nWith yesterday\u0027s git I first saw this in mainline, bisected in search of\nthat magic, but the easy reproducibility evaporated.  Oh well, fix the bug.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "36947a76826111e661a26cb0f668a5be6cc3ddb4",
      "tree": "ed5d92c9d71f9ca68e6a3583a10ebf911c9c44dd",
      "parents": [
        "a947e23a8ec04bccbfe98c5a2d64cd1f88b612d5",
        "69b4573296469fd3f70cf7044693074980517067"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 28 13:03:41 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 28 13:03:41 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (36 commits)\n  Cache xattr security drop check for write v2\n  fs: block_page_mkwrite should wait for writeback to finish\n  mm: Wait for writeback when grabbing pages to begin a write\n  configfs: remove unnecessary dentry_unhash on rmdir, dir rename\n  fat: remove unnecessary dentry_unhash on rmdir, dir rename\n  hpfs: remove unnecessary dentry_unhash on rmdir, dir rename\n  minix: remove unnecessary dentry_unhash on rmdir, dir rename\n  fuse: remove unnecessary dentry_unhash on rmdir, dir rename\n  coda: remove unnecessary dentry_unhash on rmdir, dir rename\n  afs: remove unnecessary dentry_unhash on rmdir, dir rename\n  affs: remove unnecessary dentry_unhash on rmdir, dir rename\n  9p: remove unnecessary dentry_unhash on rmdir, dir rename\n  ncpfs: fix rename over directory with dangling references\n  ncpfs: document dentry_unhash usage\n  ecryptfs: remove unnecessary dentry_unhash on rmdir, dir rename\n  hostfs: remove unnecessary dentry_unhash on rmdir, dir rename\n  hfsplus: remove unnecessary dentry_unhash on rmdir, dir rename\n  hfs: remove unnecessary dentry_unhash on rmdir, dir rename\n  omfs: remove unnecessary dentry_unhash on rmdir, dir rneame\n  udf: remove unnecessary dentry_unhash from rmdir, dir rename\n  ...\n"
    },
    {
      "commit": "c4a227d89f758e582fd167bb15245f2704de99ef",
      "tree": "f5b6e0091e6543c14d1cd7cf1f93e097a96bbd64",
      "parents": [
        "87367a0b71a5188e34a913c05673b5078f71a64d",
        "f506b3dc0ec454a16d40cab9ee5d75435b39dc50"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 28 12:55:55 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 28 12:55:55 2011 -0700"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (25 commits)\n  perf: Fix SIGIO handling\n  perf top: Don\u0027t stop if no kernel symtab is found\n  perf top: Handle kptr_restrict\n  perf top: Remove unused macro\n  perf events: initialize fd array to -1 instead of 0\n  perf tools: Make sure kptr_restrict warnings fit 80 col terms\n  perf tools: Fix build on older systems\n  perf symbols: Handle /proc/sys/kernel/kptr_restrict\n  perf: Remove duplicate headers\n  ftrace: Add internal recursive checks\n  tracing: Update btrfs\u0027s tracepoints to use u64 interface\n  tracing: Add __print_symbolic_u64 to avoid warnings on 32bit machine\n  ftrace: Set ops-\u003eflag to enabled even on static function tracing\n  tracing: Have event with function tracer check error return\n  ftrace: Have ftrace_startup() return failure code\n  jump_label: Check entries limit in __jump_label_update\n  ftrace/recordmcount: Avoid STT_FUNC symbols as base on ARM\n  scripts/tags.sh: Add magic for trace-events for etags too\n  scripts/tags.sh: Fix ctags for DEFINE_EVENT()\n  x86/ftrace: Fix compiler warning in ftrace.c\n  ...\n"
    },
    {
      "commit": "69b4573296469fd3f70cf7044693074980517067",
      "tree": "aea41eacb2a0f32748145a59bb8dc300b4485f36",
      "parents": [
        "d76ee18a8551e33ad7dbd55cac38bc7b094f3abb"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Sat May 28 08:25:51 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 28 12:02:09 2011 -0400"
      },
      "message": "Cache xattr security drop check for write v2\n\nSome recent benchmarking on btrfs showed that a major scaling bottleneck\non large systems on btrfs is currently the xattr lookup on every write.\n\nWhy xattr lookup on every write I hear you ask?\n\nwrite wants to drop suid and security related xattrs that could set o\ncapabilities for executables.  To do that it currently looks up\nsecurity.capability on EVERY write (even for non executables) to decide\nwhether to drop it or not.\n\nIn btrfs this causes an additional tree walk, hitting some per file system\nlocks and quite bad scalability. In a simple read workload on a 8S\nsystem I saw over 90% CPU time in spinlocks related to that.\n\nChris Mason tells me this is also a problem in ext4, where it hits\nthe global mbcache lock.\n\nThis patch adds a simple per inode to avoid this problem.  We only\ndo the lookup once per file and then if there is no xattr cache\nthe decision. All xattr changes clear the flag.\n\nI also used the same flag to avoid the suid check, although\nthat one is pretty cheap.\n\nA file system can also set this flag when it creates the inode,\nif it has a cheap way to do so.  This is done for some common file systems\nin followon patches.\n\nWith this patch a major part of the lock contention disappears\nfor btrfs. Some testing on smaller systems didn\u0027t show significant\nperformance changes, but at least it helps the larger systems\nand is generally more efficient.\n\nv2: Rename is_sgid. add file system helper.\nCc: chris.mason@oracle.com\nCc: josef@redhat.com\nCc: viro@zeniv.linux.org.uk\nCc: agruen@linbit.com\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3d08bcc887a1c8d12be8d81f747ffa2e8a44b67b",
      "tree": "258f4e3d384e451c921c5e0c503fd368f236a20a",
      "parents": [
        "98702467f829177b3993f17da9fe5c202d160e5e"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Fri May 27 12:23:34 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 28 01:03:21 2011 -0400"
      },
      "message": "mm: Wait for writeback when grabbing pages to begin a write\n\nWhen grabbing a page for a buffered IO write, the mm should wait for writeback\non the page to complete so that the page does not become writable during the IO\noperation.  This change is needed to provide page stability during writes for\nall filesystems.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d6a72fe465f4c54654a1d5488daeb820b4ecf275",
      "tree": "1b581d3b3452b47ba35e1ee3c96d05c030ed9726",
      "parents": [
        "b1d2dc3c06d8da7d58fb43d7123a91c1d6a4f576",
        "b1cff0ad1062621ae63cb6c5dc4165191fe2e9f1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 27 14:28:09 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 27 14:28:09 2011 +0200"
      },
      "message": "Merge branch \u0027tip/perf/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/urgent\n"
    },
    {
      "commit": "dc7acbb2518f250050179c8581a972df3b6a24f1",
      "tree": "bc14a36d5cfe1a1aa0d9a2a18ea6f19ad88a8958",
      "parents": [
        "f01e1af445fac107e91d62a2d59dd535f633810b",
        "4bf0ff24e371ce71521ccb21513203facfd8491f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 19:01:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 19:01:15 2011 -0700"
      },
      "message": "Merge branch \u0027upstream/tidy-xen-mmu-2.6.39\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen\n\n* \u0027upstream/tidy-xen-mmu-2.6.39\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen:\n  xen: fix compile without CONFIG_XEN_DEBUG_FS\n  Use arbitrary_virt_to_machine() to deal with ioremapped pud updates.\n  Use arbitrary_virt_to_machine() to deal with ioremapped pmd updates.\n  xen/mmu: remove all ad-hoc stats stuff\n  xen: use normal virt_to_machine for ptes\n  xen: make a pile of mmu pvop functions static\n  vmalloc: remove vmalloc_sync_all() from alloc_vm_area()\n  xen: condense everything onto xen_set_pte\n  xen: use mmu_update for xen_set_pte_at()\n  xen: drop all the special iomap pte paths.\n"
    },
    {
      "commit": "456f998ec817ebfa254464be4f089542fa390645",
      "tree": "5976aa500638f0bbade1a672233cad71765b89b8",
      "parents": [
        "406eb0c9ba765eb066406fd5ce9d5e2b169a4d5a"
      ],
      "author": {
        "name": "Ying Han",
        "email": "yinghan@google.com",
        "time": "Thu May 26 16:25:38 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:36 2011 -0700"
      },
      "message": "memcg: add the pagefault count into memcg stats\n\nTwo new stats in per-memcg memory.stat which tracks the number of page\nfaults and number of major page faults.\n\n  \"pgfault\"\n  \"pgmajfault\"\n\nThey are different from \"pgpgin\"/\"pgpgout\" stat which count number of\npages charged/discharged to the cgroup and have no meaning of reading/\nwriting page to disk.\n\nIt is valuable to track the two stats for both measuring application\u0027s\nperformance as well as the efficiency of the kernel page reclaim path.\nCounting pagefaults per process is useful, but we also need the aggregated\nvalue since processes are monitored and controlled in cgroup basis in\nmemcg.\n\nFunctional test: check the total number of pgfault/pgmajfault of all\nmemcgs and compare with global vmstat value:\n\n  $ cat /proc/vmstat | grep fault\n  pgfault 1070751\n  pgmajfault 553\n\n  $ cat /dev/cgroup/memory.stat | grep fault\n  pgfault 1071138\n  pgmajfault 553\n  total_pgfault 1071142\n  total_pgmajfault 553\n\n  $ cat /dev/cgroup/A/memory.stat | grep fault\n  pgfault 199\n  pgmajfault 0\n  total_pgfault 199\n  total_pgmajfault 0\n\nPerformance test: run page fault test(pft) wit 16 thread on faulting in\n15G anon pages in 16G container.  There is no regression noticed on the\n\"flt/cpu/s\"\n\nSample output from pft:\n\n  TAG pft:anon-sys-default:\n    Gb  Thr CLine   User     System     Wall    flt/cpu/s fault/wsec\n    15   16   1     0.67s   233.41s    14.76s   16798.546 266356.260\n\n  +-------------------------------------------------------------------------+\n      N           Min           Max        Median           Avg        Stddev\n  x  10     16682.962     17344.027     16913.524     16928.812      166.5362\n  +  10     16695.568     16923.896     16820.604     16824.652     84.816568\n  No difference proven at 95.0% confidence\n\n[akpm@linux-foundation.org: fix build]\n[hughd@google.com: shmem fix]\nSigned-off-by: Ying Han \u003cyinghan@google.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Hugh Dickins \u003chughd@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": "406eb0c9ba765eb066406fd5ce9d5e2b169a4d5a",
      "tree": "71805cc1bcf4b1a4e7eb58a726d2ba21d913ba1a",
      "parents": [
        "1bac180bd29e03989f50054af97b53b8d37a364a"
      ],
      "author": {
        "name": "Ying Han",
        "email": "yinghan@google.com",
        "time": "Thu May 26 16:25:37 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:36 2011 -0700"
      },
      "message": "memcg: add memory.numastat api for numa statistics\n\nThe new API exports numa_maps per-memcg basis.  This is a piece of useful\ninformation where it exports per-memcg page distribution across real numa\nnodes.\n\nOne of the usecases is evaluating application performance by combining\nthis information w/ the cpu allocation to the application.\n\nThe output of the memory.numastat tries to follow w/ simiar format of\nnuma_maps like:\n\n  total\u003d\u003ctotal pages\u003e N0\u003d\u003cnode 0 pages\u003e N1\u003d\u003cnode 1 pages\u003e ...\n  file\u003d\u003ctotal file pages\u003e N0\u003d\u003cnode 0 pages\u003e N1\u003d\u003cnode 1 pages\u003e ...\n  anon\u003d\u003ctotal anon pages\u003e N0\u003d\u003cnode 0 pages\u003e N1\u003d\u003cnode 1 pages\u003e ...\n  unevictable\u003d\u003ctotal anon pages\u003e N0\u003d\u003cnode 0 pages\u003e N1\u003d\u003cnode 1 pages\u003e ...\n\nAnd we have per-node:\n\n  total \u003d file + anon + unevictable\n\n  $ cat /dev/cgroup/memory/memory.numa_stat\n  total\u003d250020 N0\u003d87620 N1\u003d52367 N2\u003d45298 N3\u003d64735\n  file\u003d225232 N0\u003d83402 N1\u003d46160 N2\u003d40522 N3\u003d55148\n  anon\u003d21053 N0\u003d3424 N1\u003d6207 N2\u003d4776 N3\u003d6646\n  unevictable\u003d3735 N0\u003d794 N1\u003d0 N2\u003d0 N3\u003d2941\n\nSigned-off-by: Ying Han \u003cyinghan@google.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Minchan Kim \u003cminchan.kim@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": "1bac180bd29e03989f50054af97b53b8d37a364a",
      "tree": "6797cb73a27c1e8b7d1ea79764356dc69486dad4",
      "parents": [
        "4fd14ebf6e3b66423dfac2bc9defda7b83ee07b3"
      ],
      "author": {
        "name": "Ying Han",
        "email": "yinghan@google.com",
        "time": "Thu May 26 16:25:36 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:35 2011 -0700"
      },
      "message": "memcg: rename mem_cgroup_zone_nr_pages() to mem_cgroup_zone_nr_lru_pages()\n\nThe caller of the function has been renamed to zone_nr_lru_pages(), and\nthis is just fixing up in the memcg code.  The current name is easily to\nbe mis-read as zone\u0027s total number of pages.\n\nSigned-off-by: Ying Han \u003cyinghan@google.com\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.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": "4fd14ebf6e3b66423dfac2bc9defda7b83ee07b3",
      "tree": "38fb451bf2e480091bf88540139378b68cdd2494",
      "parents": [
        "246e87a9393448c20873bc5dee64be68ed559e24"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Thu May 26 16:25:35 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:35 2011 -0700"
      },
      "message": "memcg: remove unused retry signal from reclaim\n\nIf the memcg reclaim code detects the target memcg below its limit it\nexits and returns a guaranteed non-zero value so that the charge is\nretried.\n\nNowadays, the charge side checks the memcg limit itself and does not rely\non this non-zero return value trick.\n\nThis patch removes it.  The reclaim code will now always return the true\nnumber of pages it reclaimed on its own.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: Rik van Riel\u003criel@redhat.com\u003e\nAcked-by: Ying Han\u003cyinghan@google.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.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": "246e87a9393448c20873bc5dee64be68ed559e24",
      "tree": "a17016142b267fcba2e3be9908f8138c8dcb3f3a",
      "parents": [
        "889976dbcb1218119fdd950fb7819084e37d7d37"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Thu May 26 16:25:34 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:35 2011 -0700"
      },
      "message": "memcg: fix get_scan_count() for small targets\n\nDuring memory reclaim we determine the number of pages to be scanned per\nzone as\n\n\t(anon + file) \u003e\u003e priority.\nAssume\n\tscan \u003d (anon + file) \u003e\u003e priority.\n\nIf scan \u003c SWAP_CLUSTER_MAX, the scan will be skipped for this time and\npriority gets higher.  This has some problems.\n\n  1. This increases priority as 1 without any scan.\n     To do scan in this priority, amount of pages should be larger than 512M.\n     If pages\u003e\u003epriority \u003c SWAP_CLUSTER_MAX, it\u0027s recorded and scan will be\n     batched, later. (But we lose 1 priority.)\n     If memory size is below 16M, pages \u003e\u003e priority is 0 and no scan in\n     DEF_PRIORITY forever.\n\n  2. If zone-\u003eall_unreclaimabe\u003d\u003dtrue, it\u0027s scanned only when priority\u003d\u003d0.\n     So, x86\u0027s ZONE_DMA will never be recoverred until the user of pages\n     frees memory by itself.\n\n  3. With memcg, the limit of memory can be small. When using small memcg,\n     it gets priority \u003c DEF_PRIORITY-2 very easily and need to call\n     wait_iff_congested().\n     For doing scan before priorty\u003d9, 64MB of memory should be used.\n\nThen, this patch tries to scan SWAP_CLUSTER_MAX of pages in force...when\n\n  1. the target is enough small.\n  2. it\u0027s kswapd or memcg reclaim.\n\nThen we can avoid rapid priority drop and may be able to recover\nall_unreclaimable in a small zones.  And this patch removes nr_saved_scan.\n This will allow scanning in this priority even when pages \u003e\u003e priority is\nvery small.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Ying Han \u003cyinghan@google.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\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": "889976dbcb1218119fdd950fb7819084e37d7d37",
      "tree": "7508706ddb6bcbe0f673aca3744f30f281b17734",
      "parents": [
        "4e4c941c108eff10844d2b441d96dab44f32f424"
      ],
      "author": {
        "name": "Ying Han",
        "email": "yinghan@google.com",
        "time": "Thu May 26 16:25:33 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:35 2011 -0700"
      },
      "message": "memcg: reclaim memory from nodes in round-robin order\n\nPresently, memory cgroup\u0027s direct reclaim frees memory from the current\nnode.  But this has some troubles.  Usually when a set of threads works in\na cooperative way, they tend to operate on the same node.  So if they hit\nlimits under memcg they will reclaim memory from themselves, damaging the\nactive working set.\n\nFor example, assume 2 node system which has Node 0 and Node 1 and a memcg\nwhich has 1G limit.  After some work, file cache remains and the usages\nare\n\n   Node 0:  1M\n   Node 1:  998M.\n\nand run an application on Node 0, it will eat its foot before freeing\nunnecessary file caches.\n\nThis patch adds round-robin for NUMA and adds equal pressure to each node.\nWhen using cpuset\u0027s spread memory feature, this will work very well.\n\nBut yes, a better algorithm is needed.\n\n[akpm@linux-foundation.org: comment editing]\n[kamezawa.hiroyu@jp.fujitsu.com: fix time comparisons]\nSigned-off-by: Ying Han \u003cyinghan@google.com\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\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": "6a5b18d2bd79795407bf65451a2013bf4dfb588b",
      "tree": "0db53d8192c1beedf1628918feb91bec93e2537f",
      "parents": [
        "33278f7f0a9e5a9b29f59e07b7e3182d27769ac2"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Thu May 26 16:25:31 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:35 2011 -0700"
      },
      "message": "memcg: move page-freeing code out of lock\n\nMove page-freeing code out of swap_cgroup_mutex in the hope that it could\nreduce few of theoretical contentions between swapons and/or swapoffs.\n\nThis is just a cleanup, no functional changes.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "33278f7f0a9e5a9b29f59e07b7e3182d27769ac2",
      "tree": "8de853c293856cc227d703ffaa0e12410efa1fcd",
      "parents": [
        "268433b8e54486b12478e94ba18587bcc7de4d57"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Thu May 26 16:25:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:35 2011 -0700"
      },
      "message": "memcg: fix off-by-one when calculating swap cgroup map length\n\nIt allocated one more page than necessary if @max_pages was a multiple of\nSC_PER_PAGE.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "268433b8e54486b12478e94ba18587bcc7de4d57",
      "tree": "02686a62751fbdd2ad3125a53952c09381d7ac72",
      "parents": [
        "39cc98f1f8aa949afeea89f424c7494b0785d7da"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Thu May 26 16:25:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:35 2011 -0700"
      },
      "message": "memcg: mark init_section_page_cgroup() properly\n\nCommit ca371c0d7e23 (\"memcg: fix page_cgroup fatal error in FLATMEM\")\nremoves call to alloc_bootmem() in the function so that it can be marked\nas __meminit to reduce memory usage when MEMORY_HOTPLUG\u003dn.\n\nAlso as the new helper function alloc_page_cgroup() is called only in the\nfunction, it should be marked too.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.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": "39cc98f1f8aa949afeea89f424c7494b0785d7da",
      "tree": "d16d69a1c2f1db6150642d47927d77615507e856",
      "parents": [
        "d149e3b25d7c5f33de9aa866303926fa53535aa7"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.cz",
        "time": "Thu May 26 16:25:28 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:35 2011 -0700"
      },
      "message": "memcg: remove pointless next_mz nullification in mem_cgroup_soft_limit_reclaim()\n\nnext_mz is assigned to NULL if __mem_cgroup_largest_soft_limit_node\nselects the same mz.  This doesn\u0027t make much sense as we assign to the\nvariable right in the next loop.\n\nCompiler will probably optimize this out but it is little bit confusing\nfor the code reading.\n\nSigned-off-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nAcked-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@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": "d149e3b25d7c5f33de9aa866303926fa53535aa7",
      "tree": "160c8c3136246921458c96ab8257381d702208aa",
      "parents": [
        "0ae5e89c60c9eb87da36a2614836bc434b0ec2ad"
      ],
      "author": {
        "name": "Ying Han",
        "email": "yinghan@google.com",
        "time": "Thu May 26 16:25:27 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:35 2011 -0700"
      },
      "message": "memcg: add the soft_limit reclaim in global direct reclaim.\n\nWe recently added the change in global background reclaim which counts the\nreturn value of soft_limit reclaim.  Now this patch adds the similar logic\non global direct reclaim.\n\nWe should skip scanning global LRU on shrink_zone if soft_limit reclaim\ndoes enough work.  This is the first step where we start with counting the\nnr_scanned and nr_reclaimed from soft_limit reclaim into global\nscan_control.\n\nSigned-off-by: Ying Han \u003cyinghan@google.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0ae5e89c60c9eb87da36a2614836bc434b0ec2ad",
      "tree": "0d509fd83ac7e7d2f52dfcbba769c43aeeb68b5f",
      "parents": [
        "f042e707ee671e4beb5389abeb9a1819a2cf5532"
      ],
      "author": {
        "name": "Ying Han",
        "email": "yinghan@google.com",
        "time": "Thu May 26 16:25:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:35 2011 -0700"
      },
      "message": "memcg: count the soft_limit reclaim in global background reclaim\n\nThe global kswapd scans per-zone LRU and reclaims pages regardless of the\ncgroup. It breaks memory isolation since one cgroup can end up reclaiming\npages from another cgroup. Instead we should rely on memcg-aware target\nreclaim including per-memcg kswapd and soft_limit hierarchical reclaim under\nmemory pressure.\n\nIn the global background reclaim, we do soft reclaim before scanning the\nper-zone LRU. However, the return value is ignored. This patch is the first\nstep to skip shrink_zone() if soft_limit reclaim does enough work.\n\nThis is part of the effort which tries to reduce reclaiming pages in global\nLRU in memcg. The per-memcg background reclaim patchset further enhances the\nper-cgroup targetting reclaim, which I should have V4 posted shortly.\n\nTry running multiple memory intensive workloads within seperate memcgs. Watch\nthe counters of soft_steal in memory.stat.\n\n  $ cat /dev/cgroup/A/memory.stat | grep \u0027soft\u0027\n  soft_steal 240000\n  soft_scan 240000\n  total_soft_steal 240000\n  total_soft_scan 240000\n\nThis patch:\n\nIn the global background reclaim, we do soft reclaim before scanning the\nper-zone LRU.  However, the return value is ignored.\n\nWe would like to skip shrink_zone() if soft_limit reclaim does enough\nwork.  Also, we need to make the memory pressure balanced across per-memcg\nzones, like the logic vm-core.  This patch is the first step where we\nstart with counting the nr_scanned and nr_reclaimed from soft_limit\nreclaim into the global scan_control.\n\nSigned-off-by: Ying Han \u003cyinghan@google.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nAcked-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.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": "f780bdb7c1c73009cb57adcf99ef50027d80bf3c",
      "tree": "d15668ffcc40a2aaa31723b87cfda0b166f84d57",
      "parents": [
        "4714d1d32d97239fb5ae3e10521d3f133a899b66"
      ],
      "author": {
        "name": "Ben Blum",
        "email": "bblum@andrew.cmu.edu",
        "time": "Thu May 26 16:25:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:34 2011 -0700"
      },
      "message": "cgroups: add per-thread subsystem callbacks\n\nAdd cgroup subsystem callbacks for per-thread attachment in atomic contexts\n\nAdd can_attach_task(), pre_attach(), and attach_task() as new callbacks\nfor cgroups\u0027s subsystem interface.  Unlike can_attach and attach, these\nare for per-thread operations, to be called potentially many times when\nattaching an entire threadgroup.\n\nAlso, the old \"bool threadgroup\" interface is removed, as replaced by\nthis.  All subsystems are modified for the new interface - of note is\ncpuset, which requires from/to nodemasks for attach to be globally scoped\n(though per-cpuset would work too) to persist from its pre_attach to\nattach_task and attach.\n\nThis is a pre-patch for cgroup-procs-writable.patch.\n\nSigned-off-by: Ben Blum \u003cbblum@andrew.cmu.edu\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nReviewed-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Miao Xie \u003cmiaox@cn.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": "f8d613e2a665bf1be9628a3c3f9bafe7599b32c0",
      "tree": "98d4da8d0e1a5fb1d9064626b4b96d95ccf26375",
      "parents": [
        "8a0599dd2471f2a2e409498c08a0ab339057ad06",
        "5bc20fc59706214d9591c11e1938a629d3538c12"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 10:50:56 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 10:50:56 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djm/tmem\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djm/tmem:\n  xen: cleancache shim to Xen Transcendent Memory\n  ocfs2: add cleancache support\n  ext4: add cleancache support\n  btrfs: add cleancache support\n  ext3: add cleancache support\n  mm/fs: add hooks to support cleancache\n  mm: cleancache core ops functions and config\n  fs: add field to superblock to support cleancache\n  mm/fs: cleancache documentation\n\nFix up trivial conflict in fs/btrfs/extent_io.c due to includes\n"
    },
    {
      "commit": "ca16d140af91febe25daeb9e032bf8bd46b8c31f",
      "tree": "a093c3f244a1bdfc2a50e271a7e6df3324df0f05",
      "parents": [
        "4db70f73e56961b9bcdfd0c36c62847a18b7dbb5"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Thu May 26 19:16:19 2011 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 09:20:31 2011 -0700"
      },
      "message": "mm: don\u0027t access vm_flags as \u0027int\u0027\n\nThe type of vma-\u003evm_flags is \u0027unsigned long\u0027. Neither \u0027int\u0027 nor\n\u0027unsigned int\u0027. This patch fixes such misuse.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\n[ Changed to use a typedef - we\u0027ll extend it to cover more cases\n  later, since there has been discussion about making it a 64-bit\n  type..                      - Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c515e1fd361c2a08a9c2eb139396ec30a4f477dc",
      "tree": "cb1a27f27f065400fc79dc287594843e169d74ab",
      "parents": [
        "077b1f83a69d94f2918630a882d74939baca0bce"
      ],
      "author": {
        "name": "Dan Magenheimer",
        "email": "dan.magenheimer@oracle.com",
        "time": "Thu May 26 10:01:43 2011 -0600"
      },
      "committer": {
        "name": "Dan Magenheimer",
        "email": "dan.magenheimer@oracle.com",
        "time": "Thu May 26 10:01:43 2011 -0600"
      },
      "message": "mm/fs: add hooks to support cleancache\n\nThis fourth patch of eight in this cleancache series provides the\ncore hooks in VFS for: initializing cleancache per filesystem;\ncapturing clean pages reclaimed by page cache; attempting to get\npages from cleancache before filesystem read; and ensuring coherency\nbetween pagecache, disk, and cleancache.  Note that the placement\nof these hooks was stable from 2.6.18 to 2.6.38; a minor semantic\nchange was required due to a patchset in 2.6.39.\n\nAll hooks become no-ops if CONFIG_CLEANCACHE is unset, or become\na check of a boolean global if CONFIG_CLEANCACHE is set but no\ncleancache \"backend\" has claimed cleancache_ops.\n\nDetails and a FAQ can be found in Documentation/vm/cleancache.txt\n\n[v8: minchan.kim@gmail.com: adapt to new remove_from_page_cache function]\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\nSigned-off-by: Dan Magenheimer \u003cdan.magenheimer@oracle.com\u003e\nReviewed-by: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nReviewed-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Rik Van Riel \u003criel@redhat.com\u003e\nCc: Jan Beulich \u003cJBeulich@novell.com\u003e\nCc: Andreas Dilger \u003cadilger@sun.com\u003e\nCc: Ted Ts\u0027o \u003ctytso@mit.edu\u003e\nCc: Mark Fasheh \u003cmfasheh@suse.com\u003e\nCc: Joel Becker \u003cjoel.becker@oracle.com\u003e\nCc: Nitin Gupta \u003cngupta@vflare.org\u003e\n"
    },
    {
      "commit": "077b1f83a69d94f2918630a882d74939baca0bce",
      "tree": "96c47594b48df7dd588e3d8827f0ac151c350bc0",
      "parents": [
        "9fdfdcf17151e8326c4d18cc133abc6e58f47568"
      ],
      "author": {
        "name": "Dan Magenheimer",
        "email": "dan.magenheimer@oracle.com",
        "time": "Thu May 26 10:01:36 2011 -0600"
      },
      "committer": {
        "name": "Dan Magenheimer",
        "email": "dan.magenheimer@oracle.com",
        "time": "Thu May 26 10:01:36 2011 -0600"
      },
      "message": "mm: cleancache core ops functions and config\n\nThis third patch of eight in this cleancache series provides\nthe core code for cleancache that interfaces between the hooks in\nVFS and individual filesystems and a cleancache backend.  It also\nincludes build and config patches.\n\nTwo new files are added: mm/cleancache.c and include/linux/cleancache.h.\n\nNote that CONFIG_CLEANCACHE can default to on; in systems that do\nnot provide a cleancache backend, all hooks devolve to a simple\ncheck of a global enable flag, so performance impact should\nbe negligible but can be reduced to zero impact if config\u0027ed off.\nHowever for this first commit, it defaults to off.\n\nDetails and a FAQ can be found in Documentation/vm/cleancache.txt\n\nCredits: Cleancache_ops design derived from Jeremy Fitzhardinge\ndesign for tmem\n\n[v8: dan.magenheimer@oracle.com: fix exportfs call affecting btrfs]\n[v8: akpm@linux-foundation.org: use static inline function, not macro]\n[v7: dan.magenheimer@oracle.com: cleanup sysfs and remove cleancache prefix]\n[v6: JBeulich@novell.com: robustly handle buggy fs encode_fh actor definition]\n[v5: jeremy@goop.org: clean up global usage and static var names]\n[v5: jeremy@goop.org: simplify init hook and any future fs init changes]\n[v5: hch@infradead.org: cleaner non-global interface for ops registration]\n[v4: adilger@sun.com: interface must support exportfs FS\u0027s]\n[v4: hch@infradead.org: interface must support 64-bit FS on 32-bit kernel]\n[v3: akpm@linux-foundation.org: use one ops struct to avoid pointer hops]\n[v3: akpm@linux-foundation.org: document and ensure PageLocked reqts are met]\n[v3: ngupta@vflare.org: fix success/fail codes, change funcs to void]\n[v2: viro@ZenIV.linux.org.uk: use sane types]\nSigned-off-by: Dan Magenheimer \u003cdan.magenheimer@oracle.com\u003e\nReviewed-by: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nReviewed-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nAcked-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: Nitin Gupta \u003cngupta@vflare.org\u003e\nAcked-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: Andreas Dilger \u003cadilger@sun.com\u003e\nAcked-by: Jan Beulich \u003cJBeulich@novell.com\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Rik Van Riel \u003criel@redhat.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Ted Ts\u0027o \u003ctytso@mit.edu\u003e\nCc: Mark Fasheh \u003cmfasheh@suse.com\u003e\nCc: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "49a78d085fa6b44d6ed791923c7172a6433589c2",
      "tree": "0fdf94bc4baf3e51f4b52c3718e6fa4f5dcb5032",
      "parents": [
        "3f5785ec31adcb7cafa9135087297a38d9698cf8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 18:06:54 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 18:06:54 2011 -0700"
      },
      "message": "slub: remove no-longer used \u0027unlock_out\u0027 label\n\nCommit a71ae47a2cbf (\"slub: Fix double bit unlock in debug mode\")\nremoved the only goto to this label, resulting in\n\n  mm/slub.c: In function \u0027__slab_alloc\u0027:\n  mm/slub.c:1834: warning: label \u0027unlock_out\u0027 defined but not used\n\nfixed trivially by the removal of the label itself too.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f29c50419c8d1998edd759f1990c4243a248f469",
      "tree": "bf75e1376757022dcb54a12eea705f6086649edd",
      "parents": [
        "6e9101aeec39961308176e0f59e73ac5d37d243a"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu May 19 14:35:33 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 25 19:56:23 2011 -0400"
      },
      "message": "maccess,probe_kernel: Make write/read src const void *\n\nThe functions probe_kernel_write() and probe_kernel_read() do not modify\nthe src pointer. Allow const pointers to be passed in without the need\nof a typecast.\n\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nAcked-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLink: http://lkml.kernel.org/r/1305824936.1465.4.camel@gandalf.stny.rr.com\n"
    },
    {
      "commit": "798ce8f1cca29dcc3f4b55947f611f4ffb32ac2b",
      "tree": "15fba84ba4b930397c29fe562504f66211365699",
      "parents": [
        "22e12bbc9bc38c6d0bd541d061a0f547596fc19d",
        "1547010e6e15a3f44f49381246421a1e19de526e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 09:14:07 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 09:14:07 2011 -0700"
      },
      "message": "Merge branch \u0027for-2.6.40/core\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.40/core\u0027 of git://git.kernel.dk/linux-2.6-block: (40 commits)\n  cfq-iosched: free cic_index if cfqd allocation fails\n  cfq-iosched: remove unused \u0027group_changed\u0027 in cfq_service_tree_add()\n  cfq-iosched: reduce bit operations in cfq_choose_req()\n  cfq-iosched: algebraic simplification in cfq_prio_to_maxrq()\n  blk-cgroup: Initialize ioc-\u003ecgroup_changed at ioc creation time\n  block: move bd_set_size() above rescan_partitions() in __blkdev_get()\n  block: call elv_bio_merged() when merged\n  cfq-iosched: Make IO merge related stats per cpu\n  cfq-iosched: Fix a memory leak of per cpu stats for root group\n  backing-dev: Kill set but not used var in  bdi_debug_stats_show()\n  block: get rid of on-stack plugging debug checks\n  blk-throttle: Make no throttling rule group processing lockless\n  blk-cgroup: Make cgroup stat reset path blkg-\u003elock free for dispatch stats\n  blk-cgroup: Make 64bit per cpu stats safe on 32bit arch\n  blk-throttle: Make dispatch stats per cpu\n  blk-throttle: Free up a group only after one rcu grace period\n  blk-throttle: Use helper function to add root throtl group to lists\n  blk-throttle: Introduce a helper function to fill in device details\n  blk-throttle: Dynamically allocate root group\n  blk-cgroup: Allow sleeping while dynamically allocating a group\n  ...\n"
    },
    {
      "commit": "f67d9b1576c1c6e02100f8b27f4e9d66bbeb4d49",
      "tree": "c70649a911f85418c10075901c489caa7d8a0762",
      "parents": [
        "eb709b0d062efd653a61183af8e27b2711c3cf5c"
      ],
      "author": {
        "name": "Bob Liu",
        "email": "lliubbo@gmail.com",
        "time": "Tue May 24 17:12:56 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:38 2011 -0700"
      },
      "message": "nommu: add page alignment to mmap\n\nCurrently on nommu arch mmap(),mremap() and munmap() doesn\u0027t do\npage_align() which isn\u0027t consist with mmu arch and cause some issues.\n\nFirst, some drivers\u0027 mmap() function depends on vma-\u003evm_end - vma-\u003estart\nis page aligned which is true on mmu arch but not on nommu.  eg: uvc\ncamera driver.\n\nSecond munmap() may return -EINVAL[split file] error in cases when end is\nnot page aligned(passed into from userspace) but vma-\u003evm_end is aligned\ndure to split or driver\u0027s mmap() ops.\n\nAdd page alignment to fix those issues.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Bob Liu \u003clliubbo@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Greg Ungerer \u003cgerg@snapgear.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eb709b0d062efd653a61183af8e27b2711c3cf5c",
      "tree": "ea0b4139854c2e713acab7ac679fa368ef9187ef",
      "parents": [
        "f68aa5b445fd00b67588ade611a4efb1a34dadb4"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Tue May 24 17:12:55 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:37 2011 -0700"
      },
      "message": "mm: batch activate_page() to reduce lock contention\n\nThe zone-\u003elru_lock is heavily contented in workload where activate_page()\nis frequently used.  We could do batch activate_page() to reduce the lock\ncontention.  The batched pages will be added into zone list when the pool\nis full or page reclaim is trying to drain them.\n\nFor example, in a 4 socket 64 CPU system, create a sparse file and 64\nprocesses, processes shared map to the file.  Each process read access the\nwhole file and then exit.  The process exit will do unmap_vmas() and cause\na lot of activate_page() call.  In such workload, we saw about 58% total\ntime reduction with below patch.  Other workloads with a lot of\nactivate_page also benefits a lot too.\n\nAndrew Morton suggested activate_page() and putback_lru_pages() should\nfollow the same path to active pages, but this is hard to implement (see\ncommit 7a608572a282a (\"Revert \"mm: batch activate_page() to reduce lock\ncontention\")).  On the other hand, do we really need putback_lru_pages()\nto follow the same path?  I tested several FIO/FFSB benchmark (about 20\nscripts for each benchmark) in 3 machines here from 2 sockets to 4\nsockets.  My test doesn\u0027t show anything significant with/without below\npatch (there is slight difference but mostly some noise which we found\neven without below patch before).  Below patch basically returns to the\nsame as my first post.\n\nI tested some microbenchmarks:\n  case-anon-cow-rand-mt         0.58%\n  case-anon-cow-rand           -3.30%\n  case-anon-cow-seq-mt         -0.51%\n  case-anon-cow-seq            -5.68%\n  case-anon-r-rand-mt           0.23%\n  case-anon-r-rand              0.81%\n  case-anon-r-seq-mt           -0.71%\n  case-anon-r-seq              -1.99%\n  case-anon-rx-rand-mt          2.11%\n  case-anon-rx-seq-mt           3.46%\n  case-anon-w-rand-mt          -0.03%\n  case-anon-w-rand             -0.50%\n  case-anon-w-seq-mt           -1.08%\n  case-anon-w-seq              -0.12%\n  case-anon-wx-rand-mt         -5.02%\n  case-anon-wx-seq-mt          -1.43%\n  case-fork                     1.65%\n  case-fork-sleep              -0.07%\n  case-fork-withmem             1.39%\n  case-hugetlb                 -0.59%\n  case-lru-file-mmap-read-mt   -0.54%\n  case-lru-file-mmap-read       0.61%\n  case-lru-file-mmap-read-rand -2.24%\n  case-lru-file-readonce       -0.64%\n  case-lru-file-readtwice     -11.69%\n  case-lru-memcg               -1.35%\n  case-mmap-pread-rand-mt       1.88%\n  case-mmap-pread-rand        -15.26%\n  case-mmap-pread-seq-mt        0.89%\n  case-mmap-pread-seq         -69.72%\n  case-mmap-xread-rand-mt       0.71%\n  case-mmap-xread-seq-mt        0.38%\n\nThe most significent are:\n  case-lru-file-readtwice     -11.69%\n  case-mmap-pread-rand        -15.26%\n  case-mmap-pread-seq         -69.72%\n\nwhich use activate_page a lot.  others are basically variations because\neach run has slightly difference.\n\nIn UP case, \u0027size mm/swap.o\u0027\nbefore the two patches:\n   text    data     bss     dec     hex filename\n   6466     896       4    7366    1cc6 mm/swap.o\nafter the two patches:\n   text    data     bss     dec     hex filename\n   6343     896       4    7243    1c4b mm/swap.o\n\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Hiroyuki Kamezawa \u003ckamezawa.hiroyuki@gmail.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Hugh Dickins \u003chughd@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": "cfa54a0fcfc1017c6f122b6f21aaba36daa07f71",
      "tree": "c6bcc41b79475854254384b7b4912a2101364183",
      "parents": [
        "a539f3533b78e39a22723d6d3e1e11b6c14454d9"
      ],
      "author": {
        "name": "Andrew Barry",
        "email": "abarry@cray.com",
        "time": "Tue May 24 17:12:52 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:36 2011 -0700"
      },
      "message": "mm/page_alloc.c: prevent unending loop in __alloc_pages_slowpath()\n\nI believe I found a problem in __alloc_pages_slowpath, which allows a\nprocess to get stuck endlessly looping, even when lots of memory is\navailable.\n\nRunning an I/O and memory intensive stress-test I see a 0-order page\nallocation with __GFP_IO and __GFP_WAIT, running on a system with very\nlittle free memory.  Right about the same time that the stress-test gets\nkilled by the OOM-killer, the utility trying to allocate memory gets stuck\nin __alloc_pages_slowpath even though most of the systems memory was freed\nby the oom-kill of the stress-test.\n\nThe utility ends up looping from the rebalance label down through the\nwait_iff_congested continiously.  Because order\u003d0,\n__alloc_pages_direct_compact skips the call to get_page_from_freelist.\nBecause all of the reclaimable memory on the system has already been\nreclaimed, __alloc_pages_direct_reclaim skips the call to\nget_page_from_freelist.  Since there is no __GFP_FS flag, the block with\n__alloc_pages_may_oom is skipped.  The loop hits the wait_iff_congested,\nthen jumps back to rebalance without ever trying to\nget_page_from_freelist.  This loop repeats infinitely.\n\nThe test case is pretty pathological.  Running a mix of I/O stress-tests\nthat do a lot of fork() and consume all of the system memory, I can pretty\nreliably hit this on 600 nodes, in about 12 hours.  32GB/node.\n\nSigned-off-by: Andrew Barry \u003cabarry@cray.com\u003e\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReviewed-by: Rik van Riel\u003criel@redhat.com\u003e\nAcked-by: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: \u003cstable@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": "a2c8990aed5ab000491732b07c8c4465d1b389b8",
      "tree": "1aaac1e831410ac3e59c969f05426315d2054c28",
      "parents": [
        "5b52fc890bece77bffb9fade69239f71384ef02b"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.cz",
        "time": "Tue May 24 17:12:50 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:36 2011 -0700"
      },
      "message": "memsw: remove noswapaccount kernel parameter\n\nThe noswapaccount parameter has been deprecated since 2.6.38 without any\ncomplaints from users so we can remove it.  swapaccount\u003d0|1 can be used\ninstead.\n\nAs we are removing the parameter we can also clean up swapaccount because\nit doesn\u0027t have to accept an empty string anymore (to match noswapaccount)\nand so we can push \u003d into __setup macro rather than checking \"\u003d1\" resp.\n\"\u003d0\" strings\n\nSigned-off-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Hiroyuki Kamezawa \u003ckamezawa.hiroyuki@gmail.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.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": "f69ff943df6972aae96c10733b6847fa094d8a59",
      "tree": "b0812b5e0b1376f193a9db088ebd8856deabed00",
      "parents": [
        "13057efb0a0063eb8042d99093ec88a52c4f1593"
      ],
      "author": {
        "name": "Stephen Wilson",
        "email": "wilsons@start.ca",
        "time": "Tue May 24 17:12:47 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:34 2011 -0700"
      },
      "message": "mm: proc: move show_numa_map() to fs/proc/task_mmu.c\n\nMoving show_numa_map() from mempolicy.c to task_mmu.c solves several\nissues.\n\n  - Having the show() operation \"miles away\" from the corresponding\n    seq_file iteration operations is a maintenance burden.\n\n  - The need to export ad hoc info like struct proc_maps_private is\n    eliminated.\n\n  - The implementation of show_numa_map() can be improved in a simple\n    manner by cooperating with the other seq_file operations (start,\n    stop, etc) -- something that would be messy to do without this\n    change.\n\nSigned-off-by: Stephen Wilson \u003cwilsons@start.ca\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9840e37239183a947a15d617c67e418c6e505dd8",
      "tree": "591ca1f930df133d9c212ccf09edcbd26b7d3d3e",
      "parents": [
        "722e2ee09b8dfc2ac5eedb802dc0d227702df084"
      ],
      "author": {
        "name": "Stephen Wilson",
        "email": "wilsons@start.ca",
        "time": "Tue May 24 17:12:45 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:33 2011 -0700"
      },
      "message": "mm: remove check_huge_range()\n\nThis function has been superseded by gather_hugetbl_stats() and is no\nlonger needed.\n\nSigned-off-by: Stephen Wilson \u003cwilsons@start.ca\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "722e2ee09b8dfc2ac5eedb802dc0d227702df084",
      "tree": "0ce839a50764cb5e50ad7e748773ae159a8dc9cc",
      "parents": [
        "b1f72d1857bb0de19ce20a59f3f85e6dc47bdec8"
      ],
      "author": {
        "name": "Stephen Wilson",
        "email": "wilsons@start.ca",
        "time": "Tue May 24 17:12:44 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:33 2011 -0700"
      },
      "message": "mm: make gather_stats() type-safe and remove forward declaration\n\nImprove the prototype of gather_stats() to take a struct numa_maps as\nargument instead of a generic void *.  Update all callers to make the\nrequired type explicit.\n\nSince gather_stats() is not needed before its definition and is scheduled\nto be moved out of mempolicy.c the declaration is removed as well.\n\nSigned-off-by: Stephen Wilson \u003cwilsons@start.ca\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b1f72d1857bb0de19ce20a59f3f85e6dc47bdec8",
      "tree": "4ce7e448a81f3315bb8aece1b38fc3cd15a7cf6d",
      "parents": [
        "29ea2f6982f1edc4302729116f2246dd7b45471d"
      ],
      "author": {
        "name": "Stephen Wilson",
        "email": "wilsons@start.ca",
        "time": "Tue May 24 17:12:43 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:33 2011 -0700"
      },
      "message": "mm: remove MPOL_MF_STATS\n\nMapping statistics in a NUMA environment is now computed using the generic\nwalk_page_range() logic.  Remove the old/equivalent functionality.\n\nSigned-off-by: Stephen Wilson \u003cwilsons@start.ca\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "29ea2f6982f1edc4302729116f2246dd7b45471d",
      "tree": "b40d85bf30c25537bd269407748abbdb3644a54f",
      "parents": [
        "d98f6cb67fb5b9376d4957d7ba9f32eac35c2e08"
      ],
      "author": {
        "name": "Stephen Wilson",
        "email": "wilsons@start.ca",
        "time": "Tue May 24 17:12:42 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:32 2011 -0700"
      },
      "message": "mm: use walk_page_range() instead of custom page table walking code\n\nConverting show_numa_map() to use the generic routine decouples the\nfunction from mempolicy.c, allowing it to be moved out of the mm subsystem\nand into fs/proc.\n\nAlso, include KSM pages in /proc/pid/numa_maps statistics.  The pagewalk\nlogic implemented by check_pte_range() failed to account for such pages as\nthey were not applicable to the page migration case.\n\nSigned-off-by: Stephen Wilson \u003cwilsons@start.ca\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d98f6cb67fb5b9376d4957d7ba9f32eac35c2e08",
      "tree": "e7fbb12bde5e30154403bf4e8cabf0bcf817aa65",
      "parents": [
        "c856507f2b2b47a49d8587afb58930b463f6bff4"
      ],
      "author": {
        "name": "Stephen Wilson",
        "email": "wilsons@start.ca",
        "time": "Tue May 24 17:12:41 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:32 2011 -0700"
      },
      "message": "mm: export get_vma_policy()\n\nIn commit 48fce3429d (\"mempolicies: unexport get_vma_policy()\")\nget_vma_policy() was marked static as all clients were local to\nmempolicy.c.\n\nHowever, the decision to generate /proc/pid/numa_maps in the numa memory\npolicy code and outside the procfs subsystem introduces an artificial\ninterdependency between the two systems.  Exporting get_vma_policy() once\nagain is the first step to clean up this interdependency.\n\nSigned-off-by: Stephen Wilson \u003cwilsons@start.ca\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b09e0fa4b4ea66266058eead43350bd7d55fec67",
      "tree": "35eed2e1bc39bbbca1c041b69e1e12e826241ccf",
      "parents": [
        "4eb317072be81bd93906f768679f745bc574e6b7"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue May 24 17:12:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:31 2011 -0700"
      },
      "message": "tmpfs: implement generic xattr support\n\nImplement generic xattrs for tmpfs filesystems.  The Feodra project, while\ntrying to replace suid apps with file capabilities, realized that tmpfs,\nwhich is used on the build systems, does not support file capabilities and\nthus cannot be used to build packages which use file capabilities.  Xattrs\nare also needed for overlayfs.\n\nThe xattr interface is a bit odd.  If a filesystem does not implement any\n{get,set,list}xattr functions the VFS will call into some random LSM hooks\nand the running LSM can then implement some method for handling xattrs.\nSELinux for example provides a method to support security.selinux but no\nother security.* xattrs.\n\nAs it stands today when one enables CONFIG_TMPFS_POSIX_ACL tmpfs will have\nxattr handler routines specifically to handle acls.  Because of this tmpfs\nwould loose the VFS/LSM helpers to support the running LSM.  To make up\nfor that tmpfs had stub functions that did nothing but call into the LSM\nhooks which implement the helpers.\n\nThis new patch does not use the LSM fallback functions and instead just\nimplements a native get/set/list xattr feature for the full security.* and\ntrusted.* namespace like a normal filesystem.  This means that tmpfs can\nnow support both security.selinux and security.capability, which was not\npreviously possible.\n\nThe basic implementation is that I attach a:\n\nstruct shmem_xattr {\n\tstruct list_head list; /* anchored by shmem_inode_info-\u003exattr_list */\n\tchar *name;\n\tsize_t size;\n\tchar value[0];\n};\n\nInto the struct shmem_inode_info for each xattr that is set.  This\nimplementation could easily support the user.* namespace as well, except\nsome care needs to be taken to prevent large amounts of unswappable memory\nbeing allocated for unprivileged users.\n\n[mszeredi@suse.cz: new config option, suport trusted.*, support symlinks]\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nAcked-by: Serge Hallyn \u003cserge.hallyn@ubuntu.com\u003e\nTested-by: Serge Hallyn \u003cserge.hallyn@ubuntu.com\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nTested-by: Jordi Pujol \u003cjordipujolp@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": "4eb317072be81bd93906f768679f745bc574e6b7",
      "tree": "74558ef8caca65ddf62fd93030dae44b5e51535c",
      "parents": [
        "8bba154ef29e16331e578029e9050c74b87b7ff9"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Tue May 24 17:12:38 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:31 2011 -0700"
      },
      "message": "memblock/nobootmem: remove unneeded code from alloc_bootmem_node_high()\n\nThe bootmem wrapper with memblock supports top-down now, so we no longer\nneed this trick.\n\nSigned-off-by: Yinghai LU \u003cyinghai@kernel.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Olaf Hering \u003colaf@aepfle.de\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a197b59ae6e8bee56fcef37ea2482dc08414e2ac",
      "tree": "ead0890373cc9c36321364efbad73a25898076ab",
      "parents": [
        "ba93fa81b5f2bf0076407a3a777fff122ce16220"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Tue May 24 17:12:35 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:29 2011 -0700"
      },
      "message": "mm: fail GFP_DMA allocations when ZONE_DMA is not configured\n\nThe page allocator will improperly return a page from ZONE_NORMAL even\nwhen __GFP_DMA is passed if CONFIG_ZONE_DMA is disabled.  The caller\nexpects DMA memory, perhaps for ISA devices with 16-bit address registers,\nand may get higher memory resulting in undefined behavior.\n\nThis patch causes the page allocator to return NULL in such circumstances\nwith a warning emitted to the kernel log on the first occurrence.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.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": "a3bc42f584cf9024580adeb4031d4202dac05858",
      "tree": "5b18fa3d8e04d14963796c0ad6f3270cacfc784b",
      "parents": [
        "821ed6bbed3cf41c4050a431eeb822b33868d36a"
      ],
      "author": {
        "name": "Daniel Kiper",
        "email": "dkiper@net-space.pl",
        "time": "Tue May 24 17:12:31 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:28 2011 -0700"
      },
      "message": "mm: remove dependency on CONFIG_FLATMEM from online_page()\n\nonline_pages() is only compiled for CONFIG_MEMORY_HOTPLUG_SPARSE, so there\nis no need to support CONFIG_FLATMEM code within it.\n\nThis patch removes code that is never used.\n\nSigned-off-by: Daniel Kiper \u003cdkiper@net-space.pl\u003e\nAcked-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nAcked-by: David Rientjes \u003crientjes@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": "821ed6bbed3cf41c4050a431eeb822b33868d36a",
      "tree": "50f6808a20263aaaf546a69218e1c1312ce7b51e",
      "parents": [
        "2cbea1d3ab11946885d37a2461072ee4d687cb4e"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Tue May 24 17:12:31 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:27 2011 -0700"
      },
      "message": "mm: filter unevictable page out in deactivate_page()\n\nIt\u0027s pointless that deactive_page\u0027s operates on unevictable pages.  This\npatch removes unnecessary overhead which might be a bit problem in case\nthat there are many unevictable page in system(ex, mprotect workload)\n\n[akpm@linux-foundation.org: tidy up comment]\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReviewed-by: 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": "2cbea1d3ab11946885d37a2461072ee4d687cb4e",
      "tree": "aab301cb3da1e633bbd7df2acc4b4c2e4f777b35",
      "parents": [
        "207d04baa3591a354711e863dd90087fc75873b3"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Tue May 24 17:12:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:27 2011 -0700"
      },
      "message": "readahead: trigger mmap sequential readahead on PG_readahead\n\nPreviously the mmap sequential readahead is triggered by updating\nra-\u003eprev_pos on each page fault and compare it with current page offset.\n\nIt costs dirtying the cache line on each _minor_ page fault.  So remove\nthe ra-\u003eprev_pos recording, and instead tag PG_readahead to trigger the\npossible sequential readahead.  It\u0027s not only more simple, but also will\nwork more reliably and reduce cache line bouncing on concurrent page\nfaults on shared struct file.\n\nIn the mosbench exim benchmark which does multi-threaded page faults on\nshared struct file, the ra-\u003emmap_miss and ra-\u003eprev_pos updates are found\nto cause excessive cache line bouncing on tmpfs, which actually disabled\nreadahead totally (shmem_backing_dev_info.ra_pages \u003d\u003d 0).\n\nSo remove the ra-\u003eprev_pos recording, and instead tag PG_readahead to\ntrigger the possible sequential readahead.  It\u0027s not only more simple, but\nalso will work more reliably on concurrent reads on shared struct file.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nTested-by: Tim Chen \u003ctim.c.chen@intel.com\u003e\nReported-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "207d04baa3591a354711e863dd90087fc75873b3",
      "tree": "17498d55af5b2a588e7e7111e927a099236ca770",
      "parents": [
        "275b12bf5486f6f531111fd3d7dbbf01df427cfe"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Tue May 24 17:12:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:26 2011 -0700"
      },
      "message": "readahead: reduce unnecessary mmap_miss increases\n\nThe original INT_MAX is too large, reduce it to\n\n- avoid unnecessarily dirtying/bouncing the cache line\n\n- restore mmap read-around faster on changed access pattern\n\nBackground: in the mosbench exim benchmark which does multi-threaded page\nfaults on shared struct file, the ra-\u003emmap_miss updates are found to cause\nexcessive cache line bouncing on tmpfs.  The ra state updates are needless\nfor tmpfs because it actually disabled readahead totally\n(shmem_backing_dev_info.ra_pages \u003d\u003d 0).\n\nTested-by: Tim Chen \u003ctim.c.chen@intel.com\u003e\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "275b12bf5486f6f531111fd3d7dbbf01df427cfe",
      "tree": "ebed0109eaa3e4a015bc1653f4d933f2e84c794f",
      "parents": [
        "1495f230fa7750479c79e3656286b9183d662077"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Tue May 24 17:12:28 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:26 2011 -0700"
      },
      "message": "readahead: return early when readahead is disabled\n\nReduce readahead overheads by returning early in do_sync_mmap_readahead().\n\ntmpfs has ra_pages\u003d0 and it can page fault really fast (not constraint by\nIO if not swapping).\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nTested-by: Tim Chen \u003ctim.c.chen@intel.com\u003e\nReported-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1495f230fa7750479c79e3656286b9183d662077",
      "tree": "e5e233bb9fe1916ccc7281e7dcc71b1572fb22c5",
      "parents": [
        "a09ed5e00084448453c8bada4dcd31e5fbfc2f21"
      ],
      "author": {
        "name": "Ying Han",
        "email": "yinghan@google.com",
        "time": "Tue May 24 17:12:27 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:26 2011 -0700"
      },
      "message": "vmscan: change shrinker API by passing shrink_control struct\n\nChange each shrinker\u0027s API by consolidating the existing parameters into\nshrink_control struct.  This will simplify any further features added w/o\ntouching each file of shrinker.\n\n[akpm@linux-foundation.org: fix build]\n[akpm@linux-foundation.org: fix warning]\n[kosaki.motohiro@jp.fujitsu.com: fix up new shrinker API]\n[akpm@linux-foundation.org: fix xfs warning]\n[akpm@linux-foundation.org: update gfs2]\nSigned-off-by: Ying Han \u003cyinghan@google.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@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": "a09ed5e00084448453c8bada4dcd31e5fbfc2f21",
      "tree": "493f5f2a93efb080cdcc28e793cbcfc7999e66eb",
      "parents": [
        "7b1de5868b124d8f399d8791ed30a9b679d64d4d"
      ],
      "author": {
        "name": "Ying Han",
        "email": "yinghan@google.com",
        "time": "Tue May 24 17:12:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:25 2011 -0700"
      },
      "message": "vmscan: change shrink_slab() interfaces by passing shrink_control\n\nConsolidate the existing parameters to shrink_slab() into a new\nshrink_control struct.  This is needed later to pass the same struct to\nshrinkers.\n\nSigned-off-by: Ying Han \u003cyinghan@google.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.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": "7b1de5868b124d8f399d8791ed30a9b679d64d4d",
      "tree": "3a7d5d7a6ccc3226648cb0e56387614b7066c3ff",
      "parents": [
        "6d3163ce86dd386b4f7bda80241d7fea2bc0bb1d"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Tue May 24 17:12:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:25 2011 -0700"
      },
      "message": "readahead: readahead page allocations are OK to fail\n\nPass __GFP_NORETRY|__GFP_NOWARN for readahead page allocations.\n\nreadahead page allocations are completely optional.  They are OK to fail\nand in particular shall not trigger OOM on themselves.\n\nReported-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReviewed-by: Pekka Enberg \u003cpenberg@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": "6d3163ce86dd386b4f7bda80241d7fea2bc0bb1d",
      "tree": "169f74df152fa593e5dc9adfff7f6f7e31061028",
      "parents": [
        "0091a47da0b720ca39511c7d90dcc768cafcaf58"
      ],
      "author": {
        "name": "Arve Hjønnevåg",
        "email": "arve@android.com",
        "time": "Tue May 24 17:12:24 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:24 2011 -0700"
      },
      "message": "mm: check if any page in a pageblock is reserved before marking it MIGRATE_RESERVE\n\nThis fixes a problem where the first pageblock got marked MIGRATE_RESERVE\neven though it only had a few free pages.  eg, On current ARM port, The\nkernel starts at offset 0x8000 to leave room for boot parameters, and the\nmemory is freed later.\n\nThis in turn caused no contiguous memory to be reserved and frequent\nkswapd wakeups that emptied the caches to get more contiguous memory.\n\nUnfortunatelly, ARM needs order-2 allocation for pgd (see\narm/mm/pgd.c#pgd_alloc()).  Therefore the issue is not minor nor easy\navoidable.\n\n[kosaki.motohiro@jp.fujitsu.com: added some explanation]\n[kosaki.motohiro@jp.fujitsu.com: add !pfn_valid_within() to check]\n[minchan.kim@gmail.com: check end_pfn in pageblock_is_reserved]\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Arve Hjønnevåg \u003carve@android.com\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Dave Hansen \u003cdave@linux.vnet.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": "0c917313a8d84fcc0c376db3f7edb7c06f06f920",
      "tree": "de95ed4a300d1034b1abae2eb8c7e509c9dfb341",
      "parents": [
        "bd486285f24ac2fd1ff64688fb0729712c5712c4"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Tue May 24 17:12:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:23 2011 -0700"
      },
      "message": "mm: strictly require elevated page refcount in isolate_lru_page()\n\nisolate_lru_page() must be called only with stable reference to the page,\nthis is what is written in the comment above it, this is reasonable.\n\ncurrent isolate_lru_page() users and its page extra reference sources:\n\n mm/huge_memory.c:\n  __collapse_huge_page_isolate()\t- reference from pte\n\n mm/memcontrol.c:\n  mem_cgroup_move_parent()\t\t- get_page_unless_zero()\n  mem_cgroup_move_charge_pte_range()\t- reference from pte\n\n mm/memory-failure.c:\n  soft_offline_page()\t\t\t- fixed, reference from get_any_page()\n  delete_from_lru_cache() - reference from caller or get_page_unless_zero()\n\t[ seems like there bug, because __memory_failure() can call\n\t  page_action() for hpages tail, but it is ok for\n\t  isolate_lru_page(), tail getted and not in lru]\n\n mm/memory_hotplug.c:\n  do_migrate_range()\t\t\t- fixed, get_page_unless_zero()\n\n mm/mempolicy.c:\n  migrate_page_add()\t\t\t- reference from pte\n\n mm/migrate.c:\n  do_move_page_to_node_array()\t\t- reference from follow_page()\n\n mlock.c:\t\t\t\t- various external references\n\n mm/vmscan.c:\n  putback_lru_page()\t\t\t- reference from isolate_lru_page()\n\nIt seems that all isolate_lru_page() users are ready now for this\nrestriction.  So, let\u0027s replace redundant get_page_unless_zero() with\nget_page() and add page initial reference count check with VM_BUG_ON()\n\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.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": "bd486285f24ac2fd1ff64688fb0729712c5712c4",
      "tree": "d0fde80eb5c05893ba3b624b8219436b3efb274a",
      "parents": [
        "700c2a46e88265326764197d5b8842490bae5569"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Tue May 24 17:12:20 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:23 2011 -0700"
      },
      "message": "mem-hwpoison: fix page refcount around isolate_lru_page()\n\nDrop first page reference only after calling isolate_lru_page() to keep\npage stable reference while isolating.\n\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.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": "700c2a46e88265326764197d5b8842490bae5569",
      "tree": "65f02f083e5eebfab0296499318e5a40992116a9",
      "parents": [
        "22943ab116af1ead4dc112ec408a93cf1365b34a"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Tue May 24 17:12:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:22 2011 -0700"
      },
      "message": "mem-hotplug: call isolate_lru_page with elevated refcount\n\nisolate_lru_page() must be called only with stable reference to page.  So,\nlet\u0027s grab normal page reference.\n\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.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": "22943ab116af1ead4dc112ec408a93cf1365b34a",
      "tree": "97fcfd64dc06ac9b60fb48c0cd331249fb96f13d",
      "parents": [
        "a238ab5b0239575c179f4976064192c3f7409dad"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Tue May 24 17:12:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:22 2011 -0700"
      },
      "message": "mm: print vmalloc() state after allocation failures\n\nI was tracking down a page allocation failure that ended up in vmalloc().\nSince vmalloc() uses 0-order pages, if somebody asks for an insane amount\nof memory, we\u0027ll still get a warning with \"order:0\" in it.  That\u0027s not\nvery useful.\n\nDuring recovery, vmalloc() also nicely frees all of the memory that it got\nup to the point of the failure.  That is wonderful, but it also quickly\nhides any issues.  We have a much different sitation if vmalloc()\nrepeatedly fails 10GB in to:\n\n\tvmalloc(100 * 1\u003c\u003c30);\n\nversus repeatedly failing 4096 bytes in to a:\n\n\tvmalloc(8192);\n\nThis patch will print out messages that look like this:\n\n[   68.123503] vmalloc: allocation failure, allocated 6680576 of 13426688 bytes\n[   68.124218] bash: page allocation failure: order:0, mode:0xd2\n[   68.124811] Pid: 3770, comm: bash Not tainted 2.6.39-rc3-00082-g85f2e68-dirty #333\n[   68.125579] Call Trace:\n[   68.125853]  [\u003cffffffff810f6da6\u003e] warn_alloc_failed+0x146/0x170\n[   68.126464]  [\u003cffffffff8107e05c\u003e] ? printk+0x6c/0x70\n[   68.126791]  [\u003cffffffff8112b5d4\u003e] ? alloc_pages_current+0x94/0xe0\n[   68.127661]  [\u003cffffffff8111ed37\u003e] __vmalloc_node_range+0x237/0x290\n...\n\nThe \u0027order\u0027 variable is added for clarity when calling warn_alloc_failed()\nto avoid having an unexplained \u00270\u0027 as an argument.\n\nThe \u0027tmp_mask\u0027 is because adding an open-coded \u0027| __GFP_NOWARN\u0027 would take\nus over 80 columns for the alloc_pages_node() call.  If we are going to\nadd a line, it might as well be one that makes the sucker easier to read.\n\nAs a side issue, I also noticed that ctl_ioctl() does vmalloc() based\nsolely on an unverified value passed in from userspace.  Granted, it\u0027s\nunder CAP_SYS_ADMIN, but it still frightens me a bit.\n\nSigned-off-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Michal Nazarewicz \u003cmina86@mina86.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a238ab5b0239575c179f4976064192c3f7409dad",
      "tree": "bed3d186bee49318e1984eeac489a614ad6acb1b",
      "parents": [
        "de03c72cfce5b263a674d04348b58475ec50163c"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Tue May 24 17:12:16 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:21 2011 -0700"
      },
      "message": "mm: break out page allocation warning code\n\nThis originally started as a simple patch to give vmalloc() some more\nverbose output on failure on top of the plain page allocator messages.\nJohannes suggested that it might be nicer to lead with the vmalloc() info\n_before_ the page allocator messages.\n\nBut, I do think there\u0027s a lot of value in what __alloc_pages_slowpath()\ndoes with its filtering and so forth.\n\nThis patch creates a new function which other allocators can call instead\nof relying on the internal page allocator warnings.  It also gives this\nfunction private rate-limiting which separates it from other\nprintk_ratelimit() users.\n\nSigned-off-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Michal Nazarewicz \u003cmina86@mina86.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "de03c72cfce5b263a674d04348b58475ec50163c",
      "tree": "e2b035234440bcd1aa88078c3f9c8457d461ef9c",
      "parents": [
        "692e0b35427a088bf75d9363788c61c7edbe93a5"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue May 24 17:12:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:21 2011 -0700"
      },
      "message": "mm: convert mm-\u003ecpu_vm_cpumask into cpumask_var_t\n\ncpumask_t is very big struct and cpu_vm_mask is placed wrong position.\nIt might lead to reduce cache hit ratio.\n\nThis patch has two change.\n1) Move the place of cpumask into last of mm_struct. Because usually cpumask\n   is accessed only front bits when the system has cpu-hotplug capability\n2) Convert cpu_vm_mask into cpumask_var_t. It may help to reduce memory\n   footprint if cpumask_size() will use nr_cpumask_bits properly in future.\n\nIn addition, this patch change the name of cpu_vm_mask with cpu_vm_mask_var.\nIt may help to detect out of tree cpu_vm_mask users.\n\nThis patch has no functional change.\n\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Koichi Yasutake \u003cyasutake.koichi@jp.panasonic.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "692e0b35427a088bf75d9363788c61c7edbe93a5",
      "tree": "db1b4365b70fbe809753e6ac097b60fb4f7299a8",
      "parents": [
        "9547d01bfb9c351dc19067f8a4cea9d3955f4125"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Tue May 24 17:12:14 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:21 2011 -0700"
      },
      "message": "mm: thp: optimize memcg charge in khugepaged\n\nWe don\u0027t need to hold the mmmap_sem through mem_cgroup_newpage_charge(),\nthe mmap_sem is only hold for keeping the vma stable and we don\u0027t need the\nvma stable anymore after we return from alloc_hugepage_vma().\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Johannes Weiner \u003cjweiner@redhat.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Minchan Kim \u003cminchan.kim@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": "9547d01bfb9c351dc19067f8a4cea9d3955f4125",
      "tree": "3c32521dbbf380471e1eef3e11ae656b24164255",
      "parents": [
        "88c22088bf235f50b09a10bd9f022b0472bcb6b5"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 24 17:12:14 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:20 2011 -0700"
      },
      "message": "mm: uninline large generic tlb.h functions\n\nSome of these functions have grown beyond inline sanity, move them\nout-of-line.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nRequested-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nRequested-by: Hugh Dickins \u003chughd@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": "88c22088bf235f50b09a10bd9f022b0472bcb6b5",
      "tree": "8859c39a8e48bf41b5bd48e9e279571ca56ec1b0",
      "parents": [
        "2b575eb64f7a9c701fb4bfdb12388ac547f6c2b6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 24 17:12:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:20 2011 -0700"
      },
      "message": "mm: optimize page_lock_anon_vma() fast-path\n\nOptimize the page_lock_anon_vma() fast path to be one atomic op, instead\nof two.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Richard Weinberger \u003crichard@nod.at\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Namhyung Kim \u003cnamhyung@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": "2b575eb64f7a9c701fb4bfdb12388ac547f6c2b6",
      "tree": "965739cbf570567a26f1512ae9a9fe35ce1afbed",
      "parents": [
        "746b18d421da7f27e948e8af1ad82b6d0309324d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 24 17:12:11 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:19 2011 -0700"
      },
      "message": "mm: convert anon_vma-\u003elock to a mutex\n\nStraightforward conversion of anon_vma-\u003elock to a mutex.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Richard Weinberger \u003crichard@nod.at\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Namhyung Kim \u003cnamhyung@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": "746b18d421da7f27e948e8af1ad82b6d0309324d",
      "tree": "d4e756977673b7b8166c00e34a21d85c5e26ea6e",
      "parents": [
        "6111e4ca6829a0e8b092b8e5eeb6b5366091f29c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 24 17:12:10 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:19 2011 -0700"
      },
      "message": "mm: use refcounts for page_lock_anon_vma()\n\nConvert page_lock_anon_vma() over to use refcounts.  This is done to\nprepare for the conversion of anon_vma from spinlock to mutex.\n\nSadly this inceases the cost of page_lock_anon_vma() from one to two\natomics, a follow up patch addresses this, lets keep that simple for now.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Richard Weinberger \u003crichard@nod.at\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Namhyung Kim \u003cnamhyung@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": "6111e4ca6829a0e8b092b8e5eeb6b5366091f29c",
      "tree": "12d0f6bf4dad72e6842b8d68b72f24fd23bb236c",
      "parents": [
        "25aeeb046e695c3093a86aa9386128ffb3b1bc32"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 24 17:12:08 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:18 2011 -0700"
      },
      "message": "mm: improve page_lock_anon_vma() comment\n\nA slightly more verbose comment to go along with the trickery in\npage_lock_anon_vma().\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Richard Weinberger \u003crichard@nod.at\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Namhyung Kim \u003cnamhyung@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": "25aeeb046e695c3093a86aa9386128ffb3b1bc32",
      "tree": "3ccd60d5459baa4dc4d0245d764a7cae2496c876",
      "parents": [
        "3d48ae45e72390ddf8cc5256ac32ed6f7a19cbea"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 24 17:12:07 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:18 2011 -0700"
      },
      "message": "mm: revert page_lock_anon_vma() lock annotation\n\nIts beyond ugly and gets in the way.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Richard Weinberger \u003crichard@nod.at\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Namhyung Kim \u003cnamhyung@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": "3d48ae45e72390ddf8cc5256ac32ed6f7a19cbea",
      "tree": "1f46db3a8424090dd8e0b58991fa5acc1a73e680",
      "parents": [
        "97a894136f29802da19a15541de3c019e1ca147e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 24 17:12:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:18 2011 -0700"
      },
      "message": "mm: Convert i_mmap_lock to a mutex\n\nStraightforward conversion of i_mmap_lock to a mutex.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Richard Weinberger \u003crichard@nod.at\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Namhyung Kim \u003cnamhyung@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": "97a894136f29802da19a15541de3c019e1ca147e",
      "tree": "1fd3f92ba92a37d5d8527a1f41458091d0a944dc",
      "parents": [
        "e4c70a6629f9c74c4b0de258a3951890e9047c82"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 24 17:12:04 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:17 2011 -0700"
      },
      "message": "mm: Remove i_mmap_lock lockbreak\n\nHugh says:\n \"The only significant loser, I think, would be page reclaim (when\n  concurrent with truncation): could spin for a long time waiting for\n  the i_mmap_mutex it expects would soon be dropped? \"\n\nCounter points:\n - cpu contention makes the spin stop (need_resched())\n - zap pages should be freeing pages at a higher rate than reclaim\n   ever can\n\nI think the simplification of the truncate code is definitely worth it.\n\nEffectively reverts: 2aa15890f3c (\"mm: prevent concurrent\nunmap_mapping_range() on the same inode\") and takes out the code that\ncaused its problem.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Richard Weinberger \u003crichard@nod.at\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Namhyung Kim \u003cnamhyung@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": "e303297e6c3a7b847c4731eb14006ca6b435ecca",
      "tree": "c2bbec8fb0cad1405f4a3ff908cd1d22abcd3e77",
      "parents": [
        "267239116987d64850ad2037d8e0f3071dc3b5ce"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 24 17:12:01 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:16 2011 -0700"
      },
      "message": "mm: extended batches for generic mmu_gather\n\nInstead of using a single batch (the small on-stack, or an allocated\npage), try and extend the batch every time it runs out and only flush once\neither the extend fails or we\u0027re done.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nRequested-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Richard Weinberger \u003crichard@nod.at\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Namhyung Kim \u003cnamhyung@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": "267239116987d64850ad2037d8e0f3071dc3b5ce",
      "tree": "142595897f7fc7bb673b791891dcc2fab31f6e91",
      "parents": [
        "1c395176962176660bb108f90e97e1686cfe0d85"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 24 17:12:00 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:16 2011 -0700"
      },
      "message": "mm, powerpc: move the RCU page-table freeing into generic code\n\nIn case other architectures require RCU freed page-tables to implement\ngup_fast() and software filled hashes and similar things, provide the\nmeans to do so by moving the logic into generic code.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nRequested-by: David Miller \u003cdavem@davemloft.net\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Richard Weinberger \u003crichard@nod.at\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Namhyung Kim \u003cnamhyung@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": "d16dfc550f5326a4000f3322582a7c05dec91d7a",
      "tree": "8ee963542705cbf2187777f1d3f2b209cbda827a",
      "parents": [
        "d05f3169c0fbca16132ec7c2be71685c6de638b5"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 24 17:11:45 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:12 2011 -0700"
      },
      "message": "mm: mmu_gather rework\n\nRework the existing mmu_gather infrastructure.\n\nThe direct purpose of these patches was to allow preemptible mmu_gather,\nbut even without that I think these patches provide an improvement to the\nstatus quo.\n\nThe first 9 patches rework the mmu_gather infrastructure.  For review\npurpose I\u0027ve split them into generic and per-arch patches with the last of\nthose a generic cleanup.\n\nThe next patch provides generic RCU page-table freeing, and the followup\nis a patch converting s390 to use this.  I\u0027ve also got 4 patches from\nDaveM lined up (not included in this series) that uses this to implement\ngup_fast() for sparc64.\n\nThen there is one patch that extends the generic mmu_gather batching.\n\nAfter that follow the mm preemptibility patches, these make part of the mm\na lot more preemptible.  It converts i_mmap_lock and anon_vma-\u003elock to\nmutexes which together with the mmu_gather rework makes mmu_gather\npreemptible as well.\n\nMaking i_mmap_lock a mutex also enables a clean-up of the truncate code.\n\nThis also allows for preemptible mmu_notifiers, something that XPMEM I\nthink wants.\n\nFurthermore, it removes the new and universially detested unmap_mutex.\n\nThis patch:\n\nRemove the first obstacle towards a fully preemptible mmu_gather.\n\nThe current scheme assumes mmu_gather is always done with preemption\ndisabled and uses per-cpu storage for the page batches.  Change this to\ntry and allocate a page for batching and in case of failure, use a small\non-stack array to make some progress.\n\nPreemptible mmu_gather is desired in general and usable once i_mmap_lock\nbecomes a mutex.  Doing it before the mutex conversion saves us from\nhaving to rework the code by moving the mmu_gather bits inside the\npte_lock.\n\nAlso avoid flushing the tlb batches from under the pte lock, this is\nuseful even without the i_mmap_lock conversion as it significantly reduces\npte lock hold times.\n\n[akpm@linux-foundation.org: fix comment tpyo]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Richard Weinberger \u003crichard@nod.at\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Namhyung Kim \u003cnamhyung@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": "d05f3169c0fbca16132ec7c2be71685c6de638b5",
      "tree": "37d82004869fa4e530617883f12cab7538dbd4a6",
      "parents": [
        "248ac0e1943ad1796393d281b096184719eb3f97"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.cz",
        "time": "Tue May 24 17:11:44 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:12 2011 -0700"
      },
      "message": "mm: make expand_downwards() symmetrical with expand_upwards()\n\nCurrently we have expand_upwards exported while expand_downwards is\naccessible only via expand_stack or expand_stack_downwards.\n\ncheck_stack_guard_page is a nice example of the asymmetry.  It uses\nexpand_stack for VM_GROWSDOWN while expand_upwards is called for\nVM_GROWSUP case.\n\nLet\u0027s clean this up by exporting both functions and make those names\nconsistent.  Let\u0027s use expand_{upwards,downwards} because expanding\ndoesn\u0027t always involve stack manipulation (an example is\nia64_do_page_fault which uses expand_upwards for registers backing store\nexpansion).  expand_downwards has to be defined for both\nCONFIG_STACK_GROWS{UP,DOWN} because get_arg_page calls the downwards\nversion in the early process initialization phase for growsup\nconfiguration.\n\nSigned-off-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "248ac0e1943ad1796393d281b096184719eb3f97",
      "tree": "5188b0957a0c1250d8424f24fe5517ca8c417f93",
      "parents": [
        "82d4b5779a75887750748609f3415f01c1bb9f81"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Tue May 24 17:11:43 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:11 2011 -0700"
      },
      "message": "mm/vmalloc: remove guard page from between vmap blocks\n\nThe vmap allocator is used to, among other things, allocate per-cpu vmap\nblocks, where each vmap block is naturally aligned to its own size.\nObviously, leaving a guard page after each vmap area forbids packing vmap\nblocks efficiently and can make the kernel run out of possible vmap blocks\nlong before overall vmap space is exhausted.\n\nThe new interface to map a user-supplied page array into linear vmalloc\nspace (vm_map_ram) insists on allocating from a vmap block (instead of\nfalling back to a custom area) when the area size is below a certain\nthreshold.  With heavy users of this interface (e.g.  XFS) and limited\nvmalloc space on 32-bit, vmap block exhaustion is a real problem.\n\nRemove the guard page from the core vmap allocator.  vmalloc and the old\nvmap interface enforce a guard page on their own at a higher level.\n\nNote that without this patch, we had accidental guard pages after those\nvm_map_ram areas that happened to be at the end of a vmap block, but not\nbetween every area.  This patch removes this accidental guard page only.\n\nIf we want guard pages after every vm_map_ram area, this should be done\nseparately.  And just like with vmalloc and the old interface on a\ndifferent level, not in the core allocator.\n\nMel pointed out: \"If necessary, the guard page could be reintroduced as a\ndebugging-only option (CONFIG_DEBUG_PAGEALLOC?).  Otherwise it seems\nreasonable.\"\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "72788c385604523422592249c19cba0187021e9b",
      "tree": "3552a4b6ae4adb77e723d8a8d1d2669bfb04a8bb",
      "parents": [
        "c6a140bf164829769499b5e50d380893da39b29e"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Tue May 24 17:11:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:10 2011 -0700"
      },
      "message": "oom: replace PF_OOM_ORIGIN with toggling oom_score_adj\n\nThere\u0027s a kernel-wide shortage of per-process flags, so it\u0027s always\nhelpful to trim one when possible without incurring a significant penalty.\n It\u0027s even more important when you\u0027re planning on adding a per- process\nflag yourself, which I plan to do shortly for transparent hugepages.\n\nPF_OOM_ORIGIN is used by ksm and swapoff to prefer current since it has a\ntendency to allocate large amounts of memory and should be preferred for\nkilling over other tasks.  We\u0027d rather immediately kill the task making\nthe errant syscall rather than penalizing an innocent task.\n\nThis patch removes PF_OOM_ORIGIN since its behavior is equivalent to\nsetting the process\u0027s oom_score_adj to OOM_SCORE_ADJ_MAX.\n\nThe process\u0027s old oom_score_adj is stored and then set to\nOOM_SCORE_ADJ_MAX during the time it used to have PF_OOM_ORIGIN.  The old\nvalue is then reinstated when the process should no longer be considered a\nhigh priority for oom killing.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Izik Eidus \u003cieidus@redhat.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@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": "c6a140bf164829769499b5e50d380893da39b29e",
      "tree": "0cfcbd5356cd3cebabba2334dcfdaec6ea47d816",
      "parents": [
        "a6cccdc36c966e51fd969560d870cfd37afbfa9c"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Tue May 24 17:11:38 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:10 2011 -0700"
      },
      "message": "mm/compaction: reverse the change that forbade sync migraton with __GFP_NO_KSWAPD\n\nIt\u0027s uncertain this has been beneficial, so it\u0027s safer to undo it.  All\nother compaction users would still go in synchronous mode if a first\nattempt at async compaction failed.  Hopefully we don\u0027t need to force\nspecial behavior for THP (which is the only __GFP_NO_KSWAPD user so far\nand it\u0027s the easier to exercise and to be noticeable).  This also make\n__GFP_NO_KSWAPD return to its original strict semantics specific to bypass\nkswapd, as THP allocations have khugepaged for the async THP\nallocations/compactions.\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Alex Villacis Lasso \u003cavillaci@fiec.espol.edu.ec\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": "a6cccdc36c966e51fd969560d870cfd37afbfa9c",
      "tree": "17c48382275e1852604e4a513121760a013dd2c6",
      "parents": [
        "1b79acc91115ba47e744b70bb166b77bd94f5855"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue May 24 17:11:33 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:09 2011 -0700"
      },
      "message": "mm, mem-hotplug: update pcp-\u003estat_threshold when memory hotplug occur\n\nCurrently, cpu hotplug updates pcp-\u003estat_threshold, but memory hotplug\ndoesn\u0027t.  There is no reason for this.\n\n[akpm@linux-foundation.org: fix CONFIG_SMP\u003dn build]\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1b79acc91115ba47e744b70bb166b77bd94f5855",
      "tree": "9097834522de3840845368312c09b5ad4a98e5e5",
      "parents": [
        "839a4fcc8af7412be2efd11f0bd0504757f79f08"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue May 24 17:11:32 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:09 2011 -0700"
      },
      "message": "mm, mem-hotplug: recalculate lowmem_reserve when memory hotplug occurs\n\nCurrently, memory hotplug calls setup_per_zone_wmarks() and\ncalculate_zone_inactive_ratio(), but doesn\u0027t call\nsetup_per_zone_lowmem_reserve().\n\nIt means the number of reserved pages aren\u0027t updated even if memory hot\nplug occur.  This patch fixes it.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@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": "839a4fcc8af7412be2efd11f0bd0504757f79f08",
      "tree": "8387ca9f25f2896dda53c222cd6c7a7cc41b9d74",
      "parents": [
        "37b23e0525d393d48a7d59f870b3bc061a30ccdb"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue May 24 17:11:31 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:08 2011 -0700"
      },
      "message": "mm, mem-hotplug: fix section mismatch. setup_per_zone_inactive_ratio() should be __meminit.\n\nCommit bce7394a3e (\"page-allocator: reset wmark_min and inactive ratio of\nzone when hotplug happens\") introduced invalid section references.  Now,\nsetup_per_zone_inactive_ratio() is marked __init and then it can\u0027t be\nreferenced from memory hotplug code.\n\nThis patch marks it as __meminit and also marks caller as __ref.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@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": "37b23e0525d393d48a7d59f870b3bc061a30ccdb",
      "tree": "467e6fcd785108a21d836e1aad8fc1a68aa72e17",
      "parents": [
        "f62e00cc3a00bfbd394a79fc22b334c31f91bd5f"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue May 24 17:11:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:08 2011 -0700"
      },
      "message": "x86,mm: make pagefault killable\n\nWhen an oom killing occurs, almost all processes are getting stuck at the\nfollowing two points.\n\n\t1) __alloc_pages_nodemask\n\t2) __lock_page_or_retry\n\n1) is not very problematic because TIF_MEMDIE leads to an allocation\nfailure and getting out from page allocator.\n\n2) is more problematic.  In an OOM situation, zones typically don\u0027t have\npage cache at all and memory starvation might lead to greatly reduced IO\nperformance.  When a fork bomb occurs, TIF_MEMDIE tasks don\u0027t die quickly,\nmeaning that a fork bomb may create new process quickly rather than the\noom-killer killing it.  Then, the system may become livelocked.\n\nThis patch makes the pagefault interruptible by SIGKILL.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f62e00cc3a00bfbd394a79fc22b334c31f91bd5f",
      "tree": "29e0a3ac793e4a5a15bbbe4b4945470a41e820e7",
      "parents": [
        "fa25c503dfa203b921199ea42c0046c89f2ed49f"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue May 24 17:11:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:08 2011 -0700"
      },
      "message": "mm: introduce wait_on_page_locked_killable()\n\ncommit 2687a356 (\"Add lock_page_killable\") introduced killable\nlock_page().  Similarly this patch introdues killable\nwait_on_page_locked().\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fa25c503dfa203b921199ea42c0046c89f2ed49f",
      "tree": "9a56c17ffda1183c66dc112ceba76ece65f0a4e6",
      "parents": [
        "bb005a59e08733bb416126dc184f73120fc6366b"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue May 24 17:11:28 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:07 2011 -0700"
      },
      "message": "mm: per-node vmstat: show proper vmstats\n\ncommit 2ac390370a (\"writeback: add\n/sys/devices/system/node/\u003cnode\u003e/vmstat\") added vmstat entry.  But\nstrangely it only show nr_written and nr_dirtied.\n\n        # cat /sys/devices/system/node/node20/vmstat\n        nr_written 0\n        nr_dirtied 0\n\nOf course, It\u0027s not adequate.  With this patch, the vmstat show all vm\nstastics as /proc/vmstat.\n\n        # cat /sys/devices/system/node/node0/vmstat\n\tnr_free_pages 899224\n\tnr_inactive_anon 201\n\tnr_active_anon 17380\n\tnr_inactive_file 31572\n\tnr_active_file 28277\n\tnr_unevictable 0\n\tnr_mlock 0\n\tnr_anon_pages 17321\n\tnr_mapped 8640\n\tnr_file_pages 60107\n\tnr_dirty 33\n\tnr_writeback 0\n\tnr_slab_reclaimable 6850\n\tnr_slab_unreclaimable 7604\n\tnr_page_table_pages 3105\n\tnr_kernel_stack 175\n\tnr_unstable 0\n\tnr_bounce 0\n\tnr_vmscan_write 0\n\tnr_writeback_temp 0\n\tnr_isolated_anon 0\n\tnr_isolated_file 0\n\tnr_shmem 260\n\tnr_dirtied 1050\n\tnr_written 938\n\tnuma_hit 962872\n\tnuma_miss 0\n\tnuma_foreign 0\n\tnuma_interleave 8617\n\tnuma_local 962872\n\tnuma_other 0\n\tnr_anon_transparent_hugepages 0\n\n[akpm@linux-foundation.org: no externs in .c files]\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Michael Rubin \u003cmrubin@google.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bb005a59e08733bb416126dc184f73120fc6366b",
      "tree": "f02e152c9f1af2c979b11ff4b3fcc7820b5644f5",
      "parents": [
        "7223bb4a829628bdf37d544ed4363d99bac1ade6"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Tue May 24 17:11:27 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:07 2011 -0700"
      },
      "message": "mm: nommu: fix a compile warning in do_mmap_pgoff()\n\nBecause \u0027ret\u0027 is declared as int, not unsigned long, no need to cast the\nerror contants into unsigned long.  If you compile this code on a 64-bit\nmachine somehow, you\u0027ll see following warning:\n\n    CC      mm/nommu.o\n  mm/nommu.c: In function `do_mmap_pgoff\u0027:\n  mm/nommu.c:1411: warning: overflow in implicit constant conversion\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nAcked-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7223bb4a829628bdf37d544ed4363d99bac1ade6",
      "tree": "4c300b6753a2346d24503e3d3d8f4a699758d21f",
      "parents": [
        "d75a310c42c616c168953ed45c1091074f97828c"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Tue May 24 17:11:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:06 2011 -0700"
      },
      "message": "mm: nommu: fix a potential memory leak in do_mmap_private()\n\nIf f_op-\u003eread() fails and sysctl_nr_trim_pages \u003e 1, there could be a\nmemory leak between @region-\u003evm_end and @region-\u003evm_top.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nAcked-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d75a310c42c616c168953ed45c1091074f97828c",
      "tree": "95b4f45787b3d1820987439c8e8bbbbd5158fe14",
      "parents": [
        "e922c4c5360980bfeb862b3ec307d36bb344dcae"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Tue May 24 17:11:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:06 2011 -0700"
      },
      "message": "mm: nommu: check the vma list when unmapping file-mapped vma\n\nNow we have the sorted vma list, use it in do_munmap() to check that we\nhave an exact match.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nAcked-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e922c4c5360980bfeb862b3ec307d36bb344dcae",
      "tree": "e8f4339b198dbb9830ec5313c6cc7ca639704c33",
      "parents": [
        "b951bf2c4693bfc9744e11293be859209f65f579"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Tue May 24 17:11:24 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:06 2011 -0700"
      },
      "message": "mm: nommu: find vma using the sorted vma list\n\nNow we have the sorted vma list, use it in the find_vma[_exact]() rather\nthan doing linear search on the rb-tree.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nAcked-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b951bf2c4693bfc9744e11293be859209f65f579",
      "tree": "05f0bce8e2c2cd9053d761b17abc8101aab30a3e",
      "parents": [
        "6038def0d11b322019d0dbb43f2a611247dfbdb6"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Tue May 24 17:11:23 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:05 2011 -0700"
      },
      "message": "mm: nommu: don\u0027t scan the vma list when deleting\n\nSince commit 297c5eee3724 (\"mm: make the vma list be doubly linked\") made\nit a doubly linked list, we don\u0027t need to scan the list when deleting\n@vma.\n\nAnd the original code didn\u0027t update the prev pointer. Fix it too.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nAcked-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6038def0d11b322019d0dbb43f2a611247dfbdb6",
      "tree": "3b7bd8a20af5749566bfba9ca39a3d0c2cc25e0a",
      "parents": [
        "ac3bbec5ec69b973317677e038de2d1a0c90c18c"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Tue May 24 17:11:22 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:05 2011 -0700"
      },
      "message": "mm: nommu: sort mm-\u003emmap list properly\n\nWhen I was reading nommu code, I found that it handles the vma list/tree\nin an unusual way.  IIUC, because there can be more than one\nidentical/overrapped vmas in the list/tree, it sorts the tree more\nstrictly and does a linear search on the tree.  But it doesn\u0027t applied to\nthe list (i.e.  the list could be constructed in a different order than\nthe tree so that we can\u0027t use the list when finding the first vma in that\norder).\n\nSince inserting/sorting a vma in the tree and link is done at the same\ntime, we can easily construct both of them in the same order.  And linear\nsearching on the tree could be more costly than doing it on the list, it\ncan be converted to use the list.\n\nAlso, after the commit 297c5eee3724 (\"mm: make the vma list be doubly\nlinked\") made the list be doubly linked, there were a couple of code need\nto be fixed to construct the list properly.\n\nPatch 1/6 is a preparation.  It maintains the list sorted same as the tree\nand construct doubly-linked list properly.  Patch 2/6 is a simple\noptimization for the vma deletion.  Patch 3/6 and 4/6 convert tree\ntraversal to list traversal and the rest are simple fixes and cleanups.\n\nThis patch:\n\n@vma added into @mm should be sorted by start addr, end addr and VMA\nstruct addr in that order because we may get identical VMAs in the @mm.\nHowever this was true only for the rbtree, not for the list.\n\nThis patch fixes this by remembering \u0027rb_prev\u0027 during the tree traversal\nlike find_vma_prepare() does and linking the @vma via __vma_link_list().\nAfter this patch, we can iterate the whole VMAs in correct order simply by\nusing @mm-\u003emmap list.\n\n[akpm@linux-foundation.org: avoid duplicating __vma_link_list()]\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nAcked-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ac3bbec5ec69b973317677e038de2d1a0c90c18c",
      "tree": "7df84a9ba812c1759a035428f6bad78b6e73b8a9",
      "parents": [
        "965f55dea0e331152fa53941a51e4e16f9f06fae"
      ],
      "author": {
        "name": "Sergey Senozhatsky",
        "email": "sergey.senozhatsky@gmail.com",
        "time": "Tue May 24 17:11:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:04 2011 -0700"
      },
      "message": "mm: remove unused zone_idx variable from set_migratetype_isolate\n\nSigned-off-by: Sergey Senozhatsky \u003csergey.senozhatsky@gmail.com\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@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": "965f55dea0e331152fa53941a51e4e16f9f06fae",
      "tree": "3cf8beb31bac7b325b62e8ef75618e0086a3c760",
      "parents": [
        "5f70b962ccc2f2e6259417cf3d1233dc9e16cf5e"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Tue May 24 17:11:20 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:04 2011 -0700"
      },
      "message": "mmap: avoid merging cloned VMAs\n\nAvoid merging a VMA with another VMA which is cloned from the parent process.\n\nThe cloned VMA shares the anon_vma lock with the parent process\u0027s VMA.  If\nwe do the merge, more vmas (even the new range is only for current\nprocess) use the perent process\u0027s anon_vma lock.  This introduces\nscalability issues.  find_mergeable_anon_vma() already considers this\ncase.\n\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5f70b962ccc2f2e6259417cf3d1233dc9e16cf5e",
      "tree": "5e3d83554554e3c315a7bab654fc51345078bc9d",
      "parents": [
        "34679d7eac9ecc20face093db9aa610f1e9c893a"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Tue May 24 17:11:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:04 2011 -0700"
      },
      "message": "mmap: avoid unnecessary anon_vma lock\n\nIf we only change vma-\u003evm_end, we can avoid taking anon_vma lock even if\n\u0027insert\u0027 isn\u0027t NULL, which is the case of split_vma.\n\nAs I understand it, we need the lock before because rmap must get the\n\u0027insert\u0027 VMA when we adjust old VMA\u0027s vm_end (the \u0027insert\u0027 VMA is linked\nto anon_vma list in __insert_vm_struct before).\n\nBut now this isn\u0027t true any more.  The \u0027insert\u0027 VMA is already linked to\nanon_vma list in __split_vma(with anon_vma_clone()) instead of\n__insert_vm_struct.  There is no race rmap can\u0027t get required VMAs.  So\nthe anon_vma lock is unnecessary, and this can reduce one locking in brk\ncase and improve scalability.\n\nSigned-off-by: Shaohua Li\u003cshaohua.li@intel.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "34679d7eac9ecc20face093db9aa610f1e9c893a",
      "tree": "b959da55ed4ff4f4bbd536320cb8205377a46301",
      "parents": [
        "7bf02ea22c6cdd09e2d3f1d3c3fe366b834ae9af"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Tue May 24 17:11:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:03 2011 -0700"
      },
      "message": "mmap: add alignment for some variables\n\nMake some variables have correct alignment/section to avoid cache issue.\nIn a workload which heavily does mmap/munmap, the variables will be used\nfrequently.\n\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Hugh Dickins \u003chughd@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": "7bf02ea22c6cdd09e2d3f1d3c3fe366b834ae9af",
      "tree": "c1c8aa415910e0f0deea1181759ddd2b5d6067fb",
      "parents": [
        "851cc856d73d1185243c149ed0c0839df8a1b2fe"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Tue May 24 17:11:16 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:03 2011 -0700"
      },
      "message": "arch, mm: filter disallowed nodes from arch specific show_mem functions\n\nArchitectures that implement their own show_mem() function did not pass\nthe filter argument to show_free_areas() to appropriately avoid emitting\nthe state of nodes that are disallowed in the current context.  This patch\nnow passes the filter argument to show_free_areas() so those nodes are now\navoided.\n\nThis patch also removes the show_free_areas() wrapper around\n__show_free_areas() and converts existing callers to pass an empty filter.\n\nia64 emits additional information for each node, so skip_free_areas_zone()\nmust be made global to filter disallowed nodes and it is converted to use\na nid argument rather than a zone for this use case.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Fenghua Yu \u003cfenghua.yu@intel.com\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Helge Deller \u003cdeller@gmx.de\u003e\nCc: James Bottomley \u003cjejb@parisc-linux.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Guan Xuetao \u003cgxt@mprc.pku.edu.cn\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f06590bd718ed950c98828e30ef93204028f3210",
      "tree": "60d1c52a538618a16ebcd82a4d949446fd2036c7",
      "parents": [
        "afc7e326a3f5bafc41324d7926c324414e343ee5"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Tue May 24 17:11:11 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:01 2011 -0700"
      },
      "message": "mm: vmscan: correctly check if reclaimer should schedule during shrink_slab\n\nIt has been reported on some laptops that kswapd is consuming large\namounts of CPU and not being scheduled when SLUB is enabled during large\namounts of file copying.  It is expected that this is due to kswapd\nmissing every cond_resched() point because;\n\nshrink_page_list() calls cond_resched() if inactive pages were isolated\n        which in turn may not happen if all_unreclaimable is set in\n        shrink_zones(). If for whatver reason, all_unreclaimable is\n        set on all zones, we can miss calling cond_resched().\n\nbalance_pgdat() only calls cond_resched if the zones are not\n        balanced. For a high-order allocation that is balanced, it\n        checks order-0 again. During that window, order-0 might have\n        become unbalanced so it loops again for order-0 and returns\n        that it was reclaiming for order-0 to kswapd(). It can then\n        find that a caller has rewoken kswapd for a high-order and\n        re-enters balance_pgdat() without ever calling cond_resched().\n\nshrink_slab only calls cond_resched() if we are reclaiming slab\n\tpages. If there are a large number of direct reclaimers, the\n\tshrinker_rwsem can be contended and prevent kswapd calling\n\tcond_resched().\n\nThis patch modifies the shrink_slab() case.  If the semaphore is\ncontended, the caller will still check cond_resched().  After each\nsuccessful call into a shrinker, the check for cond_resched() remains in\ncase one shrinker is particularly slow.\n\n[mgorman@suse.de: preserve call to cond_resched after each call into shrinker]\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nTested-by: Colin King \u003ccolin.king@canonical.com\u003e\nCc: Raghavendra D Prabhu \u003craghu.prabhu13@gmail.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.38+]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "afc7e326a3f5bafc41324d7926c324414e343ee5",
      "tree": "c7b06a424b7a35840a41dca008291ca5dcad9b42",
      "parents": [
        "a71ae47a2cbfa542c69f695809124da4e4dd9e8f"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Tue May 24 17:11:09 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:01 2011 -0700"
      },
      "message": "mm: vmscan: correct use of pgdat_balanced in sleeping_prematurely\n\nThere are a few reports of people experiencing hangs when copying large\namounts of data with kswapd using a large amount of CPU which appear to be\ndue to recent reclaim changes.  SLUB using high orders is the trigger but\nnot the root cause as SLUB has been using high orders for a while.  The\nroot cause was bugs introduced into reclaim which are addressed by the\nfollowing two patches.\n\nPatch 1 corrects logic introduced by commit 1741c877 (\"mm: kswapd:\n        keep kswapd awake for high-order allocations until a percentage of\n        the node is balanced\") to allow kswapd to go to sleep when\n        balanced for high orders.\n\nPatch 2 notes that it is possible for kswapd to miss every\n        cond_resched() and updates shrink_slab() so it\u0027ll at least reach\n        that scheduling point.\n\nChris Wood reports that these two patches in isolation are sufficient to\nprevent the system hanging.  AFAIK, they should also resolve similar hangs\nexperienced by James Bottomley.\n\nThis patch:\n\nJohannes Weiner poined out that the logic in commit 1741c877 (\"mm: kswapd:\nkeep kswapd awake for high-order allocations until a percentage of the\nnode is balanced\") is backwards.  Instead of allowing kswapd to go to\nsleep when balancing for high order allocations, it keeps it kswapd\nrunning uselessly.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nReviewed-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nTested-by: Colin King \u003ccolin.king@canonical.com\u003e\nCc: Raghavendra D Prabhu \u003craghu.prabhu13@gmail.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReviewed-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.38+]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a71ae47a2cbfa542c69f695809124da4e4dd9e8f",
      "tree": "a6b563bbab796f404fc68fdeebdf9a1c1e2fc27b",
      "parents": [
        "4a7df24ddc7097cd789a7527187826552ea0765e"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Wed May 25 09:47:43 2011 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:38:24 2011 -0700"
      },
      "message": "slub: Fix double bit unlock in debug mode\n\nCommit 442b06bcea23 (\"slub: Remove node check in slab_free\") added a\ncall to deactivate_slab() in the debug case in __slab_alloc(), which\nunlocks the current slab used for allocation.  Going to the label\n\u0027unlock_out\u0027 then does it again.\n\nAlso, in the debug case we do not need all the other processing that the\n\u0027unlock_out\u0027 path does.  We always fall back to the slow path in the\ndebug case.  So the tid update is useless.\n\nSimilarly, ALLOC_SLOWPATH would just be incremented for all allocations.\nAlso a pretty useless thing.\n\nSo simply restore irq flags and return the object.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nReported-and-bisected-by: James Morris \u003cjmorris@namei.org\u003e\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nReported-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0d66cba1ac3ad38614077443d604d6a09cec99de",
      "tree": "383981fd93c7e6d467fb239edd51f935f1a481dd",
      "parents": [
        "4637f40f200063973553ce3c4c1ac6c247e4535c",
        "5bd418784a2764a8d9de177a5462bfc008fd334a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 24 12:06:02 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 24 12:06:02 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6\n\n* \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6: (29 commits)\n  [S390] cpu hotplug: fix external interrupt subclass mask handling\n  [S390] oprofile: dont access lowcore\n  [S390] oprofile: add missing irq stats counter\n  [S390] Ignore sendmmsg system call note wired up warning\n  [S390] s390,oprofile: fix compile error for !CONFIG_SMP\n  [S390] s390,oprofile: fix alert counter increment\n  [S390] Remove unused includes in process.c\n  [S390] get CPC image name\n  [S390] sclp: event buffer dissection\n  [S390] chsc: process channel-path-availability information\n  [S390] refactor page table functions for better pgste support\n  [S390] merge page_test_dirty and page_clear_dirty\n  [S390] qdio: prevent compile warning\n  [S390] sclp: remove unnecessary sendmask check\n  [S390] convert old cpumask API into new one\n  [S390] pfault: cleanup code\n  [S390] pfault: cpu hotplug vs missing completion interrupts\n  [S390] smp: add __noreturn attribute to cpu_die()\n  [S390] percpu: implement arch specific irqsafe_cpu_ops\n  [S390] vdso: disable gcov profiling\n  ...\n"
    },
    {
      "commit": "5129df03d0c44b2d5a5f9d7d52f3b079706b9a8f",
      "tree": "799e309a7db032cb7abe9f0fa910c2989c3fdab5",
      "parents": [
        "4d429480352c63db2228489f0db9fd381cdc3c9c",
        "6988f20fe04e9ef3aea488cb8ab57fbeb78e12f0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 24 11:53:42 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 24 11:53:42 2011 -0700"
      },
      "message": "Merge branch \u0027for-2.6.40\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-2.6.40\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:\n  percpu: Unify input section names\n  percpu: Avoid extra NOP in percpu_cmpxchg16b_double\n  percpu: Cast away printk format warning\n  percpu: Always align percpu output section to PAGE_SIZE\n\nFix up fairly trivial conflict in arch/x86/include/asm/percpu.h as per Tejun\n"
    },
    {
      "commit": "6988f20fe04e9ef3aea488cb8ab57fbeb78e12f0",
      "tree": "c9d7fc50a2e2147a5ca07e3096e7eeb916ad2da9",
      "parents": [
        "0415b00d175e0d8945e6785aad21b5f157976ce0",
        "6ea0c34dac89611126455537552cffe6c7e832ad"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue May 24 09:59:36 2011 +0200"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue May 24 09:59:36 2011 +0200"
      },
      "message": "Merge branch \u0027fixes-2.6.39\u0027 into for-2.6.40\n"
    },
    {
      "commit": "4867faab1e3eb8cc3f74e390357615d9b8e8cda6",
      "tree": "7a6cb9175c483a0f7e3672185e7f9fb25f74caa3",
      "parents": [
        "6fad2b5b649fa1fa6ee7293222815f5b62499889",
        "bfb91fb650e988c3c347e50fc75fedb7d4f0c018"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 10:10:44 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 10:10:44 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:\n  slub: Deal with hyperthetical case of PAGE_SIZE \u003e 2M\n  slub: Remove node check in slab_free\n  slub: avoid label inside conditional\n  slub: Make CONFIG_DEBUG_PAGE_ALLOC work with new fastpath\n  slub: Avoid warning for !CONFIG_SLUB_DEBUG\n  slub: Remove CONFIG_CMPXCHG_LOCAL ifdeffery\n  slub: Move debug handlign in __slab_free\n  slub: Move node determination out of hotpath\n  slub: Eliminate repeated use of c-\u003epage through a new page variable\n  slub: get_map() function to establish map of free objects in a slab\n  slub: Use NUMA_NO_NODE in get_partial\n  slub: Fix a typo in config name\n"
    },
    {
      "commit": "bfb91fb650e988c3c347e50fc75fedb7d4f0c018",
      "tree": "0e8d89e0ceffb9001da2082998222da8b39185c1",
      "parents": [
        "caebc160ce3f76761cc62ad96ef6d6f30f54e3dd",
        "3e0c2ab67e48f77c2da0a5c826aac397792a214e"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Mon May 23 19:50:39 2011 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Mon May 23 19:50:39 2011 +0300"
      },
      "message": "Merge branch \u0027slab/next\u0027 into for-linus\n\nConflicts:\n\tmm/slub.c\n"
    },
    {
      "commit": "57d19e80f459dd845fb3cfeba8e6df8471bac142",
      "tree": "8254766715720228db3d50f1ef3c7fe003c06d65",
      "parents": [
        "ee9ec4f82049c678373a611ce20ac67fe9ad836e",
        "e64851f5a0ad6ec991f74ebb3108c35aa0323d5f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 09:12:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 09:12:26 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits)\n  b43: fix comment typo reqest -\u003e request\n  Haavard Skinnemoen has left Atmel\n  cris: typo in mach-fs Makefile\n  Kconfig: fix copy/paste-ism for dell-wmi-aio driver\n  doc: timers-howto: fix a typo (\"unsgined\")\n  perf: Only include annotate.h once in tools/perf/util/ui/browsers/annotate.c\n  md, raid5: Fix spelling error in comment (\u0027Ofcourse\u0027 --\u003e \u0027Of course\u0027).\n  treewide: fix a few typos in comments\n  regulator: change debug statement be consistent with the style of the rest\n  Revert \"arm: mach-u300/gpio: Fix mem_region resource size miscalculations\"\n  audit: acquire creds selectively to reduce atomic op overhead\n  rtlwifi: don\u0027t touch with treewide double semicolon removal\n  treewide: cleanup continuations and remove logging message whitespace\n  ath9k_hw: don\u0027t touch with treewide double semicolon removal\n  include/linux/leds-regulator.h: fix syntax in example code\n  tty: fix typo in descripton of tty_termios_encode_baud_rate\n  xtensa: remove obsolete BKL kernel option from defconfig\n  m68k: fix comment typo \u0027occcured\u0027\n  arch:Kconfig.locks Remove unused config option.\n  treewide: remove extra semicolons\n  ...\n"
    }
  ],
  "next": "2d42552d1c1659b014851cf449ad2fe458509128"
}
