)]}'
{
  "log": [
    {
      "commit": "9d8cebd4bcd7c3878462fdfda34bbcdeb4df7ef4",
      "tree": "0f0a6dadb4430aef18f1491003d70d9351d7b619",
      "parents": [
        "93e4a89a8c987189b168a530a331ef6d0fcf07a7"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Fri Mar 05 13:41:57 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:25 2010 -0800"
      },
      "message": "mm: fix mbind vma merge problem\n\nStrangely, current mbind() doesn\u0027t merge vma with neighbor vma although it\u0027s possible.\nUnfortunately, many vma can reduce performance...\n\nThis patch fixes it.\n\n    reproduced program\n    ----------------------------------------------------------------\n     #include \u003cnumaif.h\u003e\n     #include \u003cnuma.h\u003e\n     #include \u003csys/mman.h\u003e\n     #include \u003cstdio.h\u003e\n     #include \u003cunistd.h\u003e\n     #include \u003cstdlib.h\u003e\n     #include \u003cstring.h\u003e\n\n    static unsigned long pagesize;\n\n    int main(int argc, char** argv)\n    {\n    \tvoid* addr;\n    \tint ch;\n    \tint node;\n    \tstruct bitmask *nmask \u003d numa_allocate_nodemask();\n    \tint err;\n    \tint node_set \u003d 0;\n    \tchar buf[128];\n\n    \twhile ((ch \u003d getopt(argc, argv, \"n:\")) !\u003d -1){\n    \t\tswitch (ch){\n    \t\tcase \u0027n\u0027:\n    \t\t\tnode \u003d strtol(optarg, NULL, 0);\n    \t\t\tnuma_bitmask_setbit(nmask, node);\n    \t\t\tnode_set \u003d 1;\n    \t\t\tbreak;\n    \t\tdefault:\n    \t\t\t;\n    \t\t}\n    \t}\n    \targc -\u003d optind;\n    \targv +\u003d optind;\n\n    \tif (!node_set)\n    \t\tnuma_bitmask_setbit(nmask, 0);\n\n    \tpagesize \u003d getpagesize();\n\n    \taddr \u003d mmap(NULL, pagesize*3, PROT_READ|PROT_WRITE,\n    \t\t    MAP_ANON|MAP_PRIVATE, 0, 0);\n    \tif (addr \u003d\u003d MAP_FAILED)\n    \t\tperror(\"mmap \"), exit(1);\n\n    \tfprintf(stderr, \"pid \u003d %d \\n\" \"addr \u003d %p\\n\", getpid(), addr);\n\n    \t/* make page populate */\n    \tmemset(addr, 0, pagesize*3);\n\n    \t/* first mbind */\n    \terr \u003d mbind(addr+pagesize, pagesize, MPOL_BIND, nmask-\u003emaskp,\n    \t\t    nmask-\u003esize, MPOL_MF_MOVE_ALL);\n    \tif (err)\n    \t\terror(\"mbind1 \");\n\n    \t/* second mbind */\n    \terr \u003d mbind(addr, pagesize*3, MPOL_DEFAULT, NULL, 0, 0);\n    \tif (err)\n    \t\terror(\"mbind2 \");\n\n    \tsprintf(buf, \"cat /proc/%d/maps\", getpid());\n    \tsystem(buf);\n\n    \treturn 0;\n    }\n    ----------------------------------------------------------------\n\nresult without this patch\n\n\taddr \u003d 0x7fe26ef09000\n\t[snip]\n\t7fe26ef09000-7fe26ef0a000 rw-p 00000000 00:00 0\n\t7fe26ef0a000-7fe26ef0b000 rw-p 00000000 00:00 0\n\t7fe26ef0b000-7fe26ef0c000 rw-p 00000000 00:00 0\n\t7fe26ef0c000-7fe26ef0d000 rw-p 00000000 00:00 0\n\n\t\u003d\u003e 0x7fe26ef09000-0x7fe26ef0c000 have three vmas.\n\nresult with this patch\n\n\taddr \u003d 0x7fc9ebc76000\n\t[snip]\n\t7fc9ebc76000-7fc9ebc7a000 rw-p 00000000 00:00 0\n\t7fffbe690000-7fffbe6a5000 rw-p 00000000\t00:00 0\t[stack]\n\n\t\u003d\u003e 0x7fc9ebc76000-0x7fc9ebc7a000 have only one vma.\n\n[minchan.kim@gmail.com: fix file offset passed to vma_merge()]\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-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": "93e4a89a8c987189b168a530a331ef6d0fcf07a7",
      "tree": "deb08017c0e4874539549d3ea9bf2d7b447a43be",
      "parents": [
        "fc91668eaf9e7ba61e867fc2218b7e9fb67faa4f"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Fri Mar 05 13:41:55 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:25 2010 -0800"
      },
      "message": "mm: restore zone-\u003eall_unreclaimable to independence word\n\ncommit e815af95 (\"change all_unreclaimable zone member to flags\") changed\nall_unreclaimable member to bit flag.  But it had an undesireble side\neffect.  free_one_page() is one of most hot path in linux kernel and\nincreasing atomic ops in it can reduce kernel performance a bit.\n\nThus, this patch revert such commit partially. at least\nall_unreclaimable shouldn\u0027t share memory word with other zone flags.\n\n[akpm@linux-foundation.org: fix patch interaction]\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Huang Shijie \u003cshijie8@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": "fc91668eaf9e7ba61e867fc2218b7e9fb67faa4f",
      "tree": "08d443d76255e8d60ae6ba07d52cdc295172ded8",
      "parents": [
        "c475dab63ae798d81fb597a6a1859986b296d9d0"
      ],
      "author": {
        "name": "Li Hong",
        "email": "lihong.hi@gmail.com",
        "time": "Fri Mar 05 13:41:54 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:25 2010 -0800"
      },
      "message": "mm: remove free_hot_page()\n\nfree_hot_page() is just a wrapper around free_hot_cold_page() with\nparameter \u0027cold \u003d 0\u0027.  After adding a clear comment for\nfree_hot_cold_page(), it is reasonable to remove a level of call.\n\n[akpm@linux-foundation.org: fix build]\nSigned-off-by: Li Hong \u003clihong.hi@gmail.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Larry Woodman \u003clwoodman@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Li Ming Chun \u003cmacli@brc.ubc.ca\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Americo Wang \u003cxiyou.wangcong@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": "c475dab63ae798d81fb597a6a1859986b296d9d0",
      "tree": "f2c18302f0fa261b0e82b4bf91bce48fe96209fb",
      "parents": [
        "f650316c8b80fe61a31b8b575405b37cbf170459"
      ],
      "author": {
        "name": "Li Hong",
        "email": "lihong.hi@gmail.com",
        "time": "Fri Mar 05 13:41:53 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:24 2010 -0800"
      },
      "message": "mm/page_alloc.c: adjust a call site to trace_mm_page_free_direct\n\nMove a call of trace_mm_page_free_direct() from free_hot_page() to\nfree_hot_cold_page().  It is clearer and close to kmemcheck_free_shadow(),\nas it is done in function __free_pages_ok().\n\nSigned-off-by: Li Hong \u003clihong.hi@gmail.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Larry Woodman \u003clwoodman@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Li Ming Chun \u003cmacli@brc.ubc.ca\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f650316c8b80fe61a31b8b575405b37cbf170459",
      "tree": "6526cb3de41384eeea81e18b640396138371fbb4",
      "parents": [
        "76ca542d880ebe59a7a03c1597e73e1ded271857"
      ],
      "author": {
        "name": "Li Hong",
        "email": "lihong.hi@gmail.com",
        "time": "Fri Mar 05 13:41:52 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:24 2010 -0800"
      },
      "message": "mm/page_alloc.c: remove duplicate call to trace_mm_page_free_direct\n\ntrace_mm_page_free_direct() is called in function __free_pages().  But it\nis called again in free_hot_page() if order \u003d\u003d 0 and produce duplicate\nrecords in trace file for mm_page_free_direct event.  As below:\n\nK-PID    CPU#    TIMESTAMP  FUNCTION\n  gnome-terminal-1567  [000]  4415.246466: mm_page_free_direct: page\u003dffffea0003db9f40 pfn\u003d1155800 order\u003d0\n  gnome-terminal-1567  [000]  4415.246468: mm_page_free_direct: page\u003dffffea0003db9f40 pfn\u003d1155800 order\u003d0\n  gnome-terminal-1567  [000]  4415.246506: mm_page_alloc: page\u003dffffea0003db9f40 pfn\u003d1155800 order\u003d0 migratetype\u003d0 gfp_flags\u003dGFP_KERNEL\n  gnome-terminal-1567  [000]  4415.255557: mm_page_free_direct: page\u003dffffea0003db9f40 pfn\u003d1155800 order\u003d0\n  gnome-terminal-1567  [000]  4415.255557: mm_page_free_direct: page\u003dffffea0003db9f40 pfn\u003d1155800 order\u003d0\n\nThis patch removes the first call and adds a call to\ntrace_mm_page_free_direct() in __free_pages_ok().\n\nSigned-off-by: Li Hong \u003clihong.hi@gmail.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Larry Woodman \u003clwoodman@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Li Ming Chun \u003cmacli@brc.ubc.ca\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "76ca542d880ebe59a7a03c1597e73e1ded271857",
      "tree": "d5e1a5dc88150ccbfeba811769ac066021b3041b",
      "parents": [
        "84b18490d1f1bc7ed5095c929f78bc002eb70f26"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Fri Mar 05 13:41:47 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:24 2010 -0800"
      },
      "message": "mm, lockdep: annotate reclaim context to zone reclaim too\n\nCommit cf40bd16fd (\"lockdep: annotate reclaim context\") introduced reclaim\ncontext annotation.  But it didn\u0027t annotate zone reclaim.  This patch do\nit.\n\nThe point is, commit cf40bd16fd annotate __alloc_pages_direct_reclaim but\nzone-reclaim doesn\u0027t use __alloc_pages_direct_reclaim.\n\ncurrent call graph is\n\n__alloc_pages_nodemask\n   get_page_from_freelist\n       zone_reclaim()\n   __alloc_pages_slowpath\n       __alloc_pages_direct_reclaim\n           try_to_free_pages\n\nActually, if zone_reclaim_mode\u003d1, VM never call\n__alloc_pages_direct_reclaim in usual VM pressure.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "84b18490d1f1bc7ed5095c929f78bc002eb70f26",
      "tree": "2543443925b2852436979d4bdf18d916a6b5c11e",
      "parents": [
        "45973d74fd3b1e3e16c025b688a725c7653b1443"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Fri Mar 05 13:41:47 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:24 2010 -0800"
      },
      "message": "vmscan: get_scan_ratio() cleanup\n\nThe get_scan_ratio() should have all scan-ratio related calculations.\nThus, this patch move some calculation into get_scan_ratio.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\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": "45973d74fd3b1e3e16c025b688a725c7653b1443",
      "tree": "79b002bf8da8807a4d82314426611ca2109f83e8",
      "parents": [
        "59e99e5b9706867f18d4a36c1e4645fbaacbec2e"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Fri Mar 05 13:41:45 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:24 2010 -0800"
      },
      "message": "vmscan: check high watermark after shrink zone\n\nKswapd checks that zone has sufficient pages free via zone_watermark_ok().\n\nIf any zone doesn\u0027t have enough pages, we set all_zones_ok to zero.\n!all_zone_ok makes kswapd retry rather than sleeping.\n\nI think the watermark check before shrink_zone() is pointless.  Only after\nkswapd has tried to shrink the zone is the check meaningful.\n\nMove the check to after the call to shrink_zone().\n\n[akpm@linux-foundation.org: fix comment, layout]\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-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": "59e99e5b9706867f18d4a36c1e4645fbaacbec2e",
      "tree": "e977fb5eecccf1446296fd196072bd1287b0a92f",
      "parents": [
        "06f9d8c2b50060543fb6e0af87ddb86e654dee6b"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Fri Mar 05 13:41:44 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:24 2010 -0800"
      },
      "message": "mm: use rlimit helpers\n\nMake sure compiler won\u0027t do weird things with limits.  E.g.  fetching them\ntwice may return 2 different values after writable limits are implemented.\n\nI.e.  either use rlimit helpers added in\n3e10e716abf3c71bdb5d86b8f507f9e72236c9cd (\"resource: add helpers for\nfetching rlimits\") or ACCESS_ONCE if not applicable.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@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": "06f9d8c2b50060543fb6e0af87ddb86e654dee6b",
      "tree": "0e0f7687c58e0948334f238208529d65de165eea",
      "parents": [
        "c58267c32429ea6535428ca6b8a036892c1697f2"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Fri Mar 05 13:41:43 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:24 2010 -0800"
      },
      "message": "mm: mlock_vma_pages_range() only return success or failure\n\nCurrently, mlock_vma_pages_range() only return len or 0.  then current\nerror handling of mmap_region() is meaningless complex.\n\nThis patch makes simplify and makes consist with brk() code.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamewzawa.hiroyu@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c58267c32429ea6535428ca6b8a036892c1697f2",
      "tree": "c763a26e45a38b2115a2e09eb01b254284c1198b",
      "parents": [
        "b084d4353ff99d824d3bc5a5c2c22c70b1fba722"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Fri Mar 05 13:41:43 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:24 2010 -0800"
      },
      "message": "mm: mlock_vma_pages_range() never return negative value\n\nCurrently, mlock_vma_pages_range() never return negative value.  Then, we\ncan remove some worthless error check.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamewzawa.hiroyu@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b084d4353ff99d824d3bc5a5c2c22c70b1fba722",
      "tree": "8178db2b337fc8a36e6ca2e1fc2e7d7473957e27",
      "parents": [
        "34e55232e59f7b19050267a05ff1226e5cd122a5"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Fri Mar 05 13:41:42 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:24 2010 -0800"
      },
      "message": "mm: count swap usage\n\nA frequent questions from users about memory management is what numbers of\nswap ents are user for processes.  And this information will give some\nhints to oom-killer.\n\nBesides we can count the number of swapents per a process by scanning\n/proc/\u003cpid\u003e/smaps, this is very slow and not good for usual process\ninformation handler which works like \u0027ps\u0027 or \u0027top\u0027.  (ps or top is now\nenough slow..)\n\nThis patch adds a counter of swapents to mm_counter and update is at each\nswap events.  Information is exported via /proc/\u003cpid\u003e/status file as\n\n[kamezawa@bluextal memory]$ cat /proc/self/status\nName:   cat\nState:  R (running)\nTgid:   2910\nPid:    2910\nPPid:   2823\nTracerPid:      0\nUid:    500     500     500     500\nGid:    500     500     500     500\nFDSize: 256\nGroups: 500\nVmPeak:    82696 kB\nVmSize:    82696 kB\nVmLck:         0 kB\nVmHWM:       432 kB\nVmRSS:       432 kB\nVmData:      172 kB\nVmStk:        84 kB\nVmExe:        48 kB\nVmLib:      1568 kB\nVmPTE:        40 kB\nVmSwap:        0 kB \u003c\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d this.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: 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": "34e55232e59f7b19050267a05ff1226e5cd122a5",
      "tree": "6b94e776e87d2a2fe1ceca7c5606901575323900",
      "parents": [
        "d559db086ff5be9bcc259e5aa50bf3d881eaf1d1"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Fri Mar 05 13:41:40 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:24 2010 -0800"
      },
      "message": "mm: avoid false sharing of mm_counter\n\nConsidering the nature of per mm stats, it\u0027s the shared object among\nthreads and can be a cache-miss point in the page fault path.\n\nThis patch adds per-thread cache for mm_counter.  RSS value will be\ncounted into a struct in task_struct and synchronized with mm\u0027s one at\nevents.\n\nNow, in this patch, the event is the number of calls to handle_mm_fault.\nPer-thread value is added to mm at each 64 calls.\n\n rough estimation with small benchmark on parallel thread (2threads) shows\n [before]\n     4.5 cache-miss/faults\n [after]\n     4.0 cache-miss/faults\n Anyway, the most contended object is mmap_sem if the number of threads grows.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: 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": "d559db086ff5be9bcc259e5aa50bf3d881eaf1d1",
      "tree": "aa968c8a4093234e4623a34c0415bf9d8683671c",
      "parents": [
        "19b629f581320999ddb9f6597051b79cdb53459c"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Fri Mar 05 13:41:39 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:23 2010 -0800"
      },
      "message": "mm: clean up mm_counter\n\nPresently, per-mm statistics counter is defined by macro in sched.h\n\nThis patch modifies it to\n  - defined in mm.h as inlinf functions\n  - use array instead of macro\u0027s name creation.\n\nThis patch is for reducing patch size in future patch to modify\nimplementation of per-mm counter.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: 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": "64096c17417380d8a472d096645f4cbc9406c987",
      "tree": "e01d22012de7694206143b5606f7d51f225eb249",
      "parents": [
        "cc7889ff5ee7a1c1a2b5073c53db5ad9b76f14e2",
        "1154fab73ccbab010cfaa272b6987c624cfd63c6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 05 14:35:40 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 05 14:35:40 2010 -0800"
      },
      "message": "Merge branch \u0027slab-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6\n\n* \u0027slab-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:\n  SLUB: Fix per-cpu merge conflict\n  failslab: add ability to filter slab caches\n  slab: fix regression in touched logic\n  dma kmalloc handling fixes\n  slub: remove impossible condition\n  slab: initialize unused alien cache entry as NULL at alloc_alien_cache().\n  SLUB: Make slub statistics use this_cpu_inc\n  SLUB: this_cpu: Remove slub kmem_cache fields\n  SLUB: Get rid of dynamic DMA kmalloc cache allocation\n  SLUB: Use this_cpu operations in slub\n"
    },
    {
      "commit": "0f2cc4ecd81dc1917a041dc93db0ada28f8356fa",
      "tree": "f128b50f48f50f0cda6d2b20b53e9ad6e2dfded3",
      "parents": [
        "1fae4cfb97302289bb5df6a8195eb28385d0b002",
        "9643f5d94aadd47a5fa9754fb60f2c957de05903"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 04 08:15:33 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 04 08:15:33 2010 -0800"
      },
      "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: (52 commits)\n  init: Open /dev/console from rootfs\n  mqueue: fix typo \"failues\" -\u003e \"failures\"\n  mqueue: only set error codes if they are really necessary\n  mqueue: simplify do_open() error handling\n  mqueue: apply mathematics distributivity on mq_bytes calculation\n  mqueue: remove unneeded info-\u003emessages initialization\n  mqueue: fix mq_open() file descriptor leak on user-space processes\n  fix race in d_splice_alias()\n  set S_DEAD on unlink() and non-directory rename() victims\n  vfs: add NOFOLLOW flag to umount(2)\n  get rid of -\u003emnt_parent in tomoyo/realpath\n  hppfs can use existing proc_mnt, no need for do_kern_mount() in there\n  Mirror MS_KERNMOUNT in -\u003emnt_flags\n  get rid of useless vfsmount_lock use in put_mnt_ns()\n  Take vfsmount_lock to fs/internal.h\n  get rid of insanity with namespace roots in tomoyo\n  take check for new events in namespace (guts of mounts_poll()) to namespace.c\n  Don\u0027t mess with generic_permission() under -\u003ed_lock in hpfs\n  sanitize const/signedness for udf\n  nilfs: sanitize const/signedness in dealing with -\u003ed_name.name\n  ...\n\nFix up fairly trivial (famous last words...) conflicts in\ndrivers/infiniband/core/uverbs_main.c and security/tomoyo/realpath.c\n"
    },
    {
      "commit": "1154fab73ccbab010cfaa272b6987c624cfd63c6",
      "tree": "9fb6a47295608e6b9207545cd7b83980f0bba0c4",
      "parents": [
        "e2b093f3e9262353558c6f89510ab2d286b28287"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Mon Mar 01 16:04:45 2010 +1100"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Mar 04 12:09:43 2010 +0200"
      },
      "message": "SLUB: Fix per-cpu merge conflict\n\nThe slab tree adds a percpu variable usage case (commit\n9dfc6e68bfe6ee452efb1a4e9ca26a9007f2b864 \"SLUB: Use this_cpu operations in\nslub\"), but the percpu tree removes the prefixing of percpu variables (commit\ndd17c8f72993f9461e9c19250e3f155d6d99df22 \"percpu: remove per_cpu__ prefix\"),\nthus causing the following compilation error:\n\n    CC      mm/slub.o\n  mm/slub.c: In function ‘alloc_kmem_cache_cpus’:\n  mm/slub.c:2078: error: implicit declaration of function ‘per_cpu_var’\n  mm/slub.c:2078: warning: assignment makes pointer from integer without a cast\n  make[1]: *** [mm/slub.o] Error 1\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "e2b093f3e9262353558c6f89510ab2d286b28287",
      "tree": "298986520dcb4e60e5ab253b7f6d56277077215a",
      "parents": [
        "eaa5eec739637f32f8733d528ff0b94fd62b1214",
        "f3186a9c51eabe75b2780153ed7f07778d78b16e",
        "4c13dd3b48fcb6fbe44f241eb11a057ecd1cba75",
        "44b57f1cc72a4a30b31f11b07a927d1534f1b93d",
        "91efd773c74bb26b5409c85ad755d536448e229c"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Mar 04 12:07:50 2010 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Mar 04 12:07:50 2010 +0200"
      },
      "message": "Merge branches \u0027slab/cleanups\u0027, \u0027slab/failslab\u0027, \u0027slab/fixes\u0027 and \u0027slub/percpu\u0027 into slab-for-linus\n"
    },
    {
      "commit": "2ecdc82ef0b03e67ce5ecee79d0d108177a704df",
      "tree": "66887e3e0e7328c4030888905a713a995bb1654b",
      "parents": [
        "270ba5f7c5dac0bfb564aa35a536fb31ad4075bd"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Jan 26 17:27:20 2010 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 03 14:07:55 2010 -0500"
      },
      "message": "kill unused invalidate_inode_pages helper\n\nNo one is calling this anymore as everyone has switched to\ninvalidate_mapping_pages long time ago.  Also update a few\nreferences to it in comments.  nfs has two more, but I can\u0027t\neasily figure what they are actually referring to, so I left\nthem as-is.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a626b46e17d0762d664ce471d40bc506b6e721ab",
      "tree": "445f6ac655ea9247d2e27529f23ba02d0991fec0",
      "parents": [
        "c1dcb4bb1e3e16e9baee578d9bb040e5fba1063e",
        "dce46a04d55d6358d2d4ab44a4946a19f9425fe2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 03 08:15:05 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 03 08:15:05 2010 -0800"
      },
      "message": "Merge branch \u0027x86-bootmem-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-bootmem-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (30 commits)\n  early_res: Need to save the allocation name in drop_range_partial()\n  sparsemem: Fix compilation on PowerPC\n  early_res: Add free_early_partial()\n  x86: Fix non-bootmem compilation on PowerPC\n  core: Move early_res from arch/x86 to kernel/\n  x86: Add find_fw_memmap_area\n  Move round_up/down to kernel.h\n  x86: Make 32bit support NO_BOOTMEM\n  early_res: Enhance check_and_double_early_res\n  x86: Move back find_e820_area to e820.c\n  x86: Add find_early_area_size\n  x86: Separate early_res related code from e820.c\n  x86: Move bios page reserve early to head32/64.c\n  sparsemem: Put mem map for one node together.\n  sparsemem: Put usemap for one node together\n  x86: Make 64 bit use early_res instead of bootmem before slab\n  x86: Only call dma32_reserve_bootmem 64bit !CONFIG_NUMA\n  x86: Make early_node_mem get mem \u003e 4 GB if possible\n  x86: Dynamically increase early_res array size\n  x86: Introduce max_early_res and early_res_count\n  ...\n"
    },
    {
      "commit": "0a135ba14d71fb84c691a5386aff5049691fe6d7",
      "tree": "adb1de887dd6839d69d2fc16ffa2a10ff63298fa",
      "parents": [
        "4850f524b2c4c8a4e9f8ef4dd9c7c4afde2f2b2c",
        "a29d8b8e2d811a24bbe49215a0f0c536b72ebc18"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 03 07:34:18 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 03 07:34:18 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:\n  percpu: add __percpu sparse annotations to what\u0027s left\n  percpu: add __percpu sparse annotations to fs\n  percpu: add __percpu sparse annotations to core kernel subsystems\n  local_t: Remove leftover local.h\n  this_cpu: Remove pageset_notifier\n  this_cpu: Page allocator conversion\n  percpu, x86: Generic inc / dec percpu instructions\n  local_t: Move local.h include to ringbuffer.c and ring_buffer_benchmark.c\n  module: Use this_cpu_xx to dynamically allocate counters\n  local_t: Remove cpu_local_xx macros\n  percpu: refactor the code in pcpu_[de]populate_chunk()\n  percpu: remove compile warnings caused by __verify_pcpu_ptr()\n  percpu: make accessors check for percpu pointer in sparse\n  percpu: add __percpu for sparse.\n  percpu: make access macros universal\n  percpu: remove per_cpu__ prefix.\n"
    },
    {
      "commit": "6d6b89bd2e316b78d668f761d380837b81fa71ef",
      "tree": "7e63c58611fc6181153526abbdafdd846ed1a19d",
      "parents": [
        "13dda80e48439b446d0bc9bab34b91484bc8f533",
        "2507c05ff55fbf38326b08ed27eaed233bc75042"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 02 07:55:08 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 02 07:55:08 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1341 commits)\n  virtio_net: remove forgotten assignment\n  be2net: fix tx completion polling\n  sis190: fix cable detect via link status poll\n  net: fix protocol sk_buff field\n  bridge: Fix build error when IGMP_SNOOPING is not enabled\n  bnx2x: Tx barriers and locks\n  scm: Only support SCM_RIGHTS on unix domain sockets.\n  vhost-net: restart tx poll on sk_sndbuf full\n  vhost: fix get_user_pages_fast error handling\n  vhost: initialize log eventfd context pointer\n  vhost: logging thinko fix\n  wireless: convert to use netdev_for_each_mc_addr\n  ethtool: do not set some flags, if others failed\n  ipoib: returned back addrlen check for mc addresses\n  netlink: Adding inode field to /proc/net/netlink\n  axnet_cs: add new id\n  bridge: Make IGMP snooping depend upon BRIDGE.\n  bridge: Add multicast count/interval sysfs entries\n  bridge: Add hash elasticity/max sysfs entries\n  bridge: Add multicast_snooping sysfs toggle\n  ...\n\nTrivial conflicts in Documentation/feature-removal-schedule.txt\n"
    },
    {
      "commit": "81d0d950e5037a26b71e568ff235ff9e998f4ab3",
      "tree": "c9f6d2ca8dd5ddacc0bbb0fbc67f30449dbf29ff",
      "parents": [
        "fb90ef93df654f2678933efbbf864adac0ae490e"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sat Feb 27 09:29:38 2010 -0800"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Mon Mar 01 17:59:24 2010 -0800"
      },
      "message": "sparsemem: Fix compilation on PowerPC\n\nStephen reported:\nbuild (powerpc\nppc64_defconfig) produced these warnings:\n\nmm/sparse.c: In function \u0027sparse_init\u0027:\nmm/sparse.c:488: warning: unused variable \u0027map_count\u0027\nmm/sparse.c:484: warning: unused variable \u0027size2\u0027\nmm/sparse.c:481: warning: unused variable \u0027map_map\u0027\nmm/sparse.c: At top level:\nmm/sparse.c:442: warning: \u0027sparse_early_mem_maps_alloc_node\u0027 defined but not used\n\nIntroduced by commit 9bdac914240759457175ac0d6529a37d2820bc4d\n(\"sparsemem: Put mem map for one node together\").\n\nConditionalize the bits appropriately based on the setting of\nCONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nTested-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nLKML-Reference: \u003c4B895682.1080706@kernel.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "ac0f6f927db539e03e1f3f61bcd4ed57d5cde7a9",
      "tree": "816e5ac643b15c2050c64a7075f0f7e13d86ea09",
      "parents": [
        "b1bf9368407ae7e89d8a005bb40beb70a41df539",
        "9f33be2c3a80bdc2cc08342dd77fac87652e0548"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 01 09:15:15 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 01 09:15:15 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm\n\n* \u0027for-linus\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm: (100 commits)\n  ARM: Eliminate decompressor -Dstatic\u003d PIC hack\n  ARM: 5958/1: ARM: U300: fix inverted clk round rate\n  ARM: 5956/1: misplaced parentheses\n  ARM: 5955/1: ep93xx: move timer defines into core.c and document\n  ARM: 5954/1: ep93xx: move gpio interrupt support to gpio.c\n  ARM: 5953/1: ep93xx: fix broken build of clock.c\n  ARM: 5952/1: ARM: MM: Add ARM_L1_CACHE_SHIFT_6 for handle inside each ARCH Kconfig\n  ARM: 5949/1: NUC900 add gpio virtual memory map\n  ARM: 5948/1: Enable timer0 to time4 clock support for nuc910\n  ARM: 5940/2: ARM: MMCI: remove custom DBG macro and printk\n  ARM: make_coherent(): fix problems with highpte, part 2\n  MM: Pass a PTE pointer to update_mmu_cache() rather than the PTE itself\n  ARM: 5945/1: ep93xx: include correct irq.h in core.c\n  ARM: 5933/1: amba-pl011: support hardware flow control\n  ARM: 5930/1: Add PKMAP area description to memory.txt.\n  ARM: 5929/1: Add checks to detect overlap of memory regions.\n  ARM: 5928/1: Change type of VMALLOC_END to unsigned long.\n  ARM: 5927/1: Make delimiters of DMA area globally visibly.\n  ARM: 5926/1: Add \"Virtual kernel memory...\" printout.\n  ARM: 5920/1: OMAP4: Enable L2 Cache\n  ...\n\nFix up trivial conflict in arch/arm/mach-mx25/clock.c\n"
    },
    {
      "commit": "47871889c601d8199c51a4086f77eebd77c29b0b",
      "tree": "40cdcac3bff0ee40cc33dcca61d0577cdf965f77",
      "parents": [
        "c16cc0b464b8876cfd57ce1c1dbcb6f9a6a0bce3",
        "30ff056c42c665b9ea535d8515890857ae382540"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 28 19:23:06 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 28 19:23:06 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n\nConflicts:\n\tdrivers/firmware/iscsi_ibft.c\n"
    },
    {
      "commit": "64d497f55379b1e320a08ec2426468d96f5642ec",
      "tree": "22b9ab3c5e69c5cc2728cbc2ca7fc7623beef8f1",
      "parents": [
        "37d4008484977f60d5d37499a2670c79b214dd46",
        "b5f5fe80fa98a60daa0fa94512d1599b1e26674c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 26 16:54:27 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 26 16:54:27 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (187 commits)\n  sh: remove dead LED code for migo-r and ms7724se\n  sh: ecovec build fix for CONFIG_I2C\u003dn\n  sh: ecovec r-standby support\n  sh: ms7724se r-standby support\n  sh: SH-Mobile R-standby register save/restore\n  clocksource: Fix up a registration/IRQ race in the sh drivers.\n  sh: ms7724: modify scan_timing for KEYSC\n  sh: ms7724: Add sh_sir support\n  sh: mach-ecovec24: Add sh_sir support\n  sh: wire up SET/GET_UNALIGN_CTL.\n  sh: allow alignment fault mode to be configured at kernel boot.\n  sh: sh7724: Update FSI/SPU2 clock\n  sh: always enable sh7724 vpu_clk and set to 166MHz on Ecovec\n  sh: add sh7724 kick callback to clk_div4_table\n  sh: introduce struct clk_div4_table\n  sh: clock-cpg div4 set_rate() shift fix\n  sh: Turn on speculative return for SH7785 and SH7786\n  sh: Merge legacy and dynamic PMB modes.\n  sh: Use uncached I/O helpers in PMB setup.\n  sh: Provide uncached I/O helpers.\n  ...\n"
    },
    {
      "commit": "4c13dd3b48fcb6fbe44f241eb11a057ecd1cba75",
      "tree": "d9875477b9eb48ad598da8cbc36b473c941828ae",
      "parents": [
        "60b341b778cc2929df16c0a504c91621b3c6a4ad"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Fri Feb 26 09:36:12 2010 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Feb 26 19:19:39 2010 +0200"
      },
      "message": "failslab: add ability to filter slab caches\n\nThis patch allow to inject faults only for specific slabs.\nIn order to preserve default behavior cache filter is off by\ndefault (all caches are faulty).\n\nOne may define specific set of slabs like this:\n# mark skbuff_head_cache as faulty\necho 1 \u003e /sys/kernel/slab/skbuff_head_cache/failslab\n# Turn on cache filter (off by default)\necho 1 \u003e /sys/kernel/debug/failslab/cache-filter\n# Turn on fault injection\necho 1 \u003e /sys/kernel/debug/failslab/times\necho 1 \u003e /sys/kernel/debug/failslab/probability\n\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nAcked-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "fb90ef93df654f2678933efbbf864adac0ae490e",
      "tree": "c590e99bc70fbbfa0e1615a29734ca3c1f586729",
      "parents": [
        "2ee78f7b1d8ada2615ecbcd9fea70580008bd6ce"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Wed Feb 24 18:36:53 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 26 08:25:35 2010 +0100"
      },
      "message": "early_res: Add free_early_partial()\n\nTo free partial areas in pcpu_setup...\n\nReported-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nLKML-Reference: \u003c4B85E245.5030001@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9f33be2c3a80bdc2cc08342dd77fac87652e0548",
      "tree": "7ad6e825427a15c5ec0fc15540abc0429d7f4bce",
      "parents": [
        "2741ecb4ce5c2d430b5c44b0a169038338c21df5",
        "eed18b5fa4d297c681b00144e8c6942dd35d39a7"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Feb 25 22:10:38 2010 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Feb 25 22:10:38 2010 +0000"
      },
      "message": "Merge branches \u0027clks\u0027 and \u0027pnx\u0027 into devel\n"
    },
    {
      "commit": "5a2d41961dd6815b874b5c0afec0ac96cd90eea4",
      "tree": "af3d153f9615d9c11feb378f7821c0f280012b52",
      "parents": [
        "bee415ce427d1eab6cfb30221461c7d20cbf1903"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Feb 22 12:44:14 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 22 19:50:34 2010 -0800"
      },
      "message": "memcg: fix oom killing a child process in an other cgroup\n\nPresently the oom-killer is memcg aware and it finds the worst process\nfrom processes under memcg(s) in oom.  Then, it kills victim\u0027s child\nfirst.\n\nIt may kill a child in another cgroup and may not be any help for\nrecovery.  And it will break the assumption users have.\n\nThis patch fixes it.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nReviewed-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\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": "2ee78f7b1d8ada2615ecbcd9fea70580008bd6ce",
      "tree": "4fa5e1df3bbf771fc57714272f7a6941aa3ed3a2",
      "parents": [
        "580e0ad21d6d6f932461d24b47041e3dd499c23f"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Wed Feb 17 11:29:49 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 22 09:16:40 2010 +0100"
      },
      "message": "x86: Fix non-bootmem compilation on PowerPC\n\nThese build errors on some non-x86 platforms (PowerPC for example):\n\n mm/page_alloc.c: In function \u0027__alloc_memory_core_early\u0027:\n   mm/page_alloc.c:3468: error: implicit declaration of function \u0027find_early_area\u0027\n   mm/page_alloc.c:3483: error: implicit declaration of function \u0027reserve_early_without_check\u0027\n\nThe function is only needed on CONFIG_NO_BOOTMEM.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Johannes Weiner \u003channes@saeurebad.de\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nLKML-Reference: \u003c4B747239.4070907@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "87b8d1adefa1548b591cbf0d63965987e2cf893d",
      "tree": "9bb71e42dfed2ac212a9dc55dd5e2ba1f8d042ac",
      "parents": [
        "aea187c46f7d03ce985e55eb1398d0776a15b928"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Feb 18 16:13:40 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 21 08:57:08 2010 -0800"
      },
      "message": "mm: Make copy_from_user() in migrate.c statically predictable\n\nx86-32 has had a static test for copy_on_user() overflow for a while.\nThis test currently fails in mm/migrate.c resulting in an\nallyesconfig/allmodconfig build failure on x86-32:\n\nIn function ‘copy_from_user’,\n    inlined from ‘do_pages_stat’ at\n    /home/hpa/kernel/git/mm/migrate.c:1012:\n/home/hpa/kernel/git/arch/x86/include/asm/uaccess_32.h:212: error:\n    call to ‘copy_from_user_overflow’ declared\n\nMake the logic more explicit and therefore easier for gcc to\nunderstand.\n\nv2: rewrite the loop entirely using a more normal structure for a\n    chunked-data loop (Linus Torvalds)\n\nReported-by: Len Brown \u003clenb@kernel.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nReviewed-and-Tested-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Arjan van de Ven \u003carjan@linux.kernel.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4b3073e1c53a256275f1079c0fbfbe85883d9275",
      "tree": "a0fa98cb75edbbc58c43bbe38ac4c6da0913ae6d",
      "parents": [
        "ed42acaef1a9d51631a31b55e9ed52d400430492"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Dec 18 16:40:18 2009 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sat Feb 20 16:41:46 2010 +0000"
      },
      "message": "MM: Pass a PTE pointer to update_mmu_cache() rather than the PTE itself\n\nOn VIVT ARM, when we have multiple shared mappings of the same file\nin the same MM, we need to ensure that we have coherency across all\ncopies.  We do this via make_coherent() by making the pages\nuncacheable.\n\nThis used to work fine, until we allowed highmem with highpte - we\nnow have a page table which is mapped as required, and is not available\nfor modification via update_mmu_cache().\n\nRalf Beache suggested getting rid of the PTE value passed to\nupdate_mmu_cache():\n\n  On MIPS update_mmu_cache() calls __update_tlb() which walks pagetables\n  to construct a pointer to the pte again.  Passing a pte_t * is much\n  more elegant.  Maybe we might even replace the pte argument with the\n  pte_t?\n\nBen Herrenschmidt would also like the pte pointer for PowerPC:\n\n  Passing the ptep in there is exactly what I want.  I want that\n  -instead- of the PTE value, because I have issue on some ppc cases,\n  for I$/D$ coherency, where set_pte_at() may decide to mask out the\n  _PAGE_EXEC.\n\nSo, pass in the mapped page table pointer into update_mmu_cache(), and\nremove the PTE value, updating all implementations and call sites to\nsuit.\n\nIncludes a fix from Stephen Rothwell:\n\n  sparc: fix fallout from update_mmu_cache API change\n\n  Signed-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\n\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "2bb4646fce8d09916b351d1a62f98db7cec6fc41",
      "tree": "c1f0d002e69868606eca9d1b919835f422892063",
      "parents": [
        "6836b9bdd98e3b500cd49512484df68f46e14659",
        "b0483e78e5c4c9871fc5541875b3bc006846d46b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 16 22:09:29 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 16 22:09:29 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "43cf38eb5cea91245502df3fcee4dbfc1c74dd1c",
      "tree": "a58ea87af1f07b8aed4941db074f44103f321f6e",
      "parents": [
        "ab386128f20c44c458a90039ab1bdc265ac474c9"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Feb 02 14:38:57 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Feb 17 11:17:38 2010 +0900"
      },
      "message": "percpu: add __percpu sparse annotations to core kernel subsystems\n\nAdd __percpu sparse annotations to core subsystems.\n\nThese annotations are to make sparse consider percpu variables to be\nin a different address space and warn if accessed without going\nthrough percpu accessors.  This patch doesn\u0027t affect normal builds.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: linux-mm@kvack.org\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Eric Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "9bdac914240759457175ac0d6529a37d2820bc4d",
      "tree": "8fb7d26a351d2cd526835f1494ebeb818e988abb",
      "parents": [
        "a4322e1bad91fbca27056fc38d2cbca3f1eae0cf"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Wed Feb 10 01:20:22 2010 -0800"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Feb 12 09:42:38 2010 -0800"
      },
      "message": "sparsemem: Put mem map for one node together.\n\nAdd vmemmap_alloc_block_buf for mem map only.\n\nIt will fallback to the old way if it cannot get a block that big.\n\nBefore this patch, when a node have 128g ram installed, memmap are\nsplit into two parts or more.\n[    0.000000]  [ffffea0000000000-ffffea003fffffff] PMD -\u003e [ffff880100600000-ffff88013e9fffff] on node 1\n[    0.000000]  [ffffea0040000000-ffffea006fffffff] PMD -\u003e [ffff88013ec00000-ffff88016ebfffff] on node 1\n[    0.000000]  [ffffea0070000000-ffffea007fffffff] PMD -\u003e [ffff882000600000-ffff8820105fffff] on node 0\n[    0.000000]  [ffffea0080000000-ffffea00bfffffff] PMD -\u003e [ffff882010800000-ffff8820507fffff] on node 0\n[    0.000000]  [ffffea00c0000000-ffffea00dfffffff] PMD -\u003e [ffff882050a00000-ffff8820709fffff] on node 0\n[    0.000000]  [ffffea00e0000000-ffffea00ffffffff] PMD -\u003e [ffff884000600000-ffff8840205fffff] on node 2\n[    0.000000]  [ffffea0100000000-ffffea013fffffff] PMD -\u003e [ffff884020800000-ffff8840607fffff] on node 2\n[    0.000000]  [ffffea0140000000-ffffea014fffffff] PMD -\u003e [ffff884060a00000-ffff8840709fffff] on node 2\n[    0.000000]  [ffffea0150000000-ffffea017fffffff] PMD -\u003e [ffff886000600000-ffff8860305fffff] on node 3\n[    0.000000]  [ffffea0180000000-ffffea01bfffffff] PMD -\u003e [ffff886030800000-ffff8860707fffff] on node 3\n[    0.000000]  [ffffea01c0000000-ffffea01ffffffff] PMD -\u003e [ffff888000600000-ffff8880405fffff] on node 4\n[    0.000000]  [ffffea0200000000-ffffea022fffffff] PMD -\u003e [ffff888040800000-ffff8880707fffff] on node 4\n[    0.000000]  [ffffea0230000000-ffffea023fffffff] PMD -\u003e [ffff88a000600000-ffff88a0105fffff] on node 5\n[    0.000000]  [ffffea0240000000-ffffea027fffffff] PMD -\u003e [ffff88a010800000-ffff88a0507fffff] on node 5\n[    0.000000]  [ffffea0280000000-ffffea029fffffff] PMD -\u003e [ffff88a050a00000-ffff88a0709fffff] on node 5\n[    0.000000]  [ffffea02a0000000-ffffea02bfffffff] PMD -\u003e [ffff88c000600000-ffff88c0205fffff] on node 6\n[    0.000000]  [ffffea02c0000000-ffffea02ffffffff] PMD -\u003e [ffff88c020800000-ffff88c0607fffff] on node 6\n[    0.000000]  [ffffea0300000000-ffffea030fffffff] PMD -\u003e [ffff88c060a00000-ffff88c0709fffff] on node 6\n[    0.000000]  [ffffea0310000000-ffffea033fffffff] PMD -\u003e [ffff88e000600000-ffff88e0305fffff] on node 7\n[    0.000000]  [ffffea0340000000-ffffea037fffffff] PMD -\u003e [ffff88e030800000-ffff88e0707fffff] on node 7\n\nafter patch will get\n[    0.000000]  [ffffea0000000000-ffffea006fffffff] PMD -\u003e [ffff880100200000-ffff88016e5fffff] on node 0\n[    0.000000]  [ffffea0070000000-ffffea00dfffffff] PMD -\u003e [ffff882000200000-ffff8820701fffff] on node 1\n[    0.000000]  [ffffea00e0000000-ffffea014fffffff] PMD -\u003e [ffff884000200000-ffff8840701fffff] on node 2\n[    0.000000]  [ffffea0150000000-ffffea01bfffffff] PMD -\u003e [ffff886000200000-ffff8860701fffff] on node 3\n[    0.000000]  [ffffea01c0000000-ffffea022fffffff] PMD -\u003e [ffff888000200000-ffff8880701fffff] on node 4\n[    0.000000]  [ffffea0230000000-ffffea029fffffff] PMD -\u003e [ffff88a000200000-ffff88a0701fffff] on node 5\n[    0.000000]  [ffffea02a0000000-ffffea030fffffff] PMD -\u003e [ffff88c000200000-ffff88c0701fffff] on node 6\n[    0.000000]  [ffffea0310000000-ffffea037fffffff] PMD -\u003e [ffff88e000200000-ffff88e0701fffff] on node 7\n\n-v2: change buf to vmemmap_buf instead according to Ingo\n     also add CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER according to Ingo\n-v3: according to Andrew, use sizeof(name) instead of hard coded 15\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nLKML-Reference: \u003c1265793639-15071-19-git-send-email-yinghai@kernel.org\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "a4322e1bad91fbca27056fc38d2cbca3f1eae0cf",
      "tree": "4d7b12393e1bd06c9c39e384aa6cc0b35e3257a8",
      "parents": [
        "08677214e318297f228237be0042aac754f48f1d"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Wed Feb 10 01:20:21 2010 -0800"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Feb 12 09:42:37 2010 -0800"
      },
      "message": "sparsemem: Put usemap for one node together\n\nCould save some buffer space instead of applying one by one.\n\nCould help that system that is going to use early_res instead of bootmem\nless entries in early_res make search more faster on system with more memory.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nLKML-Reference: \u003c1265793639-15071-18-git-send-email-yinghai@kernel.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "08677214e318297f228237be0042aac754f48f1d",
      "tree": "6d03424f7e287fcf66136b44512328afb1aeee49",
      "parents": [
        "c252a5bb1f57afb1e336d68085217727ca7b2134"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Wed Feb 10 01:20:20 2010 -0800"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Feb 12 09:41:59 2010 -0800"
      },
      "message": "x86: Make 64 bit use early_res instead of bootmem before slab\n\nFinally we can use early_res to replace bootmem for x86_64 now.\n\nStill can use CONFIG_NO_BOOTMEM to enable it or not.\n\n-v2: fix 32bit compiling about MAX_DMA32_PFN\n-v3: folded bug fix from LKML message below\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nLKML-Reference: \u003c4B747239.4070907@kernel.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "2e18e047981ae04be9bd0d9760057f7c1a7b3785",
      "tree": "999941abf466ce4d6915273e2e7a42bf0a107385",
      "parents": [
        "b06ede84dd1473dec7c6af03a41c8d04d2fee437",
        "cfefe99795251d76d92e8457f4152f532a961ec5"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Mon Feb 08 11:34:03 2010 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Mon Feb 08 11:34:03 2010 +0900"
      },
      "message": "Merge branch \u0027sh/dmaengine\u0027\n\nConflicts:\n\tarch/sh/drivers/dma/dma-sh.c\n"
    },
    {
      "commit": "6f5a55f1a6c5abee15a0e878e5c74d9f1569b8b0",
      "tree": "2b5304a71a3b2ef2f0665e4e2d9262c6c6918848",
      "parents": [
        "9d9c3a51e7b20dcd63b8cc534035af99a41d03e4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 05 16:16:50 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 06 13:00:37 2010 -0800"
      },
      "message": "Fix potential crash with sys_move_pages\n\nWe incorrectly depended on the \u0027node_state/node_isset()\u0027 functions\ntesting the node range, rather than checking it explicitly.  That\u0027s not\nreliable, even if it might often happen to work.  So do the proper\nexplicit test.\n\nReported-by: Marcus Meissner \u003cmeissner@suse.de\u003e\nAcked-and-tested-by: Brice Goglin \u003cBrice.Goglin@inria.fr\u003e\nAcked-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8e04221029067cbaff3fc8f4daf991532afbcbaf",
      "tree": "18cf757bcd315c76f5f458aa72a0a57db0a78985",
      "parents": [
        "9ad62ec4f752c82b39aa5927f23d894b46ae10b9",
        "2c940db250c1610d95ea5331dc819b8bd4db96ae"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Feb 05 12:16:39 2010 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Feb 05 12:16:39 2010 +0900"
      },
      "message": "Merge branch \u0027sh/stable-updates\u0027\n"
    },
    {
      "commit": "094e9539bd24bbe23b8e2741e903b0f3f1f85b03",
      "tree": "1b217c0351db28589fc164d5bf570d61c173bf5c",
      "parents": [
        "03eac7bb882a75e6ee5705288f7ec36ad2e7d0d5"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Tue Feb 02 13:44:14 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 02 18:11:22 2010 -0800"
      },
      "message": "hugetlb: fix section mismatches\n\nhugetlb_sysfs_add_hstate is called by hugetlb_register_node directly\nduring init and also indirectly via sysfs after init.\n\nThis patch removes the __init tag from hugetlb_sysfs_add_hstate.\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "931e80e4b3263db75c8e34f078d22f11bbabd3a3",
      "tree": "47c735f039d2c8623a1fc4d20333a9899ac8e99c",
      "parents": [
        "bc173f7092c76a7967f135c2b3a54052ad99733b"
      ],
      "author": {
        "name": "anfei zhou",
        "email": "anfei.zhou@gmail.com",
        "time": "Tue Feb 02 13:44:02 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 02 18:11:21 2010 -0800"
      },
      "message": "mm: flush dcache before writing into page to avoid alias\n\nThe cache alias problem will happen if the changes of user shared mapping\nis not flushed before copying, then user and kernel mapping may be mapped\ninto two different cache line, it is impossible to guarantee the coherence\nafter iov_iter_copy_from_user_atomic.  So the right steps should be:\n\n\tflush_dcache_page(page);\n\tkmap_atomic(page);\n\twrite to page;\n\tkunmap_atomic(page);\n\tflush_dcache_page(page);\n\nMore precisely, we might create two new APIs flush_dcache_user_page and\nflush_dcache_kern_page to replace the two flush_dcache_page accordingly.\n\nHere is a snippet tested on omap2430 with VIPT cache, and I think it is\nnot ARM-specific:\n\n\tint val \u003d 0x11111111;\n\tfd \u003d open(\"abc\", O_RDWR);\n\taddr \u003d mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);\n\t*(addr+0) \u003d 0x44444444;\n\ttmp \u003d *(addr+0);\n\t*(addr+1) \u003d 0x77777777;\n\twrite(fd, \u0026val, sizeof(int));\n\tclose(fd);\n\nThe results are not always 0x11111111 0x77777777 at the beginning as expected.  Sometimes we see 0x44444444 0x77777777.\n\nSigned-off-by: Anfei \u003canfei.zhou@gmail.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: \u003clinux-arch@vger.kernel.org\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": "02b709df817c0db174f249cc59e5f7fd01b64d92",
      "tree": "f1e6af927573507e503f3cddfb5bae457a24f72c",
      "parents": [
        "de5604231ce4bc8db1bc1dcd27d8540cbedf1518"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Mon Feb 01 22:25:57 2010 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 02 12:50:47 2010 -0800"
      },
      "message": "mm: purge fragmented percpu vmap blocks\n\nImprove handling of fragmented per-CPU vmaps.  We previously don\u0027t free\nup per-CPU maps until all its addresses have been used and freed.  So\nfragmented blocks could fill up vmalloc space even if they actually had\nno active vmap regions within them.\n\nAdd some logic to allow all CPUs to have these blocks purged in the case\nof failure to allocate a new vm area, and also put some logic to trim\nsuch blocks of a current CPU if we hit them in the allocation path (so\nas to avoid a large build up of them).\n\nChristoph reported some vmap allocation failures when using the per CPU\nvmap APIs in XFS, which cannot be reproduced after this patch and the\nprevious bug fix.\n\nCc: linux-mm@kvack.org\nCc: stable@kernel.org\nTested-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\n--\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "de5604231ce4bc8db1bc1dcd27d8540cbedf1518",
      "tree": "1b64b0554b8ecffd58d4d06614075e5ccbb6bfb4",
      "parents": [
        "489b24f2cbdcc1c93f55a2707733bba702ba8dbf"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Mon Feb 01 22:24:18 2010 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 02 12:50:47 2010 -0800"
      },
      "message": "mm: percpu-vmap fix RCU list walking\n\nRCU list walking of the per-cpu vmap cache was broken.  It did not use\nRCU primitives, and also the union of free_list and rcu_head is\nobviously wrong (because free_list is indeed the list we are RCU\nwalking).\n\nWhile we are there, remove a couple of unused fields from an earlier\niteration.\n\nThese APIs aren\u0027t actually used anywhere, because of problems with the\nXFS conversion.  Christoph has now verified that the problems are solved\nwith these patches.  Also it is an exported interface, so I think it\nwill be good to be merged now (and Christoph wants to get the XFS\nchanges into their local tree).\n\nCc: stable@kernel.org\nCc: linux-mm@kvack.org\nTested-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\n--\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ab386128f20c44c458a90039ab1bdc265ac474c9",
      "tree": "2ad188744922b1bb951fd10ff50dc04c83acce22",
      "parents": [
        "dbfc196a3cc1a2514ad0737a82f764de23bd65e6",
        "ab658321f32770b903a4426e2a6fae0392757755"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Feb 02 14:38:15 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Feb 02 14:38:15 2010 +0900"
      },
      "message": "Merge branch \u0027master\u0027 into percpu\n"
    },
    {
      "commit": "9d3f1881abeae0494a27716b08fcf2d3264bb0fa",
      "tree": "f457dd2d35af29bc831b93865efa47229d0b9bee",
      "parents": [
        "b6c58b1d987a5795086c5c2babd8c7367d2fdb8c",
        "bc10e875d4aeaa93a0d418d8b4346b72f5067ea0"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Tue Feb 02 11:33:45 2010 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Tue Feb 02 11:33:45 2010 +0900"
      },
      "message": "Merge branch \u0027sh/stable-updates\u0027\n"
    },
    {
      "commit": "44b57f1cc72a4a30b31f11b07a927d1534f1b93d",
      "tree": "78e38b52bedf86446161e9df0cfbb2b7b4bc6dd8",
      "parents": [
        "7284ce6c9f6153d1777df5f310c959724d1bd446"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Jan 27 22:27:40 2010 +1100"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat Jan 30 15:02:39 2010 +0200"
      },
      "message": "slab: fix regression in touched logic\n\nWhen factoring common code into transfer_objects in commit 3ded175 (\"slab: add\ntransfer_objects() function\"), the \u0027touched\u0027 logic got a bit broken. When\nrefilling from the shared array (taking objects from the shared array), we are\nmaking use of the shared array so it should be marked as touched.\n\nSubsequently pulling an element from the cpu array and allocating it should\nalso touch the cpu array, but that is taken care of after the alloc_done label.\n(So yes, the cpu array was getting touched \u003d 1 twice).\n\nSo revert this logic to how it worked in earlier kernels.\n\nThis also affects the behaviour in __drain_alien_cache, which would previously\n\u0027touch\u0027 the shared array and now does not. I think it is more logical not to\ntouch there, because we are pushing objects into the shared array rather than\npulling them off. So there is no good reason to postpone reaping them -- if the\nshared array is getting utilized, then it will get \u0027touched\u0027 in the alloc path\n(where this patch now restores the touch).\n\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "a7016235a61d520e6806f38129001d935c4b6661",
      "tree": "cfd42cc6f0c825c8d9033e91d6d971ea549520e3",
      "parents": [
        "67f15b06c1a7e5417b7042b515ca2695de30beda"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Fri Jan 29 17:46:34 2010 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 29 10:28:09 2010 -0800"
      },
      "message": "mm: fix migratetype bug which slowed swapping\n\nAfter memory pressure has forced it to dip into the reserves, 2.6.32\u0027s\n5f8dcc21211a3d4e3a7a5ca366b469fb88117f61 \"page-allocator: split per-cpu\nlist into one-list-per-migrate-type\" has been returning MIGRATE_RESERVE\npages to the MIGRATE_MOVABLE free_list: in some sense depleting reserves.\n\nFix that in the most straightforward way (which, considering the overheads\nof alternative approaches, is Mel\u0027s preference): the right migratetype is\nalready in page_private(page), but free_pcppages_bulk() wasn\u0027t using it.\n\nHow did this bug show up?  As a 20% slowdown in my tmpfs loop kbuild\nswapping tests, on PowerMac G5 with SLUB allocator.  Bisecting to that\ncommit was easy, but explaining the magnitude of the slowdown not easy.\n\nThe same effect appears, but much less markedly, with SLAB, and even\nless markedly on other machines (the PowerMac divides into fewer zones\nthan x86, I think that may be a factor).  We guess that lumpy reclaim\nof short-lived high-order pages is implicated in some way, and probably\nthis bug has been tickling a poor decision somewhere in page reclaim.\n\nBut instrumentation hasn\u0027t told me much, I\u0027ve run out of time and\nimagination to determine exactly what\u0027s going on, and shouldn\u0027t hold up\nthe fix any longer: it\u0027s valid, and might even fix other misbehaviours.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0531b2aac59c2296570ac52bfc032ef2ace7d5e1",
      "tree": "4ca454bdc03c24654529bab9c882c1cd5f99a88c",
      "parents": [
        "caf0801e0cc482497c14a9ce349469c33c60beec"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 27 09:20:03 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 27 09:20:03 2010 -0800"
      },
      "message": "mm: add new \u0027read_cache_page_gfp()\u0027 helper function\n\nIt\u0027s a simplified \u0027read_cache_page()\u0027 which takes a page allocation\nflag, so that different paths can control how aggressive the memory\nallocations are that populate a address space.\n\nIn particular, the intel GPU object mapping code wants to be able to do\na certain amount of own internal memory management by automatically\nshrinking the address space when memory starts getting tight.  This\nallows it to dynamically use different memory allocation policies on a\nper-allocation basis, rather than depend on the (static) address space\ngfp policy.\n\nThe actual new function is a one-liner, but re-organizing the helper\nfunctions to the point where you can do this with a single line of code\nis what most of the patch is all about.\n\nTested-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "51c24aaacaea90c8e87f1dec75a2ac7622b593f8",
      "tree": "9f54936c87764bef75e97395cb56b7d1e0df24c6",
      "parents": [
        "4276e47e2d1c85a2477caf0d22b91c4f2377fba8",
        "6be325719b3e54624397e413efd4b33a997e55a3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jan 23 00:31:06 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jan 23 00:31:06 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "91efd773c74bb26b5409c85ad755d536448e229c",
      "tree": "b812dadb615ecff08e4d3ebe97483f192d0be27d",
      "parents": [
        "7738dd9e8f2bc1c249e00c9c20e018448fac0084"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Thu Jan 21 17:43:35 2010 -0600"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Jan 22 18:33:38 2010 +0200"
      },
      "message": "dma kmalloc handling fixes\n\n1. We need kmalloc_percpu for all of the now extended kmalloc caches\n   array not just for each shift value.\n\n2. init_kmem_cache_nodes() must assume node 0 locality for statically\n   allocated dma kmem_cache structures even after boot is complete.\n\nReported-and-tested-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "7738dd9e8f2bc1c249e00c9c20e018448fac0084",
      "tree": "2127dd8ada9cbcf83169e3de823dfe640de0e83a",
      "parents": [
        "84e554e6865c4f4ae84d38800cf270b9a67901cc"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Fri Jan 15 12:49:56 2010 -0800"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Jan 22 18:33:36 2010 +0200"
      },
      "message": "slub: remove impossible condition\n\n`s\u0027 cannot be NULL if kmalloc_caches is not NULL.\n\nThis conditional would trigger a NULL pointer on `s\u0027, anyway, since it is\nimmediately derefernced if true.\n\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "88f5004430babb836cfce886d5d54c82166f8ba4",
      "tree": "f1cdd2f63e6344a07a3470f6cd4face94da3e638",
      "parents": [
        "970114a1dacf5f1f47aae9ad75c0abca42d8499c"
      ],
      "author": {
        "name": "Yongseok Koh",
        "email": "yongseok.koh@samsung.com",
        "time": "Tue Jan 19 17:33:49 2010 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 21 07:20:06 2010 -0800"
      },
      "message": "vmalloc: remove BUG_ON due to racy counting of VM_LAZY_FREE\n\nIn free_unmap_area_noflush(), va-\u003eflags is marked as VM_LAZY_FREE first, and\nthen vmap_lazy_nr is increased atomically.\n\nBut, in __purge_vmap_area_lazy(), while traversing of vmap_are_list, nr\nis counted by checking VM_LAZY_FREE is set to va-\u003eflags.  After counting\nthe variable nr, kernel reads vmap_lazy_nr atomically and checks a\nBUG_ON condition whether nr is greater than vmap_lazy_nr to prevent\nvmap_lazy_nr from being negative.\n\nThe problem is that, if interrupted right after marking VM_LAZY_FREE,\nincrement of vmap_lazy_nr can be delayed.  Consequently, BUG_ON\ncondition can be met because nr is counted more than vmap_lazy_nr.\n\nIt is highly probable when vmalloc/vfree are called frequently.  This\nscenario have been verified by adding delay between marking VM_LAZY_FREE\nand increasing vmap_lazy_nr in free_unmap_area_noflush().\n\nEven the vmap_lazy_nr is for checking high watermark, it never be the\nstrict watermark.  Although the BUG_ON condition is to prevent\nvmap_lazy_nr from being negative, vmap_lazy_nr is signed variable.  So,\nit could go down to negative value temporarily.\n\nConsequently, removing the BUG_ON condition is proper.\n\nA possible BUG_ON message is like the below.\n\n   kernel BUG at mm/vmalloc.c:517!\n   invalid opcode: 0000 [#1] SMP\n   EIP: 0060:[\u003cc04824a4\u003e] EFLAGS: 00010297 CPU: 3\n   EIP is at __purge_vmap_area_lazy+0x144/0x150\n   EAX: ee8a8818 EBX: c08e77d4 ECX: e7c7ae40 EDX: c08e77ec\n   ESI: 000081fe EDI: e7c7ae60 EBP: e7c7ae64 ESP: e7c7ae3c\n   DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068\n   Call Trace:\n   [\u003cc0482ad9\u003e] free_unmap_vmap_area_noflush+0x69/0x70\n   [\u003cc0482b02\u003e] remove_vm_area+0x22/0x70\n   [\u003cc0482c15\u003e] __vunmap+0x45/0xe0\n   [\u003cc04831ec\u003e] vmalloc+0x2c/0x30\n   Code: 8d 59 e0 eb 04 66 90 89 cb 89 d0 e8 87 fe ff ff 8b 43 20 89 da 8d 48 e0 8d 43 20 3b 04 24 75 e7 fe 05 a8 a5 a3 c0 e9 78 ff ff ff \u003c0f\u003e 0b eb fe 90 8d b4 26 00 00 00 00 56 89 c6 b8 ac a5 a3 c0 31\n   EIP: [\u003cc04824a4\u003e] __purge_vmap_area_lazy+0x144/0x150 SS:ESP 0068:e7c7ae3c\n\n[ See also http://marc.info/?l\u003dlinux-kernel\u0026m\u003d126335856228090\u0026w\u003d2 ]\n\nSigned-off-by: Yongseok Koh \u003cyongseok.koh@samsung.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0c54de146ef4303ed3c5879b043894c8db637507",
      "tree": "a4ff5bf27ffd2c4b71271b42014a0040490c7271",
      "parents": [
        "8faba6121566248330e738d25a2c43d7500fb9f0",
        "7dc9c484a71525794ca05cf7a47f283f1b54cd12"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Mon Jan 18 20:47:37 2010 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Mon Jan 18 20:47:37 2010 +0900"
      },
      "message": "Merge branch \u0027sh/stable-updates\u0027\n"
    },
    {
      "commit": "6ccf80eb15ccaca4d3f1ab5162b9ded5eecd9971",
      "tree": "23dad05636e88a743755bfd3e7a5dad4ef5e49e0",
      "parents": [
        "1f0b8b95543118f97197a978560438c1ce88cd00"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Fri Jan 15 17:01:18 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 16 16:53:55 2010 -0800"
      },
      "message": "page allocator: update NR_FREE_PAGES only when necessary\n\ncommit f2260e6b (page allocator: update NR_FREE_PAGES only as necessary)\nmade one minor regression.  if __rmqueue() was failed, NR_FREE_PAGES stat\ngo wrong.  this patch fixes it.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReported-by: Huang Shijie \u003cshijie8@gmail.com\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\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": "7e6608724c640924aad1d556d17df33ebaa6124d",
      "tree": "b2d90646f5ee52f5b7807bbc0abe09db9adbe478",
      "parents": [
        "81759b5b221107488bda99fe7beeb7b734f61133"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 15 17:01:39 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 16 12:15:40 2010 -0800"
      },
      "message": "nommu: fix shared mmap after truncate shrinkage problems\n\nFix a problem in NOMMU mmap with ramfs whereby a shared mmap can happen\nover the end of a truncation.  The problem is that\nramfs_nommu_check_mappings() checks that the reduced file size against the\nVMA tree, but not the vm_region tree.\n\nThe following sequence of events can cause the problem:\n\n\tfd \u003d open(\"/tmp/x\", O_RDWR|O_TRUNC|O_CREAT, 0600);\n\tftruncate(fd, 32 * 1024);\n\ta \u003d mmap(NULL, 32 * 1024, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);\n\tb \u003d mmap(NULL, 16 * 1024, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);\n\tmunmap(a, 32 * 1024);\n\tftruncate(fd, 16 * 1024);\n\tc \u003d mmap(NULL, 32 * 1024, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);\n\nMapping \u0027a\u0027 creates a vm_region covering 32KB of the file.  Mapping \u0027b\u0027\nsees that the vm_region from \u0027a\u0027 is covering the region it wants and so\nshares it, pinning it in memory.\n\nMapping \u0027a\u0027 then goes away and the file is truncated to the end of VMA\n\u0027b\u0027.  However, the region allocated by \u0027a\u0027 is still in effect, and has\n_not_ been reduced.\n\nMapping \u0027c\u0027 is then created, and because there\u0027s a vm_region covering the\ndesired region, get_unmapped_area() is _not_ called to repeat the check,\nand the mapping is granted, even though the pages from the latter half of\nthe mapping have been discarded.\n\nHowever:\n\n\td \u003d mmap(NULL, 16 * 1024, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);\n\nMapping \u0027d\u0027 should work, and should end up sharing the region allocated by\n\u0027a\u0027.\n\nTo deal with this, we shrink the vm_region struct during the truncation,\nlest do_mmap_pgoff() take it as licence to share the full region\nautomatically without calling the get_unmapped_area() file op again.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Greg Ungerer \u003cgerg@snapgear.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "efc1a3b16930c41d64ffefde16b87d82f603a8a0",
      "tree": "1f651e22f534f1b3eacd2fab97e9351aa75abd0b",
      "parents": [
        "779c10232ceb11c1b259232c4845cfb2850287b7"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 15 17:01:35 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 16 12:15:40 2010 -0800"
      },
      "message": "nommu: don\u0027t need get_unmapped_area() for NOMMU\n\nget_unmapped_area() is unnecessary for NOMMU as no-one calls it.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Greg Ungerer \u003cgerg@snapgear.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "779c10232ceb11c1b259232c4845cfb2850287b7",
      "tree": "972b07acdcff03b20c84d42425a64b231df52aaa",
      "parents": [
        "1e2ae599d37e60958c03ca5e46b1f657619a30cd"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 15 17:01:34 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 16 12:15:40 2010 -0800"
      },
      "message": "nommu: remove a superfluous check of vm_region::vm_usage\n\nIn split_vma(), there\u0027s no need to check if the VMA being split has a\nregion that\u0027s in use by more than one VMA because:\n\n (1) The preceding test prohibits splitting of non-anonymous VMAs and regions\n     (eg: file or chardev backed VMAs).\n\n (2) Anonymous regions can\u0027t be mapped multiple times because there\u0027s no handle\n     by which to refer to the already existing region.\n\n (3) If a VMA has previously been split, then the region backing it has also\n     been split into two regions, each of usage 1.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Greg Ungerer \u003cgerg@snapgear.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1e2ae599d37e60958c03ca5e46b1f657619a30cd",
      "tree": "0a0c9ff0370fbefd4eb8fe3a44106880c1aae8cb",
      "parents": [
        "ed5e5894b234ce4793d78078c026915b853e0678"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 15 17:01:33 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 16 12:15:40 2010 -0800"
      },
      "message": "nommu: struct vm_region\u0027s vm_usage count need not be atomic\n\nThe vm_usage count field in struct vm_region does not need to be atomic as\nit\u0027s only even modified whilst nommu_region_sem is write locked.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Greg Ungerer \u003cgerg@snapgear.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fce66477578d081f19aef5ea218664ff7758c33a",
      "tree": "ef8914767f7834fcd65c2f72eeee59dd2248076b",
      "parents": [
        "d817cd525589765aa5f6798734e422c867685a58"
      ],
      "author": {
        "name": "Daisuke Nishimura",
        "email": "nishimura@mxp.nes.nec.co.jp",
        "time": "Fri Jan 15 17:01:30 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 16 12:15:39 2010 -0800"
      },
      "message": "memcg: ensure list is empty at rmdir\n\nCurrent mem_cgroup_force_empty() only ensures mem-\u003eres.usage \u003d\u003d 0 on\nsuccess.  But this doesn\u0027t guarantee memcg\u0027s LRU is really empty, because\nthere are some cases in which !PageCgrupUsed pages exist on memcg\u0027s LRU.\n\nFor example:\n- Pages can be uncharged by its owner process while they are on LRU.\n- race between mem_cgroup_add_lru_list() and __mem_cgroup_uncharge_common().\n\nSo there can be a case in which the usage is zero but some of the LRUs are not empty.\n\nOTOH, mem_cgroup_del_lru_list(), which can be called asynchronously with\nrmdir, accesses the mem_cgroup, so this access can cause a problem if it\nraces with rmdir because the mem_cgroup might have been freed by rmdir.\n\nActually, I saw a bug which seems to be caused by this race.\n\n\t[1530745.949906] BUG: unable to handle kernel NULL pointer dereference at 0000000000000230\n\t[1530745.950651] IP: [\u003cffffffff810fbc11\u003e] mem_cgroup_del_lru_list+0x30/0x80\n\t[1530745.950651] PGD 3863de067 PUD 3862c7067 PMD 0\n\t[1530745.950651] Oops: 0002 [#1] SMP\n\t[1530745.950651] last sysfs file: /sys/devices/system/cpu/cpu7/cache/index1/shared_cpu_map\n\t[1530745.950651] CPU 3\n\t[1530745.950651] Modules linked in: configs ipt_REJECT xt_tcpudp iptable_filter ip_tables x_tables bridge stp nfsd nfs_acl auth_rpcgss exportfs autofs4 hidp rfcomm l2cap crc16 bluetooth lockd sunrpc ib_iser rdma_cm ib_cm iw_cm ib_sa ib_mad ib_core ib_addr iscsi_tcp bnx2i cnic uio ipv6 cxgb3i cxgb3 mdio libiscsi_tcp libiscsi scsi_transport_iscsi dm_mirror dm_multipath scsi_dh video output sbs sbshc battery ac lp kvm_intel kvm sg ide_cd_mod cdrom serio_raw tpm_tis tpm tpm_bios acpi_memhotplug button parport_pc parport rtc_cmos rtc_core rtc_lib e1000 i2c_i801 i2c_core pcspkr dm_region_hash dm_log dm_mod ata_piix libata shpchp megaraid_mbox sd_mod scsi_mod megaraid_mm ext3 jbd uhci_hcd ohci_hcd ehci_hcd [last unloaded: freq_table]\n\t[1530745.950651] Pid: 19653, comm: shmem_test_02 Tainted: G   M       2.6.32-mm1-00701-g2b04386 #3 Express5800/140Rd-4 [N8100-1065]\n\t[1530745.950651] RIP: 0010:[\u003cffffffff810fbc11\u003e]  [\u003cffffffff810fbc11\u003e] mem_cgroup_del_lru_list+0x30/0x80\n\t[1530745.950651] RSP: 0018:ffff8803863ddcb8  EFLAGS: 00010002\n\t[1530745.950651] RAX: 00000000000001e0 RBX: ffff8803abc02238 RCX: 00000000000001e0\n\t[1530745.950651] RDX: 0000000000000000 RSI: ffff88038611a000 RDI: ffff8803abc02238\n\t[1530745.950651] RBP: ffff8803863ddcc8 R08: 0000000000000002 R09: ffff8803a04c8643\n\t[1530745.950651] R10: 0000000000000000 R11: ffffffff810c7333 R12: 0000000000000000\n\t[1530745.950651] R13: ffff880000017f00 R14: 0000000000000092 R15: ffff8800179d0310\n\t[1530745.950651] FS:  0000000000000000(0000) GS:ffff880017800000(0000) knlGS:0000000000000000\n\t[1530745.950651] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\n\t[1530745.950651] CR2: 0000000000000230 CR3: 0000000379d87000 CR4: 00000000000006e0\n\t[1530745.950651] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n\t[1530745.950651] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n\t[1530745.950651] Process shmem_test_02 (pid: 19653, threadinfo ffff8803863dc000, task ffff88038612a8a0)\n\t[1530745.950651] Stack:\n\t[1530745.950651]  ffffea00040c2fe8 0000000000000000 ffff8803863ddd98 ffffffff810c739a\n\t[1530745.950651] \u003c0\u003e 00000000863ddd18 000000000000000c 0000000000000000 0000000000000000\n\t[1530745.950651] \u003c0\u003e 0000000000000002 0000000000000000 ffff8803863ddd68 0000000000000046\n\t[1530745.950651] Call Trace:\n\t[1530745.950651]  [\u003cffffffff810c739a\u003e] release_pages+0x142/0x1e7\n\t[1530745.950651]  [\u003cffffffff810c778f\u003e] ? pagevec_move_tail+0x6e/0x112\n\t[1530745.950651]  [\u003cffffffff810c781e\u003e] pagevec_move_tail+0xfd/0x112\n\t[1530745.950651]  [\u003cffffffff810c78a9\u003e] lru_add_drain+0x76/0x94\n\t[1530745.950651]  [\u003cffffffff810dba0c\u003e] exit_mmap+0x6e/0x145\n\t[1530745.950651]  [\u003cffffffff8103f52d\u003e] mmput+0x5e/0xcf\n\t[1530745.950651]  [\u003cffffffff81043ea8\u003e] exit_mm+0x11c/0x129\n\t[1530745.950651]  [\u003cffffffff8108fb29\u003e] ? audit_free+0x196/0x1c9\n\t[1530745.950651]  [\u003cffffffff81045353\u003e] do_exit+0x1f5/0x6b7\n\t[1530745.950651]  [\u003cffffffff8106133f\u003e] ? up_read+0x2b/0x2f\n\t[1530745.950651]  [\u003cffffffff8137d187\u003e] ? lockdep_sys_exit_thunk+0x35/0x67\n\t[1530745.950651]  [\u003cffffffff81045898\u003e] do_group_exit+0x83/0xb0\n\t[1530745.950651]  [\u003cffffffff810458dc\u003e] sys_exit_group+0x17/0x1b\n\t[1530745.950651]  [\u003cffffffff81002c1b\u003e] system_call_fastpath+0x16/0x1b\n\t[1530745.950651] Code: 54 53 0f 1f 44 00 00 83 3d cc 29 7c 00 00 41 89 f4 75 63 eb 4e 48 83 7b 08 00 75 04 0f 0b eb fe 48 89 df e8 18 f3 ff ff 44 89 e2 \u003c48\u003e ff 4c d0 50 48 8b 05 2b 2d 7c 00 48 39 43 08 74 39 48 8b 4b\n\t[1530745.950651] RIP  [\u003cffffffff810fbc11\u003e] mem_cgroup_del_lru_list+0x30/0x80\n\t[1530745.950651]  RSP \u003cffff8803863ddcb8\u003e\n\t[1530745.950651] CR2: 0000000000000230\n\t[1530745.950651] ---[ end trace c3419c1bb8acc34f ]---\n\t[1530745.950651] Fixing recursive fault but reboot is needed!\n\nThe problem here is pages on LRU may contain pointer to stale memcg.  To\nmake res-\u003eusage to be 0, all pages on memcg must be uncharged or moved to\nanother(parent) memcg.  Moved page_cgroup have already removed from\noriginal LRU, but uncharged page_cgroup contains pointer to memcg withou\nPCG_USED bit.  (This asynchronous LRU work is for improving performance.)\nIf PCG_USED bit is not set, page_cgroup will never be added to memcg\u0027s\nLRU.  So, about pages not on LRU, they never access stale pointer.  Then,\nwhat we have to take care of is page_cgroup _on_ LRU list.  This patch\nfixes this problem by making mem_cgroup_force_empty() visit all LRUs\nbefore exiting its loop and guarantee there are no pages on its LRU.\n\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\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": "de3fab39348dff18c69a0cd04efee9c276a02f51",
      "tree": "1fc5a20da15541e23d02c33ae0bb574fb1f2e40f",
      "parents": [
        "af2422c42c0ff42b8b93dbb3a5fe65250fb65c40"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Fri Jan 15 17:01:25 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 16 12:15:39 2010 -0800"
      },
      "message": "vmscan: kswapd: don\u0027t retry balance_pgdat() if all zones are unreclaimable\n\nCommit f50de2d3 (vmscan: have kswapd sleep for a short interval and double\ncheck it should be asleep) can cause kswapd to enter an infinite loop if\nrunning on a single-CPU system.  If all zones are unreclaimble,\nsleeping_prematurely return 1 and kswapd will call balance_pgdat() again.\nbut it\u0027s totally meaningless, balance_pgdat() doesn\u0027t anything against\nunreclaimable zone!\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReported-by: Will Newton \u003cwill.newton@gmail.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nTested-by: Will Newton \u003cwill.newton@gmail.com\u003e\nReviewed-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": "d2dbe08ddceb4ba2b274abb84326d7e69d454e5c",
      "tree": "7b363c03dc6441b3fe6ebdcacd892cbd09b04f29",
      "parents": [
        "5dab600e6a153ceb64832f608069e6c08185411a"
      ],
      "author": {
        "name": "Kazuhisa Ichikawa",
        "email": "ki@epsilou.com",
        "time": "Fri Jan 15 17:01:20 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 16 12:15:38 2010 -0800"
      },
      "message": "mm/page_alloc: fix the range check for backward merging\n\nThe current check for \u0027backward merging\u0027 within add_active_range() does\nnot seem correct.  start_pfn must be compared against\nearly_node_map[i].start_pfn (and NOT against .end_pfn) to find out whether\nthe new region is backward-mergeable with the existing range.\n\nSigned-off-by: Kazuhisa Ichikawa \u003cki@epsilou.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5da779c34ccff5e1e617892b6c8bd8260fb1f04c",
      "tree": "fbcaab087c066b7e4c294a9150e56bc742ebee38",
      "parents": [
        "05c2828c72c4eabf62376adfe27bd24797621f62"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Jan 14 06:17:18 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 15 01:43:28 2010 -0800"
      },
      "message": "mm: export use_mm/unuse_mm to modules\n\nvhost net module wants to do copy to/from user from a kernel thread,\nwhich needs use_mm. Export it to modules.\n\nAcked-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nAcked-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cedabed49b39b4319bccc059a63344b6232b619c",
      "tree": "caa84b17d5cfe3a0f71a537cf55498f2019586db",
      "parents": [
        "e80c14e1ae3cb637d1959a6c9a199ba2e7af5910"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Wed Jan 13 21:14:09 2010 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 13 16:09:33 2010 -0800"
      },
      "message": "vfs: Fix vmtruncate() regression\n\nIf __block_prepare_write() was failed in block_write_begin(), the\nallocated blocks can be outside of -\u003ei_size.\n\nBut new truncate_pagecache() in vmtuncate() does nothing if new \u003c old.\nIt means the above usage is not working anymore.\n\nSo, this patch fixes it by removing \"new \u003c old\" check. It would need\nmore cleanup/change. But, now -rc and truncate working is in progress,\nso, this tried to fix it minimum change.\n\nAcked-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "644755e7867710a23e6243dcc69cfc071985f560",
      "tree": "7cc1ad648d2f5631ae0bb8bf73f3bc30e0709605",
      "parents": [
        "6430a5987f8bb9a7c5187b343956aa8ef404d571",
        "0ea820cf9bf58f735ed40ec67947159c4f170012",
        "fa94ddea2b29fdda7640672c8a933dbd901f0278",
        "066000dd856709b6980123eb39b957fe26993f7b"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Wed Jan 13 13:02:55 2010 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Wed Jan 13 13:02:55 2010 +0900"
      },
      "message": "Merge branches \u0027sh/xstate\u0027, \u0027sh/hw-breakpoints\u0027 and \u0027sh/stable-updates\u0027\n"
    },
    {
      "commit": "74dbdd239bb1348ad86d28b18574d9c1f28b62ca",
      "tree": "d29d30ee9d4c3dd64d831fa9d042c76cba829b58",
      "parents": [
        "b5430a04e995081a308b4419bd0940f2badc6e6b"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Fri Jan 08 14:43:05 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 11 09:34:06 2010 -0800"
      },
      "message": "mm: hugetlb: fix clear_huge_page()\n\nsz is in bytes, MAX_ORDER_NR_PAGES is in pages.\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nAcked-by: David Gibson \u003cdwg@au1.ibm.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "129182e5626972ac0df85d43a36dd46ad61c64e1",
      "tree": "c91d17c697aa29d284dbe065423e01ca7020db73",
      "parents": [
        "8767ba2796a1c894e6d9524584a26a8224f0543d"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Fri Jan 08 14:42:39 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 11 09:34:04 2010 -0800"
      },
      "message": "percpu: avoid calling __pcpu_ptr_to_addr(NULL)\n\n__pcpu_ptr_to_addr() can be overridden by the architecture and might not\nbehave well if passed a NULL pointer.  So avoid calling it until we have\nverified that its arg is not NULL.\n\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Kamalesh Babulal \u003ckamalesh@linux.vnet.ibm.com\u003e\nAcked-by: Tejun Heo \u003ctj@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": "f3186a9c51eabe75b2780153ed7f07778d78b16e",
      "tree": "ab8c267ad09ead33c8ed757612b34ad5a1b70ce7",
      "parents": [
        "6b7b284958d47b77d06745b36bc7f36dab769d9b"
      ],
      "author": {
        "name": "Haicheng Li",
        "email": "haicheng.li@linux.intel.com",
        "time": "Wed Jan 06 15:25:23 2010 +0800"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Jan 11 18:56:07 2010 +0200"
      },
      "message": "slab: initialize unused alien cache entry as NULL at alloc_alien_cache().\n\nComparing with existing code, it\u0027s a simpler way to use kzalloc_node()\nto ensure that each unused alien cache entry is NULL.\n\nCC: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Andi Kleen \u003cak@linux.intel.com\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Haicheng Li \u003chaicheng.li@linux.intel.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "6144a85a0e018c19bc4b24f7eb6c1f3f7431813d",
      "tree": "4300bb5d23338884a75d449f17f2538815ac9f8c",
      "parents": [
        "2c1f1895ef2aa8f0e5497893eff71304aef332e1"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Jan 07 11:58:36 2010 -0600"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Jan 07 11:58:36 2010 -0600"
      },
      "message": "maccess,probe_kernel: Allow arch specific override probe_kernel_(read|write)\n\nSome archs such as blackfin, would like to have an arch specific\nprobe_kernel_read() and probe_kernel_write() implementation which can\nfall back to the generic implementation if no special operations are\nneeded.\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "7959722b951cffcd61a0a35229d007deeed8c2dd",
      "tree": "18badc77e7c79042c9321c279f9b47e8af3b36c5",
      "parents": [
        "cfe79c00a2f4f687eed8b7534d1d3d3d35540c29"
      ],
      "author": {
        "name": "Jie Zhang",
        "email": "jie.zhang@analog.com",
        "time": "Wed Jan 06 17:23:28 2010 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 06 18:16:02 2010 -0800"
      },
      "message": "NOMMU: Use copy_*_user_page() in access_process_vm()\n\nThe MMU code uses the copy_*_user_page() variants in access_process_vm()\nrather than copy_*_user() as the former includes an icache flush.  This\nis important when doing things like setting software breakpoints with\ngdb.  So switch the NOMMU code over to do the same.\n\nThis patch makes the reasonable assumption that copy_from_user_page()\nwon\u0027t fail - which is probably fine, as we\u0027ve checked the VMA from which\nwe\u0027re copying is usable, and the copy is not allowed to cross VMAs.  The\none case where it might go wrong is if the VMA is a device rather than\nRAM, and that device returns an error which - in which case rubbish will\nbe returned rather than EIO.\n\nSigned-off-by: Jie Zhang \u003cjie.zhang@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: David McCullough \u003cdavid_mccullough@mcafee.com\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nAcked-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cfe79c00a2f4f687eed8b7534d1d3d3d35540c29",
      "tree": "62c603938e7b740ca16ce1012a6ee7ab08b3f727",
      "parents": [
        "04e4f2b18c8de1389d1e00fef0f42a8099910daf"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier.adi@gmail.com",
        "time": "Wed Jan 06 17:23:23 2010 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 06 18:16:02 2010 -0800"
      },
      "message": "NOMMU: Avoiding duplicate icache flushes of shared maps\n\nWhen working with FDPIC, there are many shared mappings of read-only\ncode regions between applications (the C library, applet packages like\nbusybox, etc.), but the current do_mmap_pgoff() function will issue an\nicache flush whenever a VMA is added to an MM instead of only doing it\nwhen the map is initially created.\n\nThe flush can instead be done when a region is first mmapped PROT_EXEC.\nNote that we may not rely on the first mapping of a region being\nexecutable - it\u0027s possible for it to be PROT_READ only, so we have to\nremember whether we\u0027ve flushed the region or not, and then flush the\nentire region when a bit of it is made executable.\n\nHowever, this also affects the brk area.  That will no longer be\nexecutable.  We can mprotect() it to PROT_EXEC on MPU-mode kernels, but\nfor NOMMU mode kernels, when it increases the brk allocation, making\nsys_brk() flush the extra from the icache should suffice.  The brk area\nprobably isn\u0027t used by NOMMU programs since the brk area can only use up\nthe leavings from the stack allocation, where the stack allocation is\nlarger than requested.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ad596925eaf9a48ed61bc9210088828f1f8e0552",
      "tree": "868c53469fd9506b5297d9d1c2d4423bbba81836",
      "parents": [
        "99dcc3e5a94ed491fbef402831d8c0bbb267f995"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Tue Jan 05 15:34:51 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jan 05 15:34:51 2010 +0900"
      },
      "message": "this_cpu: Remove pageset_notifier\n\nRemove the pageset notifier since it only marks that a processor\nexists on a specific node. Move that code into the vmstat notifier.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "99dcc3e5a94ed491fbef402831d8c0bbb267f995",
      "tree": "dd4d2b9e10ab0d4502e4b2a22dfc0a02a3300d7e",
      "parents": [
        "5917dae83cb02dfe74c9167b79e86e6d65183fa3"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Tue Jan 05 15:34:51 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jan 05 15:34:51 2010 +0900"
      },
      "message": "this_cpu: Page allocator conversion\n\nUse the per cpu allocator functionality to avoid per cpu arrays in struct zone.\n\nThis drastically reduces the size of struct zone for systems with large\namounts of processors and allows placement of critical variables of struct\nzone in one cacheline even on very large systems.\n\nAnother effect is that the pagesets of one processor are placed near one\nanother. If multiple pagesets from different zones fit into one cacheline\nthen additional cacheline fetches can be avoided on the hot paths when\nallocating memory from multiple zones.\n\nBootstrap becomes simpler if we use the same scheme for UP, SMP, NUMA. #ifdefs\nare reduced and we can drop the zone_pcp macro.\n\nHotplug handling is also simplified since cpu alloc can bring up and\nshut down cpu areas for a specific cpu as a whole. So there is no need to\nallocate or free individual pagesets.\n\nV7-V8:\n- Explain chicken egg dilemmna with percpu allocator.\n\nV4-V5:\n- Fix up cases where per_cpu_ptr is called before irq disable\n- Integrate the bootstrap logic that was separate before.\n\ntj: Build failure in pageset_cpuup_callback() due to missing ret\n    variable fixed.\n\nReviewed-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "0176bd3dab4fe522bfb6ceab9e3c441fe0305738",
      "tree": "d532c56785fad657581fc74794881dfaae99fe5c",
      "parents": [
        "a7595fe7e8a93a73ce6199dace75a0caca7024c1"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Tue Jan 05 12:35:00 2010 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Tue Jan 05 12:35:00 2010 +0900"
      },
      "message": "sh: Drop down to a single quicklist.\n\nWe previously had 2 quicklists, one for the PGD case and one for PTEs.\nNow that the PGD/PMD cases are handled through slab caches due to the\nmulti-level configurability, only the PTE quicklist remains. As such,\nreduce NR_QUICK to its appropriate size and bump down the PTE quicklist\nindex.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "32032df6c2f6c9c6b2ada2ce42322231824f70c2",
      "tree": "b1ce838a37044bb38dfc128e2116ca35630e629a",
      "parents": [
        "22b737f4c75197372d64afc6ed1bccd58c00e549",
        "c5974b835a909ff15c3b7e6cf6789b5eb919f419"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jan 05 09:17:33 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jan 05 09:17:33 2010 +0900"
      },
      "message": "Merge branch \u0027master\u0027 into percpu\n\nConflicts:\n\tarch/powerpc/platforms/pseries/hvCall.S\n\tinclude/linux/percpu.h\n"
    },
    {
      "commit": "f8e9766dd1bacd5f32f9ac4322b55fbfd46b778e",
      "tree": "f6b5ff90350cf7f8d803c3b25d4b2b174b3e17f0",
      "parents": [
        "d661d76b0262f3ed649a1dea24c0119757592b09",
        "00afa758067ac1c947149ef766adcdfe30c44d7d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 30 13:14:25 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 30 13:14:25 2009 -0800"
      },
      "message": "Merge branch \u0027slab/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6\n\n* \u0027slab/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:\n  SLAB: Fix lockdep annotation breakage\n"
    },
    {
      "commit": "66f0dc481e5b802ab363b979fc1753410c7d82b5",
      "tree": "9f8609685f07d410bc6536a0d3e47e366edf93d4",
      "parents": [
        "75c85a0bc13367aabb36e8208d4e373b022b43b3"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Wed Dec 30 20:17:34 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 30 12:23:27 2009 -0800"
      },
      "message": "mm: move sys_mmap_pgoff from util.c\n\nMove sys_mmap_pgoff() from mm/util.c to mm/mmap.c and mm/nommu.c,\nwhere we\u0027d expect to find such code: especially now that it contains\nthe MAP_HUGETLB handling.  Revert mm/util.c to how it was in 2.6.32.\n\nThis patch just ignores MAP_HUGETLB in the nommu case, as in 2.6.32,\nwhereas 2.6.33-rc2 reported -ENOSYS.  Perhaps validate_mmap_request()\nshould reject it with -EINVAL?  Add that later if necessary.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "00afa758067ac1c947149ef766adcdfe30c44d7d",
      "tree": "7967c8e1b9876553742a73b6f7d155b2745ea671",
      "parents": [
        "6b7b284958d47b77d06745b36bc7f36dab769d9b"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sun Dec 27 14:33:14 2009 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Dec 28 20:57:27 2009 +0200"
      },
      "message": "SLAB: Fix lockdep annotation breakage\n\nCommit ce79ddc8e2376a9a93c7d42daf89bfcbb9187e62 (\"SLAB: Fix lockdep annotations\nfor CPU hotplug\") broke init_node_lock_keys() off-slab logic which causes\nlockdep false positives.\n\nFix that up by reverting the logic back to original while keeping CPU hotplug\nfixes intact.\n\nReported-and-tested-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nReported-and-tested-by: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "0b5e2588d8238b03df66c4e74769fd03ad84f694",
      "tree": "7a7baf0d8309a3473bf265d1354bb756d65a4a02",
      "parents": [
        "6067d7e4f05e5c08617cf95032867d892035e581",
        "443c6f145de813518c36ac6b6e4e08d9445337e7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 24 13:01:29 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 24 13:01:29 2009 -0800"
      },
      "message": "Merge branch \u0027sysctl\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-misc-2.6\n\n* \u0027sysctl\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-misc-2.6:\n  SYSCTL: Add a mutex to the page_alloc zone order sysctl\n  SYSCTL: Print binary sysctl warnings (nearly) only once\n"
    },
    {
      "commit": "6067d7e4f05e5c08617cf95032867d892035e581",
      "tree": "ca8205a2514936bce2cd0942e0806dc43b0436dc",
      "parents": [
        "71492fd1bdd4734d8efd20fe00ebf31027d86d3c",
        "27df5068e24f2f88de98e95eb6e8dbc9800bf80e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 24 13:01:13 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 24 13:01:13 2009 -0800"
      },
      "message": "Merge branch \u0027hwpoison\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6\n\n* \u0027hwpoison\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6:\n  HWPOISON: Add PROC_FS dependency to hwpoison injector v2\n"
    },
    {
      "commit": "443c6f145de813518c36ac6b6e4e08d9445337e7",
      "tree": "d0d635c07185b06ddcd2a82f6b2c90c188366431",
      "parents": [
        "4440095c8268c1a5e11577097d2be429cec036ca"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Wed Dec 23 21:00:47 2009 +0100"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Wed Dec 23 21:01:16 2009 +0100"
      },
      "message": "SYSCTL: Add a mutex to the page_alloc zone order sysctl\n\nThe zone list code clearly cannot tolerate concurrent writers (I couldn\u0027t\nfind any locks for that), so simply add a global mutex. No need for RCU\nin this case.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\n"
    },
    {
      "commit": "dd508ae2dbff0cfc7401eb6e278339fc56bc5033",
      "tree": "daa9f88a4e2e65e86b351ffa2d52dcc07e753c1e",
      "parents": [
        "7801edb0b8b66e83c13623b483bc2e846c007c9d",
        "95cd34b42b43c0ed5a89a764e023189bfe7b1530"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 22 14:18:13 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 22 14:18:13 2009 -0800"
      },
      "message": "Merge branch \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\n* \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (36 commits)\n  powerpc/gc/wii: Remove get_irq_desc()\n  powerpc/gc/wii: hlwd-pic: convert irq_desc.lock to raw_spinlock\n  powerpc/gamecube/wii: Fix off-by-one error in ugecon/usbgecko_udbg\n  powerpc/mpic: Fix problem that affinity is not updated\n  powerpc/mm: Fix stupid bug in subpge protection handling\n  powerpc/iseries: use DECLARE_COMPLETION_ONSTACK for non-constant completion\n  powerpc: Fix MSI support on U4 bridge PCIe slot\n  powerpc: Handle VSX alignment faults correctly in little-endian mode\n  powerpc/mm: Fix typo of cpumask_clear_cpu()\n  powerpc/mm: Fix hash_utils_64.c compile errors with DEBUG enabled.\n  powerpc: Convert BUG() to use unreachable()\n  powerpc/pseries: Make declarations of cpu_hotplug_driver_lock() ANSI compatible.\n  powerpc/pseries: Don\u0027t panic when H_PROD fails during cpu-online.\n  powerpc/mm: Fix a WARN_ON() with CONFIG_DEBUG_PAGEALLOC and CONFIG_DEBUG_VM\n  powerpc/defconfigs: Set HZ\u003d100 on pseries and ppc64 defconfigs\n  powerpc/defconfigs: Disable token ring in powerpc defconfigs\n  powerpc/defconfigs: Reduce 64bit vmlinux by making acenic and cramfs modules\n  powerpc/pseries: Select XICS and PCI_MSI PSERIES\n  powerpc/85xx: Wrong variable returned on error\n  powerpc/iseries: Convert to proc_fops\n  ...\n"
    },
    {
      "commit": "27df5068e24f2f88de98e95eb6e8dbc9800bf80e",
      "tree": "a93ae4838cc5a1b6c866005bd79777895d0ba7de",
      "parents": [
        "dd59f6c76b265ed2ff18b497d6105a9511b1feb1"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Mon Dec 21 19:56:42 2009 +0100"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Mon Dec 21 19:56:42 2009 +0100"
      },
      "message": "HWPOISON: Add PROC_FS dependency to hwpoison injector v2\n\nThe injector filter requires stable_page_flags() which is supplied\nby procfs. So make it dependent on that.\n\nAlso add ifdefs around the filter code in memory-failure.c so that\nwhen the filter is disabled due to missing dependencies the whole\ncode still builds.\n\nReported-by: Ingo Molnar\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\n"
    },
    {
      "commit": "84e554e6865c4f4ae84d38800cf270b9a67901cc",
      "tree": "9bf5ce0596a9ffeee9e6a307eadbce6086f636ba",
      "parents": [
        "ff12059ed14b0773d7bbef86f98218ada6c20770"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Fri Dec 18 16:26:23 2009 -0600"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sun Dec 20 10:39:34 2009 +0200"
      },
      "message": "SLUB: Make slub statistics use this_cpu_inc\n\nthis_cpu_inc() translates into a single instruction on x86 and does not\nneed any register. So use it in stat(). We also want to avoid the\ncalculation of the per cpu kmem_cache_cpu structure pointer. So pass\na kmem_cache pointer instead of a kmem_cache_cpu pointer.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "ff12059ed14b0773d7bbef86f98218ada6c20770",
      "tree": "33b63b4f746e984e8421ea3624312bc98ccb2f37",
      "parents": [
        "756dee75872a2a764b478e18076360b8a4ec9045"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Fri Dec 18 16:26:22 2009 -0600"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sun Dec 20 10:17:59 2009 +0200"
      },
      "message": "SLUB: this_cpu: Remove slub kmem_cache fields\n\nRemove the fields in struct kmem_cache_cpu that were used to cache data from\nstruct kmem_cache when they were in different cachelines. The cacheline that\nholds the per cpu array pointer now also holds these values. We can cut down\nthe struct kmem_cache_cpu size to almost half.\n\nThe get_freepointer() and set_freepointer() functions that used to be only\nintended for the slow path now are also useful for the hot path since access\nto the size field does not require accessing an additional cacheline anymore.\nThis results in consistent use of functions for setting the freepointer of\nobjects throughout SLUB.\n\nAlso we initialize all possible kmem_cache_cpu structures when a slab is\ncreated. No need to initialize them when a processor or node comes online.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "756dee75872a2a764b478e18076360b8a4ec9045",
      "tree": "c4a09707be2f926631815dec98b0e0f3f4b9ae20",
      "parents": [
        "9dfc6e68bfe6ee452efb1a4e9ca26a9007f2b864"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Fri Dec 18 16:26:21 2009 -0600"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sun Dec 20 09:57:00 2009 +0200"
      },
      "message": "SLUB: Get rid of dynamic DMA kmalloc cache allocation\n\nDynamic DMA kmalloc cache allocation is troublesome since the\nnew percpu allocator does not support allocations in atomic contexts.\nReserve some statically allocated kmalloc_cpu structures instead.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "9dfc6e68bfe6ee452efb1a4e9ca26a9007f2b864",
      "tree": "40e54f2819e176ceb95b8899265bd48751965c27",
      "parents": [
        "55639353a0035052d9ea6cfe4dde0ac7fcbb2c9f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Fri Dec 18 16:26:20 2009 -0600"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sun Dec 20 09:29:18 2009 +0200"
      },
      "message": "SLUB: Use this_cpu operations in slub\n\nUsing per cpu allocations removes the needs for the per cpu arrays in the\nkmem_cache struct. These could get quite big if we have to support systems\nwith thousands of cpus. The use of this_cpu_xx operations results in:\n\n1. The size of kmem_cache for SMP configuration shrinks since we will only\n   need 1 pointer instead of NR_CPUS. The same pointer can be used by all\n   processors. Reduces cache footprint of the allocator.\n\n2. We can dynamically size kmem_cache according to the actual nodes in the\n   system meaning less memory overhead for configurations that may potentially\n   support up to 1k NUMA nodes / 4k cpus.\n\n3. We can remove the diddle widdle with allocating and releasing of\n   kmem_cache_cpu structures when bringing up and shutting down cpus. The cpu\n   alloc logic will do it all for us. Removes some portions of the cpu hotplug\n   functionality.\n\n4. Fastpath performance increases since per cpu pointer lookups and\n   address calculations are avoided.\n\nV7-V8\n- Convert missed get_cpu_slab() under CONFIG_SLUB_STATS\n\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "3981e152864fcc1dbbb564e1f4c0ae11a09639d2",
      "tree": "76c767a9b25e294c3cc8edd9870304b845cabdd9",
      "parents": [
        "aac3d39693529ca538e37ebdb6ed5d6432a697c7",
        "18374d89e5fe96772102f44f535efb1198d9be08"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 19 09:48:14 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 19 09:48:14 2009 -0800"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, irq: Allow 0xff for /proc/irq/[n]/smp_affinity on an 8-cpu system\n  Makefile: Unexport LC_ALL instead of clearing it\n  x86: Fix objdump version check in arch/x86/tools/chkobjdump.awk\n  x86: Reenable TSC sync check at boot, even with NONSTOP_TSC\n  x86: Don\u0027t use POSIX character classes in gen-insn-attr-x86.awk\n  Makefile: set LC_CTYPE, LC_COLLATE, LC_NUMERIC to C\n  x86: Increase MAX_EARLY_RES; insufficient on 32-bit NUMA\n  x86: Fix checking of SRAT when node 0 ram is not from 0\n  x86, cpuid: Add \"volatile\" to asm in native_cpuid()\n  x86, msr: msrs_alloc/free for CONFIG_SMP\u003dn\n  x86, amd: Get multi-node CPU info from NodeId MSR instead of PCI config space\n  x86: Add IA32_TSC_AUX MSR and use it\n  x86, msr/cpuid: Register enough minors for the MSR and CPUID drivers\n  initramfs: add missing decompressor error check\n  bzip2: Add missing checks for malloc returning NULL\n  bzip2/lzma/gzip: pre-boot malloc doesn\u0027t return NULL on failure\n"
    },
    {
      "commit": "925cc71e512a29e2594bcc17dc58d0a0e9c4d524",
      "tree": "7240ccf6ba713cc180d388a28f00c1a43293bc14",
      "parents": [
        "55639353a0035052d9ea6cfe4dde0ac7fcbb2c9f"
      ],
      "author": {
        "name": "Robert Jennings",
        "email": "rcj@linux.vnet.ibm.com",
        "time": "Thu Dec 17 14:44:38 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Fri Dec 18 14:53:36 2009 +1100"
      },
      "message": "mm: Add notifier in pageblock isolation for balloon drivers\n\nMemory balloon drivers can allocate a large amount of memory which is not\nmovable but could be freed to accomodate memory hotplug remove.\n\nPrior to calling the memory hotplug notifier chain the memory in the\npageblock is isolated.  Currently, if the migrate type is not\nMIGRATE_MOVABLE the isolation will not proceed, causing the memory removal\nfor that page range to fail.\n\nRather than failing pageblock isolation if the migrateteype is not\nMIGRATE_MOVABLE, this patch checks if all of the pages in the pageblock,\nand not on the LRU, are owned by a registered balloon driver (or other\nentity) using a notifier chain.  If all of the non-movable pages are owned\nby a balloon, they can be freed later through the memory notifier chain\nand the range can still be isolated in set_migratetype_isolate().\n\nSigned-off-by: Robert Jennings \u003crcj@linux.vnet.ibm.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Brian King \u003cbrking@linux.vnet.ibm.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Gerald Schaefer \u003cgeralds@linux.vnet.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "55db493b65c7b6bb5d7bd3dd3c8a2fe13f5dc09c",
      "tree": "7f9203f43e7c81687c9aaa0213266bc7b2e89e35",
      "parents": [
        "efc8e7f4c83dc85acbf5f54a8b1b24ae75b20aaa",
        "a4636818f8e0991f32d9528f39cf4f3d6a7d30a3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 17:00:20 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 17:00:20 2009 -0800"
      },
      "message": "Merge branch \u0027cpumask-cleanups\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* \u0027cpumask-cleanups\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  cpumask: rename tsk_cpumask to tsk_cpus_allowed\n  cpumask: don\u0027t recommend set_cpus_allowed hack in Documentation/cpu-hotplug.txt\n  cpumask: avoid dereferencing struct cpumask\n  cpumask: convert drivers/idle/i7300_idle.c to cpumask_var_t\n  cpumask: use modern cpumask style in drivers/scsi/fcoe/fcoe.c\n  cpumask: avoid deprecated function in mm/slab.c\n  cpumask: use cpu_online in kernel/perf_event.c\n"
    },
    {
      "commit": "efc8e7f4c83dc85acbf5f54a8b1b24ae75b20aaa",
      "tree": "cf7df8a837b719623e13b3ab19e8cfce1e270883",
      "parents": [
        "b5c96f89177b460ef89ecd777d5f2fefd4534d3f",
        "a00ae4d21b2fa9379914f270ffffd8d3bec55430"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 16:58:26 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 16:58:26 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:\n  Keys: KEYCTL_SESSION_TO_PARENT needs TIF_NOTIFY_RESUME architecture support\n  NOMMU: Optimise away the {dac_,}mmap_min_addr tests\n  security/min_addr.c: make init_mmap_min_addr() static\n  keys: PTR_ERR return of wrong pointer in keyctl_get_security()\n"
    },
    {
      "commit": "dcc7cd011220d7425a265c9bbf04c5731dacec1b",
      "tree": "4c2244f6e6ce94e2698572e9d2df3baea8449c2a",
      "parents": [
        "bf931a01a2c024a54204b4b02276af6e8d99a2c0",
        "b60e26a2f03d963f8c79ad7920d64abc4d38ecbc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 16:00:19 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 16:00:19 2009 -0800"
      },
      "message": "Merge branch \u0027kmemleak\u0027 of git://linux-arm.org/linux-2.6\n\n* \u0027kmemleak\u0027 of git://linux-arm.org/linux-2.6:\n  kmemleak: fix kconfig for crc32 build error\n  kmemleak: Reduce the false positives by checking for modified objects\n  kmemleak: Show the age of an unreferenced object\n  kmemleak: Release the object lock before calling put_object()\n  kmemleak: Scan the _ftrace_events section in modules\n  kmemleak: Simplify the kmemleak_scan_area() function prototype\n  kmemleak: Do not use off-slab management with SLAB_NOLEAKTRACE\n"
    },
    {
      "commit": "65a80b4c61f5b5f6eb0f5669c8fb120893bfb388",
      "tree": "44136f7130ad0a1074502afbfdf8b93efe35976e",
      "parents": [
        "26b3c01f7debc1bbc3117bc9c9e016ca6f2e41d5"
      ],
      "author": {
        "name": "Hisashi Hifumi",
        "email": "hifumi.hisashi@oss.ntt.co.jp",
        "time": "Thu Dec 17 15:27:26 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 15:45:32 2009 -0800"
      },
      "message": "readahead: add blk_run_backing_dev\n\nI added blk_run_backing_dev on page_cache_async_readahead so readahead I/O\nis unpluged to improve throughput on especially RAID environment.\n\nThe normal case is, if page N become uptodate at time T(N), then T(N) \u003c\u003d\nT(N+1) holds.  With RAID (and NFS to some degree), there is no strict\nordering, the data arrival time depends on runtime status of individual\ndisks, which breaks that formula.  So in do_generic_file_read(), just\nafter submitting the async readahead IO request, the current page may well\nbe uptodate, so the page won\u0027t be locked, and the block device won\u0027t be\nimplicitly unplugged:\n\n               if (PageReadahead(page))\n                        page_cache_async_readahead()\n                if (!PageUptodate(page))\n                                goto page_not_up_to_date;\n                //...\npage_not_up_to_date:\n                lock_page_killable(page);\n\nTherefore explicit unplugging can help.\n\nFollowing is the test result with dd.\n\n#dd if\u003dtestdir/testfile of\u003d/dev/null bs\u003d16384\n\n-2.6.30-rc6\n1048576+0 records in\n1048576+0 records out\n17179869184 bytes (17 GB) copied, 224.182 seconds, 76.6 MB/s\n\n-2.6.30-rc6-patched\n1048576+0 records in\n1048576+0 records out\n17179869184 bytes (17 GB) copied, 206.465 seconds, 83.2 MB/s\n\n(7Disks RAID-0 Array)\n\n-2.6.30-rc6\n1054976+0 records in\n1054976+0 records out\n17284726784 bytes (17 GB) copied, 212.233 seconds, 81.4 MB/s\n\n-2.6.30-rc6-patched\n1054976+0 records out\n17284726784 bytes (17 GB) copied, 198.878 seconds, 86.9 MB/s\n\n(7Disks RAID-5 Array)\n\nThe patch was found to improve performance with the SCST scsi target\ndriver.  See\nhttp://sourceforge.net/mailarchive/forum.php?thread_name\u003da0272b440906030714g67eabc5k8f847fb1e538cc62%40mail.gmail.com\u0026forum_name\u003dscst-devel\n\n[akpm@linux-foundation.org: unbust comment layout]\n[akpm@linux-foundation.org: \"fix\" CONFIG_BLOCK\u003dn]\nSigned-off-by: Hisashi Hifumi \u003chifumi.hisashi@oss.ntt.co.jp\u003e\nAcked-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nTested-by: Ronald \u003cintercommit@gmail.com\u003e\nCc: Bart Van Assche \u003cbart.vanassche@gmail.com\u003e\nCc: Vladislav Bolkhovitin \u003cvst@vlnb.net\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "58463c1fe25f7c4183f30f06a5a86cb6cd9d8231",
      "tree": "62b52d0ccbf7fc258627492240fb1ca1770639cc",
      "parents": [
        "f6325e30ebd6fc870315b017a5d4a6ab15bf790b"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Dec 17 11:43:12 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Dec 17 11:43:13 2009 +1030"
      },
      "message": "cpumask: avoid deprecated function in mm/slab.c\n\nThese days we use cpumask_empty() which takes a pointer.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\n"
    },
    {
      "commit": "718deb6b61e34c200c1f2b706176d9aac334cb2d",
      "tree": "fdf37190a8663d507bc740a6fa21437c6c22e611",
      "parents": [
        "bea4c899f2b5fad80099aea979780ef19f9b1987"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 16 19:35:36 2009 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 16 19:48:48 2009 -0500"
      },
      "message": "Fix breakage in shmem.c\n\nReplacing\n\terror \u003d 0;\n\tif (error)\n\t\top\nwith nothing is not quite an equivalent transformation ;-)\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "329962503692b42d8088f31584e42d52db179d52",
      "tree": "fe8aa709fcbf6154e25c291ec569885a23e2eba1",
      "parents": [
        "45a94d7cd45ed991914011919e7d40eb6d2546d1"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Tue Dec 15 17:59:02 2009 -0800"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed Dec 16 16:43:37 2009 -0800"
      },
      "message": "x86: Fix checking of SRAT when node 0 ram is not from 0\n\nFound one system that boot from socket1 instead of socket0, SRAT get rejected...\n\n[    0.000000] SRAT: Node 1 PXM 0 0-a0000\n[    0.000000] SRAT: Node 1 PXM 0 100000-80000000\n[    0.000000] SRAT: Node 1 PXM 0 100000000-2080000000\n[    0.000000] SRAT: Node 0 PXM 1 2080000000-4080000000\n[    0.000000] SRAT: Node 2 PXM 2 4080000000-6080000000\n[    0.000000] SRAT: Node 3 PXM 3 6080000000-8080000000\n[    0.000000] SRAT: Node 4 PXM 4 8080000000-a080000000\n[    0.000000] SRAT: Node 5 PXM 5 a080000000-c080000000\n[    0.000000] SRAT: Node 6 PXM 6 c080000000-e080000000\n[    0.000000] SRAT: Node 7 PXM 7 e080000000-10080000000\n...\n[    0.000000] NUMA: Allocated memnodemap from 500000 - 701040\n[    0.000000] NUMA: Using 20 for the hash shift.\n[    0.000000] Adding active range (0, 0x2080000, 0x4080000) 0 entries of 3200 used\n[    0.000000] Adding active range (1, 0x0, 0x96) 1 entries of 3200 used\n[    0.000000] Adding active range (1, 0x100, 0x7f750) 2 entries of 3200 used\n[    0.000000] Adding active range (1, 0x100000, 0x2080000) 3 entries of 3200 used\n[    0.000000] Adding active range (2, 0x4080000, 0x6080000) 4 entries of 3200 used\n[    0.000000] Adding active range (3, 0x6080000, 0x8080000) 5 entries of 3200 used\n[    0.000000] Adding active range (4, 0x8080000, 0xa080000) 6 entries of 3200 used\n[    0.000000] Adding active range (5, 0xa080000, 0xc080000) 7 entries of 3200 used\n[    0.000000] Adding active range (6, 0xc080000, 0xe080000) 8 entries of 3200 used\n[    0.000000] Adding active range (7, 0xe080000, 0x10080000) 9 entries of 3200 used\n[    0.000000] SRAT: PXMs only cover 917504MB of your 1048566MB e820 RAM. Not used.\n[    0.000000] SRAT: SRAT not used.\n\nthe early_node_map is not sorted because node0 with non zero start come first.\n\nso try to sort it right away after all regions are registered.\n\nalso fixs refression by 8716273c (x86: Export srat physical topology)\n\n-v2: make it more solid to handle cross node case like node0 [0,4g), [8,12g) and node1 [4g, 8g), [12g, 16g)\n-v3: update comments.\n\nReported-and-tested-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nLKML-Reference: \u003c4B2579D2.3010201@kernel.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "6e1415467614e854fee660ff6648bd10fa976e95",
      "tree": "2ae2e2f51eff0629bc0e26a97eac85483a7ba56f",
      "parents": [
        "dd880fbe8e4792d1185a5101dc751f49eab0a509"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Dec 15 19:27:45 2009 +0000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 17 09:25:19 2009 +1100"
      },
      "message": "NOMMU: Optimise away the {dac_,}mmap_min_addr tests\n\nIn NOMMU mode clamp dac_mmap_min_addr to zero to cause the tests on it to be\nskipped by the compiler.  We do this as the minimum mmap address doesn\u0027t make\nany sense in NOMMU mode.\n\nmmap_min_addr and round_hint_to_min() can be discarded entirely in NOMMU mode.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "d4220f987cf473c65a342ca69e3eb13dea919a49",
      "tree": "dbb004a9c805d6de3f6e3955398fee1084a29f16",
      "parents": [
        "61cf693159d6a968a7014e24905143f71ed8ddcf",
        "f2c03debdfb387fa2e35cac6382779072b8b9209"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 12:36:49 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 12:36:49 2009 -0800"
      },
      "message": "Merge branch \u0027hwpoison\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6\n\n* \u0027hwpoison\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6: (34 commits)\n  HWPOISON: Remove stray phrase in a comment\n  HWPOISON: Try to allocate migration page on the same node\n  HWPOISON: Don\u0027t do early filtering if filter is disabled\n  HWPOISON: Add a madvise() injector for soft page offlining\n  HWPOISON: Add soft page offline support\n  HWPOISON: Undefine short-hand macros after use to avoid namespace conflict\n  HWPOISON: Use new shake_page in memory_failure\n  HWPOISON: Use correct name for MADV_HWPOISON in documentation\n  HWPOISON: mention HWPoison in Kconfig entry\n  HWPOISON: Use get_user_page_fast in hwpoison madvise\n  HWPOISON: add an interface to switch off/on all the page filters\n  HWPOISON: add memory cgroup filter\n  memcg: add accessor to mem_cgroup.css\n  memcg: rename and export try_get_mem_cgroup_from_page()\n  HWPOISON: add page flags filter\n  mm: export stable page flags\n  HWPOISON: limit hwpoison injector to known page types\n  HWPOISON: add fs/device filters\n  HWPOISON: return 0 to indicate success reliably\n  HWPOISON: make semantics of IGNORED/DELAYED clear\n  ...\n"
    },
    {
      "commit": "bac5e54c29f352d962a2447d22735316b347b9f1",
      "tree": "7642993fa93164835ffaa2dacd341388193f1979",
      "parents": [
        "529e89430d6c0d64db8ac474cb95e68e2527c79a",
        "c05c4edd876b7ae92787d1295868afcb89b6a348"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 12:04:02 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 12:04:02 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (38 commits)\n  direct I/O fallback sync simplification\n  ocfs: stop using do_sync_mapping_range\n  cleanup blockdev_direct_IO locking\n  make generic_acl slightly more generic\n  sanitize xattr handler prototypes\n  libfs: move EXPORT_SYMBOL for d_alloc_name\n  vfs: force reval of target when following LAST_BIND symlinks (try #7)\n  ima: limit imbalance msg\n  Untangling ima mess, part 3: kill dead code in ima\n  Untangling ima mess, part 2: deal with counters\n  Untangling ima mess, part 1: alloc_file()\n  O_TRUNC open shouldn\u0027t fail after file truncation\n  ima: call ima_inode_free ima_inode_free\n  IMA: clean up the IMA counts updating code\n  ima: only insert at inode creation time\n  ima: valid return code from ima_inode_alloc\n  fs: move get_empty_filp() deffinition to internal.h\n  Sanitize exec_permission_lite()\n  Kill cached_lookup() and real_lookup()\n  Kill path_lookup_open()\n  ...\n\nTrivial conflicts in fs/direct-io.c\n"
    }
  ],
  "next": "c05c4edd876b7ae92787d1295868afcb89b6a348"
}
