)]}'
{
  "log": [
    {
      "commit": "db0c2bf69aa095d4a6de7b1145f29fe9a7c0f6a3",
      "tree": "8f38957c01b18edddd44d49ecc3beeac08a20b4e",
      "parents": [
        "ac69e0928054ff29a5049902fb477f9c7605c773",
        "0d19ea866562e46989412a0676412fa0983c9ce7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 09 12:59:24 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 09 12:59:24 2012 -0800"
      },
      "message": "Merge branch \u0027for-3.3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup\n\n* \u0027for-3.3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: (21 commits)\n  cgroup: fix to allow mounting a hierarchy by name\n  cgroup: move assignement out of condition in cgroup_attach_proc()\n  cgroup: Remove task_lock() from cgroup_post_fork()\n  cgroup: add sparse annotation to cgroup_iter_start() and cgroup_iter_end()\n  cgroup: mark cgroup_rmdir_waitq and cgroup_attach_proc() as static\n  cgroup: only need to check oldcgrp\u003d\u003dnewgrp once\n  cgroup: remove redundant get/put of task struct\n  cgroup: remove redundant get/put of old css_set from migrate\n  cgroup: Remove unnecessary task_lock before fetching css_set on migration\n  cgroup: Drop task_lock(parent) on cgroup_fork()\n  cgroups: remove redundant get/put of css_set from css_set_check_fetched()\n  resource cgroups: remove bogus cast\n  cgroup: kill subsys-\u003ecan_attach_task(), pre_attach() and attach_task()\n  cgroup, cpuset: don\u0027t use ss-\u003epre_attach()\n  cgroup: don\u0027t use subsys-\u003ecan_attach_task() or -\u003eattach_task()\n  cgroup: introduce cgroup_taskset and use it in subsys-\u003ecan_attach(), cancel_attach() and attach()\n  cgroup: improve old cgroup handling in cgroup_attach_proc()\n  cgroup: always lock threadgroup during migration\n  threadgroup: extend threadgroup_lock() to cover exit and exec\n  threadgroup: rename signal-\u003ethreadgroup_fork_lock to -\u003egroup_rwsem\n  ...\n\nFix up conflict in kernel/cgroup.c due to commit e0197aae59e5: \"cgroups:\nfix a css_set not found bug in cgroup_attach_proc\" that already\nmentioned that the bug is fixed (differently) in Tejun\u0027s cgroup\npatchset. This one, in other words.\n"
    },
    {
      "commit": "34c80b1d93e6e20ca9dea0baf583a5b5510d92d4",
      "tree": "7dcbf0a4e09464247e6992c8f44fcc872867bd3a",
      "parents": [
        "a6322de67b58a00e3a783ad9c87c2a11b2d67b47"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 08 21:32:45 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jan 06 23:19:54 2012 -0500"
      },
      "message": "vfs: switch -\u003eshow_options() to struct dentry *\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0d19ea866562e46989412a0676412fa0983c9ce7",
      "tree": "335439bc9d13da86a7b6955907a92ddab03ceb57",
      "parents": [
        "305f3c8b20ba1ca94829329acdbf22e689304dba"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Dec 27 14:25:55 2011 +0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 05 09:59:46 2012 -0800"
      },
      "message": "cgroup: fix to allow mounting a hierarchy by name\n\nIf we mount a hierarchy with a specified name, the name is unique,\nand we can use it to mount the hierarchy without specifying its\nset of subsystem names. This feature is documented is\nDocumentation/cgroups/cgroups.txt section 2.3\n\nHere\u0027s an example:\n\n\t# mount -t cgroup -o cpuset,name\u003dmyhier xxx /cgroup1\n\t# mount -t cgroup -o name\u003dmyhier xxx /cgroup2\n\nBut it was broken by commit 32a8cf235e2f192eb002755076994525cdbaa35a\n(cgroup: make the mount options parsing more accurate)\n\nThis fixes the regression.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "305f3c8b20ba1ca94829329acdbf22e689304dba",
      "tree": "fdf794766dfba0393324f3c79a6f642dda328042",
      "parents": [
        "7e3aa30ac8c904a706518b725c451bb486daaae9"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Wed Jan 04 10:24:29 2012 +0300"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Jan 04 07:37:48 2012 -0800"
      },
      "message": "cgroup: move assignement out of condition in cgroup_attach_proc()\n\nGcc complains about this: \"kernel/cgroup.c:2179:4: warning: suggest\nparentheses around assignment used as truth value [-Wparentheses]\"\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "a5e7ed3287e45f2eafbcf9e7e6fdc5a0191acf40",
      "tree": "4bc526f45eb2e9ab01beca0207f8633a19b963b8",
      "parents": [
        "f9ec80061af2116e9b6298a6334a6f288d7ea878"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 26 01:55:55 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:55:03 2012 -0500"
      },
      "message": "cgroup: propagate mode_t\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "18bb1db3e7607e4a997d50991a6f9fa5b0f8722c",
      "tree": "4ee4e584bc9a67f3ec14ce159d2d7d4a27e68d4a",
      "parents": [
        "8208a22bb8bd3c52ef634b4ff194f14892ab1713"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 26 01:41:39 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:53 2012 -0500"
      },
      "message": "switch vfs_mkdir() and -\u003emkdir() to umode_t\n\nvfs_mkdir() gets int, but immediately drops everything that might not\nfit into umode_t and that\u0027s the only caller of -\u003emkdir()...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7e3aa30ac8c904a706518b725c451bb486daaae9",
      "tree": "1a6ad0678271d1cba5eba2fcafcbfa71b4e4c66d",
      "parents": [
        "c6ca57500c23d57a4ccec9874b6a3c99c297e1b5"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Dec 23 04:25:23 2011 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Dec 27 09:05:20 2011 -0800"
      },
      "message": "cgroup: Remove task_lock() from cgroup_post_fork()\n\ncgroup_post_fork() is protected between threadgroup_change_begin()\nand threadgroup_change_end() against concurrent changes of the\nchild\u0027s css_set in cgroup_task_migrate(). Also the child can\u0027t\nexit and call cgroup_exit() at this stage, this means it\u0027s css_set\ncan\u0027t be changed with init_css_set concurrently.\n\nFor these reasons, we don\u0027t need to hold task_lock() on the child\nbecause it\u0027s css_set can only remain stable in this place.\n\nLet\u0027s remove the lock there.\n\nv2: Update comment to explain that we are safe against\ncgroup_exit()\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Containers \u003ccontainers@lists.linux-foundation.org\u003e\nCc: Cgroups \u003ccgroups@vger.kernel.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Paul Menage \u003cpaul@paulmenage.org\u003e\nCc: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\n"
    },
    {
      "commit": "c6ca57500c23d57a4ccec9874b6a3c99c297e1b5",
      "tree": "05de5a919fba42da5e537254b1d654ae1bec5b16",
      "parents": [
        "1c6c3fad81787e8cb4c85ddfd573b0d8442fe630"
      ],
      "author": {
        "name": "Kirill A. Shutemov",
        "email": "kirill@shutemov.name",
        "time": "Tue Dec 27 07:46:26 2011 +0200"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Dec 27 08:51:47 2011 -0800"
      },
      "message": "cgroup: add sparse annotation to cgroup_iter_start() and cgroup_iter_end()\n\nSigned-off-by: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "1c6c3fad81787e8cb4c85ddfd573b0d8442fe630",
      "tree": "12de25ab4ede17d8cd35885271064d6567c683c1",
      "parents": [
        "892a2b90ba15cb7dbee40979f23fdb492913abf8"
      ],
      "author": {
        "name": "Kirill A. Shutemov",
        "email": "kirill@shutemov.name",
        "time": "Tue Dec 27 07:46:25 2011 +0200"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Dec 27 08:51:46 2011 -0800"
      },
      "message": "cgroup: mark cgroup_rmdir_waitq and cgroup_attach_proc() as static\n\nSigned-off-by: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "892a2b90ba15cb7dbee40979f23fdb492913abf8",
      "tree": "db1cb827649a846b84e9c5da03d2b2cf4aedc656",
      "parents": [
        "b07ef7741122a83575499c11417e514877941e76"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "msb@chromium.org",
        "time": "Wed Dec 21 20:18:37 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Dec 22 07:32:57 2011 -0800"
      },
      "message": "cgroup: only need to check oldcgrp\u003d\u003dnewgrp once\n\nIn cgroup_attach_proc it is now sufficient to only check that\noldcgrp\u003d\u003dnewcgrp once. Now that we are using threadgroup_lock()\nduring the migrations, oldcgrp will not change.\n\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: containers@lists.linux-foundation.org\nCc: cgroups@vger.kernel.org\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Paul Menage \u003cpaul@paulmenage.org\u003e\n"
    },
    {
      "commit": "b07ef7741122a83575499c11417e514877941e76",
      "tree": "ba7fa1298320cce6ffef59e7865ef4fecbd23af1",
      "parents": [
        "026085ef5ae07c3197f2baacc091ce067b86ed11"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "msb@chromium.org",
        "time": "Wed Dec 21 20:18:36 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Dec 22 07:32:57 2011 -0800"
      },
      "message": "cgroup: remove redundant get/put of task struct\n\nthreadgroup_lock() guarantees that the target threadgroup will\nremain stable - no new task will be added, no new PF_EXITING\nwill be set and exec won\u0027t happen.\n\nChanges in V2:\n* https://lkml.org/lkml/2011/12/20/369 (Tejun Heo)\n  * Undo incorrect removal of get/put from attach_task_by_pid()\n* Author\n  * Remove a comment which is made stale by this change\n\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: containers@lists.linux-foundation.org\nCc: cgroups@vger.kernel.org\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Paul Menage \u003cpaul@paulmenage.org\u003e\n"
    },
    {
      "commit": "026085ef5ae07c3197f2baacc091ce067b86ed11",
      "tree": "0497b6414f79efff5b1ba855ddae70a2d850a2b4",
      "parents": [
        "c84cdf75ccb2845f690579e838f13f7e744e3d23"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "msb@chromium.org",
        "time": "Wed Dec 21 20:18:35 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Dec 22 07:32:57 2011 -0800"
      },
      "message": "cgroup: remove redundant get/put of old css_set from migrate\n\nWe can now assume that the css_set reference held by the task\nwill not go away for an exiting task. PF_EXITING state can be\ntrusted throughout migration by checking it after locking\nthreadgroup.\n\nChanges in V4:\n* https://lkml.org/lkml/2011/12/20/368 (Tejun Heo)\n  * Fix typo in commit message\n  * Undid the rename of css_set_check_fetched\n* https://lkml.org/lkml/2011/12/20/427 (Li Zefan)\n  * Fix comment in cgroup_task_migrate()\nChanges in V3:\n* https://lkml.org/lkml/2011/12/20/255 (Frederic Weisbecker)\n  * Fixed to put error in retval\nChanges in V2:\n* https://lkml.org/lkml/2011/12/19/289 (Tejun Heo)\n  * Updated commit message\n\n-tj: removed stale patch description about dropped function rename.\n\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: containers@lists.linux-foundation.org\nCc: cgroups@vger.kernel.org\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Paul Menage \u003cpaul@paulmenage.org\u003e\n"
    },
    {
      "commit": "c84cdf75ccb2845f690579e838f13f7e744e3d23",
      "tree": "a94bd69e84e7996852e1973c75fe11a2b0f1a42d",
      "parents": [
        "7e381b0eb1e1a9805c37335562e8dc02e7d7848c"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Dec 21 20:03:18 2011 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Dec 21 11:15:01 2011 -0800"
      },
      "message": "cgroup: Remove unnecessary task_lock before fetching css_set on migration\n\nWhen we fetch the css_set of the tasks on cgroup migration, we don\u0027t need\nanymore to synchronize against cgroup_exit() that could swap the old one\nwith init_css_set. Now that we are using threadgroup_lock() during\nthe migrations, we don\u0027t need to worry about it anymore.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nReviewed-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Containers \u003ccontainers@lists.linux-foundation.org\u003e\nCc: Cgroups \u003ccgroups@vger.kernel.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Paul Menage \u003cpaul@paulmenage.org\u003e\n"
    },
    {
      "commit": "7e381b0eb1e1a9805c37335562e8dc02e7d7848c",
      "tree": "766a7e7dad168f93a0159114795277dc22920e01",
      "parents": [
        "29e21368b9baf9c4b25060d65062da2dda926c70"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Dec 21 20:03:19 2011 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Dec 21 11:15:00 2011 -0800"
      },
      "message": "cgroup: Drop task_lock(parent) on cgroup_fork()\n\nWe don\u0027t need to hold the parent task_lock() on the\nparent in cgroup_fork() because we are already synchronized\nagainst the two places that may change the parent css_set\nconcurrently:\n\n- cgroup_exit(), but the parent obviously can\u0027t exit concurrently\n- cgroup migration: we are synchronized against threadgroup_lock()\n\nSo we can safely remove the task_lock() there.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Containers \u003ccontainers@lists.linux-foundation.org\u003e\nCc: Cgroups \u003ccgroups@vger.kernel.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Paul Menage \u003cpaul@paulmenage.org\u003e\nCc: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\n"
    },
    {
      "commit": "29e21368b9baf9c4b25060d65062da2dda926c70",
      "tree": "eb0d51c03f63b78317dbe329245ce7e40cb2261d",
      "parents": [
        "52dcf8a1f8ac09b6ea21266ebdc4db6d52eea1fc"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "msb@chromium.org",
        "time": "Thu Dec 15 14:21:26 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Dec 19 09:14:30 2011 -0800"
      },
      "message": "cgroups: remove redundant get/put of css_set from css_set_check_fetched()\n\nWe already have a reference to all elements in newcg_list.\n\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: containers@lists.linux-foundation.org\nCc: cgroups@vger.kernel.org\nCc: Paul Menage \u003cpaul@paulmenage.org\u003e\n"
    },
    {
      "commit": "e0197aae59e55c06db172bfbe1a1cdb8c0e1cab3",
      "tree": "c3b36f2adc445893166bc5caddb3d26c05611a9a",
      "parents": [
        "390f998509bf049019df0b078c0a6606e0d57fb4"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "msb@chromium.org",
        "time": "Thu Dec 15 11:36:43 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Dec 19 09:09:09 2011 -0800"
      },
      "message": "cgroups: fix a css_set not found bug in cgroup_attach_proc\n\nThere is a BUG when migrating a PF_EXITING proc. Since css_set_prefetch()\nis not called for the PF_EXITING case, find_existing_css_set() will return\nNULL inside cgroup_task_migrate() causing a BUG.\n\nThis bug is easy to reproduce. Create a zombie and echo its pid to\ncgroup.procs.\n\n$ cat zombie.c\n\\#include \u003cunistd.h\u003e\n\nint main()\n{\n  if (fork())\n      pause();\n  return 0;\n}\n$\n\nWe are hitting this bug pretty regularly on ChromeOS.\n\nThis bug is already fixed by Tejun Heo\u0027s cgroup patchset which is\ntargetted for the next merge window:\n\nhttps://lkml.org/lkml/2011/11/1/356\n\nI\u0027ve create a smaller patch here which just fixes this bug so that a\nfix can be merged into the current release and stable.\n\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nDownstream-Bug-Report: http://crosbug.com/23953\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: containers@lists.linux-foundation.org\nCc: cgroups@vger.kernel.org\nCc: stable@kernel.org\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Paul Menage \u003cpaul@paulmenage.org\u003e\nCc: Olof Johansson \u003colofj@chromium.org\u003e\n"
    },
    {
      "commit": "494c167cf76d02000adf740c215adc69a824ecc9",
      "tree": "bf7cdf462b62ebf099b965f7bea503df30918c17",
      "parents": [
        "94196f51c1ee5bbad674de28c682b17d78adb8e6"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Dec 12 18:12:22 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Dec 12 18:12:22 2011 -0800"
      },
      "message": "cgroup: kill subsys-\u003ecan_attach_task(), pre_attach() and attach_task()\n\nThese three methods are no longer used.  Kill them.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Paul Menage \u003cpaul@paulmenage.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "2f7ee5691eecb67c8108b92001a85563ea336ac5",
      "tree": "18cf60ea8a463f4a6cd59c68926ba4357ae8ff4c",
      "parents": [
        "134d33737f9015761c3832f6b268fae6274aac7f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Dec 12 18:12:21 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Dec 12 18:12:21 2011 -0800"
      },
      "message": "cgroup: introduce cgroup_taskset and use it in subsys-\u003ecan_attach(), cancel_attach() and attach()\n\nCurrently, there\u0027s no way to pass multiple tasks to cgroup_subsys\nmethods necessitating the need for separate per-process and per-task\nmethods.  This patch introduces cgroup_taskset which can be used to\npass multiple tasks and their associated cgroups to cgroup_subsys\nmethods.\n\nThree methods - can_attach(), cancel_attach() and attach() - are\nconverted to use cgroup_taskset.  This unifies passed parameters so\nthat all methods have access to all information.  Conversions in this\npatchset are identical and don\u0027t introduce any behavior change.\n\n-v2: documentation updated as per Paul Menage\u0027s suggestion.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Paul Menage \u003cpaul@paulmenage.org\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "134d33737f9015761c3832f6b268fae6274aac7f",
      "tree": "536b973af6429c25e1fc8ccbaf76395c09a8623d",
      "parents": [
        "cd3d095275374220921fcf0d4e0c16584b26ddbc"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Dec 12 18:12:21 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Dec 12 18:12:21 2011 -0800"
      },
      "message": "cgroup: improve old cgroup handling in cgroup_attach_proc()\n\ncgroup_attach_proc() behaves differently from cgroup_attach_task() in\nthe following aspects.\n\n* All hooks are invoked even if no task is actually being moved.\n\n* -\u003ecan_attach_task() is called for all tasks in the group whether the\n  new cgrp is different from the current cgrp or not; however,\n  -\u003eattach_task() is skipped if new equals new.  This makes the calls\n  asymmetric.\n\nThis patch improves old cgroup handling in cgroup_attach_proc() by\nlooking up the current cgroup at the head, recording it in the flex\narray along with the task itself, and using it to remove the above two\ndifferences.  This will also ease further changes.\n\n-v2: nr_todo renamed to nr_migrating_tasks as per Paul Menage\u0027s\n     suggestion.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Paul Menage \u003cpaul@paulmenage.org\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "cd3d095275374220921fcf0d4e0c16584b26ddbc",
      "tree": "eb867534c5cdfa111f88b255f76242e93fddb8b6",
      "parents": [
        "77e4ef99d1c596a31747668e5fd837f77b6349b6"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Dec 12 18:12:21 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Dec 12 18:12:21 2011 -0800"
      },
      "message": "cgroup: always lock threadgroup during migration\n\nUpdate cgroup to take advantage of the fack that threadgroup_lock()\nguarantees stable threadgroup.\n\n* Lock threadgroup even if the target is a single task.  This\n  guarantees that when the target tasks stay stable during migration\n  regardless of the target type.\n\n* Remove PF_EXITING early exit optimization from attach_task_by_pid()\n  and check it in cgroup_task_migrate() instead.  The optimization was\n  for rather cold path to begin with and PF_EXITING state can be\n  trusted throughout migration by checking it after locking\n  threadgroup.\n\n* Don\u0027t add PF_EXITING tasks to target task array in\n  cgroup_attach_proc().  This ensures that task migration is performed\n  only for live tasks.\n\n* Remove -ESRCH failure path from cgroup_task_migrate().  With the\n  above changes, it\u0027s guaranteed to be called only for live tasks.\n\nAfter the changes, only live tasks are migrated and they\u0027re guaranteed\nto stay alive until migration is complete.  This removes problems\ncaused by exec and exit racing against cgroup migration including\nsymmetry among cgroup attach methods and different cgroup methods\nracing each other.\n\nv2: Oleg pointed out that one more PF_EXITING check can be removed\n    from cgroup_attach_proc().  Removed.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Paul Menage \u003cpaul@paulmenage.org\u003e\n"
    },
    {
      "commit": "257058ae2b971646b96ab3a15605ac69186e562a",
      "tree": "b8a462e64c4bb4b43dcc6c9d05b194f9c747c91d",
      "parents": [
        "e25e2cbb4c6679bed5f52fb0f2cc381688297901"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Dec 12 18:12:21 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Dec 12 18:12:21 2011 -0800"
      },
      "message": "threadgroup: rename signal-\u003ethreadgroup_fork_lock to -\u003egroup_rwsem\n\nMake the following renames to prepare for extension of threadgroup\nlocking.\n\n* s/signal-\u003ethreadgroup_fork_lock/signal-\u003egroup_rwsem/\n* s/threadgroup_fork_read_lock()/threadgroup_change_begin()/\n* s/threadgroup_fork_read_unlock()/threadgroup_change_end()/\n* s/threadgroup_fork_write_lock()/threadgroup_lock()/\n* s/threadgroup_fork_write_unlock()/threadgroup_unlock()/\n\nThis patch doesn\u0027t cause any behavior change.\n\n-v2: Rename threadgroup_change_done() to threadgroup_change_end() per\n     KAMEZAWA\u0027s suggestion.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Paul Menage \u003cpaul@paulmenage.org\u003e\n"
    },
    {
      "commit": "e25e2cbb4c6679bed5f52fb0f2cc381688297901",
      "tree": "ba11d495cba21d3d233d4e25f94676ef9d0055ae",
      "parents": [
        "467de1fc67d1bd2954eaac7019c564f28fa2b6a5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Dec 12 18:12:21 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Dec 12 18:12:21 2011 -0800"
      },
      "message": "cgroup: add cgroup_root_mutex\n\ncgroup wants to make threadgroup stable while modifying cgroup\nhierarchies which will introduce locking dependency on\ncred_guard_mutex from cgroup_mutex.  This unfortunately completes\ncircular dependency.\n\n A. cgroup_mutex -\u003e cred_guard_mutex -\u003e s_type-\u003ei_mutex_key -\u003e namespace_sem\n B. namespace_sem -\u003e cgroup_mutex\n\nB is from cgroup_show_options() and this patch breaks it by\nintroducing another mutex cgroup_root_mutex which nests inside\ncgroup_mutex and protects cgroupfs_root.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\n"
    },
    {
      "commit": "c1e2ee2dc436574880758b3836fc96935b774c32",
      "tree": "aa496a9ba20e06749194faa4dbb14b6046e6b06b",
      "parents": [
        "080d676de095a14ecba14c0b9a91acb5bbb634df"
      ],
      "author": {
        "name": "Andrew Bresticker",
        "email": "abrestic@google.com",
        "time": "Wed Nov 02 13:40:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 02 16:07:03 2011 -0700"
      },
      "message": "memcg: replace ss-\u003eid_lock with a rwlock\n\nWhile back-porting Johannes Weiner\u0027s patch \"mm: memcg-aware global\nreclaim\" for an internal effort, we noticed a significant performance\nregression during page-reclaim heavy workloads due to high contention of\nthe ss-\u003eid_lock.  This lock protects idr map, and serializes calls to\nidr_get_next() in css_get_next() (which is used during the memcg hierarchy\nwalk).\n\nSince idr_get_next() is just doing a look up, we need only serialize it\nwith respect to idr_remove()/idr_get_new().  By making the ss-\u003eid_lock a\nrwlock, contention is greatly reduced and performance improves.\n\nTested: cat a 256m file from a ramdisk in a 128m container 50 times on\neach core (one file + container per core) in parallel on a NUMA machine.\nResult is the time for the test to complete in 1 of the containers.\nBoth kernels included Johannes\u0027 memcg-aware global reclaim patches.\n\nBefore rwlock patch: 1710.778s\nAfter rwlock patch: 152.227s\n\nSigned-off-by: Andrew Bresticker \u003cabrestic@google.com\u003e\nCc: Paul Menage \u003cmenage@gmail.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "77ceab8ea590d7dc6c8f055ce43dfebd74428107",
      "tree": "b2ef5e5baca4579565ab9bf527e965dd9b93a25a",
      "parents": [
        "33ef6b6984403a688189317ef46bb3caab3b70e0"
      ],
      "author": {
        "name": "Ben Blum",
        "email": "bblum@andrew.cmu.edu",
        "time": "Wed Nov 02 13:38:07 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 02 16:06:59 2011 -0700"
      },
      "message": "cgroups: don\u0027t attach task to subsystem if migration failed\n\nIf a task has exited to the point it has called cgroup_exit() already,\nthen we can\u0027t migrate it to another cgroup anymore.\n\nThis can happen when we are attaching a task to a new cgroup between the\ncall to -\u003ecan_attach_task() on subsystems and the migration that is\neventually tried in cgroup_task_migrate().\n\nIn this case cgroup_task_migrate() returns -ESRCH and we don\u0027t want to\nattach the task to the subsystems because the attachment to the new cgroup\nitself failed.\n\nFix this by only calling -\u003eattach_task() on the subsystems if the cgroup\nmigration succeeded.\n\nReported-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Ben Blum \u003cbblum@andrew.cmu.edu\u003e\nAcked-by: Paul Menage \u003cpaul@paulmenage.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "33ef6b6984403a688189317ef46bb3caab3b70e0",
      "tree": "43dff6dd0150b34ce69b1d681c92659c9b20eb5c",
      "parents": [
        "434a964daa14b9db083ce20404a4a2add54d037a"
      ],
      "author": {
        "name": "Ben Blum",
        "email": "bblum@andrew.cmu.edu",
        "time": "Wed Nov 02 13:38:05 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 02 16:06:59 2011 -0700"
      },
      "message": "cgroups: more safe tasklist locking in cgroup_attach_proc\n\nFix unstable tasklist locking in cgroup_attach_proc.\n\nAccording to this thread - https://lkml.org/lkml/2011/7/27/243 - RCU is\nnot sufficient to guarantee the tasklist is stable w.r.t.  de_thread and\nexit.  Taking tasklist_lock for reading, instead of rcu_read_lock, ensures\nproper exclusion.\n\nSigned-off-by: Ben Blum \u003cbblum@andrew.cmu.edu\u003e\nAcked-by: Paul Menage \u003cpaul@paulmenage.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cdcc136ffd264849a943acb42c36ffe9b458f811",
      "tree": "9ec3752bb848a1b5af87ccd08172367ec7417989",
      "parents": [
        "f032a450812f6c7edd532772cc7c48091bca9f27"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Jul 25 16:47:45 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 13 11:11:49 2011 +0200"
      },
      "message": "locking, sched, cgroups: Annotate release_list_lock as raw\n\nThe release_list_lock can be taken in atomic context and therefore\ncannot be preempted on -rt - annotate it.\n\nIn mainline this change documents the low level nature of\nthe lock - otherwise there\u0027s no functional difference. Lockdep\nand Sparse checking will work as usual.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "95b6886526bb510b8370b625a49bc0ab3b8ff10f",
      "tree": "2862606224820d200be12d2092dcd26df1654b80",
      "parents": [
        "22712200e175e0df5c7f9edfe6c6bf5c94c23b83",
        "29412f0f6a19e34336368f13eab848091c343952"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 27 19:26:38 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 27 19:26:38 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: (54 commits)\n  tpm_nsc: Fix bug when loading multiple TPM drivers\n  tpm: Move tpm_tis_reenable_interrupts out of CONFIG_PNP block\n  tpm: Fix compilation warning when CONFIG_PNP is not defined\n  TOMOYO: Update kernel-doc.\n  tpm: Fix a typo\n  tpm_tis: Probing function for Intel iTPM bug\n  tpm_tis: Fix the probing for interrupts\n  tpm_tis: Delay ACPI S3 suspend while the TPM is busy\n  tpm_tis: Re-enable interrupts upon (S3) resume\n  tpm: Fix display of data in pubek sysfs entry\n  tpm_tis: Add timeouts sysfs entry\n  tpm: Adjust interface timeouts if they are too small\n  tpm: Use interface timeouts returned from the TPM\n  tpm_tis: Introduce durations sysfs entry\n  tpm: Adjust the durations if they are too small\n  tpm: Use durations returned from TPM\n  TOMOYO: Enable conditional ACL.\n  TOMOYO: Allow using argv[]/envp[] of execve() as conditions.\n  TOMOYO: Allow using executable\u0027s realpath and symlink\u0027s target as conditions.\n  TOMOYO: Allow using owner/group etc. of file objects as conditions.\n  ...\n\nFix up trivial conflict in security/tomoyo/realpath.c\n"
    },
    {
      "commit": "60063497a95e716c9a689af3be2687d261f115b4",
      "tree": "6ce0d68db76982c53df46aee5f29f944ebf2c320",
      "parents": [
        "148817ba092f9f6edd35bad3c6c6b8e8f90fe2ed"
      ],
      "author": {
        "name": "Arun Sharma",
        "email": "asharma@fb.com",
        "time": "Tue Jul 26 16:09:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:47 2011 -0700"
      },
      "message": "atomic: use \u003clinux/atomic.h\u003e\n\nThis allows us to move duplicated code in \u003casm/atomic.h\u003e\n(atomic_inc_not_zero() for now) to \u003clinux/atomic.h\u003e\n\nSigned-off-by: Arun Sharma \u003casharma@fb.com\u003e\nReviewed-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d3ec4844d449cf7af9e749f73ba2052fb7b72fc2",
      "tree": "c515913e85f7e50878c83da2a88bc5a7269d087c",
      "parents": [
        "0003230e8200699860f0b10af524dc47bf8aecad",
        "df2e301fee3c2c2a87592151397ad7699bb14c37"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 13:56:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 13:56:39 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits)\n  fs: Merge split strings\n  treewide: fix potentially dangerous trailing \u0027;\u0027 in #defined values/expressions\n  uwb: Fix misspelling of neighbourhood in comment\n  net, netfilter: Remove redundant goto in ebt_ulog_packet\n  trivial: don\u0027t touch files that are removed in the staging tree\n  lib/vsprintf: replace link to Draft by final RFC number\n  doc: Kconfig: `to be\u0027 -\u003e `be\u0027\n  doc: Kconfig: Typo: square -\u003e squared\n  doc: Konfig: Documentation/power/{pm \u003d\u003e apm-acpi}.txt\n  drivers/net: static should be at beginning of declaration\n  drivers/media: static should be at beginning of declaration\n  drivers/i2c: static should be at beginning of declaration\n  XTENSA: static should be at beginning of declaration\n  SH: static should be at beginning of declaration\n  MIPS: static should be at beginning of declaration\n  ARM: static should be at beginning of declaration\n  rcu: treewide: Do not use rcu_read_lock_held when calling rcu_dereference_check\n  Update my e-mail address\n  PCIe ASPM: forcedly -\u003e forcibly\n  gma500: push through device driver tree\n  ...\n\nFix up trivial conflicts:\n - arch/arm/mach-ep93xx/dma-m2p.c (deleted)\n - drivers/gpio/gpio-ep93xx.c (renamed and context nearby)\n - drivers/net/r8169.c (just context changes)\n"
    },
    {
      "commit": "3bfa784a6539f91a27d7ffdd408efdb638e3bebd",
      "tree": "2fb293076c98a4bbc18fd2ddad7fdc4cea08c384",
      "parents": [
        "1b5d783c94c328d406e801566f161adcfb018dda"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 19 12:55:10 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 01:43:11 2011 -0400"
      },
      "message": "kill file_permission() completely\n\nconvert the last remaining caller to inode_permission()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d8bf4ca9ca9576548628344c9725edd3786e90b1",
      "tree": "df338f50a5af6bc3651bd863b79fa91e6b1e9e20",
      "parents": [
        "eb032b9837a958e21ca000358a5bde5e17192ddb"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.cz",
        "time": "Fri Jul 08 14:39:41 2011 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Jul 08 22:21:58 2011 +0200"
      },
      "message": "rcu: treewide: Do not use rcu_read_lock_held when calling rcu_dereference_check\n\nSince ca5ecddf (rcu: define __rcu address space modifier for sparse)\nrcu_dereference_check use rcu_read_lock_held as a part of condition\nautomatically so callers do not have to do that as well.\n\nSigned-off-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "2ce9738bac1b386f46e8478fd2c263460e7c2b09",
      "tree": "46b703439644693efb26239fc9c6278c85e7feb7",
      "parents": [
        "f55cf3c76a3b2e4bdcfea4f95c9d527663b41ece"
      ],
      "author": {
        "name": "eparis@redhat",
        "email": "eparis@redhat",
        "time": "Thu Jun 02 21:20:51 2011 +1000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Jun 09 11:59:53 2011 +1000"
      },
      "message": "cgroupfs: use init_cred when populating new cgroupfs mount\n\nWe recently found that in some configurations SELinux was blocking the ability\nfor cgroupfs to be mounted.  The reason for this is because cgroupfs creates\nfiles and directories during the get_sb() call and also uses lookup_one_len()\nduring that same get_sb() call.  This is a problem since the security\nsubsystem cannot initialize the superblock and the inodes in that filesystem\nuntil after the get_sb() call returns.  Thus we leave the inodes in\nan unitialized state during get_sb().  For the vast majority of filesystems\nthis is not an issue, but since cgroupfs uses lookup_on_len() it does\nsearch permission checks on the directories in the path it walks.  Since the\ninode security state is not set up SELinux does these checks as if the inodes\nwere \u0027unlabeled.\u0027\n\nMany \u0027normal\u0027 userspace process do not have permission to interact with\nunlabeled inodes.  The solution presented here is to do the permission checks\nof path walk and inode creation as the kernel rather than as the task that\ncalled mount.  Since the kernel has permission to read/write/create\nunlabeled inodes the get_sb() call will complete successfully and the SELinux\ncode will be able to initialize the superblock and those inodes created during\nthe get_sb() call.\n\nThis appears to be the same solution used by other filesystems such as devtmpfs\nto solve the same issue and should thus have no negative impact on other LSMs\nwhich currently work.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "a77aea92010acf54ad785047234418d5d68772e2",
      "tree": "c7cb57b62fd02bee2baceb79251923f7caec6139",
      "parents": [
        "d846687d7f84e45f23ecf3846dbb43312a1206dd"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "daniel.lezcano@free.fr",
        "time": "Thu May 26 16:25:23 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:34 2011 -0700"
      },
      "message": "cgroup: remove the ns_cgroup\n\nThe ns_cgroup is an annoying cgroup at the namespace / cgroup frontier and\nleads to some problems:\n\n  * cgroup creation is out-of-control\n  * cgroup name can conflict when pids are looping\n  * it is not possible to have a single process handling a lot of\n    namespaces without falling in a exponential creation time\n  * we may want to create a namespace without creating a cgroup\n\n  The ns_cgroup was replaced by a compatibility flag \u0027clone_children\u0027,\n  where a newly created cgroup will copy the parent cgroup values.\n  The userspace has to manually create a cgroup and add a task to\n  the \u0027tasks\u0027 file.\n\nThis patch removes the ns_cgroup as suggested in the following thread:\n\nhttps://lists.linux-foundation.org/pipermail/containers/2009-June/018616.html\n\nThe \u0027cgroup_clone\u0027 function is removed because it is no longer used.\n\nThis is a userspace-visible change.  Commit 45531757b45c (\"cgroup: notify\nns_cgroup deprecated\") (merged into 2.6.27) caused the kernel to emit a\nprintk warning users that the feature is planned for removal.  Since that\ntime we have heard from XXX users who were affected by this.\n\nSigned-off-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nSigned-off-by: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nAcked-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d846687d7f84e45f23ecf3846dbb43312a1206dd",
      "tree": "5c19cf2e0e2faf288bb536f6878cddf11498ef3e",
      "parents": [
        "74a1166dfe1135dcc168d35fa5261aa7e087011b"
      ],
      "author": {
        "name": "Ben Blum",
        "email": "bblum@andrew.cmu.edu",
        "time": "Thu May 26 16:25:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:34 2011 -0700"
      },
      "message": "cgroups: use flex_array in attach_proc\n\nConvert cgroup_attach_proc to use flex_array.\n\nThe cgroup_attach_proc implementation requires a pre-allocated array to\nstore task pointers to atomically move a thread-group, but asking for a\nmonolithic array with kmalloc() may be unreliable for very large groups.\nUsing flex_array provides the same functionality with less risk of\nfailure.\n\nThis is a post-patch for cgroup-procs-write.patch.\n\nSigned-off-by: Ben Blum \u003cbblum@andrew.cmu.edu\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nReviewed-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "74a1166dfe1135dcc168d35fa5261aa7e087011b",
      "tree": "a7add70f0344e2352b8d0d6beb10aef85c6585f7",
      "parents": [
        "f780bdb7c1c73009cb57adcf99ef50027d80bf3c"
      ],
      "author": {
        "name": "Ben Blum",
        "email": "bblum@andrew.cmu.edu",
        "time": "Thu May 26 16:25:20 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:34 2011 -0700"
      },
      "message": "cgroups: make procs file writable\n\nMake procs file writable to move all threads by tgid at once.\n\nAdd functionality that enables users to move all threads in a threadgroup\nat once to a cgroup by writing the tgid to the \u0027cgroup.procs\u0027 file.  This\ncurrent implementation makes use of a per-threadgroup rwsem that\u0027s taken\nfor reading in the fork() path to prevent newly forking threads within the\nthreadgroup from \"escaping\" while the move is in progress.\n\nSigned-off-by: Ben Blum \u003cbblum@andrew.cmu.edu\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nReviewed-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f780bdb7c1c73009cb57adcf99ef50027d80bf3c",
      "tree": "d15668ffcc40a2aaa31723b87cfda0b166f84d57",
      "parents": [
        "4714d1d32d97239fb5ae3e10521d3f133a899b66"
      ],
      "author": {
        "name": "Ben Blum",
        "email": "bblum@andrew.cmu.edu",
        "time": "Thu May 26 16:25:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:34 2011 -0700"
      },
      "message": "cgroups: add per-thread subsystem callbacks\n\nAdd cgroup subsystem callbacks for per-thread attachment in atomic contexts\n\nAdd can_attach_task(), pre_attach(), and attach_task() as new callbacks\nfor cgroups\u0027s subsystem interface.  Unlike can_attach and attach, these\nare for per-thread operations, to be called potentially many times when\nattaching an entire threadgroup.\n\nAlso, the old \"bool threadgroup\" interface is removed, as replaced by\nthis.  All subsystems are modified for the new interface - of note is\ncpuset, which requires from/to nodemasks for attach to be globally scoped\n(though per-cpuset would work too) to persist from its pre_attach to\nattach_task and attach.\n\nThis is a pre-patch for cgroup-procs-writable.patch.\n\nSigned-off-by: Ben Blum \u003cbblum@andrew.cmu.edu\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nReviewed-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "025cea99db3fb110ebc8ede5ff647833fab9574f",
      "tree": "cfef202674eaf06953405b03b000e77251287099",
      "parents": [
        "f2da1c40dc003939f616f27a103b2592f1424b07"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Mar 15 17:56:10 2011 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat May 07 22:50:47 2011 -0700"
      },
      "message": "cgroup,rcu: convert call_rcu(__free_css_id_cb) to kfree_rcu()\n\nThe rcu callback __free_css_id_cb() just calls a kfree(),\nso we use kfree_rcu() instead of the call_rcu(__free_css_id_cb).\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "f2da1c40dc003939f616f27a103b2592f1424b07",
      "tree": "a34d091b5652a7605269cff58b9e259dc94198a7",
      "parents": [
        "30088ad815802f850f26114920ccf9effd4bc520"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Mar 15 17:55:16 2011 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat May 07 22:50:46 2011 -0700"
      },
      "message": "cgroup,rcu: convert call_rcu(free_cgroup_rcu) to kfree_rcu()\n\nThe rcu callback free_cgroup_rcu() just calls a kfree(),\nso we use kfree_rcu() instead of the call_rcu(free_cgroup_rcu).\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "30088ad815802f850f26114920ccf9effd4bc520",
      "tree": "7002a56ddb8873ae42921f1f6605fcc7b0fbbd71",
      "parents": [
        "1217ed1ba5c67393293dfb0f03c353b118dadeb4"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Mar 15 17:53:46 2011 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat May 07 22:50:45 2011 -0700"
      },
      "message": "cgroup,rcu: convert call_rcu(free_css_set_rcu) to kfree_rcu()\n\nThe rcu callback free_css_set_rcu() just calls a kfree(),\nso we use kfree_rcu() instead of the call_rcu(free_css_set_rcu).\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "8d2587970b8bdf7c8d9208e3f4bb93182aef1a0f",
      "tree": "931cacaa98583412975b4601b62fb244a5ed678d",
      "parents": [
        "edd45544c6f09550df0a5491aa8a07af24767e73"
      ],
      "author": {
        "name": "Phil Carmody",
        "email": "ext-phil.2.carmody@nokia.com",
        "time": "Tue Mar 22 16:30:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:43:58 2011 -0700"
      },
      "message": "cgroups: if you list_empty() a head then don\u0027t list_del() it\n\nlist_del() leaves poison in the prev and next pointers.  The next\nlist_empty() will compare those poisons, and say the list isn\u0027t empty.\nAny list operations that assume the node is on a list because of such a\ncheck will be fooled into dereferencing poison.  One needs to INIT the\nnode after the del, and fortunately there\u0027s already a wrapper for that -\nlist_del_init().\n\nSome of the dels are followed by deallocations, so can be ignored, and one\ncan be merged with an add to make a move.  Apart from that, I erred on the\nside of caution in making nodes list_empty()-queriable.\n\nSigned-off-by: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nReviewed-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e5d1367f17ba6a6fed5fd8b74e4d5720923e0c25",
      "tree": "5862b4cddb7c88e0513e503cb3f46c60da2eeb6f",
      "parents": [
        "d41d5a01631af821d3a3447e6613a316f5ee6c25"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Mon Feb 14 11:20:01 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 16 13:30:48 2011 +0100"
      },
      "message": "perf: Add cgroup support\n\nThis kernel patch adds the ability to filter monitoring based on\ncontainer groups (cgroups). This is for use in per-cpu mode only.\n\nThe cgroup to monitor is passed as a file descriptor in the pid\nargument to the syscall. The file descriptor must be opened to\nthe cgroup name in the cgroup filesystem. For instance, if the\ncgroup name is foo and cgroupfs is mounted in /cgroup, then the\nfile descriptor is opened to /cgroup/foo. Cgroup mode is\nactivated by passing PERF_FLAG_PID_CGROUP in the flags argument\nto the syscall.\n\nFor instance to measure in cgroup foo on CPU1 assuming\ncgroupfs is mounted under /cgroup:\n\nstruct perf_event_attr attr;\nint cgroup_fd, fd;\n\ncgroup_fd \u003d open(\"/cgroup/foo\", O_RDONLY);\nfd \u003d perf_event_open(\u0026attr, cgroup_fd, 1, -1, PERF_FLAG_PID_CGROUP);\nclose(cgroup_fd);\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\n[ added perf_cgroup_{exit,attach} ]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c4d590250.114ddf0a.689e.4482@mx.google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d41d5a01631af821d3a3447e6613a316f5ee6c25",
      "tree": "405ab6bc24e06a64dc17ccafb6daead1400cb29e",
      "parents": [
        "b00560f2d4de69bb12f66f9605985b516df98d77"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Feb 07 17:02:20 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 16 13:30:47 2011 +0100"
      },
      "message": "cgroup: Fix cgroup_subsys::exit callback\n\nMake the ::exit method act like ::attach, it is after all very nearly\nthe same thing.\n\nThe bug had no effect on correctness - fixing it is an optimization for\nthe scheduler. Also, later perf-cgroups patches rely on it.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nLKML-Reference: \u003c1297160655.13327.92.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "acda4721ae876dedab3fef04bbd8020bfa67ff0a",
      "tree": "ec48d554fe48b3915912e2ae62bc962ade0553bd",
      "parents": [
        "822e5215f9eef86c1dd56d5696bf55a212b0e3f0",
        "32385c7cf60a78375b63afc4f02001df84dfd1a0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 09:08:29 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 09:08:29 2011 -0800"
      },
      "message": "Merge branch \u0027vfs-scale-working\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/npiggin/linux-npiggin\n\n* \u0027vfs-scale-working\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/npiggin/linux-npiggin:\n  kernel: fix hlist_bl again\n  cgroups: Fix a lockdep warning at cgroup removal\n  fs: namei fix -\u003eput_link on wrong inode in do_filp_open\n"
    },
    {
      "commit": "c72a04e34735ec3f19f4788b7f95017310b5e1eb",
      "tree": "9a6958a8f291c4bd4ac80548565d3a41f8bec84a",
      "parents": [
        "323b7fe8f8f6d5ac6214382cf30e8b3a80b265c9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Fri Jan 14 05:31:45 2011 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 08:07:48 2011 -0800"
      },
      "message": "cgroup_fs: fix cgroup use of simple_lookup()\n\ncgroup can\u0027t use simple_lookup(), since that\u0027d override its desired -\u003ed_op.\n\nTested-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3ec762ad8be364c2fadfe0d6b2cc6d4d3b5e1b54",
      "tree": "abd1529daad510dbf44a6ebcaa1f680b073eaca6",
      "parents": [
        "7b9337aaf98f9941d0927a75217d3ff31afec609"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Jan 14 11:34:34 2011 +0800"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 14 08:46:29 2011 +0000"
      },
      "message": "cgroups: Fix a lockdep warning at cgroup removal\n\nCommit 2fd6b7f5 (\"fs: dcache scale subdirs\") forgot to annotate a dentry\nlock, which caused a lockdep warning.\n\nReported-by: Valdis Kletnieks \u003cValdis.Kletnieks@vt.edu\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "0df6a63f8735a7c8a877878bc215d4312e41ef81",
      "tree": "93eb15c4408d86e16a6a96409670d16cf223e106",
      "parents": [
        "af53d29ac13a97304d44343dc3b26154ca595268"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Dec 21 13:29:29 2010 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jan 12 20:02:47 2011 -0500"
      },
      "message": "switch cgroup\n\nswitching it to s_d_op allows to kill the cgroup_lookup() kludge.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "fb045adb99d9b7c562dc7fef834857f78249daa1",
      "tree": "1fd6a4024fffeec568abe100d730589bfdb81c38",
      "parents": [
        "5f57cbcc02cf18f6b22ef4066bb10afeb8f930ff"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:55 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:28 2011 +1100"
      },
      "message": "fs: dcache reduce branches in lookup path\n\nReduce some branches and memory accesses in dcache lookup by adding dentry\nflags to indicate common d_ops are set, rather than having to check them.\nThis saves a pointer memory access (dentry-\u003ed_op) in common path lookup\nsituations, and saves another pointer load and branch in cases where we\nhave d_op but not the particular operation.\n\nPatched with:\n\ngit grep -E \u0027[.\u003e]([[:space:]])*d_op([[:space:]])*\u003d\u0027 | xargs sed -e \u0027s/\\([^\\t ]*\\)-\u003ed_op \u003d \\(.*\\);/d_set_d_op(\\1, \\2);/\u0027 -e \u0027s/\\([^\\t ]*\\)\\.d_op \u003d \\(.*\\);/d_set_d_op(\\\u0026\\1, \\2);/\u0027 -i\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "dc0474be3e27463d4d4a2793f82366eed906f223",
      "tree": "41f75e638442cb343bacdcfbabb17ffc3bd5b4ce",
      "parents": [
        "357f8e658bba8a085c4a5d4331e30894be8096b8"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:43 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:24 2011 +1100"
      },
      "message": "fs: dcache rationalise dget variants\n\ndget_locked was a shortcut to avoid the lazy lru manipulation when we already\nheld dcache_lock (lru manipulation was relatively cheap at that point).\nHowever, how that the lru lock is an innermost one, we never hold it at any\ncaller, so the lock cost can now be avoided. We already have well working lazy\ndcache LRU, so it should be fine to defer LRU manipulations to scan time.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "b5c84bf6f6fa3a7dfdcb556023a62953574b60ee",
      "tree": "7a2c299a180713e21d5cb653cb933121adf53c31",
      "parents": [
        "949854d02455080d20cd3e1db28a3a18daf7599d"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:38 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:23 2011 +1100"
      },
      "message": "fs: dcache remove dcache_lock\n\ndcache_lock no longer protects anything. remove it.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "2fd6b7f50797f2e993eea59e0a0b8c6399c811dc",
      "tree": "ce33b94b34844c09103836cf4cfa4364b742f217",
      "parents": [
        "da5029563a0a026c64821b09e8e7b4fd81d3fe1b"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:34 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:21 2011 +1100"
      },
      "message": "fs: dcache scale subdirs\n\nProtect d_subdirs and d_child with d_lock, except in filesystems that aren\u0027t\nusing dcache_lock for these anyway (eg. using i_mutex).\n\nNote: if we change the locking rule in future so that -\u003ed_child protection is\nprovided only with -\u003ed_parent-\u003ed_lock, it may allow us to reduce some locking.\nBut it would be an exception to an otherwise regular locking scheme, so we\u0027d\nhave to see some good results. Probably not worthwhile.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "b7ab39f631f505edc2bbdb86620d5493f995c9da",
      "tree": "62be97ebc7fc69ceb601f23312d335ebb8038ee7",
      "parents": [
        "2304450783dfde7b0b94ae234edd0dbffa865073"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:32 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:21 2011 +1100"
      },
      "message": "fs: dcache scale dentry refcount\n\nMake d_count non-atomic and protect it with d_lock. This allows us to ensure a\n0 refcount dentry remains 0 without dcache_lock. It is also fairly natural when\nwe start protecting many other dentry members with d_lock.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "fe15ce446beb3a33583af81ffe6c9d01a75314ed",
      "tree": "bc8af66b6dd2d0f21a2a3f48a19975ae2cdbae4e",
      "parents": [
        "5eef7fa905c814826f518aca2d414ca77508ce30"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:23 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:18 2011 +1100"
      },
      "message": "fs: change d_delete semantics\n\nChange d_delete from a dentry deletion notification to a dentry caching\nadvise, more like -\u003edrop_inode. Require it to be constant and idempotent,\nand not take d_lock. This is how all existing filesystems use the callback\nanyway.\n\nThis makes fine grained dentry locking of dput and dentry lru scanning\nmuch simpler.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "5adcee1d8d32d7f305f6f5aaefdbf8f35adca177",
      "tree": "9292ebc9bb6a21b364a97a44d1b6857a565159c5",
      "parents": [
        "3e880fb5e4bb6a012035e3edd0586ee2817c2e24"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:20 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:17 2011 +1100"
      },
      "message": "cgroup fs: avoid switching -\u003ed_op on live dentry\n\nSwitching d_op on a live dentry is racy in general, so avoid it. In this case\nit is a negative dentry, which is safer, but there are still concurrent ops\nwhich may be called on d_op in that case (eg. d_revalidate). So in general\na filesystem may not do this. Fix cgroupfs so as not to do this.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "f7e835710ab5f6e43933c983f38f2d2e262b718c",
      "tree": "6acdc8212053398e6913dc5c0d8392edcf202f05",
      "parents": [
        "ceefda6931806972ecf550bd8231dce4a4178953"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jul 26 13:23:11 2010 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 29 04:17:06 2010 -0400"
      },
      "message": "convert cgroup and cpuset\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f4a2589feaef0a9b737a3e582b37ee96695bb25f",
      "tree": "ea5eb5c6f2c1f826893271b861d63272efd6546d",
      "parents": [
        "32a8cf235e2f192eb002755076994525cdbaa35a"
      ],
      "author": {
        "name": "Evgeny Kuznetsov",
        "email": "ext-eugeny.kuznetsov@nokia.com",
        "time": "Wed Oct 27 15:33:37 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:09 2010 -0700"
      },
      "message": "cgroups: add check for strcpy destination string overflow\n\nFunction \"strcpy\" is used without check for maximum allowed source string\nlength and could cause destination string overflow.  Check for string\nlength is added before using \"strcpy\".  Function now is return error if\nsource string length is more than a maximum.\n\nakpm: presently considered NotABug, but add the check for general\nfuture-safeness and robustness.\n\nSigned-off-by: Evgeny Kuznetsov \u003cEXT-Eugeny.Kuznetsov@nokia.com\u003e\nAcked-by: 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": "32a8cf235e2f192eb002755076994525cdbaa35a",
      "tree": "a4d849c31703d18365e063a4cc7627bfd13ca253",
      "parents": [
        "97978e6d1f2da0073416870410459694fbdbfd9b"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "daniel.lezcano@free.fr",
        "time": "Wed Oct 27 15:33:37 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:09 2010 -0700"
      },
      "message": "cgroup: make the mount options parsing more accurate\n\nCurrent behavior:\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\n(1) When we mount a cgroup, we can specify the \u0027all\u0027 option which\n    means to enable all the cgroup subsystems.  This is the default option\n    when no option is specified.\n\n(2) If we want to mount a cgroup with a subset of the supported cgroup\n    subsystems, we have to specify a subsystems name list for the mount\n    option.\n\n(3) If we specify another option like \u0027noprefix\u0027 or \u0027release_agent\u0027,\n    the actual code wants the \u0027all\u0027 or a subsystem name option specified\n    also.  Not critical but a bit not friendly as we should assume (1) in\n    this case.\n\n(4) Logically, the \u0027all\u0027 option is mutually exclusive with a subsystem\n    name, but this is not detected.\n\nIn other words:\n succeed : mount -t cgroup -o all,freezer cgroup /cgroup\n\t\u003d\u003e is it \u0027all\u0027 or \u0027freezer\u0027 ?\n fails : mount -t cgroup -o noprefix cgroup /cgroup\n\t\u003d\u003e succeed if we do \u0027-o noprefix,all\u0027\n\nThe following patches consolidate a bit the mount options check.\n\nNew behavior:\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\n(1) untouched\n(2) untouched\n(3) the \u0027all\u0027 option will be by default when specifying other than\n    a subsystem name option\n(4) raises an error\n\nIn other words:\n fails   : mount -t cgroup -o all,freezer cgroup /cgroup\n succeed : mount -t cgroup -o noprefix cgroup /cgroup\n\nFor the sake of lisibility, the if ... then ... else ... if ...\nindentation when parsing the options has been changed to:\nif ... then\n\t...\n\tcontinue\nfi\n\nSigned-off-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nSigned-off-by: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nReviewed-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\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": "97978e6d1f2da0073416870410459694fbdbfd9b",
      "tree": "e8ff2fe4119d03fa54a45e8a101adbf9fb91a385",
      "parents": [
        "2d3cbf8bc852ac1bc3d098186143c5973f87b753"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "daniel.lezcano@free.fr",
        "time": "Wed Oct 27 15:33:35 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:09 2010 -0700"
      },
      "message": "cgroup: add clone_children control file\n\nThe ns_cgroup is a control group interacting with the namespaces.  When a\nnew namespace is created, a corresponding cgroup is automatically created\ntoo.  The cgroup name is the pid of the process who did \u0027unshare\u0027 or the\nchild of \u0027clone\u0027.\n\nThis cgroup is tied with the namespace because it prevents a process to\nescape the control group and use the post_clone callback, so the child\ncgroup inherits the values of the parent cgroup.\n\nUnfortunately, the more we use this cgroup and the more we are facing\nproblems with it:\n\n(1) when a process unshares, the cgroup name may conflict with a\n    previous cgroup with the same pid, so unshare or clone return -EEXIST\n\n(2) the cgroup creation is out of control because there may have an\n    application creating several namespaces where the system will\n    automatically create several cgroups in his back and let them on the\n    cgroupfs (eg.  a vrf based on the network namespace).\n\n(3) the mix of (1) and (2) force an administrator to regularly check\n    and clean these cgroups.\n\nThis patchset removes the ns_cgroup by adding a new flag to the cgroup and\nthe cgroupfs mount option.  It enables the copy of the parent cgroup when\na child cgroup is created.  We can then safely remove the ns_cgroup as\nthis flag brings a compatibility.  We have now to manually create and add\nthe task to a cgroup, which is consistent with the cgroup framework.\n\nThis patch:\n\nSent as an answer to a previous thread around the ns_cgroup.\n\nhttps://lists.linux-foundation.org/pipermail/containers/2009-June/018627.html\n\nIt adds a control file \u0027clone_children\u0027 for a cgroup.  This control file\nis a boolean specifying if the child cgroup should be a clone of the\nparent cgroup or not.  The default value is \u0027false\u0027.\n\nThis flag makes the child cgroup to call the post_clone callback of all\nthe subsystem, if it is available.\n\nAt present, the cpuset is the only one which had implemented the\npost_clone callback.\n\nThe option can be set at mount time by specifying the \u0027clone_children\u0027\nmount option.\n\nSigned-off-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nSigned-off-by: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nAcked-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": "85fe4025c616a7c0ed07bc2fc8c5371b07f3888c",
      "tree": "7a5db7accb6192f2911f2473b4e3191227b914cc",
      "parents": [
        "f991bd2e14210fb93d722cb23e54991de20e8a3d"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sat Oct 23 11:19:54 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 25 21:26:11 2010 -0400"
      },
      "message": "fs: do not assign default i_ino in new_inode\n\nInstead of always assigning an increasing inode number in new_inode\nmove the call to assign it into those callers that actually need it.\nFor now callers that need it is estimated conservatively, that is\nthe call is added to all filesystems that do not assign an i_ino\nby themselves.  For a few more filesystems we can avoid assigning\nany inode number given that they aren\u0027t user visible, and for others\nit could be done lazily when an inode number is actually needed,\nbut that\u0027s left for later patches.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "79f14b7c56d3b3ba58f8b43d1f70b9b71477a800",
      "tree": "3bb53b7806c1baba6cc24b91724a9264cceccd39",
      "parents": [
        "c37927d4359e81b85de644f8fb08878717cf5f3f",
        "6d7bccc2215c37205ede6c9cf84db64e7c4f9443"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:01 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:01 2010 -0700"
      },
      "message": "Merge branch \u0027vfs\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl\n\n* \u0027vfs\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl: (30 commits)\n  BKL: remove BKL from freevxfs\n  BKL: remove BKL from qnx4\n  autofs4: Only declare function when CONFIG_COMPAT is defined\n  autofs: Only declare function when CONFIG_COMPAT is defined\n  ncpfs: Lock socket in ncpfs while setting its callbacks\n  fs/locks.c: prepare for BKL removal\n  BKL: Remove BKL from ncpfs\n  BKL: Remove BKL from OCFS2\n  BKL: Remove BKL from squashfs\n  BKL: Remove BKL from jffs2\n  BKL: Remove BKL from ecryptfs\n  BKL: Remove BKL from afs\n  BKL: Remove BKL from USB gadgetfs\n  BKL: Remove BKL from autofs4\n  BKL: Remove BKL from isofs\n  BKL: Remove BKL from fat\n  BKL: Remove BKL from ext2 filesystem\n  BKL: Remove BKL from do_new_mount()\n  BKL: Remove BKL from cgroup\n  BKL: Remove BKL from NTFS\n  ...\n"
    },
    {
      "commit": "d4f8f217b8a5d5bd02af979650418dca4caec472",
      "tree": "af047bfa9729c975e24cb7624107574e884d3a57",
      "parents": [
        "2dfbf4dfbe47a484bae20456c12b40763b9b6af7",
        "773e3f93577ffb493fb7c39b1a6ecf39b5748e87"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 07 09:43:11 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 07 09:43:11 2010 +0200"
      },
      "message": "Merge branch \u0027rcu/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-2.6-rcu into core/rcu\n"
    },
    {
      "commit": "38d018dba3f725b969f196550d92a6ec1c092428",
      "tree": "3699b1b32aa5b6f42e323690299ba60f1b32b981",
      "parents": [
        "efdffb54034a6fc96bc7fafa33ca2a5503113eee"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@infradead.org",
        "time": "Wed Feb 24 13:25:34 2010 +0100"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon Oct 04 21:10:42 2010 +0200"
      },
      "message": "BKL: Remove BKL from cgroup\n\nThe BKL is only used in remount_fs and get_sb that are both protected by\nthe superblocks s_umount rw_semaphore. Therefore it is safe to remove the\nBKL entirely.\n\nSigned-off-by: Jan Blunck \u003cjblunck@infradead.org\u003e\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "db71922217a214e5c9268448e537b54fc1f301ea",
      "tree": "9c9afbf29411547891f6968e5ade29ce59d66c07",
      "parents": [
        "899611ee7d373e5eeda08e9a8632684e1ebbbf00"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@infradead.org",
        "time": "Sun Aug 15 22:51:10 2010 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon Oct 04 21:10:10 2010 +0200"
      },
      "message": "BKL: Explicitly add BKL around get_sb/fill_super\n\nThis patch is a preparation necessary to remove the BKL from do_new_mount().\nIt explicitly adds calls to lock_kernel()/unlock_kernel() around\nget_sb/fill_super operations for filesystems that still uses the BKL.\n\nI\u0027ve read through all the code formerly covered by the BKL inside\ndo_kern_mount() and have satisfied myself that it doesn\u0027t need the BKL\nany more.\n\ndo_kern_mount() is already called without the BKL when mounting the rootfs\nand in nfsctl. do_kern_mount() calls vfs_kern_mount(), which is called\nfrom various places without BKL: simple_pin_fs(), nfs_do_clone_mount()\nthrough nfs_follow_mountpoint(), afs_mntpt_do_automount() through\nafs_mntpt_follow_link(). Both later functions are actually the filesystems\nfollow_link inode operation. vfs_kern_mount() is calling the specified\nget_sb function and lets the filesystem do its job by calling the given\nfill_super function.\n\nTherefore I think it is safe to push down the BKL from the VFS to the\nlow-level filesystems get_sb/fill_super operation.\n\n[arnd: do not add the BKL to those file systems that already\n       don\u0027t use it elsewhere]\n\nSigned-off-by: Jan Blunck \u003cjblunck@infradead.org\u003e\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "31583bb0cf6cc40f2a468a4d2f3b9cbefd24f891",
      "tree": "1c9ff4ff83ef80fe0b9b5d6fa7ec9af1ebbc2209",
      "parents": [
        "ed430fec756ad65f7cfba24f8ad17c3d5a403290"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Sep 09 16:37:37 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 09 18:57:23 2010 -0700"
      },
      "message": "cgroups: fix API thinko\n\nAdd cgroup_attach_task_all()\n\nThe existing cgroup_attach_task_current_cg() API is called by a thread to\nattach another thread to all of its cgroups; this is unsuitable for cases\nwhere a privileged task wants to attach itself to the cgroups of a less\nprivileged one, since the call must be made from the context of the target\ntask.\n\nThis patch adds a more generic cgroup_attach_task_all() API that allows\nboth the source task and to-be-moved task to be specified.\ncgroup_attach_task_current_cg() becomes a specialization of the more\ngeneric new function.\n\n[menage@google.com: rewrote changelog]\n[akpm@linux-foundation.org: address reviewer comments]\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nTested-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Ben Blum \u003cbblum@google.com\u003e\nCc: Sridhar Samudrala \u003csri@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2c392b8c3450ceb69ba1b93cb0cddb3998fb8cdc",
      "tree": "4e8e9414afe539baa66eacad9c99dd3bc15feabc",
      "parents": [
        "67bdbffd696f29a0b68aa8daa285783a06651583"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Feb 24 19:41:39 2010 +0100"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Aug 19 17:18:00 2010 -0700"
      },
      "message": "cgroups: __rcu annotations\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "e400c28524af2d344b1663b27bf28984fa959a0e",
      "tree": "00be68cbb87be859edd67da60dfd12506879fe01",
      "parents": [
        "2b24706a798d07cf40534d7763f608045e42e15f"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Tue Aug 10 18:02:54 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:18 2010 -0700"
      },
      "message": "cgroups: save space for the terminator\n\nThe original code didn\u0027t leave enough space for a NULL terminator.  These\nstrings are copied with strcpy() into fixed length buffers in\ncgroup_root_from_opts().\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nAcked-by: Serge E. Hallyn \u003cserge@hallyn.com\u003e\nReviewd-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Ben Blum \u003cbblum@andrew.cmu.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "676db4af043014e852f67ba0349dae0071bd11f3",
      "tree": "63435bb80dc87454c54aec82e9ba78671b26e688",
      "parents": [
        "45daef0fdcc44f6af86fdebc4fc7eb7c79375398"
      ],
      "author": {
        "name": "Greg KH",
        "email": "gregkh@suse.de",
        "time": "Thu Aug 05 13:53:35 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Aug 05 13:53:35 2010 -0700"
      },
      "message": "cgroupfs: create /sys/fs/cgroup to mount cgroupfs on\n\nWe really shouldn\u0027t be asking userspace to create new root filesystems.\nSo follow along with all of the other in-kernel filesystems, and provide\na mount point in sysfs.\n\nFor cgroupfs, this should be in /sys/fs/cgroup/  This change provides\nthat mount point when the cgroup filesystem is registered in the kernel.\n\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nAcked-by: Dhaval Giani \u003cdhaval.giani@gmail.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Lennart Poettering \u003clennart@poettering.net\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6ba74014c1ab0e37af7de6f64b4eccbbae3cb9e7",
      "tree": "8f3892fc44f1e403675a6d7e88fda5c70e56ee4c",
      "parents": [
        "5abd9ccced7a726c817dd6b5b96bc933859138d1",
        "3ff1c25927e3af61c6bf0e4ed959504058ae4565"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 11:47:58 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 11:47:58 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1443 commits)\n  phy/marvell: add 88ec048 support\n  igb: Program MDICNFG register prior to PHY init\n  e1000e: correct MAC-PHY interconnect register offset for 82579\n  hso: Add new product ID\n  can: Add driver for esd CAN-USB/2 device\n  l2tp: fix export of header file for userspace\n  can-raw: Fix skb_orphan_try handling\n  Revert \"net: remove zap_completion_queue\"\n  net: cleanup inclusion\n  phy/marvell: add 88e1121 interface mode support\n  u32: negative offset fix\n  net: Fix a typo from \"dev\" to \"ndev\"\n  igb: Use irq_synchronize per vector when using MSI-X\n  ixgbevf: fix null pointer dereference due to filter being set for VLAN 0\n  e1000e: Fix irq_synchronize in MSI-X case\n  e1000e: register pm_qos request on hardware activation\n  ip_fragment: fix subtracting PPPOE_SES_HLEN from mtu twice\n  net: Add getsockopt support for TCP thin-streams\n  cxgb4: update driver version\n  cxgb4: add new PCI IDs\n  ...\n\nManually fix up conflicts in:\n - drivers/net/e1000e/netdev.c: due to pm_qos registration\n   infrastructure changes\n - drivers/net/phy/marvell.c: conflict between adding 88ec048 support\n   and cleaning up the IDs\n - drivers/net/wireless/ipw2x00/ipw2100.c: trivial ipw2100_pm_qos_req\n   conflict (registration change vs marking it static)\n"
    },
    {
      "commit": "d7926ee38f5c6e0bbebe712304f99a4c67e40f84",
      "tree": "2feae78726dae032741f81fc9590d61693a182f5",
      "parents": [
        "c23f3445e68e1db0e74099f264bc5ff5d55ebdeb"
      ],
      "author": {
        "name": "Sridhar Samudrala",
        "email": "samudrala.sridhar@gmail.com",
        "time": "Sun May 30 22:24:39 2010 +0200"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Wed Jul 28 15:45:12 2010 +0300"
      },
      "message": "cgroups: Add an API to attach a task to current task\u0027s cgroup\n\nAdd a new kernel API to attach a task to current task\u0027s cgroup\nin all the active hierarchies.\n\nSigned-off-by: Sridhar Samudrala \u003csri@us.ibm.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nReviewed-by: Paul Menage \u003cmenage@google.com\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "94b3dd0f7bb393d93e84a173b1df9b8b64c83ac4",
      "tree": "11f49a1614e8321a6b4335f7a5022a487838397d",
      "parents": [
        "007d08678eb87478b65b3f229960c81dd7c7b8f3"
      ],
      "author": {
        "name": "Greg Thelen",
        "email": "gthelen@google.com",
        "time": "Fri Jun 04 14:15:03 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 04 15:21:45 2010 -0700"
      },
      "message": "cgroups: alloc_css_id() increments hierarchy depth\n\nChild groups should have a greater depth than their parents.  Prior to\nthis change, the parent would incorrectly report zero memory usage for\nchild cgroups when use_hierarchy is enabled.\n\ntest script:\n  mount -t cgroup none /cgroups -o memory\n  cd /cgroups\n  mkdir cg1\n\n  echo 1 \u003e cg1/memory.use_hierarchy\n  mkdir cg1/cg11\n\n  echo $$ \u003e cg1/cg11/tasks\n  dd if\u003d/dev/zero of\u003d/tmp/foo bs\u003d1M count\u003d1\n\n  echo\n  echo CHILD\n  grep cache cg1/cg11/memory.stat\n\n  echo\n  echo PARENT\n  grep cache cg1/memory.stat\n\n  echo $$ \u003e tasks\n  rmdir cg1/cg11 cg1\n  cd /\n  umount /cgroups\n\nUsing fae9c79, a recent patch that changed alloc_css_id() depth computation,\nthe parent incorrectly reports zero usage:\n  root@ubuntu:~# ./test\n  1+0 records in\n  1+0 records out\n  1048576 bytes (1.0 MB) copied, 0.0151844 s, 69.1 MB/s\n\n  CHILD\n  cache 1048576\n  total_cache 1048576\n\n  PARENT\n  cache 0\n  total_cache 0\n\nWith this patch, the parent correctly includes child usage:\n  root@ubuntu:~# ./test\n  1+0 records in\n  1+0 records out\n  1048576 bytes (1.0 MB) copied, 0.0136827 s, 76.6 MB/s\n\n  CHILD\n  cache 1052672\n  total_cache 1052672\n\n  PARENT\n  cache 0\n  total_cache 1052672\n\nSigned-off-by: Greg Thelen \u003cgthelen@google.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.34.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "907860ed381a31b0102f362df67c1c5cae6ef050",
      "tree": "4f47a6fe898b1f45da505fc0c27d98e66d42aa46",
      "parents": [
        "ac39cf8cb86c45eeac6a592ce0d58f9021a97235"
      ],
      "author": {
        "name": "Kirill A. Shutemov",
        "email": "kirill@shutemov.name",
        "time": "Wed May 26 14:42:46 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:44 2010 -0700"
      },
      "message": "cgroups: make cftype.unregister_event() void-returning\n\nSince we are unable to handle an error returned by\ncftype.unregister_event() properly, let\u0027s make the callback\nvoid-returning.\n\nmem_cgroup_unregister_event() has been rewritten to be a \"never fail\"\nfunction.  On mem_cgroup_usage_register_event() we save old buffer for\nthresholds array and reuse it in mem_cgroup_usage_unregister_event() to\navoid allocation.\n\nSigned-off-by: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Paul Menage \u003cmenage@google.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": "f39d01be4c59a61a08d0cb53f615e7016b85d339",
      "tree": "6777590e3ff2ddf4df1d38444ba7d692cd463b7b",
      "parents": [
        "54291263519ac2c9bdda68b23b02fef3808deed4",
        "7db82437cfcac4bdfe79a6323eb554fdfa271623"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 20 09:20:59 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 20 09:20:59 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (44 commits)\n  vlynq: make whole Kconfig-menu dependant on architecture\n  add descriptive comment for TIF_MEMDIE task flag declaration.\n  EEPROM: max6875: Header file cleanup\n  EEPROM: 93cx6: Header file cleanup\n  EEPROM: Header file cleanup\n  agp: use NULL instead of 0 when pointer is needed\n  rtc-v3020: make bitfield unsigned\n  PCI: make bitfield unsigned\n  jbd2: use NULL instead of 0 when pointer is needed\n  cciss: fix shadows sparse warning\n  doc: inode uses a mutex instead of a semaphore.\n  uml: i386: Avoid redefinition of NR_syscalls\n  fix \"seperate\" typos in comments\n  cocbalt_lcdfb: correct sections\n  doc: Change urls for sparse\n  Powerpc: wii: Fix typo in comment\n  i2o: cleanup some exit paths\n  Documentation/: it\u0027s -\u003e its where appropriate\n  UML: Fix compiler warning due to missing task_struct declaration\n  UML: add kernel.h include to signal.c\n  ...\n"
    },
    {
      "commit": "b8ae30ee26d379db436b0b8c8c3ff1b52f69e5d1",
      "tree": "506aa0b4bdbf90f61e7e9261c7db90aa1452dcce",
      "parents": [
        "4d7b4ac22fbec1a03206c6cde353f2fd6942f828",
        "9c6f7e43b4e02c161b53e97ba913855246876c61"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 18 08:27:54 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 18 08:27:54 2010 -0700"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (49 commits)\n  stop_machine: Move local variable closer to the usage site in cpu_stop_cpu_callback()\n  sched, wait: Use wrapper functions\n  sched: Remove a stale comment\n  ondemand: Make the iowait-is-busy time a sysfs tunable\n  ondemand: Solve a big performance issue by counting IOWAIT time as busy\n  sched: Intoduce get_cpu_iowait_time_us()\n  sched: Eliminate the ts-\u003eidle_lastupdate field\n  sched: Fold updating of the last_update_time_info into update_ts_time_stats()\n  sched: Update the idle statistics in get_cpu_idle_time_us()\n  sched: Introduce a function to update the idle statistics\n  sched: Add a comment to get_cpu_idle_time_us()\n  cpu_stop: add dummy implementation for UP\n  sched: Remove rq argument to the tracepoints\n  rcu: need barrier() in UP synchronize_sched_expedited()\n  sched: correctly place paranioa memory barriers in synchronize_sched_expedited()\n  sched: kill paranoia check in synchronize_sched_expedited()\n  sched: replace migration_thread with cpu_stop\n  stop_machine: reimplement using cpu_stop\n  cpu_stop: implement stop_cpu[s]()\n  sched: Fix select_idle_sibling() logic in select_task_rq_fair()\n  ...\n"
    },
    {
      "commit": "747388d78a0ae768fd82b55c4ed38aa646a72364",
      "tree": "03efabf9761209cffef4e8da9b6989887f76428e",
      "parents": [
        "7f0f15464185a92f9d8791ad231bcd7bf6df54e4"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue May 11 14:06:59 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 17:33:42 2010 -0700"
      },
      "message": "memcg: fix css_is_ancestor() RCU locking\n\nSome callers (in memcontrol.c) calls css_is_ancestor() without\nrcu_read_lock.  Because css_is_ancestor() has to access RCU protected\ndata, it should be under rcu_read_lock().\n\nThis makes css_is_ancestor() itself does safe access to RCU protected\narea.  (At least, \"root\" can have refcnt\u003d\u003d0 if it\u0027s not an ancestor of\n\"child\".  So, we need rcu_read_lock().)\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.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": "7f0f15464185a92f9d8791ad231bcd7bf6df54e4",
      "tree": "a1d4f4c39632659497963b0ccf62828237478d72",
      "parents": [
        "11cad320a4f4bc53d3585c85600c782faa12b99e"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue May 11 14:06:58 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 17:33:42 2010 -0700"
      },
      "message": "memcg: fix css_id() RCU locking for real\n\nCommit ad4ba375373937817404fd92239ef4cadbded23b (\"memcg: css_id() must be\ncalled under rcu_read_lock()\") modifies memcontol.c for fixing RCU check\nmessage.  But Andrew Morton pointed out that the fix doesn\u0027t seems sane\nand it was just for hidining lockdep messages.\n\nThis is a patch for do proper things.  Checking again, all places,\naccessing without rcu_read_lock, that commit fixies was intentional....\nall callers of css_id() has reference count on it.  So, it\u0027s not necessary\nto be under rcu_read_lock().\n\nConsidering again, we can use rcu_dereference_check for css_id().  We know\ncss-\u003eid is valid if css-\u003erefcnt \u003e 0.  (css-\u003eid never changes and freed\nafter css-\u003erefcnt going to be 0.)\n\nThis patch makes use of rcu_dereference_check() in css_id/depth and remove\nunnecessary rcu-read-lock added by the commit.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.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": "a93d2f1744206827ccf416e2cdc5018aa503314e",
      "tree": "c4c9daf16536d8d58db275617e19898f6c5bdbd7",
      "parents": [
        "af507ae8a0512a83728b17d8f8c5fa1561669f50"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Fri May 07 14:33:26 2010 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 11 17:43:58 2010 +0200"
      },
      "message": "sched, wait: Use wrapper functions\n\nepoll should not touch flags in wait_queue_t. This patch introduces a new\nfunction __add_wait_queue_exclusive(), for the users, who use wait queue as a\nLIFO queue.\n\n__add_wait_queue_tail_exclusive() is introduced too instead of\nadd_wait_queue_exclusive_locked(). remove_wait_queue_locked() is removed, as\nit is a duplicate of __remove_wait_queue(), disliked by users, and with less\nusers.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: \u003ccontainers@lists.linux-foundation.org\u003e\nLKML-Reference: \u003c1273214006-2979-1-git-send-email-xiaosuo@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fae9c791703606636c1220e47f6690660042ce7f",
      "tree": "c4d1bf20f4b73ee438ae2c3168b9b7ead1418215",
      "parents": [
        "9a9686b634acc5cb6b7c601c171ae64af0318a24"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Apr 22 17:30:00 2010 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue May 04 09:25:00 2010 -0700"
      },
      "message": "cgroup: Fix an RCU warning in alloc_css_id()\n\nWith CONFIG_PROVE_RCU\u003dy, a warning can be triggered:\n\n  # mount -t cgroup -o memory xxx /mnt\n  # mkdir /mnt/0\n\n...\nkernel/cgroup.c:4442 invoked rcu_dereference_check() without protection!\n...\n\nThis is a false-positive. It\u0027s safe to directly access parent_css-\u003eid.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "9a9686b634acc5cb6b7c601c171ae64af0318a24",
      "tree": "4a8431117018d8883c6d34d5c06f2eff99dcfed6",
      "parents": [
        "e35ec2d2c1fc45dd3e46dde74bb0c4c4366125bf"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Apr 22 17:29:24 2010 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue May 04 09:24:59 2010 -0700"
      },
      "message": "cgroup: Fix an RCU warning in cgroup_path()\n\nwith CONFIG_PROVE_RCU\u003dy, a warning can be triggered:\n\n  # mount -t cgroup -o debug xxx /mnt\n  # cat /proc/$$/cgroup\n\n...\nkernel/cgroup.c:1649 invoked rcu_dereference_check() without protection!\n...\n\nThis is a false-positive, because cgroup_path() can be called\nwith either rcu_read_lock() held or cgroup_mutex held.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "6c9468e9eb1252eaefd94ce7f06e1be9b0b641b1",
      "tree": "797676a336b050bfa1ef879377c07e541b9075d6",
      "parents": [
        "4cb3ca7cd7e2cae8d1daf5345ec99a1e8502cf3f",
        "c81eddb0e3728661d1585fbc564449c94165cc36"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Apr 23 02:08:44 2010 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Apr 23 02:08:44 2010 +0200"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n"
    },
    {
      "commit": "9d34706f42f9b8c15185423d9af98d37ba21d011",
      "tree": "beee69581a5deec172854fcc9517dfa42602e73b",
      "parents": [
        "5cfb80a73b5a52fb19d8b0611203e4dd58e8e9a2"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Mar 23 13:35:12 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 24 16:31:19 2010 -0700"
      },
      "message": "cgroups: remove duplicate include\n\ncommit e6a1105b (\"cgroups: subsystem module loading interface\") and commit\nc50cc752 (\"sched, cgroups: Fix module export\") result in duplicate\nincluding of module.h\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: 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": "88393161210493e317ae391696ee8ef463cb3c23",
      "tree": "6ec81a50d0e8174b415d83948b48cbabd7e54ddb",
      "parents": [
        "932fb06b0898f5883200f1da2e00075f0d70ba9c"
      ],
      "author": {
        "name": "Thomas Weber",
        "email": "swirl@gmx.li",
        "time": "Tue Mar 16 11:47:56 2010 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Mar 16 11:47:56 2010 +0100"
      },
      "message": "Fix typos in comments\n\n[Ss]ytem \u003d\u003e [Ss]ystem\nudpate \u003d\u003e update\nparamters \u003d\u003e parameters\norginal \u003d\u003e original\n\nSigned-off-by: Thomas Weber \u003cswirl@gmx.li\u003e\nAcked-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "a0a4db548edcce067c1201ef25cf2bc29f32dca4",
      "tree": "6f8139a582179666cd248d978332ed0e32ad9f0f",
      "parents": [
        "4ab78683c17d739c2a2077141dcf81a02b7fb57e"
      ],
      "author": {
        "name": "Kirill A. Shutemov",
        "email": "kirill@shutemov.name",
        "time": "Wed Mar 10 15:22:34 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:37 2010 -0800"
      },
      "message": "cgroups: remove events before destroying subsystem state objects\n\nEvents should be removed after rmdir of cgroup directory, but before\ndestroying subsystem state objects.  Let\u0027s take reference to cgroup\ndirectory dentry to do that.\n\nSigned-off-by: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hioryu@jp.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Dan Malek \u003cdan@embeddedalley.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ab78683c17d739c2a2077141dcf81a02b7fb57e",
      "tree": "5884c1b7e20d1975d668d07dbf43202d737ec7bf",
      "parents": [
        "daaf1e68874c078a15ae6ae827751839c4d81739"
      ],
      "author": {
        "name": "Kirill A. Shutemov",
        "email": "kirill@shutemov.name",
        "time": "Wed Mar 10 15:22:34 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:37 2010 -0800"
      },
      "message": "cgroups: fix race between userspace and kernelspace\n\nNotify userspace about cgroup removing only after rmdir of cgroup\ndirectory to avoid race between userspace and kernelspace.\n\neventfd are used to notify about two types of event:\n - control file-specific, like crossing memory threshold;\n - cgroup removing.\n\nTo understand what really happen, userspace can check if the cgroup still\nexists.  To avoid race beetween userspace and kernelspace we have to\nnotify userspace about cgroup removing only after rmdir of cgroup\ndirectory.\n\nSigned-off-by: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Dan Malek \u003cdan@embeddedalley.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0dea116876eefc9c7ca9c5d74fe665481e499fa3",
      "tree": "446ef64c99a234cf076b6d43efe42c8b48a928c7",
      "parents": [
        "483c30b514bd3037fa3f19fa42327c94c10f51c8"
      ],
      "author": {
        "name": "Kirill A. Shutemov",
        "email": "kirill@shutemov.name",
        "time": "Wed Mar 10 15:22:20 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:37 2010 -0800"
      },
      "message": "cgroup: implement eventfd-based generic API for notifications\n\nThis patchset introduces eventfd-based API for notifications in cgroups\nand implements memory notifications on top of it.\n\nIt uses statistics in memory controler to track memory usage.\n\nOutput of time(1) on building kernel on tmpfs:\n\nRoot cgroup before changes:\n\tmake -j2  506.37 user 60.93s system 193% cpu 4:52.77 total\nNon-root cgroup before changes:\n\tmake -j2  507.14 user 62.66s system 193% cpu 4:54.74 total\nRoot cgroup after changes (0 thresholds):\n\tmake -j2  507.13 user 62.20s system 193% cpu 4:53.55 total\nNon-root cgroup after changes (0 thresholds):\n\tmake -j2  507.70 user 64.20s system 193% cpu 4:55.70 total\nRoot cgroup after changes (1 thresholds, never crossed):\n\tmake -j2  506.97 user 62.20s system 193% cpu 4:53.90 total\nNon-root cgroup after changes (1 thresholds, never crossed):\n\tmake -j2  507.55 user 64.08s system 193% cpu 4:55.63 total\n\nThis patch:\n\nIntroduce the write-only file \"cgroup.event_control\" in every cgroup.\n\nTo register new notification handler you need:\n- create an eventfd;\n- open a control file to be monitored. Callbacks register_event() and\n  unregister_event() must be defined for the control file;\n- write \"\u003cevent_fd\u003e \u003ccontrol_fd\u003e \u003cargs\u003e\" to cgroup.event_control.\n  Interpretation of args is defined by control file implementation;\n\neventfd will be woken up by control file implementation or when the\ncgroup is removed.\n\nTo unregister notification handler just close eventfd.\n\nIf you need notification functionality for a control file you have to\nimplement callbacks register_event() and unregister_event() in the\nstruct cftype.\n\n[kamezawa.hiroyu@jp.fujitsu.com: Kconfig fix]\nSigned-off-by: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nPaul Menage \u003cmenage@google.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Dan Malek \u003cdan@embeddedalley.com\u003e\nCc: Vladislav Buzov \u003cvbuzov@embeddedalley.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Alexander Shishkin \u003cvirtuoso@slind.org\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\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": "b70cc5fdb445a6929a01e9c406593265b136c99d",
      "tree": "7ca8ec384bd93de2ba516f045d9c8c5c77f5b84a",
      "parents": [
        "67523c48aa74d5637848edeccf285af1c60bf14a"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Mar 10 15:22:12 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:36 2010 -0800"
      },
      "message": "cgroups: clean up cgroup_pidlist_find() a bit\n\nDon\u0027t call get_pid_ns() before we locate/alloc the ns.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.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": "67523c48aa74d5637848edeccf285af1c60bf14a",
      "tree": "ebd14992e210c8dfb503ae5fdffc1f5392ad52df",
      "parents": [
        "8ca712ea84728531d36841ca8f98f9e8680bcf4e"
      ],
      "author": {
        "name": "Ben Blum",
        "email": "bblum@andrew.cmu.edu",
        "time": "Wed Mar 10 15:22:11 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:36 2010 -0800"
      },
      "message": "cgroups: blkio subsystem as module\n\nModify the Block I/O cgroup subsystem to be able to be built as a module.\nAs the CFQ disk scheduler optionally depends on blk-cgroup, config options\nin block/Kconfig, block/Kconfig.iosched, and block/blk-cgroup.h are\nenhanced to support the new module dependency.\n\nSigned-off-by: Ben Blum \u003cbblum@andrew.cmu.edu\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cf5d5941fda647fe3d2f2d00cf9e0245236a5f08",
      "tree": "deee6501f2f08089a2cd62732c3848a59a6f6a93",
      "parents": [
        "e6a1105ba08b265023dd71a4174fb4a29ebc7083"
      ],
      "author": {
        "name": "Ben Blum",
        "email": "bblum@andrew.cmu.edu",
        "time": "Wed Mar 10 15:22:09 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:36 2010 -0800"
      },
      "message": "cgroups: subsystem module unloading\n\nProvides support for unloading modular subsystems.\n\nThis patch adds a new function cgroup_unload_subsys which is to be used\nfor removing a loaded subsystem during module deletion.  Reference\ncounting of the subsystems\u0027 modules is moved from once (at load time) to\nonce per attached hierarchy (in parse_cgroupfs_options and\nrebind_subsystems) (i.e., 0 or 1).\n\nSigned-off-by: Ben Blum \u003cbblum@andrew.cmu.edu\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Lai Jiangshan \u003claijs@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": "e6a1105ba08b265023dd71a4174fb4a29ebc7083",
      "tree": "c171a012df4364b0feac5d6f1bf8c354164ab0f9",
      "parents": [
        "aae8aab40367036931608fdaf9e2dc568b516f19"
      ],
      "author": {
        "name": "Ben Blum",
        "email": "bblum@andrew.cmu.edu",
        "time": "Wed Mar 10 15:22:09 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:36 2010 -0800"
      },
      "message": "cgroups: subsystem module loading interface\n\nAdd interface between cgroups subsystem management and module loading\n\nThis patch implements rudimentary module-loading support for cgroups -\nnamely, a cgroup_load_subsys (similar to cgroup_init_subsys) for use as a\nmodule initcall, and a struct module pointer in struct cgroup_subsys.\n\nSeveral functions that might be wanted by modules have had EXPORT_SYMBOL\nadded to them, but it\u0027s unclear exactly which functions want it and which\nwon\u0027t.\n\nSigned-off-by: Ben Blum \u003cbblum@andrew.cmu.edu\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Lai Jiangshan \u003claijs@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": "aae8aab40367036931608fdaf9e2dc568b516f19",
      "tree": "b2a06ee21042eb3972ecd9e4153d61a8f6ed53cb",
      "parents": [
        "d7b9fff711d5e8db8c844161c684017e556c38a0"
      ],
      "author": {
        "name": "Ben Blum",
        "email": "bblum@andrew.cmu.edu",
        "time": "Wed Mar 10 15:22:07 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:36 2010 -0800"
      },
      "message": "cgroups: revamp subsys array\n\nThis patch series provides the ability for cgroup subsystems to be\ncompiled as modules both within and outside the kernel tree.  This is\nmainly useful for classifiers and subsystems that hook into components\nthat are already modules.  cls_cgroup and blkio-cgroup serve as the\nexample use cases for this feature.\n\nIt provides an interface cgroup_load_subsys() and cgroup_unload_subsys()\nwhich modular subsystems can use to register and depart during runtime.\nThe net_cls classifier subsystem serves as the example for a subsystem\nwhich can be converted into a module using these changes.\n\nPatch #1 sets up the subsys[] array so its contents can be dynamic as\nmodules appear and (eventually) disappear.  Iterations over the array are\nmodified to handle when subsystems are absent, and the dynamic section of\nthe array is protected by cgroup_mutex.\n\nPatch #2 implements an interface for modules to load subsystems, called\ncgroup_load_subsys, similar to cgroup_init_subsys, and adds a module\npointer in struct cgroup_subsys.\n\nPatch #3 adds a mechanism for unloading modular subsystems, which includes\na more advanced rework of the rudimentary reference counting introduced in\npatch 2.\n\nPatch #4 modifies the net_cls subsystem, which already had some module\ndeclarations, to be configurable as a module, which also serves as a\nsimple proof-of-concept.\n\nPart of implementing patches 2 and 4 involved updating css pointers in\neach css_set when the module appears or leaves.  In doing this, it was\ndiscovered that css_sets always remain linked to the dummy cgroup,\nregardless of whether or not any subsystems are actually bound to it\n(i.e., not mounted on an actual hierarchy).  The subsystem loading and\nunloading code therefore should keep in mind the special cases where the\nadded subsystem is the only one in the dummy cgroup (and therefore all\ncss_sets need to be linked back into it) and where the removed subsys was\nthe only one in the dummy cgroup (and therefore all css_sets should be\nunlinked from it) - however, as all css_sets always stay attached to the\ndummy cgroup anyway, these cases are ignored.  Any fix that addresses this\nissue should also make sure these cases are addressed in the subsystem\nloading and unloading code.\n\nThis patch:\n\nMake subsys[] able to be dynamically populated to support modular\nsubsystems\n\nThis patch reworks the way the subsys[] array is used so that subsystems\ncan register themselves after boot time, and enables the internals of\ncgroups to be able to handle when subsystems are not present or may\nappear/disappear.\n\nSigned-off-by: Ben Blum \u003cbblum@andrew.cmu.edu\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Lai Jiangshan \u003claijs@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": "d7b9fff711d5e8db8c844161c684017e556c38a0",
      "tree": "fea09ff79fe543edc2d8c0e85d35de1b2c783f2d",
      "parents": [
        "2468c7234b366eeb799ee0648cb58f9cba394a54"
      ],
      "author": {
        "name": "Daisuke Nishimura",
        "email": "nishimura@mxp.nes.nec.co.jp",
        "time": "Wed Mar 10 15:22:05 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:36 2010 -0800"
      },
      "message": "cgroup: introduce coalesce css_get() and css_put()\n\nCurrent css_get() and css_put() increment/decrement css-\u003erefcnt one by\none.\n\nThis patch add a new function __css_get(), which takes \"count\" as a arg\nand increment the css-\u003erefcnt by \"count\".  And this patch also add a new\narg(\"count\") to __css_put() and change the function to decrement the\ncss-\u003erefcnt by \"count\".\n\nThese coalesce version of __css_get()/__css_put() will be used to improve\nperformance of memcg\u0027s moving charge feature later, where instead of\ncalling css_get()/css_put() repeatedly, these new functions will be used.\n\nNo change is needed for current users of css_get()/css_put().\n\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2468c7234b366eeb799ee0648cb58f9cba394a54",
      "tree": "050d7ea224b975eb71b05bf472f14f4c7bb13670",
      "parents": [
        "5ce9f07bf1bed9a1f9886373ad0b149294f84c25"
      ],
      "author": {
        "name": "Daisuke Nishimura",
        "email": "nishimura@mxp.nes.nec.co.jp",
        "time": "Wed Mar 10 15:22:03 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:35 2010 -0800"
      },
      "message": "cgroup: introduce cancel_attach()\n\nAdd cancel_attach() operation to struct cgroup_subsys.  cancel_attach()\ncan be used when can_attach() operation prepares something for the subsys,\nbut we should rollback what can_attach() operation has prepared if attach\ntask fails after we\u0027ve succeeded in can_attach().\n\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nReviewed-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c50cc75271759373bd89a036eec4d4269b291616",
      "tree": "f45a428f0a9b93929c3bf223da222075fca0a81a",
      "parents": [
        "1ed509a225008c9e8c0644fbd22168e09a7383a0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 25 12:02:13 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 25 12:02:13 2010 +0100"
      },
      "message": "sched, cgroups: Fix module export\n\nI have exported it in d11c563 - but cgroups.c did not have module.h included ...\n\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c1266887105-1528-6-git-send-email-paulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d11c563dd20ff35da5652c3e1c989d9e10e1d6d0",
      "tree": "b189f50de7a01d7603935d4da7e755d764dfe67e",
      "parents": [
        "a898def29e4119bc01ebe7ca97423181f4c0ea2d"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Feb 22 17:04:50 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 25 10:34:26 2010 +0100"
      },
      "message": "sched: Use lockdep-based checking on rcu_dereference()\n\nUpdate the rcu_dereference() usages to take advantage of the new\nlockdep-based checking.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c1266887105-1528-6-git-send-email-paulmck@linux.vnet.ibm.com\u003e\n[ -v2: fix allmodconfig missing symbol export build failure on x86 ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4528fd0595847c2078b59f24800e751c2d6b7e41",
      "tree": "0be4aca79bc9b6709d4762f43ae53e2589931a85",
      "parents": [
        "ef2b9b054580ef835078d8aa411bd06542cd5c1c"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Feb 02 13:44:10 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 02 18:11:22 2010 -0800"
      },
      "message": "cgroups: fix to return errno in a failure path\n\nIn cgroup_create(), if alloc_css_id() returns failure, the errno is not\npropagated to userspace, so mkdir will fail silently.\n\nTo trigger this bug, we mount blkio (or memory subsystem), and create more\nthen 65534 cgroups.  (The number of cgroups is limited to 65535 if a\nsubsystem has use_id \u003d\u003d 1)\n\n # mount -t cgroup -o blkio xxx /mnt\n # for ((i \u003d 0; i \u003c 65534; i++)); do mkdir /mnt/$i; done\n # mkdir /mnt/65534\n (should return ENOSPC)\n #\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.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": "bd4f490a079730aadfaf9a728303ea0135c01945",
      "tree": "7de1396233a18a8da5e4b204415a8859154c79bc",
      "parents": [
        "272a897904b9a067550f5b8e812036b65180418f"
      ],
      "author": {
        "name": "Dave Anderson",
        "email": "anderson@redhat.com",
        "time": "Fri Jan 08 14:42:50 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 11 09:34:05 2010 -0800"
      },
      "message": "cgroups: fix 2.6.32 regression causing BUG_ON() in cgroup_diput()\n\nThe LTP cgroup test suite generates a \"kernel BUG at kernel/cgroup.c:790!\"\nhere in cgroup_diput():\n\n                 /*\n                  * if we\u0027re getting rid of the cgroup, refcount should ensure\n                  * that there are no pidlists left.\n                  */\n                 BUG_ON(!list_empty(\u0026cgrp-\u003epidlists));\n\nThe cgroup pidlist rework in 2.6.32 generates the BUG_ON, which is caused\nwhen pidlist_array_load() calls cgroup_pidlist_find():\n\n(1) if a matching cgroup_pidlist is found, it down_write\u0027s the mutex of the\n     pre-existing cgroup_pidlist, and increments its use_count.\n(2) if no matching cgroup_pidlist is found, then a new one is allocated, it\n     down_write\u0027s its mutex, and the use_count is set to 0.\n(3) the matching, or new, cgroup_pidlist gets returned back to pidlist_array_load(),\n     which increments its use_count -- regardless whether new or pre-existing --\n     and up_write\u0027s the mutex.\n\nSo if a matching list is ever encountered by cgroup_pidlist_find() during\nthe life of a cgroup directory, it results in an inflated use_count value,\npreventing it from ever getting released by cgroup_release_pid_array().\nThen if the directory is subsequently removed, cgroup_diput() hits the\nBUG_ON() when it finds that the directory\u0027s cgroup is still populated with\na pidlist.\n\nThe patch simply removes the use_count increment when a matching pidlist\nis found by cgroup_pidlist_find(), because it gets bumped by the calling\npidlist_array_load() function while still protected by the list\u0027s mutex.\n\nSigned-off-by: Dave Anderson \u003canderson@redhat.com\u003e\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Ben Blum \u003cbblum@andrew.cmu.edu\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "478988d3b28e98a31e0cfe24e011e28ba0f3cf0d",
      "tree": "0f14f3a2f242258d2d7a0ddb3025c308f666b7ee",
      "parents": [
        "58355c7876a0754377c37c8af948b4cd423410e2"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Mon Oct 26 16:49:36 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 07:39:25 2009 -0700"
      },
      "message": "cgroup: fix strstrip() misuse\n\ncgroup_write_X64() and cgroup_write_string() ignore the return value of\nstrstrip().  it makes small inconsistent behavior.\n\nexample:\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n # cd /mnt/cgroup/hoge\n # cat memory.swappiness\n 60\n # echo \"59 \" \u003e memory.swappiness\n # cat memory.swappiness\n 59\n # echo \" 58\" \u003e memory.swappiness\n bash: echo: write error: Invalid argument\n\nThis patch fixes it.\n\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3dece8347df6a16239fab10dadb370854f1c969c",
      "tree": "23a93cdb0dfacd4b89b42c192a6247be84d105bf",
      "parents": [
        "26251eaf98e26dc2ce2dc26d63bc502700760704"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Thu Oct 01 15:44:09 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 01 16:11:12 2009 -0700"
      },
      "message": "cgroup: catch bad css refcnt at css_put\n\n__css_put() doesn\u0027t check a bug as refcnt goes to minus.\nI think it should be caught. This patch adds a check for it.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "828c09509b9695271bcbdc53e9fc9a6a737148d2",
      "tree": "072ffad6f02db7bf4095e07e2b90247cfa042998",
      "parents": [
        "1c4115e595dec42aa0e81ba47ef46e35b34ed428"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Oct 01 15:43:56 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 01 16:11:11 2009 -0700"
      },
      "message": "const: constify remaining file_operations\n\n[akpm@linux-foundation.org: fix KVM]\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "be367d09927023d081f9199665c8500f69f14d22",
      "tree": "f0c5b9da037506da3c5890cf11b51b39a7d3c427",
      "parents": [
        "c378369d8b4fa516ff2b1e79c3eded4e0e955ebb"
      ],
      "author": {
        "name": "Ben Blum",
        "email": "bblum@google.com",
        "time": "Wed Sep 23 15:56:31 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:20:58 2009 -0700"
      },
      "message": "cgroups: let ss-\u003ecan_attach and ss-\u003eattach do whole threadgroups at a time\n\nAlter the ss-\u003ecan_attach and ss-\u003eattach functions to be able to deal with\na whole threadgroup at a time, for use in cgroup_attach_proc.  (This is a\npre-patch to cgroup-procs-writable.patch.)\n\nCurrently, new mode of the attach function can only tell the subsystem\nabout the old cgroup of the threadgroup leader.  No subsystem currently\nneeds that information for each thread that\u0027s being moved, but if one were\nto be added (for example, one that counts tasks within a group) this bit\nwould need to be reworked a bit to tell the subsystem the right\ninformation.\n\n[hidave.darkstar@gmail.com: fix build]\nSigned-off-by: Ben Blum \u003cbblum@google.com\u003e\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nReviewed-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c378369d8b4fa516ff2b1e79c3eded4e0e955ebb",
      "tree": "33dff6fa14c5b70cf25368b1bde57e5610a308b3",
      "parents": [
        "d1d9fd3308fdef6b4bf564fa3d6cfe35b68b50bc"
      ],
      "author": {
        "name": "Ben Blum",
        "email": "bblum@google.com",
        "time": "Wed Sep 23 15:56:29 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:20:58 2009 -0700"
      },
      "message": "cgroups: change css_set freeing mechanism to be under RCU\n\nChanges css_set freeing mechanism to be under RCU\n\nThis is a prepatch for making the procs file writable. In order to free the\nold css_sets for each task to be moved as they\u0027re being moved, the freeing\nmechanism must be RCU-protected, or else we would have to have a call to\nsynchronize_rcu() for each task before freeing its old css_set.\n\nSigned-off-by: Ben Blum \u003cbblum@google.com\u003e\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "d1d9fd3308fdef6b4bf564fa3d6cfe35b68b50bc"
}
