)]}'
{
  "log": [
    {
      "commit": "3ed28fa1080c73747ce17f2025b28b062fb5aa7f",
      "tree": "f4eab7da502fb728fac728220bc1f296ee04dca1",
      "parents": [
        "38c5d72f3ebe5ddd57d2f08dc035070fc6c9a287"
      ],
      "author": {
        "name": "Bob Liu",
        "email": "lliubbo@gmail.com",
        "time": "Thu Jan 12 17:19:04 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:07 2012 -0800"
      },
      "message": "memcg: cleanup for_each_node_state()\n\nWe already have for_each_node(node) define in nodemask.h, better to use it.\n\nSigned-off-by: Bob Liu \u003clliubbo@gmail.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\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": "38c5d72f3ebe5ddd57d2f08dc035070fc6c9a287",
      "tree": "6461c0dfec95dccc92191f059fbe99b5660a8860",
      "parents": [
        "4e5f01c2b9b94321992acb09c35d34f5ee5bb274"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Thu Jan 12 17:19:01 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:07 2012 -0800"
      },
      "message": "memcg: simplify LRU handling by new rule\n\nNow, at LRU handling, memory cgroup needs to do complicated works to see\nvalid pc-\u003emem_cgroup, which may be overwritten.\n\nThis patch is for relaxing the protocol. This patch guarantees\n   - when pc-\u003emem_cgroup is overwritten, page must not be on LRU.\n\nBy this, LRU routine can believe pc-\u003emem_cgroup and don\u0027t need to check\nbits on pc-\u003eflags.  This new rule may adds small overheads to swapin.  But\nin most case, lru handling gets faster.\n\nAfter this patch, PCG_ACCT_LRU bit is obsolete and removed.\n\n[akpm@linux-foundation.org: remove unneeded VM_BUG_ON(), restore hannes\u0027s christmas tree]\n[akpm@linux-foundation.org: clean up code comment]\n[hughd@google.com: fix NULL mem_cgroup_try_charge]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4e5f01c2b9b94321992acb09c35d34f5ee5bb274",
      "tree": "4e6ac9d29539dc26468fe2630d0e64cd022b1155",
      "parents": [
        "36b62ad539498d00c2d280a151abad5f7630fa73"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Thu Jan 12 17:18:58 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:07 2012 -0800"
      },
      "message": "memcg: clear pc-\u003emem_cgroup if necessary.\n\nThis is a preparation before removing a flag PCG_ACCT_LRU in page_cgroup\nand reducing atomic ops/complexity in memcg LRU handling.\n\nIn some cases, pages are added to lru before charge to memcg and pages\nare not classfied to memory cgroup at lru addtion.  Now, the lru where\nthe page should be added is determined a bit in page_cgroup-\u003eflags and\npc-\u003emem_cgroup.  I\u0027d like to remove the check of flag.\n\nTo handle the case pc-\u003emem_cgroup may contain stale pointers if pages\nare added to LRU before classification.  This patch resets\npc-\u003emem_cgroup to root_mem_cgroup before lru additions.\n\n[akpm@linux-foundation.org: fix CONFIG_CGROUP_MEM_CONT\u003dn build]\n[hughd@google.com: fix CONFIG_CGROUP_MEM_RES_CTLR\u003dy CONFIG_CGROUP_MEM_RES_CTLR_SWAP\u003dn build]\n[akpm@linux-foundation.org: ksm.c needs memcontrol.h, per Michal]\n[hughd@google.com: stop oops in mem_cgroup_reset_owner()]\n[hughd@google.com: fix page migration to reset_owner]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "36b62ad539498d00c2d280a151abad5f7630fa73",
      "tree": "553409901df6210e4a698c1991f9d455199e098b",
      "parents": [
        "dc67d50465f249bb357bf85b3ed1f642eb00130a"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Thu Jan 12 17:18:57 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:07 2012 -0800"
      },
      "message": "memcg: simplify corner case handling of LRU.\n\nThis patch simplifies LRU handling of racy case (memcg+SwapCache).  At\ncharging, SwapCache tend to be on LRU already.  So, before overwriting\npc-\u003emem_cgroup, the page must be removed from LRU and added to LRU\nlater.\n\nThis patch does\n        spin_lock(zone-\u003elru_lock);\n        if (PageLRU(page))\n                remove from LRU\n        overwrite pc-\u003emem_cgroup\n        if (PageLRU(page))\n                add to new LRU.\n        spin_unlock(zone-\u003elru_lock);\n\nAnd guarantee all pages are not on LRU at modifying pc-\u003emem_cgroup.\nThis patch also unfies lru handling of replace_page_cache() and\nswapin.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dc67d50465f249bb357bf85b3ed1f642eb00130a",
      "tree": "f3808a1bebe5dfbf1691603007966b7222376d55",
      "parents": [
        "de077d222d5ca6108cab119a09593344c12100ab"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Thu Jan 12 17:18:55 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:07 2012 -0800"
      },
      "message": "memcg: simplify page cache charging\n\nThis patch is a clean up. No functional/logical changes.\n\nBecause of commit ef6a3c6311 (\"mm: add replace_page_cache_page()\nfunction\") , FUSE uses replace_page_cache() instead of\nadd_to_page_cache().  Then, mem_cgroup_cache_charge() is not called\nagainst FUSE\u0027s pages from splice.\n\nSo now, mem_cgroup_cache_charge() gets pages that are not on the LRU\nwith the exception of PageSwapCache pages.  For checking,\nWARN_ON_ONCE(PageLRU(page)) is added.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "de077d222d5ca6108cab119a09593344c12100ab",
      "tree": "c59efc8b4fff063d2c318480881050b1913ed21b",
      "parents": [
        "c3cecc683446ad54ca587d7123bd3ce94bd7b8e1"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Thu Jan 12 17:18:52 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:07 2012 -0800"
      },
      "message": "oom, memcg: fix exclusion of memcg threads after they have detached their mm\n\nThe oom killer relies on logic that identifies threads that have already\nbeen oom killed when scanning the tasklist and, if found, deferring\nuntil such threads have exited.  This is done by checking for any\ncandidate threads that have the TIF_MEMDIE bit set.\n\nFor memcg ooms, candidate threads are first found by calling\ntask_in_mem_cgroup() since the oom killer should not defer if there\u0027s an\noom killed thread in another memcg.\n\nUnfortunately, task_in_mem_cgroup() excludes threads if they have\ndetached their mm in the process of exiting so TIF_MEMDIE is never\ndetected for such conditions.  This is different for global, mempolicy,\nand cpuset oom conditions where a detached mm is only excluded after\nchecking for TIF_MEMDIE and deferring, if necessary, in\nselect_bad_process().\n\nThe fix is to return true if a task has a detached mm but is still in\nthe memcg or its hierarchy that is currently oom.  This will allow the\noom killer to appropriately defer rather than kill unnecessarily or, in\nthe worst case, panic the machine if nothing else is available to kill.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c3cecc683446ad54ca587d7123bd3ce94bd7b8e1",
      "tree": "27dfb859c1c45a6369d62eac4b5b9ad62871b7ce",
      "parents": [
        "9fb4b7cc0724f178d4b24a2a566ea1e7cb120b82"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.cz",
        "time": "Thu Jan 12 17:18:50 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:07 2012 -0800"
      },
      "message": "memcg: free entries in soft_limit_tree if allocation fails\n\nIf we are not able to allocate tree nodes for all NUMA nodes then we\nshould release those that were allocated.\n\nSigned-off-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9fb4b7cc0724f178d4b24a2a566ea1e7cb120b82",
      "tree": "0f2db9102d46f5e5c8492864fb1bd21f2e7cd768",
      "parents": [
        "40f23a21a8501c1b2c65c50c19b516488ac31313"
      ],
      "author": {
        "name": "Bob Liu",
        "email": "lliubbo@gmail.com",
        "time": "Thu Jan 12 17:18:48 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:07 2012 -0800"
      },
      "message": "page_cgroup: add helper function to get swap_cgroup\n\nThere are multiple places which need to get the swap_cgroup address, so\nadd a helper function:\n\n  static struct swap_cgroup *swap_cgroup_getsc(swp_entry_t ent,\n                                struct swap_cgroup_ctrl **ctrl);\n\nto simplify the code.\n\nSigned-off-by: Bob Liu \u003clliubbo@gmail.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Johannes Weiner \u003cjweiner@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "40f23a21a8501c1b2c65c50c19b516488ac31313",
      "tree": "4e70dbd9e7cc1dda350156bf05786ede7dbf8256",
      "parents": [
        "7a0524cfc8f9f585471a31b1282a9ce4a1a7d444"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "jweiner@redhat.com",
        "time": "Thu Jan 12 17:18:45 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:06 2012 -0800"
      },
      "message": "mm: memcg: remove unneeded checks from uncharge_page()\n\nmem_cgroup_uncharge_page() is only called on either freshly allocated\npages without page-\u003emapping or on rmapped PageAnon() pages.  There is no\nneed to check for a page-\u003emapping that is not an anon_vma.\n\nSigned-off-by: Johannes Weiner \u003cjweiner@redhat.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7a0524cfc8f9f585471a31b1282a9ce4a1a7d444",
      "tree": "4e31e1ec7e892d67e48d1199b9e8590ad5718e7a",
      "parents": [
        "00c54c0bac24bb02d2460c516da76651a7451286"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "jweiner@redhat.com",
        "time": "Thu Jan 12 17:18:43 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:06 2012 -0800"
      },
      "message": "mm: memcg: remove unneeded checks from newpage_charge()\n\nAll callsites pass in freshly allocated pages and a valid mm.  As a\nresult, all checks pertaining to the page\u0027s mapcount, page-\u003emapping or the\nfallback to init_mm are unneeded.\n\nSigned-off-by: Johannes Weiner \u003cjweiner@redhat.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "00c54c0bac24bb02d2460c516da76651a7451286",
      "tree": "d88356ab217fa4c119a6c11dd7f614413adc020a",
      "parents": [
        "cfa449461e67b60df986170eecb089831fa9e49a"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Thu Jan 12 17:18:40 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:06 2012 -0800"
      },
      "message": "mm: page_cgroup: check page_cgroup arrays in lookup_page_cgroup() only when necessary\n\nlookup_page_cgroup() is usually used only against pages that are used in\nuserspace.\n\nThe exception is the CONFIG_DEBUG_VM-only memcg check from the page\nallocator: it can run on pages without page_cgroup descriptors allocated\nwhen the pages are fed into the page allocator for the first time during\nboot or memory hotplug.\n\nInclude the array check only when CONFIG_DEBUG_VM is set and save the\nunnecessary check in production kernels.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cfa449461e67b60df986170eecb089831fa9e49a",
      "tree": "ff40cff591e27250b91b2f1fb4409875f397b048",
      "parents": [
        "0e574a932d2cab8eb3b02d21feb59f2c09154738"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "jweiner@redhat.com",
        "time": "Thu Jan 12 17:18:38 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:06 2012 -0800"
      },
      "message": "mm: memcg: lookup_page_cgroup (almost) never returns NULL\n\nPages have their corresponding page_cgroup descriptors set up before\nthey are used in userspace, and thus managed by a memory cgroup.\n\nThe only time where lookup_page_cgroup() can return NULL is in the\nCONFIG_DEBUG_VM-only page sanity checking code that executes while\nfeeding pages into the page allocator for the first time.\n\nRemove the NULL checks against lookup_page_cgroup() results from all\ncallsites where we know that corresponding page_cgroup descriptors must\nbe allocated, and add a comment to the callsite that actually does have\nto check the return value.\n\n[hughd@google.com: stop oops in mem_cgroup_update_page_stat()]\nSigned-off-by: Johannes Weiner \u003cjweiner@redhat.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0e574a932d2cab8eb3b02d21feb59f2c09154738",
      "tree": "5bfae84ec49d6e92efcf6ba1cb92235f546c8e38",
      "parents": [
        "72835c86ca15d0126354b73d5f29ce9194931c9b"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "jweiner@redhat.com",
        "time": "Thu Jan 12 17:18:35 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:06 2012 -0800"
      },
      "message": "mm: memcg: clean up fault accounting\n\nThe fault accounting functions have a single, memcg-internal user, so they\ndon\u0027t need to be global.  In fact, their one-line bodies can be directly\nfolded into the caller.  And since faults happen one at a time, use\nthis_cpu_inc() directly instead of this_cpu_add(foo, 1).\n\nSigned-off-by: Johannes Weiner \u003cjweiner@redhat.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nAcked-by: Balbir Singh \u003cbsingharora@gmail.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "72835c86ca15d0126354b73d5f29ce9194931c9b",
      "tree": "369f31168b405e4d597b3cd067a1fd0ac2025dbc",
      "parents": [
        "ec0fffd84b162e0563a28a81aa049f946b31a8e2"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "jweiner@redhat.com",
        "time": "Thu Jan 12 17:18:32 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:06 2012 -0800"
      },
      "message": "mm: unify remaining mem_cont, mem, etc. variable names to memcg\n\nSigned-off-by: Johannes Weiner \u003cjweiner@redhat.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ec0fffd84b162e0563a28a81aa049f946b31a8e2",
      "tree": "48e4c79076a917207c869b960ecd26da8fcb8505",
      "parents": [
        "0527b6903b2838e214c895d527806aefd61b3c8f"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "jweiner@redhat.com",
        "time": "Thu Jan 12 17:18:29 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:06 2012 -0800"
      },
      "message": "mm: oom_kill: remove memcg argument from oom_kill_task()\n\nThe memcg argument of oom_kill_task() hasn\u0027t been used since 341aea2\n\u0027oom-kill: remove boost_dying_task_prio()\u0027.  Kill it.\n\nSigned-off-by: Johannes Weiner \u003cjweiner@redhat.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0527b6903b2838e214c895d527806aefd61b3c8f",
      "tree": "d9f3eebcf0e43d927ad3a12da1f4dfe56a27c014",
      "parents": [
        "d66c1ce7df6ceb94d1902ac865ad50df4ffdb95f"
      ],
      "author": {
        "name": "Ying Han",
        "email": "yinghan@google.com",
        "time": "Thu Jan 12 17:18:27 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:06 2012 -0800"
      },
      "message": "memcg: fix pgpgin/pgpgout documentation\n\nThe two memcg stats pgpgin/pgpgout have different meaning than the ones\nin vmstat, which indicates that we picked a bad naming for them.\n\nIt might be late to change the stat name, but better documentation is\nalways helpful.\n\nSigned-off-by: Ying Han \u003cyinghan@google.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d66c1ce7df6ceb94d1902ac865ad50df4ffdb95f",
      "tree": "84a00a55104d607dbb405a0b80f638dae053db66",
      "parents": [
        "f53d7ce32e13dbd09573b176e6521a04c2c77803"
      ],
      "author": {
        "name": "Zhu Yanhai",
        "email": "zhu.yanhai@gmail.com",
        "time": "Thu Jan 12 17:18:24 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:06 2012 -0800"
      },
      "message": "Documentation/cgroups/memory.txt: fix typo\n\nIt should be memsw.max_usage_in_bytes. This typo has been there for\na really long time.\n\nSigned-off-by: Zhu Yanhai \u003cgaoyang.zyh@taobao.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f53d7ce32e13dbd09573b176e6521a04c2c77803",
      "tree": "af88d1c256d06e3d37c5df013de9ff41f86ed4a2",
      "parents": [
        "e94c8a9cbce1aee4af9e1285802785481b7f93c5"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "jweiner@redhat.com",
        "time": "Thu Jan 12 17:18:23 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:05 2012 -0800"
      },
      "message": "mm: memcg: shorten preempt-disabled section around event checks\n\nOnly the ratelimit checks themselves have to run with preemption\ndisabled, the resulting actions - checking for usage thresholds,\nupdating the soft limit tree - can and should run with preemption\nenabled.\n\nSigned-off-by: Johannes Weiner \u003cjweiner@redhat.com\u003e\nReported-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nTested-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nReported-by: Luis Henriques \u003chenrix@camandro.org\u003e\nTested-by: Luis Henriques \u003chenrix@camandro.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e94c8a9cbce1aee4af9e1285802785481b7f93c5",
      "tree": "14d496e62c2e8d59a8954ff10368d59d8dfaea03",
      "parents": [
        "6b208e3f6e35aa76d254c395bdcd984b17c6b626"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Thu Jan 12 17:18:20 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:05 2012 -0800"
      },
      "message": "memcg: make mem_cgroup_split_huge_fixup() more efficient\n\nIn split_huge_page(), mem_cgroup_split_huge_fixup() is called to handle\npage_cgroup modifcations.  It takes move_lock_page_cgroup() and modifies\npage_cgroup and LRU accounting jobs and called HPAGE_PMD_SIZE - 1 times.\n\nBut thinking again,\n  - compound_lock() is held at move_accout...then, it\u0027s not necessary\n    to take move_lock_page_cgroup().\n  - LRU is locked and all tail pages will go into the same LRU as\n    head is now on.\n  - page_cgroup is contiguous in huge page range.\n\nThis patch fixes mem_cgroup_split_huge_fixup() as to be called once per\nhugepage and reduce costs for spliting.\n\n[akpm@linux-foundation.org: fix typo, per Michal]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.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": "6b208e3f6e35aa76d254c395bdcd984b17c6b626",
      "tree": "f7e65f9e1fa41907bf48f05007a10c83be668b3f",
      "parents": [
        "925b7673cce39116ce61e7a06683a4a0dad1e72a"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "jweiner@redhat.com",
        "time": "Thu Jan 12 17:18:18 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:05 2012 -0800"
      },
      "message": "mm: memcg: remove unused node/section info from pc-\u003eflags\n\nTo find the page corresponding to a certain page_cgroup, the pc-\u003eflags\nencoded the node or section ID with the base array to compare the pc\npointer to.\n\nNow that the per-memory cgroup LRU lists link page descriptors directly,\nthere is no longer any code that knows the struct page_cgroup of a PFN\nbut not the struct page.\n\n[hughd@google.com: remove unused node/section info from pc-\u003eflags fix]\nSigned-off-by: Johannes Weiner \u003cjweiner@redhat.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nReviewed-by: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: \"Kirill A. Shutemov\" \u003ckirill@shutemov.name\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nCc: Greg Thelen \u003cgthelen@google.com\u003e\nCc: Michel Lespinasse \u003cwalken@google.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "925b7673cce39116ce61e7a06683a4a0dad1e72a",
      "tree": "66c134db836e531e196ee3dfc23c124ff74ac827",
      "parents": [
        "6290df545814990ca2663baf6e894669132d5f73"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "jweiner@redhat.com",
        "time": "Thu Jan 12 17:18:15 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:05 2012 -0800"
      },
      "message": "mm: make per-memcg LRU lists exclusive\n\nNow that all code that operated on global per-zone LRU lists is\nconverted to operate on per-memory cgroup LRU lists instead, there is no\nreason to keep the double-LRU scheme around any longer.\n\nThe pc-\u003elru member is removed and page-\u003elru is linked directly to the\nper-memory cgroup LRU lists, which removes two pointers from a\ndescriptor that exists for every page frame in the system.\n\nSigned-off-by: Johannes Weiner \u003cjweiner@redhat.com\u003e\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Ying Han \u003cyinghan@google.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nReviewed-by: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nCc: Greg Thelen \u003cgthelen@google.com\u003e\nCc: Michel Lespinasse \u003cwalken@google.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6290df545814990ca2663baf6e894669132d5f73",
      "tree": "c62472270ba81a7146bed0854be74e2e2338c629",
      "parents": [
        "b95a2f2d486d0d768a92879c023a03757b9c7e58"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "jweiner@redhat.com",
        "time": "Thu Jan 12 17:18:10 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:05 2012 -0800"
      },
      "message": "mm: collect LRU list heads into struct lruvec\n\nHaving a unified structure with a LRU list set for both global zones and\nper-memcg zones allows to keep that code simple which deals with LRU\nlists and does not care about the container itself.\n\nOnce the per-memcg LRU lists directly link struct pages, the isolation\nfunction and all other list manipulations are shared between the memcg\ncase and the global LRU case.\n\nSigned-off-by: Johannes Weiner \u003cjweiner@redhat.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nReviewed-by: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nCc: Greg Thelen \u003cgthelen@google.com\u003e\nCc: Michel Lespinasse \u003cwalken@google.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b95a2f2d486d0d768a92879c023a03757b9c7e58",
      "tree": "4f07a63d7587131bd82c49e0d9ac124d057539fd",
      "parents": [
        "ad2b8e601099a23dffffb53f91c18d874fe98854"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "jweiner@redhat.com",
        "time": "Thu Jan 12 17:18:06 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:05 2012 -0800"
      },
      "message": "mm: vmscan: convert global reclaim to per-memcg LRU lists\n\nThe global per-zone LRU lists are about to go away on memcg-enabled\nkernels, global reclaim must be able to find its pages on the per-memcg\nLRU lists.\n\nSince the LRU pages of a zone are distributed over all existing memory\ncgroups, a scan target for a zone is complete when all memory cgroups\nare scanned for their proportional share of a zone\u0027s memory.\n\nThe forced scanning of small scan targets from kswapd is limited to\nzones marked unreclaimable, otherwise kswapd can quickly overreclaim by\nforce-scanning the LRU lists of multiple memory cgroups.\n\nSigned-off-by: Johannes Weiner \u003cjweiner@redhat.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nReviewed-by: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nCc: Greg Thelen \u003cgthelen@google.com\u003e\nCc: Michel Lespinasse \u003cwalken@google.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ad2b8e601099a23dffffb53f91c18d874fe98854",
      "tree": "6b7706f3005fd799f23d0ddc21fe5b33fd1e79ac",
      "parents": [
        "5660048ccac8735d9bc0a46325a02e6a6518b5b2"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "jweiner@redhat.com",
        "time": "Thu Jan 12 17:18:02 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:05 2012 -0800"
      },
      "message": "mm: memcg: remove optimization of keeping the root_mem_cgroup LRU lists empty\n\nroot_mem_cgroup, lacking a configurable limit, was never subject to\nlimit reclaim, so the pages charged to it could be kept off its LRU\nlists.  They would be found on the global per-zone LRU lists upon\nphysical memory pressure and it made sense to avoid uselessly linking\nthem to both lists.\n\nThe global per-zone LRU lists are about to go away on memcg-enabled\nkernels, with all pages being exclusively linked to their respective\nper-memcg LRU lists.  As a result, pages of the root_mem_cgroup must\nalso be linked to its LRU lists again.  This is purely about the LRU\nlist, root_mem_cgroup is still not charged.\n\nThe overhead is temporary until the double-LRU scheme is going away\ncompletely.\n\nSigned-off-by: Johannes Weiner \u003cjweiner@redhat.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nReviewed-by: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nCc: Greg Thelen \u003cgthelen@google.com\u003e\nCc: Michel Lespinasse \u003cwalken@google.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5660048ccac8735d9bc0a46325a02e6a6518b5b2",
      "tree": "4b2269ddd6ca001843187a89fb91278192028d87",
      "parents": [
        "527a5ec9a53471d855291ba9f1fdf1dd4e12a184"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "jweiner@redhat.com",
        "time": "Thu Jan 12 17:17:59 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:05 2012 -0800"
      },
      "message": "mm: move memcg hierarchy reclaim to generic reclaim code\n\nMemory cgroup limit reclaim and traditional global pressure reclaim will\nsoon share the same code to reclaim from a hierarchical tree of memory\ncgroups.\n\nIn preparation of this, move the two right next to each other in\nshrink_zone().\n\nThe mem_cgroup_hierarchical_reclaim() polymath is split into a soft\nlimit reclaim function, which still does hierarchy walking on its own,\nand a limit (shrinking) reclaim function, which relies on generic\nreclaim code to walk the hierarchy.\n\nSigned-off-by: Johannes Weiner \u003cjweiner@redhat.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nReviewed-by: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nCc: Greg Thelen \u003cgthelen@google.com\u003e\nCc: Michel Lespinasse \u003cwalken@google.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "527a5ec9a53471d855291ba9f1fdf1dd4e12a184",
      "tree": "156a8be57e66e1c6f54e498beda0f2d8412cee12",
      "parents": [
        "f16015fbf2f6ac45505d6ad21455ff9f6c14473d"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "jweiner@redhat.com",
        "time": "Thu Jan 12 17:17:55 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:04 2012 -0800"
      },
      "message": "mm: memcg: per-priority per-zone hierarchy scan generations\n\nMemory cgroup limit reclaim currently picks one memory cgroup out of the\ntarget hierarchy, remembers it as the last scanned child, and reclaims\nall zones in it with decreasing priority levels.\n\nThe new hierarchy reclaim code will pick memory cgroups from the same\nhierarchy concurrently from different zones and priority levels, it\nbecomes necessary that hierarchy roots not only remember the last\nscanned child, but do so for each zone and priority level.\n\nUntil now, we reclaimed memcgs like this:\n\n    mem \u003d mem_cgroup_iter(root)\n    for each priority level:\n      for each zone in zonelist:\n        reclaim(mem, zone)\n\nBut subsequent patches will move the memcg iteration inside the loop\nover the zones:\n\n    for each priority level:\n      for each zone in zonelist:\n        mem \u003d mem_cgroup_iter(root)\n        reclaim(mem, zone)\n\nAnd to keep with the original scan order - memcg -\u003e priority -\u003e zone -\nthe last scanned memcg has to be remembered per zone and per priority\nlevel.\n\nFurthermore, global reclaim will be switched to the hierarchy walk as\nwell.  Different from limit reclaim, which can just recheck the limit\nafter some reclaim progress, its target is to scan all memcgs for the\ndesired zone pages, proportional to the memcg size, and so reliably\ndetecting a full hierarchy round-trip will become crucial.\n\nCurrently, the code relies on one reclaimer encountering the same memcg\ntwice, but that is error-prone with concurrent reclaimers.  Instead, use\na generation counter that is increased every time the child with the\nhighest ID has been visited, so that reclaimers can stop when the\ngeneration changes.\n\nSigned-off-by: Johannes Weiner \u003cjweiner@redhat.com\u003e\nReviewed-by: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nCc: Greg Thelen \u003cgthelen@google.com\u003e\nCc: Michel Lespinasse \u003cwalken@google.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f16015fbf2f6ac45505d6ad21455ff9f6c14473d",
      "tree": "ad9c7574566ed492f2b2d9ff655bb90773442c05",
      "parents": [
        "89b5fae5368f6aec62fb09c8e19b6c61f1154603"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "jweiner@redhat.com",
        "time": "Thu Jan 12 17:17:52 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:04 2012 -0800"
      },
      "message": "mm: vmscan: distinguish between memcg triggering reclaim and memcg being scanned\n\nMemory cgroup hierarchies are currently handled completely outside of\nthe traditional reclaim code, which is invoked with a single memory\ncgroup as an argument for the whole call stack.\n\nSubsequent patches will switch this code to do hierarchical reclaim, so\nthere needs to be a distinction between a) the memory cgroup that is\ntriggering reclaim due to hitting its limit and b) the memory cgroup\nthat is being scanned as a child of a).\n\nThis patch introduces a struct mem_cgroup_zone that contains the\ncombination of the memory cgroup and the zone being scanned, which is\nthen passed down the stack instead of the zone argument.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Johannes Weiner \u003cjweiner@redhat.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nReviewed-by: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nCc: Greg Thelen \u003cgthelen@google.com\u003e\nCc: Michel Lespinasse \u003cwalken@google.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "89b5fae5368f6aec62fb09c8e19b6c61f1154603",
      "tree": "48ba5619b31b54941ad127acc1c11edfd9701fe9",
      "parents": [
        "9f3a0d0933de079665ec1b498947ffbf805b0018"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "jweiner@redhat.com",
        "time": "Thu Jan 12 17:17:50 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:04 2012 -0800"
      },
      "message": "mm: vmscan: distinguish global reclaim from global LRU scanning\n\nThe traditional zone reclaim code is scanning the per-zone LRU lists\nduring direct reclaim and kswapd, and the per-zone per-memory cgroup LRU\nlists when reclaiming on behalf of a memory cgroup limit.\n\nSubsequent patches will convert the traditional reclaim code to reclaim\nexclusively from the per-memory cgroup LRU lists.  As a result, using\nthe predicate for which LRU list is scanned will no longer be\nappropriate to tell global reclaim from limit reclaim.\n\nThis patch adds a global_reclaim() predicate to tell direct/kswapd\nreclaim from memory cgroup limit reclaim and substitutes it in all\nplaces where currently scanning_global_lru() is used for that.\n\nSigned-off-by: Johannes Weiner \u003cjweiner@redhat.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nReviewed-by: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nCc: Greg Thelen \u003cgthelen@google.com\u003e\nCc: Michel Lespinasse \u003cwalken@google.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9f3a0d0933de079665ec1b498947ffbf805b0018",
      "tree": "495b27908e328eff16a2269734109b8d6e5be95d",
      "parents": [
        "ab936cbcd02072a34b60d268f94440fd5cf1970b"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "jweiner@redhat.com",
        "time": "Thu Jan 12 17:17:48 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:04 2012 -0800"
      },
      "message": "mm: memcg: consolidate hierarchy iteration primitives\n\nThe memcg naturalization series:\n\nMemory control groups are currently bolted onto the side of\ntraditional memory management in places where better integration would\nbe preferrable.  To reclaim memory, for example, memory control groups\nmaintain their own LRU list and reclaim strategy aside from the global\nper-zone LRU list reclaim.  But an extra list head for each existing\npage frame is expensive and maintaining it requires additional code.\n\nThis patchset disables the global per-zone LRU lists on memory cgroup\nconfigurations and converts all its users to operate on the per-memory\ncgroup lists instead.  As LRU pages are then exclusively on one list,\nthis saves two list pointers for each page frame in the system:\n\npage_cgroup array size with 4G physical memory\n\n  vanilla: allocated 31457280 bytes of page_cgroup\n  patched: allocated 15728640 bytes of page_cgroup\n\nAt the same time, system performance for various workloads is\nunaffected:\n\n100G sparse file cat, 4G physical memory, 10 runs, to test for code\nbloat in the traditional LRU handling and kswapd \u0026 direct reclaim\npaths, without/with the memory controller configured in\n\n  vanilla: 71.603(0.207) seconds\n  patched: 71.640(0.156) seconds\n\n  vanilla: 79.558(0.288) seconds\n  patched: 77.233(0.147) seconds\n\n100G sparse file cat in 1G memory cgroup, 10 runs, to test for code\nbloat in the traditional memory cgroup LRU handling and reclaim path\n\n  vanilla: 96.844(0.281) seconds\n  patched: 94.454(0.311) seconds\n\n4 unlimited memcgs running kbuild -j32 each, 4G physical memory, 500M\nswap on SSD, 10 runs, to test for regressions in kswapd \u0026 direct\nreclaim using per-memcg LRU lists with multiple memcgs and multiple\nallocators within each memcg\n\n  vanilla: 717.722(1.440) seconds [ 69720.100(11600.835) majfaults ]\n  patched: 714.106(2.313) seconds [ 71109.300(14886.186) majfaults ]\n\n16 unlimited memcgs running kbuild, 1900M hierarchical limit, 500M\nswap on SSD, 10 runs, to test for regressions in hierarchical memcg\nsetups\n\n  vanilla: 2742.058(1.992) seconds [ 26479.600(1736.737) majfaults ]\n  patched: 2743.267(1.214) seconds [ 27240.700(1076.063) majfaults ]\n\nThis patch:\n\nThere are currently two different implementations of iterating over a\nmemory cgroup hierarchy tree.\n\nConsolidate them into one worker function and base the convenience\nlooping-macros on top of it.\n\nSigned-off-by: Johannes Weiner \u003cjweiner@redhat.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nReviewed-by: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nCc: Greg Thelen \u003cgthelen@google.com\u003e\nCc: Michel Lespinasse \u003cwalken@google.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ab936cbcd02072a34b60d268f94440fd5cf1970b",
      "tree": "d37e3e3c54cc4cc691a428b6ceb71b4b40e4f42b",
      "parents": [
        "28d82dc1c4edbc352129f97f4ca22624d1fe61de"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Thu Jan 12 17:17:44 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:04 2012 -0800"
      },
      "message": "memcg: add mem_cgroup_replace_page_cache() to fix LRU issue\n\nCommit ef6a3c6311 (\"mm: add replace_page_cache_page() function\") added a\nfunction replace_page_cache_page().  This function replaces a page in the\nradix-tree with a new page.  WHen doing this, memory cgroup needs to fix\nup the accounting information.  memcg need to check PCG_USED bit etc.\n\nIn some(many?) cases, \u0027newpage\u0027 is on LRU before calling\nreplace_page_cache().  So, memcg\u0027s LRU accounting information should be\nfixed, too.\n\nThis patch adds mem_cgroup_replace_page_cache() and removes the old hooks.\n In that function, old pages will be unaccounted without touching\nres_counter and new page will be accounted to the memcg (of old page).\nWHen overwriting pc-\u003emem_cgroup of newpage, take zone-\u003elru_lock and avoid\nraces with LRU handling.\n\nBackground:\n  replace_page_cache_page() is called by FUSE code in its splice() handling.\n  Here, \u0027newpage\u0027 is replacing oldpage but this newpage is not a newly allocated\n  page and may be on LRU. LRU mis-accounting will be critical for memory cgroup\n  because rmdir() checks the whole LRU is empty and there is no account leak.\n  If a page is on the other LRU than it should be, rmdir() will fail.\n\nThis bug was added in March 2011, but no bug report yet.  I guess there\nare not many people who use memcg and FUSE at the same time with upstream\nkernels.\n\nThe result of this bug is that admin cannot destroy a memcg because of\naccount leak.  So, no panic, no deadlock.  And, even if an active cgroup\nexist, umount can succseed.  So no problem at shutdown.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "28d82dc1c4edbc352129f97f4ca22624d1fe61de",
      "tree": "a6fbd269d17134ff42597b4e02eba4345bf6d901",
      "parents": [
        "2ccd4f4d4737b37e21dd92c8c584c23cd87740a2"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Thu Jan 12 17:17:43 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:04 2012 -0800"
      },
      "message": "epoll: limit paths\n\nThe current epoll code can be tickled to run basically indefinitely in\nboth loop detection path check (on ep_insert()), and in the wakeup paths.\nThe programs that tickle this behavior set up deeply linked networks of\nepoll file descriptors that cause the epoll algorithms to traverse them\nindefinitely.  A couple of these sample programs have been previously\nposted in this thread: https://lkml.org/lkml/2011/2/25/297.\n\nTo fix the loop detection path check algorithms, I simply keep track of\nthe epoll nodes that have been already visited.  Thus, the loop detection\nbecomes proportional to the number of epoll file descriptor and links.\nThis dramatically decreases the run-time of the loop check algorithm.  In\none diabolical case I tried it reduced the run-time from 15 mintues (all\nin kernel time) to .3 seconds.\n\nFixing the wakeup paths could be done at wakeup time in a similar manner\nby keeping track of nodes that have already been visited, but the\ncomplexity is harder, since there can be multiple wakeups on different\ncpus...Thus, I\u0027ve opted to limit the number of possible wakeup paths when\nthe paths are created.\n\nThis is accomplished, by noting that the end file descriptor points that\nare found during the loop detection pass (from the newly added link), are\nactually the sources for wakeup events.  I keep a list of these file\ndescriptors and limit the number and length of these paths that emanate\nfrom these \u0027source file descriptors\u0027.  In the current implemetation I\nallow 1000 paths of length 1, 500 of length 2, 100 of length 3, 50 of\nlength 4 and 10 of length 5.  Note that it is sufficient to check the\n\u0027source file descriptors\u0027 reachable from the newly added link, since no\nother \u0027source file descriptors\u0027 will have newly added links.  This allows\nus to check only the wakeup paths that may have gotten too long, and not\nre-check all possible wakeup paths on the system.\n\nIn terms of the path limit selection, I think its first worth noting that\nthe most common case for epoll, is probably the model where you have 1\nepoll file descriptor that is monitoring n number of \u0027source file\ndescriptors\u0027.  In this case, each \u0027source file descriptor\u0027 has a 1 path of\nlength 1.  Thus, I believe that the limits I\u0027m proposing are quite\nreasonable and in fact may be too generous.  Thus, I\u0027m hoping that the\nproposed limits will not prevent any workloads that currently work to\nfail.\n\nIn terms of locking, I have extended the use of the \u0027epmutex\u0027 to all\nepoll_ctl add and remove operations.  Currently its only used in a subset\nof the add paths.  I need to hold the epmutex, so that we can correctly\ntraverse a coherent graph, to check the number of paths.  I believe that\nthis additional locking is probably ok, since its in the setup/teardown\npaths, and doesn\u0027t affect the running paths, but it certainly is going to\nadd some extra overhead.  Also, worth noting is that the epmuex was\nrecently added to the ep_ctl add operations in the initial path loop\ndetection code using the argument that it was not on a critical path.\n\nAnother thing to note here, is the length of epoll chains that is allowed.\nCurrently, eventpoll.c defines:\n\n/* Maximum number of nesting allowed inside epoll sets */\n#define EP_MAX_NESTS 4\n\nThis basically means that I am limited to a graph depth of 5 (EP_MAX_NESTS\n+ 1).  However, this limit is currently only enforced during the loop\ncheck detection code, and only when the epoll file descriptors are added\nin a certain order.  Thus, this limit is currently easily bypassed.  The\nnewly added check for wakeup paths, stricly limits the wakeup paths to a\nlength of 5, regardless of the order in which ep\u0027s are linked together.\nThus, a side-effect of the new code is a more consistent enforcement of\nthe graph depth.\n\nThus far, I\u0027ve tested this, using the sample programs previously\nmentioned, which now either return quickly or return -EINVAL.  I\u0027ve also\ntesting using the piptest.c epoll tester, which showed no difference in\nperformance.  I\u0027ve also created a number of different epoll networks and\ntested that they behave as expectded.\n\nI believe this solves the original diabolical test cases, while still\npreserving the sane epoll nesting.\n\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Nelson Elhage \u003cnelhage@ksplice.com\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2ccd4f4d4737b37e21dd92c8c584c23cd87740a2",
      "tree": "7c4048fc709612fa057e39350352445f2f26d211",
      "parents": [
        "888a214dc4c65e1486ef7d3ac6b0cf93ae3cc2c7"
      ],
      "author": {
        "name": "Sasha Levin",
        "email": "levinsasha928@gmail.com",
        "time": "Thu Jan 12 17:17:40 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:04 2012 -0800"
      },
      "message": "pipe: fail cleanly when root tries F_SETPIPE_SZ with big size\n\nWhen a user with the CAP_SYS_RESOURCE cap tries to F_SETPIPE_SZ a pipe\nwith size bigger than kmalloc() can alloc it spits out an ugly warning:\n\n  ------------[ cut here ]------------\n  WARNING: at mm/page_alloc.c:2095 __alloc_pages_nodemask+0x5d3/0x7a0()\n  Pid: 733, comm: a.out Not tainted 3.2.0-rc1+ #4\n  Call Trace:\n     warn_slowpath_common+0x75/0xb0\n     warn_slowpath_null+0x15/0x20\n     __alloc_pages_nodemask+0x5d3/0x7a0\n     __get_free_pages+0x12/0x50\n     __kmalloc+0x12b/0x150\n     pipe_set_size+0x75/0x120\n     pipe_fcntl+0xf8/0x140\n     do_fcntl+0x2d4/0x410\n     sys_fcntl+0x66/0xa0\n     system_call_fastpath+0x16/0x1b\n  ---[ end trace 432f702e6db7b5ee ]---\n\nInstead, make kcalloc() handle the overflow case and fail quietly.\n\n[akpm@linux-foundation.org: switch to sizeof(*bufs) for 80-column niceness]\nSigned-off-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "888a214dc4c65e1486ef7d3ac6b0cf93ae3cc2c7",
      "tree": "d371fad11fae907025eb9766d9b2c66978b0e41f",
      "parents": [
        "15ee2d000dd5813fcf1204b078fa276e57046b64"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "sgruszka@redhat.com",
        "time": "Thu Jan 12 17:17:39 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:04 2012 -0800"
      },
      "message": "slub: document setting min order with debug_guardpage_minorder \u003e 0\n\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "15ee2d000dd5813fcf1204b078fa276e57046b64",
      "tree": "e62a49c43ee959c8a36f21a6548810fee516cd9d",
      "parents": [
        "01fa310cd9158ebdd1ee95383540ecaa3f4ef3f6"
      ],
      "author": {
        "name": "Mathias Krause",
        "email": "minipli@googlemail.com",
        "time": "Thu Jan 12 17:17:38 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:04 2012 -0800"
      },
      "message": "parisc, exec: remove redundant set_fs(USER_DS)\n\nThe address limit is already set in flush_old_exec() so those calls to\nset_fs(USER_DS) are redundant.\n\nSigned-off-by: Mathias Krause \u003cminipli@googlemail.com\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Helge Deller \u003cdeller@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "01fa310cd9158ebdd1ee95383540ecaa3f4ef3f6",
      "tree": "9eaeacec6e545b6c526072de6a3dddc9a8e187b5",
      "parents": [
        "08346bf8051c62f92f132eff267e524a7165ee0c"
      ],
      "author": {
        "name": "Mathias Krause",
        "email": "minipli@googlemail.com",
        "time": "Thu Jan 12 17:17:36 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:03 2012 -0800"
      },
      "message": "ia64, exec: remove redundant set_fs(USER_DS)\n\nThe address limit is already set in flush_old_exec() so this\nset_fs(USER_DS) is redundant.\n\nSigned-off-by: Mathias Krause \u003cminipli@googlemail.com\u003e\nCc: Fenghua Yu \u003cfenghua.yu@intel.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "08346bf8051c62f92f132eff267e524a7165ee0c",
      "tree": "9f620f41d9e43e53c9965af7c41fc893fb4c1495",
      "parents": [
        "2565409fc0303f3ab8d66b8326702a687962a29b"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu Jan 12 17:17:34 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:03 2012 -0800"
      },
      "message": "drivers/video/nvidia/nvidia.c: fix warning\n\nFix the int/bool confusion in there.\n\n  drivers/video/nvidia/nvidia.c:1602: warning: return from incompatible pointer type\n\nCc: Florian Tobias Schandinat \u003cFlorianSchandinat@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2565409fc0303f3ab8d66b8326702a687962a29b",
      "tree": "b57f238d77ee87a991371a7021462b8c71351659",
      "parents": [
        "4156153c4daddf12dd386016f96a947a01e93bf4"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Thu Jan 12 17:17:33 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:03 2012 -0800"
      },
      "message": "mm,x86,um: move CMPXCHG_DOUBLE config option\n\nMove CMPXCHG_DOUBLE and rename it to HAVE_CMPXCHG_DOUBLE so architectures\ncan simply select the option if it is supported.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nAcked-by: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4156153c4daddf12dd386016f96a947a01e93bf4",
      "tree": "6a8653a47bcda09b97870e5c79919790638afe0c",
      "parents": [
        "43570fd2f47ba518145e9289f54cde3dba4c8b25"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Thu Jan 12 17:17:30 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:03 2012 -0800"
      },
      "message": "mm,x86,um: move CMPXCHG_LOCAL config option\n\nMove CMPXCHG_LOCAL and rename it to HAVE_CMPXCHG_LOCAL so architectures\ncan simply select the option if it is supported.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nAcked-by: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "43570fd2f47ba518145e9289f54cde3dba4c8b25",
      "tree": "67aa61c8b972f4b3af66cd89082222e77e06a4cb",
      "parents": [
        "0d259cf8190b9c446eefd5225ffcc3941e76a432"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Thu Jan 12 17:17:27 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:03 2012 -0800"
      },
      "message": "mm,slub,x86: decouple size of struct page from CONFIG_CMPXCHG_LOCAL\n\nWhile implementing cmpxchg_double() on s390 I realized that we don\u0027t set\nCONFIG_CMPXCHG_LOCAL despite the fact that we have support for it.\n\nHowever setting that option will increase the size of struct page by\neight bytes on 64 bit, which we certainly do not want.  Also, it doesn\u0027t\nmake sense that a present cpu feature should increase the size of struct\npage.\n\nBesides that it looks like the dependency to CMPXCHG_LOCAL is wrong and\nthat it should depend on CMPXCHG_DOUBLE instead.\n\nThis patch:\n\nIf an architecture supports CMPXCHG_LOCAL this shouldn\u0027t result\nautomatically in larger struct pages if the SLUB allocator is used.\nInstead introduce a new config option \"HAVE_ALIGNED_STRUCT_PAGE\" which\ncan be selected if a double word aligned struct page is required.  Also\nupdate x86 Kconfig so that it should work as before.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nAcked-by: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0d259cf8190b9c446eefd5225ffcc3941e76a432",
      "tree": "6a0b92845f506c1f03fad5acdedd46d90b5f852c",
      "parents": [
        "ff2d8b19a3a62559afba1c53360c8577a7697714"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Thu Jan 12 17:17:25 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:03 2012 -0800"
      },
      "message": "include/linux/linkage.h: remove unused ATTRIB_NORET macro\n\nThe uses have been renamed so delete the unused macro.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ff2d8b19a3a62559afba1c53360c8577a7697714",
      "tree": "20811c0e7c368cb216a436dd274695d9fc0577ef",
      "parents": [
        "9402c95f34a66e81eba473a2f7267bbae5a1dee2"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Thu Jan 12 17:17:21 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:03 2012 -0800"
      },
      "message": "treewide: convert uses of ATTRIB_NORETURN to __noreturn\n\nUse the more commonly used __noreturn instead of ATTRIB_NORETURN.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@gmail.com\u003e\nCc: Hans-Christian Egtvedt \u003cegtvedt@samfundet.no\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Fenghua Yu \u003cfenghua.yu@intel.com\u003e\nAcked-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9402c95f34a66e81eba473a2f7267bbae5a1dee2",
      "tree": "c46628e702d625a737fedbd9de88138a94c93d1f",
      "parents": [
        "80bf007f20b16272f210e0803f739f5606cff59d"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Thu Jan 12 17:17:17 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:03 2012 -0800"
      },
      "message": "treewide: remove useless NORET_TYPE macro and uses\n\nIt\u0027s a very old and now unused prototype marking so just delete it.\n\nNeaten panic pointer argument style to keep checkpatch quiet.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@gmail.com\u003e\nCc: Hans-Christian Egtvedt \u003cegtvedt@samfundet.no\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Fenghua Yu \u003cfenghua.yu@intel.com\u003e\nAcked-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "80bf007f20b16272f210e0803f739f5606cff59d",
      "tree": "1d88fc99ec70e05a5452cf9ef54363f964a28da0",
      "parents": [
        "4da47859956cebdc4c58c38a931e21847458d744"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Thu Jan 12 17:17:14 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:02 2012 -0800"
      },
      "message": "include/linux/linkage.h: remove unused NORET_AND macro\n\nThe only use in kernel.h is gone so remove the macro.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4da47859956cebdc4c58c38a931e21847458d744",
      "tree": "3c588d141a5df4b4b7349e2476f0e711d7329886",
      "parents": [
        "efeb156e7275c5b6c6e0f96aceb3c6abf98fc392"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Thu Jan 12 17:17:13 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:02 2012 -0800"
      },
      "message": "kernel.h: neaten panic prototype\n\nUse __printf macro.\nConvert NORET_AND to ATTRIB_NORET.\nUse the normal kernel style for pointer arguments.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "efeb156e7275c5b6c6e0f96aceb3c6abf98fc392",
      "tree": "651970d08c18d8934bcdcc7f01d3c9876fc2ef6a",
      "parents": [
        "a2ef990ab5a6705a356d146dd773a3b359787497"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Thu Jan 12 17:17:11 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:02 2012 -0800"
      },
      "message": "kprobes: silence DEBUG_STRICT_USER_COPY_CHECKS\u003dy warning\n\nEnabling DEBUG_STRICT_USER_COPY_CHECKS causes the following warning:\n\n  In file included from arch/x86/include/asm/uaccess.h:573,\n                   from kernel/kprobes.c:55:\n  In function \u0027copy_from_user\u0027,\n      inlined from \u0027write_enabled_file_bool\u0027 at\n      kernel/kprobes.c:2191:\n  arch/x86/include/asm/uaccess_64.h:65:\n  warning: call to \u0027copy_from_user_overflow\u0027 declared with attribute warning: copy_from_user() buffer size is not provably correct\n\npresumably due to buf_size being signed causing GCC to fail to see that\nbuf_size can\u0027t become negative.\n\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a2ef990ab5a6705a356d146dd773a3b359787497",
      "tree": "5eda6856d7e7662cc0742752f28e7626d4707f5f",
      "parents": [
        "bccd17294a26b67a8a19aaa120e3eeaa7da49281"
      ],
      "author": {
        "name": "Xiaotian Feng",
        "email": "xtfeng@gmail.com",
        "time": "Thu Jan 12 17:17:08 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:02 2012 -0800"
      },
      "message": "proc: fix null pointer deref in proc_pid_permission()\n\nget_proc_task() can fail to search the task and return NULL,\nput_task_struct() will then bomb the kernel with following oops:\n\n  BUG: unable to handle kernel NULL pointer dereference at 0000000000000010\n  IP: [\u003cffffffff81217d34\u003e] proc_pid_permission+0x64/0xe0\n  PGD 112075067 PUD 112814067 PMD 0\n  Oops: 0002 [#1] PREEMPT SMP\n\nThis is a regression introduced by commit 0499680a (\"procfs: add hidepid\u003d\nand gid\u003d mount options\").  The kernel should return -ESRCH if\nget_proc_task() failed.\n\nSigned-off-by: Xiaotian Feng \u003cdannyfeng@tencent.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nCc: Stephen Wilson \u003cwilsons@start.ca\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bccd17294a26b67a8a19aaa120e3eeaa7da49281",
      "tree": "4a6933f0a86343e22930dcd2bc0d9225a97da3a3",
      "parents": [
        "a429638cac1e5c656818a45aaff78df7b743004e"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "cbouatmailru@gmail.com",
        "time": "Wed Jan 11 05:11:46 2012 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 09:32:21 2012 -0800"
      },
      "message": "x86: Get rid of \u0027dubious one-bit signed bitfield\u0027 sprase warning\n\nThis very noisy sparse warning appears on almost every file in the\nkernel:\n\n  CHECK   init/main.c\n  arch/x86/include/asm/thread_info.h:43:55: error: dubious one-bit signed bitfield\n  arch/x86/include/asm/thread_info.h:44:46: error: dubious one-bit signed bitfield\n\nThis patch changes sig_on_uaccess_error and uaccess_err flags to unsigned\ntype and thus fixes the warning.\n\nSigned-off-by: Anton Vorontsov \u003ccbouatmailru@gmail.com\u003e\nAcked-by: Andy Lutomirski \u003cluto@mit.edu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a429638cac1e5c656818a45aaff78df7b743004e",
      "tree": "0465e0d7a431bff97a3dd5a1f91d9b30c69ae0d8",
      "parents": [
        "5cf9a4e69c1ff0ccdd1d2b7404f95c0531355274",
        "9e4ce164ee3a1d07580f017069c25d180b0aa785"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 08:00:30 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 08:00:30 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (526 commits)\n  ASoC: twl6040 - Add method to query optimum PDM_DL1 gain\n  ALSA: hda - Fix the lost power-setup of seconary pins after PM resume\n  ALSA: usb-audio: add Yamaha MOX6/MOX8 support\n  ALSA: virtuoso: add S/PDIF input support for all Xonars\n  ALSA: ice1724 - Support for ooAoo SQ210a\n  ALSA: ice1724 - Allow card info based on model only\n  ALSA: ice1724 - Create capture pcm only for ADC-enabled configurations\n  ALSA: hdspm - Provide unique driver id based on card serial\n  ASoC: Dynamically allocate the rtd device for a non-empty release()\n  ASoC: Fix recursive dependency due to select ATMEL_SSC in SND_ATMEL_SOC_SSC\n  ALSA: hda - Fix the detection of \"Loopback Mixing\" control for VIA codecs\n  ALSA: hda - Return the error from get_wcaps_type() for invalid NIDs\n  ALSA: hda - Use auto-parser for HP laptops with cx20459 codec\n  ALSA: asihpi - Fix potential Oops in snd_asihpi_cmode_info()\n  ALSA: hdsp - Fix potential Oops in snd_hdsp_info_pref_sync_ref()\n  ALSA: hda/cirrus - support for iMac12,2 model\n  ASoC: cx20442: add bias control over a platform provided regulator\n  ALSA: usb-audio - Avoid flood of frame-active debug messages\n  ALSA: snd-usb-us122l: Delete calls to preempt_disable\n  mfd: Put WM8994 into cache only mode when suspending\n  ...\n\nFix up trivial conflicts in:\n - arch/arm/mach-s3c64xx/mach-crag6410.c:\n\trenamed speyside_wm8962 to tobermory, added littlemill right\n\tnext to it\n - drivers/base/regmap/{regcache.c,regmap.c}:\n\tduplicate diff that had already come in with other changes in\n\tthe regmap tree\n"
    },
    {
      "commit": "5cf9a4e69c1ff0ccdd1d2b7404f95c0531355274",
      "tree": "0cf79dc1738efa6625efb23740732778731a3505",
      "parents": [
        "4c4d285ad5665bfbd983b95fde8d7a477d24a361"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bhelgaas@google.com",
        "time": "Thu Jan 12 08:01:40 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 07:54:18 2012 -0800"
      },
      "message": "x86/PCI: build amd_bus.o only when CONFIG_AMD_NB\u003dy\n\nWe only need amd_bus.o for AMD systems with PCI.  arch/x86/pci/Makefile\nalready depends on CONFIG_PCI\u003dy, so this patch just adds the dependency\non CONFIG_AMD_NB.\n\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: stable@kernel.org\t# 2.6.34+ (needs adjustment for k8 -\u003e amd rename)\nSigned-off-by: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9e4ce164ee3a1d07580f017069c25d180b0aa785",
      "tree": "7569661eae727a5a349e4c98dba42ca681857462",
      "parents": [
        "627b79628f56c3deeb17dec1edf6899b49552fa4",
        "f2cbba7602383cd9cdd21f0a5d0b8bd1aad47b33"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Jan 12 09:59:18 2012 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Jan 12 09:59:18 2012 +0100"
      },
      "message": "Merge branch \u0027topic/hda\u0027 into for-linus\n"
    },
    {
      "commit": "627b79628f56c3deeb17dec1edf6899b49552fa4",
      "tree": "deac8b2cce5d70708fa944a270ee031f069226d8",
      "parents": [
        "29abceb67f8a230da806db4ed73899595bd2ae76",
        "8c3f5d8a9b7d0d8506bc2a0525e012eae02b1853"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Jan 12 09:59:14 2012 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Jan 12 09:59:14 2012 +0100"
      },
      "message": "Merge branch \u0027topic/misc\u0027 into for-linus\n"
    },
    {
      "commit": "29abceb67f8a230da806db4ed73899595bd2ae76",
      "tree": "da4923281e11211dfcba6e92065fd76c0611a389",
      "parents": [
        "d6b24507972341e5babdca8e25448325c9137232",
        "36ae1a96c4dcb0f6581d595cc5d43cf3a7e648c7"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Jan 12 09:48:20 2012 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Jan 12 09:48:20 2012 +0100"
      },
      "message": "Merge branch \u0027for-3.3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into topic/asoc\n"
    },
    {
      "commit": "4c4d285ad5665bfbd983b95fde8d7a477d24a361",
      "tree": "05da51053d4c8943ae21ea0b152aef4c67eba19d",
      "parents": [
        "56c8bc3b7ed3d24c665e2ce992f86a5bedffc852",
        "e64e1b11b14d363ac70fd13ab809969a6d7e42a8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 23:29:20 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 23:29:20 2012 -0800"
      },
      "message": "Merge tag \u0027rmobile-for-linus\u0027 of git://github.com/pmundt/linux-sh\n\nSH/R-Mobile updates for 3.3 merge window.\n\n* tag \u0027rmobile-for-linus\u0027 of git://github.com/pmundt/linux-sh: (32 commits)\n  arm: mach-shmobile: add a resource name for shdma\n  ARM: mach-shmobile: r8a7779 SMP support V3\n  ARM: mach-shmobile: Add kota2 defconfig.\n  ARM: mach-shmobile: Add marzen defconfig.\n  ARM: mach-shmobile: r8a7779 power domain support V2\n  ARM: mach-shmobile: Fix up marzen build for recent GIC changes.\n  ARM: mach-shmobile: r8a7779 PFC function support\n  ARM: mach-shmobile: Flush caches in platform_cpu_die()\n  ARM: mach-shmobile: Allow SoC specific CPU kill code\n  ARM: mach-shmobile: Fix headsmp.S code to use CPUINIT\n  ARM: mach-shmobile: clock-r8a7779: clkz/clkzs support\n  ARM: mach-shmobile: clock-r8a7779: add DIV4 clock support\n  ARM: mach-shmobile: Marzen LAN89218 support\n  ARM: mach-shmobile: Marzen SCIF2/SCIF4 support\n  ARM: mach-shmobile: r8a7779 PFC GPIO-only support V2\n  ARM: mach-shmobile: r8a7779 and Marzen base support V2\n  sh: pfc: Unlock register support\n  sh: pfc: Variable bitfield width config register support\n  sh: pfc: Add config_reg_helper() function\n  sh: pfc: Convert index to field and value pair\n  ...\n"
    },
    {
      "commit": "56c8bc3b7ed3d24c665e2ce992f86a5bedffc852",
      "tree": "ee8747e83beb5a4323dd2328f3368ffb9031dc31",
      "parents": [
        "b8bf17d311c875de02550d5ce2af66588734159a",
        "1c1744cc7cee83b96e3a89c1b9853fc033bafb9c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 23:22:52 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 23:22:52 2012 -0800"
      },
      "message": "Merge tag \u0027sh-for-linus\u0027 of git://github.com/pmundt/linux-sh\n\nSuperH updates for 3.3 merge window.\n\n* tag \u0027sh-for-linus\u0027 of git://github.com/pmundt/linux-sh: (38 commits)\n  sh: magicpanelr2: Update for parse_mtd_partitions() fallout.\n  sh: mach-rsk: Update for parse_mtd_partitions() fallout.\n  sh: sh2a: Improve cache flush/invalidate functions\n  sh: also without PM_RUNTIME pm_runtime.o must be built\n  sh: add a resource name for shdma\n  sh: Remove redundant try_to_freeze() invocations.\n  sh: Ensure IRQs are enabled across do_notify_resume().\n  sh: Fix up store queue code for subsys_interface changes.\n  sh: clkfwk: sh_clk_init_parent() should be called after clk_register()\n  sh: add platform_device for renesas_usbhs in board-sh7757lcr\n  sh: modify clock-sh7757 for renesas_usbhs\n  sh: pfc: ioremap() support\n  sh: use ioread32/iowrite32 and mapped_reg for div6\n  sh: use ioread32/iowrite32 and mapped_reg for div4\n  sh: use ioread32/iowrite32 and mapped_reg for mstp32\n  sh: extend clock struct with mapped_reg member\n  sh: clkfwk: clock-sh73a0: all div6_clks use SH_CLK_DIV6_EXT()\n  sh: clkfwk: clock-sh7724: all div6_clks use SH_CLK_DIV6_EXT()\n  sh: clock-sh7723: add CLKDEV_ICK_ID for cleanup\n  serial: sh-sci: Handle GPIO function requests.\n  ...\n"
    },
    {
      "commit": "b8bf17d311c875de02550d5ce2af66588734159a",
      "tree": "82d829df77f3eb506d10928fd633a8a6e5685082",
      "parents": [
        "9fc5c3e3237e02a94f41cd1d2b4291593d29791d",
        "bced76aeaca03b45e3b4bdb868cada328e497847"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 22:52:48 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 22:52:48 2012 -0800"
      },
      "message": "Merge branch \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched: Fix lockup by limiting load-balance retries on lock-break\n  sched: Fix CONFIG_CGROUP_SCHED dependency\n  sched: Remove empty #ifdefs\n"
    },
    {
      "commit": "1c1744cc7cee83b96e3a89c1b9853fc033bafb9c",
      "tree": "f599ad8e447f80c2483c497372c28f9e099d0218",
      "parents": [
        "603129afe6f8174c6305498dd5903304c41cd00d"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Jan 12 13:49:05 2012 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Jan 12 13:49:05 2012 +0900"
      },
      "message": "sh: magicpanelr2: Update for parse_mtd_partitions() fallout.\n\nFollows the RSK+ change for the same rationale.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "603129afe6f8174c6305498dd5903304c41cd00d",
      "tree": "afc47c1ce1096ba002cc8f06ae41cce88e8cea11",
      "parents": [
        "b1bdd255661369cb6eb90b6e181169b5e6d0f9b6"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Jan 12 13:47:42 2012 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Jan 12 13:47:42 2012 +0900"
      },
      "message": "sh: mach-rsk: Update for parse_mtd_partitions() fallout.\n\nThe RSK+ setup code was doing some pretty dubious things with\nparse_mtd_partitions() in order to populate the physmap-flash map\nplatform data. The physmap-flash driver contains all of the functionality\nthat we require already, so simply drop the special casing and pad out\nthe platform data accordingly.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "b1bdd255661369cb6eb90b6e181169b5e6d0f9b6",
      "tree": "17d15f3a6dc5bdd6205070dbef0e339421b13d25",
      "parents": [
        "9d14070f656addddce3d63fd483de46930b51850",
        "c1537b4863da620f12f5b42ece61bf65314148ed"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Jan 12 13:11:43 2012 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Jan 12 13:11:43 2012 +0900"
      },
      "message": "Merge branch \u0027sh/nommu\u0027 into sh-latest\n"
    },
    {
      "commit": "c1537b4863da620f12f5b42ece61bf65314148ed",
      "tree": "fb1dddd002d8207cb84c1c8fde1f58335449db18",
      "parents": [
        "e343a895a9f342f239c5e3c5ffc6c0b1707e6244"
      ],
      "author": {
        "name": "Phil Edworthy",
        "email": "phil.edworthy@renesas.com",
        "time": "Mon Jan 09 16:08:47 2012 +0000"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Jan 12 13:11:02 2012 +0900"
      },
      "message": "sh: sh2a: Improve cache flush/invalidate functions\n\nThe cache functions lock out interrupts for long periods; this patch\nreduces the impact when operating on large address ranges. In such\ncases it will:\n- Invalidate the entire cache rather than individual addresses.\n- Do nothing when flushing the operand cache in write-through mode.\n- When flushing the operand cache in write-back mdoe, index the\n  search for matching addresses on the cache entires instead of the\n  addresses to flush\n\nNote: sh2a__flush_purge_region was only invalidating the operand\ncache, this adds flush.\n\nSigned-off-by: Phil Edworthy \u003cphil.edworthy@renesas.com\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "9d14070f656addddce3d63fd483de46930b51850",
      "tree": "a8767c2547dd2b6f49974503a5169d8c08de00e9",
      "parents": [
        "9f06cf38eca57e279b4c78e465e19f10c2f78174",
        "a319add1e24c43d285b781332cfa532405466650"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Jan 12 12:57:41 2012 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Jan 12 12:57:41 2012 +0900"
      },
      "message": "Merge branch \u0027sh/hwblk\u0027 into sh-latest\n"
    },
    {
      "commit": "9f06cf38eca57e279b4c78e465e19f10c2f78174",
      "tree": "c33b3b3e5dc32a1211bd8c99a4eed3752c05108b",
      "parents": [
        "a4d5247310c993b6b30f1686be12ddacfc41142a",
        "d3442b2bb7ce4089fadcf483b8ae9766ab480238"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Jan 12 12:57:32 2012 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Jan 12 12:57:32 2012 +0900"
      },
      "message": "Merge branch \u0027sh/pm-runtime\u0027 into sh-latest\n\nConflicts:\n\tarch/sh/kernel/cpu/sh4a/clock-sh7723.c\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "d3442b2bb7ce4089fadcf483b8ae9766ab480238",
      "tree": "503c4ac8a80b1249679c7219ad9b04792a1d704b",
      "parents": [
        "62d3ba8bba6fb1d1362dcaa1da2679f4ab740226"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Tue Jan 10 16:04:11 2012 +0100"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Jan 12 12:25:51 2012 +0900"
      },
      "message": "sh: also without PM_RUNTIME pm_runtime.o must be built\n\nWhen CONFIG_PM_RUNTIME is off, drivers/sh/pm_runtime.o still has to be\nbuilt on sh platforms, because then it provides means to statically\nswitch on device PM clocks.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "a4d5247310c993b6b30f1686be12ddacfc41142a",
      "tree": "ec396cb99a1f0e8cb2f8ef0848b216ceb422e0ba",
      "parents": [
        "7a73c81ec37c0c59ee04d4f6eb05c9b7b1413741"
      ],
      "author": {
        "name": "Shimoda, Yoshihiro",
        "email": "yoshihiro.shimoda.uh@renesas.com",
        "time": "Tue Jan 10 14:20:58 2012 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Jan 12 12:22:00 2012 +0900"
      },
      "message": "sh: add a resource name for shdma\n\nSigned-off-by: Yoshihiro Shimoda \u003cyoshihiro.shimoda.uh@renesas.com\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "e64e1b11b14d363ac70fd13ab809969a6d7e42a8",
      "tree": "809dd1350f39b795e9bbce21db18d521e7844533",
      "parents": [
        "20052462948795914011f2fea0e77767d55cb48b",
        "f40aaf6da14a4043d6361e0c7d74ada18e866059"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Jan 12 12:20:18 2012 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Jan 12 12:20:18 2012 +0900"
      },
      "message": "Merge branch \u0027rmobile/smp\u0027 into rmobile-latest\n"
    },
    {
      "commit": "20052462948795914011f2fea0e77767d55cb48b",
      "tree": "a92fd586677439b5ca06f2826c53cae5731f7ca0",
      "parents": [
        "f0a217a31a745421df98db0d14ebdadef11d734c"
      ],
      "author": {
        "name": "Shimoda, Yoshihiro",
        "email": "yoshihiro.shimoda.uh@renesas.com",
        "time": "Tue Jan 10 14:21:31 2012 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Jan 12 12:20:09 2012 +0900"
      },
      "message": "arm: mach-shmobile: add a resource name for shdma\n\nSigned-off-by: Yoshihiro Shimoda \u003cyoshihiro.shimoda.uh@renesas.com\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "9fc5c3e3237e02a94f41cd1d2b4291593d29791d",
      "tree": "c8823725b10bd4d36e9311ea392dfdecb4db7974",
      "parents": [
        "541048a1d31399ccdda27346a37eae4a2ad55186",
        "7c9c3a1e5fc8728e948b8fa3cbcfcfb86db3afda"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 19:13:40 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 19:13:40 2012 -0800"
      },
      "message": "Merge branch \u0027x86-platform-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027x86-platform-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86/intel config: Fix the APB_TIMER selection\n  x86/mrst: Add additional debug prints for pb_keys\n  x86/intel config: Revamp configuration to allow for Moorestown and Medfield\n  x86/intel/scu/ipc: Match the changes in the x86 configuration\n  x86/apb: Fix configuration constraints\n  x86: Fix INTEL_MID silly\n  x86/Kconfig: Cyclone-timer depends on x86-summit\n  x86: Reduce clock calibration time during slave cpu startup\n  x86/config: Revamp configuration for MID devices\n  x86/sfi: Kill the IRQ as id hack\n"
    },
    {
      "commit": "541048a1d31399ccdda27346a37eae4a2ad55186",
      "tree": "e2a820ee478b18d4214347631b94b9a9b2d8562b",
      "parents": [
        "bcede2f64a3b5cb50c0bdec1553ab480fd75d659",
        "e58d429209105e698e9d0357481d62b37fe9a7dd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 19:13:04 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 19:13:04 2012 -0800"
      },
      "message": "Merge branch \u0027x86-debug-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027x86-debug-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86, reboot: Fix typo in nmi reboot path\n  x86, NMI: Add to_cpumask() to silence compile warning\n  x86, NMI: NMI selftest depends on the local apic\n  x86: Add stack top margin for stack overflow checking\n  x86, NMI: NMI-selftest should handle the UP case properly\n  x86: Fix the 32-bit stackoverflow-debug build\n  x86, NMI: Add knob to disable using NMI IPIs to stop cpus\n  x86, NMI: Add NMI IPI selftest\n  x86, reboot: Use NMI instead of REBOOT_VECTOR to stop cpus\n  x86: Clean up the range of stack overflow checking\n  x86: Panic on detection of stack overflow\n  x86: Check stack overflow in detail\n"
    },
    {
      "commit": "bcede2f64a3b5cb50c0bdec1553ab480fd75d659",
      "tree": "b98e55bf2eea83bb5f6805abb210c5ea8625b550",
      "parents": [
        "d0b9706c20ebb4ba181dc26e52ac9a6861abf425",
        "2d2da60fb40a80cc59383121ccf763e0e0e8a42a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 19:12:33 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 19:12:33 2012 -0800"
      },
      "message": "Merge branch \u0027x86-efi-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027x86-efi-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86, efi: Break up large initrd reads\n  x86, efi: EFI boot stub support\n  efi: Add EFI file I/O data types\n  efi.h: Add boottime-\u003elocate_handle search types\n  efi.h: Add graphics protocol guids\n  efi.h: Add allocation types for boottime-\u003eallocate_pages()\n  efi.h: Add efi_image_loaded_t\n  efi.h: Add struct definition for boot time services\n  x86: Don\u0027t use magic strings for EFI loader signature\n  x86: Add missing bzImage fields to struct setup_header\n"
    },
    {
      "commit": "d0b9706c20ebb4ba181dc26e52ac9a6861abf425",
      "tree": "436e89246fd5ebcf737cae27e135a1995155329b",
      "parents": [
        "02d929502ce7b57f4835d8bb7c828d36e6d9e8ce",
        "54eed6cb16ec315565aaaf8e34252ca253a68b7b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 19:12:10 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 19:12:10 2012 -0800"
      },
      "message": "Merge branch \u0027x86-mm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027x86-mm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86/numa: Add constraints check for nid parameters\n  mm, x86: Remove debug_pagealloc_enabled\n  x86/mm: Initialize high mem before free_all_bootmem()\n  arch/x86/kernel/e820.c: quiet sparse noise about plain integer as NULL pointer\n  arch/x86/kernel/e820.c: Eliminate bubble sort from sanitize_e820_map()\n  x86: Fix mmap random address range\n  x86, mm: Unify zone_sizes_init()\n  x86, mm: Prepare zone_sizes_init() for unification\n  x86, mm: Use max_low_pfn for ZONE_NORMAL on 64-bit\n  x86, mm: Wrap ZONE_DMA32 with CONFIG_ZONE_DMA32\n  x86, mm: Use max_pfn instead of highend_pfn\n  x86, mm: Move zone init from paging_init() on 64-bit\n  x86, mm: Use MAX_DMA_PFN for ZONE_DMA on 32-bit\n"
    },
    {
      "commit": "02d929502ce7b57f4835d8bb7c828d36e6d9e8ce",
      "tree": "7bb0ca7a9bfe5c336c3125f823770934a2150ae4",
      "parents": [
        "b24ca57e7625bc304e77bc429693ad32a691eb16",
        "6c523c614c13b84a3dc64f7a56d6855b03e6b292"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 18:53:33 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 18:53:33 2012 -0800"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: (23 commits)\n  [CPUFREQ] EXYNOS: Removed useless headers and codes\n  [CPUFREQ] EXYNOS: Make EXYNOS common cpufreq driver\n  [CPUFREQ] powernow-k8: Update copyright, maintainer and documentation information\n  [CPUFREQ] powernow-k8: Fix indexing issue\n  [CPUFREQ] powernow-k8: Avoid Pstate MSR accesses on systems supporting CPB\n  [CPUFREQ] update lpj only if frequency has changed\n  [CPUFREQ] cpufreq:userspace: fix cpu_cur_freq updation\n  [CPUFREQ] Remove wall variable from cpufreq_gov_dbs_init()\n  [CPUFREQ] EXYNOS4210: cpufreq code is changed for stable working\n  [CPUFREQ] EXYNOS4210: Update frequency table for cpu divider\n  [CPUFREQ] EXYNOS4210: Remove code about bus on cpufreq\n  [CPUFREQ] s3c64xx: Use pr_fmt() for consistent log messages\n  cpufreq: OMAP: fixup for omap_device changes, include \u003clinux/module.h\u003e\n  cpufreq: OMAP: fix freq_table leak\n  cpufreq: OMAP: put clk if cpu_init failed\n  cpufreq: OMAP: only supports OPP library\n  cpufreq: OMAP: dont support !freq_table\n  cpufreq: OMAP: deny initialization if no mpudev\n  cpufreq: OMAP: move clk name decision to init\n  cpufreq: OMAP: notify even with bad boot frequency\n  ...\n"
    },
    {
      "commit": "b24ca57e7625bc304e77bc429693ad32a691eb16",
      "tree": "770aa389c6e763cf37776a35e85ff1e41958b1e9",
      "parents": [
        "6296e5d3c067df41980a5fd09ad4cc6765f79bb9",
        "913272b3864d6da89c70d9fc2c30ccb57794b369"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 18:53:05 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 18:53:05 2012 -0800"
      },
      "message": "Merge git://git.infradead.org/battery-2.6\n\n* git://git.infradead.org/battery-2.6: (68 commits)\n  power_supply: Mark da9052 driver as broken\n  power_supply: Drop usage of nowarn variant of sysfs_create_link()\n  s3c_adc_battery: Average over more than one adc sample\n  power_supply: Add DA9052 battery driver\n  isp1704_charger: Fix missing check\n  jz4740-battery: Fix signedness bug\n  power_supply: Assume mains power by default\n  sbs-battery: Fix devicetree match table\n  ARM: rx51: Add bq27200 i2c board info\n  sbs-battery: Change power supply name\n  devicetree-bindings: Propagate bq20z75-\u003esbs rename to dt bindings\n  devicetree-bindings: Add vendor entry for Smart Battery Systems\n  sbs-battery: Rename internals to new name\n  bq20z75: Rename to sbs-battery\n  wm97xx_battery: Use DEFINE_MUTEX() for work_lock\n  max8997_charger: Remove duplicate module.h\n  lp8727_charger: Some minor fixes for the header\n  lp8727_charger: Add header file\n  power_supply: Convert drivers/power/* to use module_platform_driver()\n  power_supply: Add \"unknown\" in power supply type\n  ...\n"
    },
    {
      "commit": "6296e5d3c067df41980a5fd09ad4cc6765f79bb9",
      "tree": "ac10bc5321ac1d750612c0e0ae53d6c4097c5734",
      "parents": [
        "c086ae4ed94f9a1d283318e006813268c2dbf9fc",
        "5878cf431ca7233a56819ca6970153ac0b129599"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 18:52:23 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 18:52:23 2012 -0800"
      },
      "message": "Merge branch \u0027slab/for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux\n\n* \u0027slab/for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux:\n  slub: disallow changing cpu_partial from userspace for debug caches\n  slub: add missed accounting\n  slub: Extract get_freelist from __slab_alloc\n  slub: Switch per cpu partial page support off for debugging\n  slub: fix a possible memleak in __slab_alloc()\n  slub: fix slub_max_order Documentation\n  slub: add missed accounting\n  slab: add taint flag outputting to debug paths.\n  slub: add taint flag outputting to debug paths\n  slab: introduce slab_max_order kernel parameter\n  slab: rename slab_break_gfp_order to slab_max_order\n"
    },
    {
      "commit": "c086ae4ed94f9a1d283318e006813268c2dbf9fc",
      "tree": "dbabbb09ddafcb818f32af038831419702574917",
      "parents": [
        "7b67e751479d50b7f84d1a3cc5216eed5e534b66",
        "307729c8bc5b5a41361af8af95906eee7552acb1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 18:51:55 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 18:51:55 2012 -0800"
      },
      "message": "Merge tag \u0027md-3.3-fixes\u0027 of git://neil.brown.name/md\n\nTwo bugfixes for md.\n\nOne is a recently introduced regression that affects an unusual\nconfiguration with a guaranteed BUG_ON.  Has been tagged for -stable.\nThe other is minor missing functionality.\n\n* tag \u0027md-3.3-fixes\u0027 of git://neil.brown.name/md:\n  md/raid1: perform bad-block tests for WriteMostly devices too.\n  md: notify the \u0027degraded\u0027 sysfs attribute on failure.\n"
    },
    {
      "commit": "7b67e751479d50b7f84d1a3cc5216eed5e534b66",
      "tree": "a1a6746857cf65f04dde739fe271bf4143d55eaf",
      "parents": [
        "9f13a1fd452f11c18004ba2422a6384b424ec8a9",
        "76ccc297018d25d55b789bbd508861ef1e2cdb0c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 18:50:26 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 18:50:26 2012 -0800"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci\n\n* \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci: (80 commits)\n  x86/PCI: Expand the x86_msi_ops to have a restore MSIs.\n  PCI: Increase resource array mask bit size in pcim_iomap_regions()\n  PCI: DEVICE_COUNT_RESOURCE should be equal to PCI_NUM_RESOURCES\n  PCI: pci_ids: add device ids for STA2X11 device (aka ConneXT)\n  PNP: work around Dell 1536/1546 BIOS MMCONFIG bug that breaks USB\n  x86/PCI: amd: factor out MMCONFIG discovery\n  PCI: Enable ATS at the device state restore\n  PCI: msi: fix imbalanced refcount of msi irq sysfs objects\n  PCI: kconfig: English typo in pci/pcie/Kconfig\n  PCI/PM/Runtime: make PCI traces quieter\n  PCI: remove pci_create_bus()\n  xtensa/PCI: convert to pci_scan_root_bus() for correct root bus resources\n  x86/PCI: convert to pci_create_root_bus() and pci_scan_root_bus()\n  x86/PCI: use pci_scan_bus() instead of pci_scan_bus_parented()\n  x86/PCI: read Broadcom CNB20LE host bridge info before PCI scan\n  sparc32, leon/PCI: convert to pci_scan_root_bus() for correct root bus resources\n  sparc/PCI: convert to pci_create_root_bus()\n  sh/PCI: convert to pci_scan_root_bus() for correct root bus resources\n  powerpc/PCI: convert to pci_create_root_bus()\n  powerpc/PCI: split PHB part out of pcibios_map_io_space()\n  ...\n\nFix up conflicts in drivers/pci/msi.c and include/linux/pci_regs.h due\nto the same patches being applied in other branches.\n"
    },
    {
      "commit": "f40aaf6da14a4043d6361e0c7d74ada18e866059",
      "tree": "655a02f6a7a0ef50772c13c00fef992924bdeb78",
      "parents": [
        "f0a217a31a745421df98db0d14ebdadef11d734c"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "damm@opensource.se",
        "time": "Tue Jan 10 17:44:39 2012 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Jan 12 11:00:27 2012 +0900"
      },
      "message": "ARM: mach-shmobile: r8a7779 SMP support V3\n\nThis patch contains r8a7779 SMP support V3 - now including\nCPU hotplug offine and online support. The r8a7779 power\ndomain code is tied together with SMP glue code which allows\nus to control the power domains via CPU hotplug.\n\nAt this point the kernel boots with the 4 Cortex-A9 cores in\nSMP mode and all CPU cores except CPU0 can be hotplugged.\n\nThe code in platsmp.c is quite far from pretty, but it is\nkept like that intentionally to avoid creating layers of\ncode that will go away in the near future anyway. The code\nneeds to be updated when some per-SoC handling code will be\nadded to the ARM architecture, see the following patch for\nmore information:\n \"[RFC PATCH 0/3] Per SoC descriptor\"\n\nSigned-off-by: Magnus Damm \u003cdamm@opensource.se\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "9f13a1fd452f11c18004ba2422a6384b424ec8a9",
      "tree": "6aa799a5e095f8cfa03c7386e6d0a20ebda595e4",
      "parents": [
        "024f78462c3da710642a54939888a92e28704653"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Tue Jan 10 03:04:32 2012 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 15:50:11 2012 -0800"
      },
      "message": "cpu: Register a generic CPU device on architectures that currently do not\n\nfrv, h8300, m68k, microblaze, openrisc, score, um and xtensa currently\ndo not register a CPU device.  Add the config option GENERIC_CPU_DEVICES\nwhich causes a generic CPU device to be registered for each present CPU,\nand make all these architectures select it.\n\nRichard Weinberger \u003crichard@nod.at\u003e covered UML and suggested using\nper_cpu.\n\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "024f78462c3da710642a54939888a92e28704653",
      "tree": "6ff97e571b36d66256d09cf06031b56ce789ec7e",
      "parents": [
        "4f58cb90bcb04cfe18f524d1c9a65edef5eb3f51"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Tue Jan 10 02:59:49 2012 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 15:49:43 2012 -0800"
      },
      "message": "cpu: Do not return errors from cpu_dev_init() which will be ignored\n\ncpu_dev_init() is only called from driver_init(), which does not check\nits return value.  Therefore make cpu_dev_init() return void.\n\nWe must register the CPU subsystem, so panic if this fails.\n\nIf sched_create_sysfs_power_savings_entries() fails, the damage is\ncontained, so ignore this (as before).\n\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5878cf431ca7233a56819ca6970153ac0b129599",
      "tree": "e5d21d04a0b468d2dabbe3a3824f23b5537fc6a7",
      "parents": [
        "74ee4ef1f901fbb014bdcdc9171d126490ce2b62",
        "b13683d1cc14d1dd30b8e20f3ebea3f814ad029f"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Wed Jan 11 21:11:29 2012 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Wed Jan 11 21:11:29 2012 +0200"
      },
      "message": "Merge branch \u0027slab/urgent\u0027 into slab/for-linus\n"
    },
    {
      "commit": "bced76aeaca03b45e3b4bdb868cada328e497847",
      "tree": "e2965b6cfecdc257a01b89ec6780b8de3b2e6d39",
      "parents": [
        "6db9dc150eabce7053c8df2a2146aa0d6748ec42"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jan 11 13:11:12 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 11 17:15:12 2012 +0100"
      },
      "message": "sched: Fix lockup by limiting load-balance retries on lock-break\n\nEric and David reported dead machines and traced it to commit\na195f004 (\"sched: Fix load-balance lock-breaking\"), it turns out\nthere\u0027s still a scenario where we can end up re-trying forever.\n\nSince there is no strict forward progress guarantee in the\nload-balance iteration we can get stuck re-retrying the same\ntask-set over and over.\n\nCreating a forward progress guarantee with the existing\nstructure is somewhat non-trivial, for now simply terminate the\nretry loop after a few tries.\n\nReported-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nTested-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nReported-by: David Ahern \u003cdsahern@gmail.com\u003e\n[ logic cleanup as suggested by Eric ]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nLink: http://lkml.kernel.org/r/1326297936.2442.157.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d6b24507972341e5babdca8e25448325c9137232",
      "tree": "adce394113344a2ebff8ad61c2cec4a8ea10689b",
      "parents": [
        "7a748e4318909e680b3900e3b97ea42a92724c68",
        "e48b46ba169181dc88ea48e31dcb4afcf8778397"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Jan 11 15:30:53 2012 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Jan 11 15:30:53 2012 +0100"
      },
      "message": "Merge branch \u0027for-3.3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc into topic/asoc\n"
    },
    {
      "commit": "e48b46ba169181dc88ea48e31dcb4afcf8778397",
      "tree": "48aea71559fec05f3cfab43602657aaa60cf8627",
      "parents": [
        "f75a8ff67d161b5166a2c2360bb2ffaefd5eb853"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Wed Jan 11 12:43:24 2012 +0000"
      },
      "committer": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Wed Jan 11 12:43:24 2012 +0000"
      },
      "message": "ASoC: twl6040 - Add method to query optimum PDM_DL1 gain\n\nThe DL1 PDM interface adds a little gain depending on the output device.\nAdd a method to retrieve the gain value for machine driver usage.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "f2cbba7602383cd9cdd21f0a5d0b8bd1aad47b33",
      "tree": "d2585c3c5dde41bd28450f784e5824484cfac77a",
      "parents": [
        "4808d12d1dddb046ec86425e5f6766f02e950292"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Jan 11 12:34:11 2012 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Jan 11 12:34:11 2012 +0100"
      },
      "message": "ALSA: hda - Fix the lost power-setup of seconary pins after PM resume\n\nWhen multiple headphone or other detectable output pins are present,\nthe power-map has to be updated after resume appropriately, but the\ncurrent driver doesn\u0027t check all pins but only the first pin (since\nit\u0027s enough to check it for the mute-behavior).  This resulted in the\nsilent output from the secondary outputs after PM resume.\n\nThis patch fixes the problem by checking all pins at (re-)init time.\n\nBugzilla: https://bugzilla.novell.com/show_bug.cgi?id\u003d740347\n\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "8c3f5d8a9b7d0d8506bc2a0525e012eae02b1853",
      "tree": "750dd2ba92093ad9f4137d4d22e459d2a85ff24f",
      "parents": [
        "56225e4cc88a24d3e1632bdfb901a3c38615fc42"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Mon Dec 19 23:09:15 2011 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Jan 11 09:24:53 2012 +0100"
      },
      "message": "ALSA: usb-audio: add Yamaha MOX6/MOX8 support\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "56225e4cc88a24d3e1632bdfb901a3c38615fc42",
      "tree": "537c01875b0cb69099a22da558f69bbe9f7558b1",
      "parents": [
        "52cd0a76fd7e7b47f0b0ad594ad5fd3b69949f76"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Tue Dec 06 10:07:43 2011 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Jan 11 09:24:50 2012 +0100"
      },
      "message": "ALSA: virtuoso: add S/PDIF input support for all Xonars\n\nAll Xonar cards support S/PDIF input, but the cards without optical or\ncoaxial plugs have only undocumented pin connectors.  Support for the\nST/STX was already added in a previous patch; this adds support for the\nD1/DX (JP2), DG (J5), DS (J5), and HDAV Slim (J12).\n\nMany thanks to Zoltan Miklos for testing the DS and DX.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "52cd0a76fd7e7b47f0b0ad594ad5fd3b69949f76",
      "tree": "d63986ab21f74b042150738e1c3cc1eb3e0ca6a8",
      "parents": [
        "2b151ef734b1be749e355f32f94f649acfde0f48"
      ],
      "author": {
        "name": "Pavel Hofman",
        "email": "pavel.hofman@ivitera.com",
        "time": "Tue Jan 10 20:28:48 2012 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Jan 11 08:57:54 2012 +0100"
      },
      "message": "ALSA: ice1724 - Support for ooAoo SQ210a\n\nThis card shares PCI ids with Chaintec AV710. Therefore, it will not be\ndetected automatically, it can only be activated by the module parameter\nmodel\u003dsq210a.\n\nSigned-off-by: Pavel Hofman \u003cpavel.hofman@ivitera.com\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "2b151ef734b1be749e355f32f94f649acfde0f48",
      "tree": "390781db233af45617a2d4b19992f0a812791b6b",
      "parents": [
        "ffd364ddd3090e2ef0d4882970c1e342db8b482f"
      ],
      "author": {
        "name": "Pavel Hofman",
        "email": "pavel.hofman@ivitera.com",
        "time": "Tue Jan 10 20:28:47 2012 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Jan 11 08:57:40 2012 +0100"
      },
      "message": "ALSA: ice1724 - Allow card info based on model only\n\nWhen two different cards share the same PCI vendor/subvendor\nidentification, allow card info based on model only.\nDo not require subvendor ID.\n\nSigned-off-by: Pavel Hofman \u003cpavel.hofman@ivitera.com\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "ffd364ddd3090e2ef0d4882970c1e342db8b482f",
      "tree": "e5a79a085725f3c3fea5a4465f5e6c33fdc2dffc",
      "parents": [
        "f7de8ba3fcf19487d2f0af9aee0c510fc79efa15"
      ],
      "author": {
        "name": "Pavel Hofman",
        "email": "pavel.hofman@ivitera.com",
        "time": "Tue Jan 10 20:45:28 2012 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Jan 11 08:56:59 2012 +0100"
      },
      "message": "ALSA: ice1724 - Create capture pcm only for ADC-enabled configurations\n\nAdd the capture pcm only if there is at least one ADC configured in\nthe SYSCONF register.\n\nSigned-off-by: Pavel Hofman \u003cpavel.hofman@ivitera.com\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "f7de8ba3fcf19487d2f0af9aee0c510fc79efa15",
      "tree": "422003d6891ef94c6a2c57de625f3dbc8f24c97c",
      "parents": [
        "74eeb141d3bdf5a9a65c84dd637c41f12c40f41c"
      ],
      "author": {
        "name": "Adrian Knoth",
        "email": "adi@drcomp.erfurt.thur.de",
        "time": "Tue Jan 10 20:58:40 2012 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Jan 11 08:55:58 2012 +0100"
      },
      "message": "ALSA: hdspm - Provide unique driver id based on card serial\n\nBefore, /proc/asound looked like this:\n\n 2 [Default        ]: HDSPM - RME RayDAT_f1cd85\n                      RME RayDAT S/N 0xf1cd85 at 0xf7300000, irq 18\n\nIn case of a second HDSPM card, its name would be Default_1. This is\ncumbersome, because the order of the cards isn\u0027t stable across reboots.\n\nTo help userspace tools referring to the correct card, this commit\nprovides a unique id for each card:\n\n 2 [HDSPMxf1cd85   ]: HDSPM - RME RayDAT_f1cd85\n                      RME RayDAT S/N 0xf1cd85 at 0xf7300000, irq 18\n\nIn this example, userspace (configuration files) would then use\nhw:HDSPMxf1cd85 to choose the right card.\n\nThe serial is masked to 24bits, so this string is always shorter than\nsixteen chars.\n\nSigned-off-by: Adrian Knoth \u003cadi@drcomp.erfurt.thur.de\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "4f58cb90bcb04cfe18f524d1c9a65edef5eb3f51",
      "tree": "8c686e8b736eed7258921909282c0955543c7d2f",
      "parents": [
        "e7691a1ce341c80ed9504244a36b31c025217391",
        "08c70fc3a239475122e20b7a21dfae4c264c24f7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 22:01:27 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 22:01:27 2012 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (54 commits)\n  crypto: gf128mul - remove leftover \"(EXPERIMENTAL)\" in Kconfig\n  crypto: serpent-sse2 - remove unneeded LRW/XTS #ifdefs\n  crypto: serpent-sse2 - select LRW and XTS\n  crypto: twofish-x86_64-3way - remove unneeded LRW/XTS #ifdefs\n  crypto: twofish-x86_64-3way - select LRW and XTS\n  crypto: xts - remove dependency on EXPERIMENTAL\n  crypto: lrw - remove dependency on EXPERIMENTAL\n  crypto: picoxcell - fix boolean and / or confusion\n  crypto: caam - remove DECO access initialization code\n  crypto: caam - fix polarity of \"propagate error\" logic\n  crypto: caam - more desc.h cleanups\n  crypto: caam - desc.h - convert spaces to tabs\n  crypto: talitos - convert talitos_error to struct device\n  crypto: talitos - remove NO_IRQ references\n  crypto: talitos - fix bad kfree\n  crypto: convert drivers/crypto/* to use module_platform_driver()\n  char: hw_random: convert drivers/char/hw_random/* to use module_platform_driver()\n  crypto: serpent-sse2 - should select CRYPTO_CRYPTD\n  crypto: serpent - rename serpent.c to serpent_generic.c\n  crypto: serpent - cleanup checkpatch errors and warnings\n  ...\n"
    },
    {
      "commit": "e7691a1ce341c80ed9504244a36b31c025217391",
      "tree": "e9941bb350f64a726130e299c411821da6f41a53",
      "parents": [
        "5cd9599bba428762025db6027764f1c59d0b1e1b",
        "8fcc99549522fc7a0bbaeb5755855ab0d9a59ce8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 21:51:23 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 21:51:23 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://selinuxproject.org/~jmorris/linux-security\n\n* \u0027for-linus\u0027 of git://selinuxproject.org/~jmorris/linux-security: (32 commits)\n  ima: fix invalid memory reference\n  ima: free duplicate measurement memory\n  security: update security_file_mmap() docs\n  selinux: Casting (void *) value returned by kmalloc is useless\n  apparmor: fix module parameter handling\n  Security: tomoyo: add .gitignore file\n  tomoyo: add missing rcu_dereference()\n  apparmor: add missing rcu_dereference()\n  evm: prevent racing during tfm allocation\n  evm: key must be set once during initialization\n  mpi/mpi-mpow: NULL dereference on allocation failure\n  digsig: build dependency fix\n  KEYS: Give key types their own lockdep class for key-\u003esem\n  TPM: fix transmit_cmd error logic\n  TPM: NSC and TIS drivers X86 dependency fix\n  TPM: Export wait_for_stat for other vendor specific drivers\n  TPM: Use vendor specific function for status probe\n  tpm_tis: add delay after aborting command\n  tpm_tis: Check return code from getting timeouts/durations\n  tpm: Introduce function to poll for result of self test\n  ...\n\nFix up trivial conflict in lib/Makefile due to addition of CONFIG_MPI\nand SIGSIG next to CONFIG_DQL addition.\n"
    },
    {
      "commit": "5cd9599bba428762025db6027764f1c59d0b1e1b",
      "tree": "cb59ea13f6e6de4350ca38338bf9633e89f8418a",
      "parents": [
        "e343a895a9f342f239c5e3c5ffc6c0b1707e6244",
        "d668dc56631da067540b2494d2a1f29ff7b5f15a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 21:46:36 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 21:46:36 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:\n  autofs4: deal with autofs4_write/autofs4_write races\n  autofs4: catatonic_mode vs. notify_daemon race\n  autofs4: autofs4_wait() vs. autofs4_catatonic_mode() race\n  hfsplus: creation of hidden dir on mount can fail\n  block_dev: Suppress bdev_cache_init() kmemleak warninig\n  fix shrink_dcache_parent() livelock\n  coda: switch coda_cnode_make() to sane API as well, clean coda_lookup()\n  coda: deal correctly with allocation failure from coda_cnode_makectl()\n  securityfs: fix object creation races\n"
    },
    {
      "commit": "d668dc56631da067540b2494d2a1f29ff7b5f15a",
      "tree": "303ad17208838e8b9b1752f9427d55c84555f0f0",
      "parents": [
        "8753333266be67ff3a984ac1f6566d31c260bee4"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 10 22:35:38 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jan 11 00:20:12 2012 -0500"
      },
      "message": "autofs4: deal with autofs4_write/autofs4_write races\n\nJust serialize the actual writing of packets into pipe on\na new mutex, independent from everything else in the locking\nhierarchy.  As soon as something has started feeding a piece\nof packet into the pipe to daemon, we *want* everything else\nabout to try the same to wait until we are done.\n\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8753333266be67ff3a984ac1f6566d31c260bee4",
      "tree": "27a8565988791e2971d631e19c7a9a0057386668",
      "parents": [
        "4041bcdc7bef06a2fb29c57394c713a74bd13b08"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 10 22:24:48 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jan 11 00:19:58 2012 -0500"
      },
      "message": "autofs4: catatonic_mode vs. notify_daemon race\n\nwe need to hold -\u003ewq_mutex while we are forming the packet to send,\nlest we have autofs4_catatonic_mode() setting wq-\u003ename.name to NULL\njust as autofs4_notify_daemon() decides to memcpy() from it...\n\nWe do have check for catatonic mode immediately after that (under\n-\u003ewq_mutex, as it ought to be) and packet won\u0027t be actually sent,\nbut it\u0027ll be too late for us if we oops on that memcpy() from NULL...\n\nFix is obvious - just extend the area covered by -\u003ewq_mutex over\nthat switch and check whether it\u0027s catatonic *before* doing anything\nelse.\n\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4041bcdc7bef06a2fb29c57394c713a74bd13b08",
      "tree": "adaf5dee1b8312cdd37a2b37551770af461212a3",
      "parents": [
        "b3f2a92447b8443360ac117a3d7c06689562a70c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 10 22:20:12 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jan 11 00:19:12 2012 -0500"
      },
      "message": "autofs4: autofs4_wait() vs. autofs4_catatonic_mode() race\n\nWe need to recheck -\u003ecatatonic after autofs4_wait() got -\u003ewq_mutex\nfor good, or we might end up with wq inserted into queue after\nautofs4_catatonic_mode() had done its thing.  It will stick there\nforever, since there won\u0027t be anything to clear its -\u003ename.name.\n\nA bit of a complication: validate_request() drops and regains -\u003ewq_mutex.\nIt actually ends up the most convenient place to stick the check into...\n\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e343a895a9f342f239c5e3c5ffc6c0b1707e6244",
      "tree": "46c81c6ae375b1f14e209b13c8ac020842807ece",
      "parents": [
        "06792c4dde2ad143928cc95c1ba218c6269c494b",
        "193a667fba76b3df482cbf865228e26ee246e889"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 18:04:27 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 18:04:27 2012 -0800"
      },
      "message": "Merge tag \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost\n\nlib: use generic pci_iomap on all architectures\n\nMany architectures don\u0027t want to pull in iomap.c,\nso they ended up duplicating pci_iomap from that file.\nThat function isn\u0027t trivial, and we are going to modify it\nhttps://lkml.org/lkml/2011/11/14/183\nso the duplication hurts.\n\nThis reduces the scope of the problem significantly,\nby moving pci_iomap to a separate file and\nreferencing that from all architectures.\n\n* tag \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:\n  alpha: drop pci_iomap/pci_iounmap from pci-noop.c\n  mn10300: switch to GENERIC_PCI_IOMAP\n  mn10300: add missing __iomap markers\n  frv: switch to GENERIC_PCI_IOMAP\n  tile: switch to GENERIC_PCI_IOMAP\n  tile: don\u0027t panic on iomap\n  sparc: switch to GENERIC_PCI_IOMAP\n  sh: switch to GENERIC_PCI_IOMAP\n  powerpc: switch to GENERIC_PCI_IOMAP\n  parisc: switch to GENERIC_PCI_IOMAP\n  mips: switch to GENERIC_PCI_IOMAP\n  microblaze: switch to GENERIC_PCI_IOMAP\n  arm: switch to GENERIC_PCI_IOMAP\n  alpha: switch to GENERIC_PCI_IOMAP\n  lib: add GENERIC_PCI_IOMAP\n  lib: move GENERIC_IOMAP to lib/Kconfig\n\nFix up trivial conflicts due to changes nearby in arch/{m68k,score}/Kconfig\n"
    },
    {
      "commit": "06792c4dde2ad143928cc95c1ba218c6269c494b",
      "tree": "92bdd4631612c9e3d8e5f6f06839f75c5473300a",
      "parents": [
        "4690dfa8cd66c37fbe99bb8cd5baa86102110776",
        "166c0eaedfc3157dc1394c27e827add19f05fb27"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 17:39:40 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 17:39:40 2012 -0800"
      },
      "message": "Merge tag \u0027for-linux-3.3-merge-window\u0027 of git://linux-c6x.org/git/projects/linux-c6x-upstreaming\n\n* tag \u0027for-linux-3.3-merge-window\u0027 of git://linux-c6x.org/git/projects/linux-c6x-upstreaming: (29 commits)\n  C6X: replace tick_nohz_stop/restart_sched_tick calls\n  C6X: add register_cpu call\n  C6X: deal with memblock API changes\n  C6X: fix timer64 initialization\n  C6X: fix layout of EMIFA registers\n  C6X: MAINTAINERS\n  C6X: DSCR - Device State Configuration Registers\n  C6X: EMIF - External Memory Interface\n  C6X: general SoC support\n  C6X: library code\n  C6X: headers\n  C6X: ptrace support\n  C6X: loadable module support\n  C6X: cache control\n  C6X: clocks\n  C6X: build infrastructure\n  C6X: syscalls\n  C6X: interrupt handling\n  C6X: time management\n  C6X: signal management\n  ...\n"
    },
    {
      "commit": "4690dfa8cd66c37fbe99bb8cd5baa86102110776",
      "tree": "063d1f68298cab19d29a4aa689d755266ae85a7d",
      "parents": [
        "c2e08e7ce5ab25a781197a71c5241742e8c9fdfe",
        "f3aef2510e2bb28cdbf32e5f3b8f04f03336ac81"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 17:37:49 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 17:37:49 2012 -0800"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.monstr.eu/linux-2.6-microblaze\n\n* \u0027next\u0027 of git://git.monstr.eu/linux-2.6-microblaze:\n  microblaze: Wire-up new system calls\n  microblaze: Remove NO_IRQ from architecture\n  input: xilinx_ps2: Don\u0027t use NO_IRQ\n  block: xsysace: Don\u0027t use NO_IRQ\n  microblaze: Trivial asm fix\n  microblaze: Fix debug message in module\n  microblaze: Remove eprintk macro\n  microblaze: Send CR before LF for early console\n  microblaze: Change NO_IRQ to 0\n  microblaze: Use irq_of_parse_and_map for timer\n  microblaze: intc: Change variable name\n  microblaze: Use of_find_compatible_node for timer and intc\n  microblaze: Add __cmpdi2\n  microblaze: Synchronize __pa __va macros\n"
    },
    {
      "commit": "c2e08e7ce5ab25a781197a71c5241742e8c9fdfe",
      "tree": "70cce0b2f4cb82b1670e987169a7790e8467cf41",
      "parents": [
        "28190145543260c155216b9bd3adf57bee50f8b2",
        "b3a0aa3ae1c0889ffe8abb2e326d5c74c7c9c097"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 17:37:20 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 17:37:20 2012 -0800"
      },
      "message": "Merge branch \u0027unicore32\u0027 of git://github.com/gxt/linux\n\n* \u0027unicore32\u0027 of git://github.com/gxt/linux:\n  rtc-puv3: solve section mismatch in rtc-puv3.c\n  rtc-puv3: using module_platform_driver()\n  i2c-puv3: using module_platform_driver()\n  rtc-puv3: irq: remove IRQF_DISABLED\n  unicore32: Remove IRQF_DISABLED\n  unicore32: Use set_current_blocked()\n  unicore32: add ioremap_nocache definition\n  unicore32: delete specified xlate_dev_mem_ptr\n  of: add include asm/setup.h in drivers/of/fdt.c\n  unicore32: standardize /proc/iomem \"Kernel code\" name\n"
    },
    {
      "commit": "28190145543260c155216b9bd3adf57bee50f8b2",
      "tree": "b79b0163158ae3fa7e0f4776fdfb64c435885608",
      "parents": [
        "001a541ea9163ace5e8243ee0e907ad80a4c0ec2",
        "dda6779f04fe7c6b61846b672b438bc08c2e08ac"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 17:36:43 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 17:36:43 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lliubbo/blackfin\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lliubbo/blackfin:\n  blackfin: bf561: add adv7183 capture support\n  blackfin: bf537: add capture support\n  blackfin: bf548: add capture support\n  blackfin: time-ts: rm unused func broadcast_timer_setup()\n  blackfin: i2c-lcd: change default clock rate\n  blackfin: mac: dsa: add vlan mask in board file\n  blackfin: bf537: change num_chipselect for spi-sport\n  blackfin: serial: bfin-uart: remove unused field\n  bf54x: get mem size: missing break in switch\n  blackfin: smp: fix msg queue overflow issue\n  blackfin: config: update macro SPI_BFIN in board file\n  blackfin: config: update def config for all boards\n  blackfin: smp: cleanup smp code\n  blackfin: smp: add suspend and wakeup irq flags\n  blackfin: bf533-stamp: add missed patches for new asoc driver\n  blackfin: bf533-stamp: fix ad1836 name\n"
    },
    {
      "commit": "001a541ea9163ace5e8243ee0e907ad80a4c0ec2",
      "tree": "a76225046369c440de93739add9823f5ea060245",
      "parents": [
        "40ba587923ae67090d9f141c1d3c951be5c1420e",
        "bc31b86a5923fad5f3fbb6192f767f410241ba27"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:59:59 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:59:59 2012 -0800"
      },
      "message": "Merge branch \u0027writeback-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux\n\n* \u0027writeback-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux:\n  writeback: move MIN_WRITEBACK_PAGES to fs-writeback.c\n  writeback: balanced_rate cannot exceed write bandwidth\n  writeback: do strict bdi dirty_exceeded\n  writeback: avoid tiny dirty poll intervals\n  writeback: max, min and target dirty pause time\n  writeback: dirty ratelimit - think time compensation\n  btrfs: fix dirtied pages accounting on sub-page writes\n  writeback: fix dirtied pages accounting on redirty\n  writeback: fix dirtied pages accounting on sub-page writes\n  writeback: charge leaked page dirties to active tasks\n  writeback: Include all dirty inodes in background writeback\n"
    }
  ],
  "next": "40ba587923ae67090d9f141c1d3c951be5c1420e"
}
