)]}'
{
  "log": [
    {
      "commit": "03f3c433648a97ae7c86be789edba67690f6ea60",
      "tree": "d92a17f6fe9d90d3a6b46762742ef239bf5ecc44",
      "parents": [
        "42e9abb628def2c335a4ecf130bb6c88d916d885"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Jan 07 18:08:31 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:10 2009 -0800"
      },
      "message": "memcg: fix swap accounting leak\n\nFix swapin charge operation of memcg.\n\nNow, memcg has hooks to swap-out operation and checks SwapCache is really\nunused or not.  That check depends on contents of struct page.  I.e.  If\nPageAnon(page) \u0026\u0026 page_mapped(page), the page is recoginized as\nstill-in-use.\n\nNow, reuse_swap_page() calles delete_from_swap_cache() before establishment\nof any rmap. Then, in followinig sequence\n\n\t(Page fault with WRITE)\n\ttry_charge() (charge +\u003d PAGESIZE)\n\tcommit_charge() (Check page_cgroup is used or not..)\n\treuse_swap_page()\n\t\t-\u003e delete_from_swapcache()\n\t\t\t-\u003e mem_cgroup_uncharge_swapcache() (charge -\u003d PAGESIZE)\n\t......\nNew charge is uncharged soon....\nTo avoid this,  move commit_charge() after page_mapcount() goes up to 1.\nBy this,\n\n\ttry_charge()\t\t(usage +\u003d PAGESIZE)\n\treuse_swap_page()\t(may usage -\u003d PAGESIZE if PCG_USED is set)\n\tcommit_charge()\t\t(If page_cgroup is not marked as PCG_USED,\n\t\t\t\t add new charge.)\nAccounting will be correct.\n\nChangelog (v2) -\u003e (v3)\n  - fixed invalid charge to swp_entry\u003d\u003d0.\n  - updated documentation.\nChangelog (v1) -\u003e (v2)\n  - fixed comment.\n\n[nishimura@mxp.nes.nec.co.jp: swap accounting leak doc fix]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nTested-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9836d89191edd4887ed026a9ce53d9dfac62ec1c",
      "tree": "c5c4c579f9f9bdccb1ae48778cb129d94321c38f",
      "parents": [
        "fee7b548e6f2bd4bfd03a1a45d3afd593de7d5e9"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Jan 07 18:08:27 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:09 2009 -0800"
      },
      "message": "memcg: explain details and test document\n\nDocumentation for implementation details and how to test.\n\nJust an example. feel free to modify, add, remove lines.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Hugh Dickins \u003chugh@veritas.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": "a7885eb8ad465ec9db99ac5b5e6680f0ca8e11c8",
      "tree": "4f3ffaa399fbc16003cc1787228f10543dc9c3ef",
      "parents": [
        "2733c06ac864ed40b9dfbbd5270f3f16949bd4a1"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Wed Jan 07 18:08:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:08 2009 -0800"
      },
      "message": "memcg: swappiness\n\nCurrently, /proc/sys/vm/swappiness can change swappiness ratio for global\nreclaim.  However, memcg reclaim doesn\u0027t have tuning parameter for itself.\n\nIn general, the optimal swappiness depend on workload.  (e.g.  hpc\nworkload need to low swappiness than the others.)\n\nThen, per cgroup swappiness improve administrator tunability.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Hugh Dickins \u003chugh@veritas.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": "7f016ee8b6a9a43f768e6252021f169abec4fa1f",
      "tree": "68498191489e051a23da0d39de2b0257714e58b0",
      "parents": [
        "9439c1c95b5c25b8031b2a7eb7e1590eb84be7f5"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Wed Jan 07 18:08:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:08 2009 -0800"
      },
      "message": "memcg: show reclaim stat\n\nAdd the following four fields to memory.stat file:\n\n  - inactive_ratio\n  - recent_rotated_anon\n  - recent_rotated_file\n  - recent_scanned_anon\n  - recent_scanned_file\n\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Hugh Dickins \u003chugh@veritas.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": "52bc0d82100cd896213a9a25ec01c1ba87b939db",
      "tree": "9d697d032c9374e2d14639ca8ef48577d020d573",
      "parents": [
        "f8d665422603ee1b8ed04dcad4242f14d623c941"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Wed Jan 07 18:08:03 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:05 2009 -0800"
      },
      "message": "memcg: memory cgroup hierarchy documentation\n\nDocumentation updates for hierarchy support\n\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: YAMAMOTO Takashi \u003cyamamoto@valinux.co.jp\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8c7c6e34a1256a5082d38c8e9bd1474476912715",
      "tree": "09f53c7c4bac5532a9ecbdadb4450702c744ea6f",
      "parents": [
        "27a7faa0779dd13729196c1a818c294f44bbd1ee"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Jan 07 18:08:00 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:05 2009 -0800"
      },
      "message": "memcg: mem+swap controller core\n\nThis patch implements per cgroup limit for usage of memory+swap.  However\nthere are SwapCache, double counting of swap-cache and swap-entry is\navoided.\n\nMem+Swap controller works as following.\n  - memory usage is limited by memory.limit_in_bytes.\n  - memory + swap usage is limited by memory.memsw_limit_in_bytes.\n\nThis has following benefits.\n  - A user can limit total resource usage of mem+swap.\n\n    Without this, because memory resource controller doesn\u0027t take care of\n    usage of swap, a process can exhaust all the swap (by memory leak.)\n    We can avoid this case.\n\n    And Swap is shared resource but it cannot be reclaimed (goes back to memory)\n    until it\u0027s used. This characteristic can be trouble when the memory\n    is divided into some parts by cpuset or memcg.\n    Assume group A and group B.\n    After some application executes, the system can be..\n\n    Group A -- very large free memory space but occupy 99% of swap.\n    Group B -- under memory shortage but cannot use swap...it\u0027s nearly full.\n\n    Ability to set appropriate swap limit for each group is required.\n\nMaybe someone wonder \"why not swap but mem+swap ?\"\n\n  - The global LRU(kswapd) can swap out arbitrary pages. Swap-out means\n    to move account from memory to swap...there is no change in usage of\n    mem+swap.\n\n    In other words, when we want to limit the usage of swap without affecting\n    global LRU, mem+swap limit is better than just limiting swap.\n\nAccounting target information is stored in swap_cgroup which is\nper swap entry record.\n\nCharge is done as following.\n  map\n    - charge  page and memsw.\n\n  unmap\n    - uncharge page/memsw if not SwapCache.\n\n  swap-out (__delete_from_swap_cache)\n    - uncharge page\n    - record mem_cgroup information to swap_cgroup.\n\n  swap-in (do_swap_page)\n    - charged as page and memsw.\n      record in swap_cgroup is cleared.\n      memsw accounting is decremented.\n\n  swap-free (swap_free())\n    - if swap entry is freed, memsw is uncharged by PAGE_SIZE.\n\nThere are people work under never-swap environments and consider swap as\nsomething bad. For such people, this mem+swap controller extension is just an\noverhead.  This overhead is avoided by config or boot option.\n(see Kconfig. detail is not in this patch.)\n\nTODO:\n - maybe more optimization can be don in swap-in path. (but not very safe.)\n   But we just do simple accounting at this stage.\n\n[nishimura@mxp.nes.nec.co.jp: make resize limit hold mutex]\n[hugh@veritas.com: memswap controller core swapcache fixes]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d13d144309d2e5a3e6ad978b16c1d0226ddc9231",
      "tree": "37c19902b527823956db969d9428737081b2a94d",
      "parents": [
        "c1e862c1f5ad34771b6d0a528cf681e0dcad7c86"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Jan 07 18:07:56 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:05 2009 -0800"
      },
      "message": "memcg: handle swap caches\n\nSwapCache support for memory resource controller (memcg)\n\nBefore mem+swap controller, memcg itself should handle SwapCache in proper\nway.  This is cut-out from it.\n\nIn current memcg, SwapCache is just leaked and the user can create tons of\nSwapCache.  This is a leak of account and should be handled.\n\nSwapCache accounting is done as following.\n\n  charge (anon)\n\t- charged when it\u0027s mapped.\n\t  (because of readahead, charge at add_to_swap_cache() is not sane)\n  uncharge (anon)\n\t- uncharged when it\u0027s dropped from swapcache and fully unmapped.\n\t  means it\u0027s not uncharged at unmap.\n\t  Note: delete from swap cache at swap-in is done after rmap information\n\t        is established.\n  charge (shmem)\n\t- charged at swap-in. this prevents charge at add_to_page_cache().\n\n  uncharge (shmem)\n\t- uncharged when it\u0027s dropped from swapcache and not on shmem\u0027s\n\t  radix-tree.\n\n  at migration, check against \u0027old page\u0027 is modified to handle shmem.\n\nComparing to the old version discussed (and caused troubles), we have\nadvantages of\n  - PCG_USED bit.\n  - simple migrating handling.\n\nSo, situation is much easier than several months ago, maybe.\n\n[hugh@veritas.com: memcg: handle swap caches build fix]\nReviewed-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nTested-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c1e862c1f5ad34771b6d0a528cf681e0dcad7c86",
      "tree": "e3ac7ca8cfe5ac02b0df83a4aef5f37e59d7d61f",
      "parents": [
        "c8dad2bb6307f5b00f804a686917105206a4d5c9"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Jan 07 18:07:55 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:04 2009 -0800"
      },
      "message": "memcg: new force_empty to free pages under group\n\nBy memcg-move-all-accounts-to-parent-at-rmdir.patch, there is no leak of\nmemory usage and force_empty is removed.\n\nThis patch adds \"force_empty\" again, in reasonable manner.\n\nmemory.force_empty file works when\n\n  #echo 0 (or some) \u003e memory.force_empty\n  and have following function.\n\n  1. only works when there are no task in this cgroup.\n  2. free all page under this cgroup as much as possible.\n  3. page which cannot be freed will be moved up to parent.\n  4. Then, memcg will be empty after above echo returns.\n\nThis is much better behavior than old \"force_empty\" which just forget\nall accounts. This patch also check signal_pending() and above \"echo\"\ncan be stopped by \"Ctrl-C\".\n\n[akpm@linux-foundation.org: cleanup]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f817ed48535ac6510ebae7c4116f24a5f9268834",
      "tree": "5ce9cc72c1adc0427f7efeefb3bc51b9b392ea09",
      "parents": [
        "0753b0ef3b301895234fed02bea2c099c7ff4feb"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Jan 07 18:07:53 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:04 2009 -0800"
      },
      "message": "memcg: move all acccounting to parent at rmdir()\n\nThis patch provides a function to move account information of a page\nbetween mem_cgroups and rewrite force_empty to make use of this.\n\nThis moving of page_cgroup is done under\n - lru_lock of source/destination mem_cgroup is held.\n - lock_page_cgroup() is held.\n\nThen, a routine which touches pc-\u003emem_cgroup without lock_page_cgroup()\nshould confirm pc-\u003emem_cgroup is still valid or not.  Typical code can be\nfollowing.\n\n(while page is not under lock_page())\n\tmem \u003d pc-\u003emem_cgroup;\n\tmz \u003d page_cgroup_zoneinfo(pc)\n\tspin_lock_irqsave(\u0026mz-\u003elru_lock);\n\tif (pc-\u003emem_cgroup \u003d\u003d mem)\n\t\t...../* some list handling */\n\tspin_unlock_irqrestore(\u0026mz-\u003elru_lock);\n\nOf course, better way is\n\tlock_page_cgroup(pc);\n\t....\n\tunlock_page_cgroup(pc);\n\nBut you should confirm the nest of lock and avoid deadlock.\n\nIf you treats page_cgroup from mem_cgroup\u0027s LRU under mz-\u003elru_lock,\nyou don\u0027t have to worry about what pc-\u003emem_cgroup points to.\nmoved pages are added to head of lru, not to tail.\n\nExpected users of this routine is:\n  - force_empty (rmdir)\n  - moving tasks between cgroup (for moving account information.)\n  - hierarchy (maybe useful.)\n\nforce_empty(rmdir) uses this move_account and move pages to its parent.\nThis \"move\" will not cause OOM (I added \"oom\" parameter to try_charge().)\n\nIf the parent is busy (not enough memory), force_empty calls try_to_free_page()\nand reduce usage.\n\nPurpose of this behavior is\n  - Fix \"forget all\" behavior of force_empty and avoid leak of accounting.\n  - By \"moving first, free if necessary\", keep pages on memory as much as\n    possible.\n\nAdding a switch to change behavior of force_empty to\n  - free first, move if necessary\n  - free all, if there is mlocked/busy pages, return -EBUSY.\nis under consideration. (I\u0027ll add if someone requtests.)\n\nThis patch also removes memory.force_empty file, a brutal debug-only interface.\n\nReviewed-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nTested-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Paul Menage \u003cmenage@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": "934352f214b3251eb0793c1209d346595a661d80",
      "tree": "375ac56485c20f7b7cf783c3ca2980a76dc94fce",
      "parents": [
        "ff9b48c3598732926fa09afd7f526981c32a48cc"
      ],
      "author": {
        "name": "Bharata B Rao",
        "email": "bharata@linux.vnet.ibm.com",
        "time": "Mon Nov 10 20:41:13 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 11 12:13:28 2008 +0100"
      },
      "message": "sched: add hierarchical accounting to cpu accounting controller\n\nImpact: improve CPU time accounting of tasks under the cpu accounting controller\n\nAdd hierarchical accounting to cpu accounting controller and include\ncpuacct documentation.\n\nCurrently, while charging the task\u0027s cputime to its accounting group,\nthe accounting group hierarchy isn\u0027t updated. This patch charges the cputime\nof a task to its accounting group and all its parent accounting groups.\n\nReported-by: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nSigned-off-by: Bharata B Rao \u003cbharata@linux.vnet.ibm.com\u003e\nReviewed-by: Paul Menage \u003cmenage@google.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5b4e655e948d8b6e9b0d001616d4c9d7e7ffe924",
      "tree": "2822f944d1bdbc8414a65cd94b982c51b5032b50",
      "parents": [
        "b7abea9630bc8ffc663a751e46680db25c4cdf8d"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Sat Oct 18 20:28:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:38 2008 -0700"
      },
      "message": "memcg: avoid accounting special pages\n\nThere are not-on-LRU pages which can be mapped and they are not worth to\nbe accounted.  (becasue we can\u0027t shrink them and need dirty codes to\nhandle specical case) We\u0027d like to make use of usual objrmap/radix-tree\u0027s\nprotcol and don\u0027t want to account out-of-vm\u0027s control pages.\n\nWhen special_mapping_fault() is called, page-\u003emapping is tend to be NULL\nand it\u0027s charged as Anonymous page.  insert_page() also handles some\nspecial pages from drivers.\n\nThis patch is for avoiding to account special pages.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "628f42355389cfb596ca3a5a5f64fb9054a2a06a",
      "tree": "a1a19788e554f4345f80ae835edcb5ad2402533a",
      "parents": [
        "12b9804419cfb1c1bdac413f6c373af3b88d154b"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Fri Jul 25 01:47:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:37 2008 -0700"
      },
      "message": "memcg: limit change shrink usage\n\nShrinking memory usage at limit change.\n\n[akpm@linux-foundation.org: coding-style fixes]\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@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": "d823f6bfec2844493c05961133895de21fa0e02d",
      "tree": "853fac4a97ab842f9ee52adfbf72297e8b90688d",
      "parents": [
        "26ff8c697a2c8f6974c2357d3f01cca91b20c964"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Jul 04 10:00:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 04 10:40:10 2008 -0700"
      },
      "message": "devcgroup: fix odd behaviour when writing \u0027a\u0027 to devices.allow\n\n # cat /devcg/devices.list\n a *:* rwm\n # echo a \u003e devices.allow\n # cat /devcg/devices.list\n a *:* rwm\n a 0:0 rwm\n\nThis is odd and maybe confusing.  With this patch, writing \u0027a\u0027 to\ndevices.allow will add \u0027a *:* rwm\u0027 to the whitelist.\n\nAlso a few fixes and updates to the document.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\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": "faebe9fdf35058bb8421e4c09f6f70994eaf8db2",
      "tree": "36042017bf8871253d86f1fe691ed630b179a1c9",
      "parents": [
        "c84872e168d10926acd2dee975d19172eef79252"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Apr 29 01:00:18 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:10 2008 -0700"
      },
      "message": "memcgroups: add a document describing the resource counter abstraction\n\nThe resource counter is supposed to facilitate the resource accounting of\narbitrary resource (and it already does this for memory controller).\n\nHowever, it is about to be used in other resources controllers (swap, kernel\nmemory, networking, etc), so provide a doc describing how to work with it.\nThis will eliminate all the possible future duplications in the appropriate\ncontrollers\u0027 docs.\n\nFixed errors pointed out by Randy.\n\n[akpm@linux-foundation.org: fix documentation tpyo]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "08ce5f16ee466ffc5bf243800deeecd77d9eaf50",
      "tree": "8fb921137a677d463f11727dab7e683db426b810",
      "parents": [
        "d447ea2f30ec60370ddb99a668e5ac12995f043d"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Tue Apr 29 01:00:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:09 2008 -0700"
      },
      "message": "cgroups: implement device whitelist\n\nImplement a cgroup to track and enforce open and mknod restrictions on device\nfiles.  A device cgroup associates a device access whitelist with each cgroup.\n A whitelist entry has 4 fields.  \u0027type\u0027 is a (all), c (char), or b (block).\n\u0027all\u0027 means it applies to all types and all major and minor numbers.  Major\nand minor are either an integer or * for all.  Access is a composition of r\n(read), w (write), and m (mknod).\n\nThe root device cgroup starts with rwm to \u0027all\u0027.  A child devcg gets a copy of\nthe parent.  Admins can then remove devices from the whitelist or add new\nentries.  A child cgroup can never receive a device access which is denied its\nparent.  However when a device access is removed from a parent it will not\nalso be removed from the child(ren).\n\nAn entry is added using devices.allow, and removed using\ndevices.deny.  For instance\n\n\techo \u0027c 1:3 mr\u0027 \u003e /cgroups/1/devices.allow\n\nallows cgroup 1 to read and mknod the device usually known as\n/dev/null.  Doing\n\n\techo a \u003e /cgroups/1/devices.deny\n\nwill remove the default \u0027a *:* mrw\u0027 entry.\n\nCAP_SYS_ADMIN is needed to change permissions or move another task to a new\ncgroup.  A cgroup may not be granted more permissions than the cgroup\u0027s parent\nhas.  Any task can move itself between cgroups.  This won\u0027t be sufficient, but\nwe can decide the best way to adequately restrict movement later.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: fix may-be-used-uninitialized warning]\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nLooks-good-to: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Daniel Hokka Zakrisson \u003cdaniel@hozac.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "00f0b8259e48979c37212995d798f3fbd0374690",
      "tree": "589e8250c016450324e0c730139d020cf2bf887c",
      "parents": [
        "804defea1c020d5c52985685e56986f1a399acde"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Tue Mar 04 14:28:39 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 04 16:35:12 2008 -0800"
      },
      "message": "Memory controller: rename to Memory Resource Controller\n\nRename Memory Controller to Memory Resource Controller.  Reflect the same\nchanges in the CONFIG definition for the Memory Resource Controller.  Group\ntogether the config options for Resource Counters and Memory Resource\nController.\n\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Paul Menage \u003cmenage@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": "fb78922ce9c71b24c4af1ffc9c3d60c57ac471fb",
      "tree": "c3d4217b33f6843171e487b993040edbfbdf3b22",
      "parents": [
        "a10568733cdff03cac742955c7254585451f5431"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Tue Mar 04 14:28:24 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 04 16:35:09 2008 -0800"
      },
      "message": "Memory Resource Controller use strstrip while parsing arguments\n\nThe memory controller has a requirement that while writing values, we need\nto use echo -n. This patch fixes the problem and makes the UI more consistent.\n\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Paul Menage \u003cmenage@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": "2324c5dd47233859cd7ba6272d0601f26ce60dcd",
      "tree": "5be4f4064ce39b82bb46d9ac9bd4774a8456ad7f",
      "parents": [
        "bc231d2a048010d5e0b49ac7fddbfa822fc41109"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Sat Feb 23 15:24:12 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Feb 23 17:13:25 2008 -0800"
      },
      "message": "memcgroup: fix and update documentation\n\n- remove trailing \" Bytes\"s in the demonstration\n- remove section 4.4 (feature control_type has been removed)\n- fix reference section\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dfc05c259e424e4160c66eab728f55cc4b53fd75",
      "tree": "0bf6a57cd6380db627cb008223184e935ca311b6",
      "parents": [
        "3c541e14bfa553133c3473a6ed3e4c0583ea2285"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Thu Feb 07 00:14:41 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:22 2008 -0800"
      },
      "message": "update Documentation/controller/memory.txt\n\nDocumentation updates for memory controller.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0eea10301708c64a6b793894c156e21ddd15eb64",
      "tree": "a0dcbe47d48d35ec0554faa5f86068cfab94ca6e",
      "parents": [
        "66e1707bc34609f626e2e7b4fe7e454c9748bad5"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Thu Feb 07 00:13:57 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:18 2008 -0800"
      },
      "message": "Memory controller improve user interface\n\nChange the interface to use bytes instead of pages.  Page sizes can vary\nacross platforms and configurations.  A new strategy routine has been added\nto the resource counters infrastructure to format the data as desired.\n\nSuggested by David Rientjes, Andrew Morton and Herbert Poetzl\n\nTested on a UML setup with the config for memory control enabled.\n\n[kamezawa.hiroyu@jp.fujitsu.com: possible race fix in res_counter]\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nSigned-off-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": "1b6df3aa457690100f9827548943101447766572",
      "tree": "1dd18ba2688a4a3b6144b1c569c4e214d528da6a",
      "parents": [
        "e9685a03c8c3162cfa9ff02d254ea5c848f9facb"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Thu Feb 07 00:13:46 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:18 2008 -0800"
      },
      "message": "Memory controller: add document\n\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ]
}
