)]}'
{
  "log": [
    {
      "commit": "e19e397a85f33100bfa4210e256bec82fe22e167",
      "tree": "18b9b0f883561584027a0085586d4f31abcba213",
      "parents": [
        "1606283622689bdc460052b4a1281c36de13fe49"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 24 11:39:44 2013 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Feb 07 13:14:20 2013 -0800"
      },
      "message": "workqueue: move nr_running into worker_pool\n\nAs nr_running is likely to be accessed from other CPUs during\ntry_to_wake_up(), it was kept outside worker_pool; however, while less\nfrequent, other fields in worker_pool are accessed from other CPUs\nfor, e.g., non-reentrancy check.  Also, with recent pool related\nchanges, accessing nr_running matching the worker_pool isn\u0027t as simple\nas it used to be.\n\nMove nr_running inside worker_pool.  Keep it aligned to cacheline and\ndefine CPU pools using DEFINE_PER_CPU_SHARED_ALIGNED().  This should\ngive at least the same cacheline behavior.\n\nget_pool_nr_running() is replaced with direct pool-\u003enr_running\naccesses.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Joonsoo Kim \u003cjs1304@gmail.com\u003e\n"
    },
    {
      "commit": "1606283622689bdc460052b4a1281c36de13fe49",
      "tree": "7e23128500a97cd006a9580e96583e681e0084a1",
      "parents": [
        "0b3dae68ac199fac224fea9a31907b44f0d257b3"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Feb 06 18:04:53 2013 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Feb 06 18:04:53 2013 -0800"
      },
      "message": "workqueue: cosmetic update in try_to_grab_pending()\n\nWith the recent is-work-queued-here test simplification, the nested\nif() in try_to_grab_pending() can be collapsed.  Collapse it.\n\nThis patch is purely cosmetic.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "0b3dae68ac199fac224fea9a31907b44f0d257b3",
      "tree": "909b0b1d33123c9e8cbd0117e5f42df12e3becde",
      "parents": [
        "4468a00fd9a274fe1b30c886370d662e4a439efb"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Wed Feb 06 18:04:53 2013 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Feb 06 18:04:53 2013 -0800"
      },
      "message": "workqueue: simplify is-work-item-queued-here test\n\nCurrently, determining whether a work item is queued on a locked pool\ninvolves somewhat convoluted memory barrier dancing.  It goes like the\nfollowing.\n\n* When a work item is queued on a pool, work-\u003edata is updated before\n  work-\u003eentry is linked to the pending list with a wmb() inbetween.\n\n* When trying to determine whether a work item is currently queued on\n  a pool pointed to by work-\u003edata, it locks the pool and looks at\n  work-\u003eentry.  If work-\u003eentry is linked, we then do rmb() and then\n  check whether work-\u003edata points to the current pool.\n\nThis works because, work-\u003edata can only point to a pool if it\ncurrently is or were on the pool and,\n\n* If it currently is on the pool, the tests would obviously succeed.\n\n* It it left the pool, its work-\u003eentry was cleared under pool-\u003elock,\n  so if we\u0027re seeing non-empty work-\u003eentry, it has to be from the work\n  item being linked on another pool.  Because work-\u003edata is updated\n  before work-\u003eentry is linked with wmb() inbetween, work-\u003edata update\n  from another pool is guaranteed to be visible if we do rmb() after\n  seeing non-empty work-\u003eentry.  So, we either see empty work-\u003eentry\n  or we see updated work-\u003edata pointin to another pool.\n\nWhile this works, it\u0027s convoluted, to put it mildly.  With recent\nupdates, it\u0027s now guaranteed that work-\u003edata points to cwq only while\nthe work item is queued and that updating work-\u003edata to point to cwq\nor back to pool is done under pool-\u003elock, so we can simply test\nwhether work-\u003edata points to cwq which is associated with the\ncurrently locked pool instead of the convoluted memory barrier\ndancing.\n\nThis patch replaces the memory barrier based \"are you still here,\nreally?\" test with much simpler \"does work-\u003edata points to me?\" test -\nif work-\u003edata points to a cwq which is associated with the currently\nlocked pool, the work item is guaranteed to be queued on the pool as\nwork-\u003edata can start and stop pointing to such cwq only under\npool-\u003elock and the start and stop coincide with queue and dequeue.\n\ntj: Rewrote the comments and description.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "4468a00fd9a274fe1b30c886370d662e4a439efb",
      "tree": "6ead9c97eea5cdb16cfd7fca3b80d1b184949e3e",
      "parents": [
        "60c057bca22285efefbba033624763a778f243bf"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Wed Feb 06 18:04:53 2013 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Feb 06 18:04:53 2013 -0800"
      },
      "message": "workqueue: make work-\u003edata point to pool after try_to_grab_pending()\n\nWe plan to use work-\u003edata pointing to cwq as the synchronization\ninvariant when determining whether a given work item is on a locked\npool or not, which requires work-\u003edata pointing to cwq only while the\nwork item is queued on the associated pool.\n\nWith delayed_work updated not to overload work-\u003edata for target\nworkqueue recording, the only case where we still have off-queue\nwork-\u003edata pointing to cwq is try_to_grab_pending() which doesn\u0027t\nupdate work-\u003edata after stealing a queued work item.  There\u0027s no\nreason for try_to_grab_pending() to not update work-\u003edata to point to\nthe pool instead of cwq, like the normal execution does.\n\nThis patch adds set_work_pool_and_keep_pending() which makes\nwork-\u003edata point to pool instead of cwq but keeps the pending bit\nunlike set_work_pool_and_clear_pending() (surprise!).\n\nAfter this patch, it\u0027s guaranteed that only queued work items point to\ncwqs.\n\nThis patch doesn\u0027t introduce any visible behavior change.\n\ntj: Renamed the new helper function to match\n    set_work_pool_and_clear_pending() and rewrote the description.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "60c057bca22285efefbba033624763a778f243bf",
      "tree": "8e469c390b5b60ad6b4d7c94bc07522f857032bc",
      "parents": [
        "038366c5cf23ae737b9f72169dd8ade2d105755b"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Wed Feb 06 18:04:53 2013 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Feb 06 18:04:53 2013 -0800"
      },
      "message": "workqueue: add delayed_work-\u003ewq to simplify reentrancy handling\n\nTo avoid executing the same work item from multiple CPUs concurrently,\na work_struct records the last pool it was on in its -\u003edata so that,\non the next queueing, the pool can be queried to determine whether the\nwork item is still executing or not.\n\nA delayed_work goes through timer before actually being queued on the\ntarget workqueue and the timer needs to know the target workqueue and\nCPU.  This is currently achieved by modifying delayed_work-\u003ework.data\nsuch that it points to the cwq which points to the target workqueue\nand the last CPU the work item was on.  __queue_delayed_work()\nextracts the last CPU from delayed_work-\u003ework.data and then combines\nit with the target workqueue to create new work.data.\n\nThe only thing this rather ugly hack achieves is encoding the target\nworkqueue into delayed_work-\u003ework.data without using a separate field,\nwhich could be a trade off one can make; unfortunately, this entangles\nwork-\u003edata management between regular workqueue and delayed_work code\nby setting cwq pointer before the work item is actually queued and\nbecomes a hindrance for further improvements of work-\u003edata handling.\n\nThis can be easily made sane by adding a target workqueue field to\ndelayed_work.  While delayed_work is used widely in the kernel and\nthis does make it a bit larger (\u003c5%), I think this is the right\ntrade-off especially given the prospect of much saner handling of\nwork-\u003edata which currently involves quite tricky memory barrier\ndancing, and don\u0027t expect to see any measureable effect.\n\nAdd delayed_work-\u003ewq and drop the delayed_work-\u003ework.data overloading.\n\ntj: Rewrote the description.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "038366c5cf23ae737b9f72169dd8ade2d105755b",
      "tree": "7119031b23ba32e02b3fc8621cc8666b41f95f8a",
      "parents": [
        "6be195886ac26abe0194ed1bc7a9224f8a97c310"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Wed Feb 06 18:04:53 2013 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Feb 06 18:04:53 2013 -0800"
      },
      "message": "workqueue: make work_busy() test WORK_STRUCT_PENDING first\n\nCurrently, work_busy() first tests whether the work has a pool\nassociated with it and if not, considers it idle.  This works fine\neven for delayed_work.work queued on timer, as __queue_delayed_work()\nsets cwq on delayed_work.work - a queued delayed_work always has its\ncwq and thus pool associated with it.\n\nHowever, we\u0027re about to update delayed_work queueing and this won\u0027t\nhold.  Update work_busy() such that it tests WORK_STRUCT_PENDING\nbefore the associated pool.  This doesn\u0027t make any noticeable behavior\ndifference now.\n\nWith work_pending() test moved, the function read a lot better with\n\"if (!pool)\" test flipped to positive.  Flip it.\n\nWhile at it, lose the comment about now non-existent reentrant\nworkqueues.\n\ntj: Reorganized the function and rewrote the description.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "6be195886ac26abe0194ed1bc7a9224f8a97c310",
      "tree": "a414324b9232efaa2fd8f1dc4a28d308aa5d99f5",
      "parents": [
        "706026c2141113886f61e1ad2738c9a7723ec69c"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Wed Feb 06 18:04:53 2013 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Feb 06 18:04:53 2013 -0800"
      },
      "message": "workqueue: replace WORK_CPU_NONE/LAST with WORK_CPU_END\n\nNow that workqueue has moved away from gcwqs, workqueue no longer has\nthe need to have a CPU identifier indicating \"no cpu associated\" - we\nnow use WORK_OFFQ_POOL_NONE instead - and most uses of WORK_CPU_NONE\nare gone.\n\nThe only left usage is as the end marker for for_each_*wq*()\niterators, where the name WORK_CPU_NONE is confusing w/o actual\nWORK_CPU_NONE usages.  Similarly, WORK_CPU_LAST which equals\nWORK_CPU_NONE no longer makes sense.\n\nReplace both WORK_CPU_NONE and LAST with WORK_CPU_END.  This patch\ndoesn\u0027t introduce any functional difference.\n\ntj: s/WORK_CPU_LAST/WORK_CPU_END/ and rewrote the description.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "706026c2141113886f61e1ad2738c9a7723ec69c",
      "tree": "c61ffa31567cf6b7536a3209503d498f22c6ace6",
      "parents": [
        "e6e380ed92555533740d5f670640f6f1868132de"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 24 11:01:34 2013 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 24 11:01:34 2013 -0800"
      },
      "message": "workqueue: post global_cwq removal cleanups\n\nRemove remaining references to gcwq.\n\n* __next_gcwq_cpu() steals __next_wq_cpu() name.  The original\n  __next_wq_cpu() became __next_cwq_cpu().\n\n* s/for_each_gcwq_cpu/for_each_wq_cpu/\n  s/for_each_online_gcwq_cpu/for_each_online_wq_cpu/\n\n* s/gcwq_mayday_timeout/pool_mayday_timeout/\n\n* s/gcwq_unbind_fn/wq_unbind_fn/\n\n* Drop references to gcwq in comments.\n\nThis patch doesn\u0027t introduce any functional changes.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "e6e380ed92555533740d5f670640f6f1868132de",
      "tree": "fd24f4293e1c6fa9ab728c59ddc25d26146fd98e",
      "parents": [
        "a60dc39c016a65bfdbd05c43b3707962d5ed04c7"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 24 11:01:34 2013 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 24 11:01:34 2013 -0800"
      },
      "message": "workqueue: rename nr_running variables\n\nRename per-cpu and unbound nr_running variables such that they match\nthe pool variables.\n\nThis patch doesn\u0027t introduce any functional changes.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "a60dc39c016a65bfdbd05c43b3707962d5ed04c7",
      "tree": "c16982dba52f5f83dc09817c37e86ec201f84c03",
      "parents": [
        "4e8f0a609677a25f504527e50981df146c5b3d08"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 24 11:01:34 2013 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 24 11:01:34 2013 -0800"
      },
      "message": "workqueue: remove global_cwq\n\nglobal_cwq is now nothing but a container for per-cpu standard\nworker_pools.  Declare the worker pools directly as\ncpu/unbound_std_worker_pools[] and remove global_cwq.\n\n* ____cacheline_aligned_in_smp moved from global_cwq to worker_pool.\n  This probably would have made sense even before this change as we\n  want each pool to be aligned.\n\n* get_gcwq() is replaced with std_worker_pools() which returns the\n  pointer to the standard pool array for a given CPU.\n\n* __alloc_workqueue_key() updated to use get_std_worker_pool() instead\n  of open-coding pool determination.\n\nThis is part of an effort to remove global_cwq and make worker_pool\nthe top level abstraction, which in turn will help implementing worker\npools with user-specified attributes.\n\nv2: Joonsoo pointed out that it\u0027d better to align struct worker_pool\n    rather than the array so that every pool is aligned.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Joonsoo Kim \u003cjs1304@gmail.com\u003e\n"
    },
    {
      "commit": "4e8f0a609677a25f504527e50981df146c5b3d08",
      "tree": "e8fc37f309cf58c18bc2d0f0dfc00ccbadda7f4d",
      "parents": [
        "38db41d984f17938631420ff78160dda7f182d24"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 24 11:01:34 2013 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 24 11:01:34 2013 -0800"
      },
      "message": "workqueue: remove worker_pool-\u003egcwq\n\nThe only remaining user of pool-\u003egcwq is std_worker_pool_pri().\nReimplement it using get_gcwq() and remove worker_pool-\u003egcwq.\n\nThis is part of an effort to remove global_cwq and make worker_pool\nthe top level abstraction, which in turn will help implementing worker\npools with user-specified attributes.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "38db41d984f17938631420ff78160dda7f182d24",
      "tree": "4591d50ecb7fe9749dc5d48b735d3f43aa0b80a7",
      "parents": [
        "a1056305fa98c7e13b38718658a8b07a5d926460"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 24 11:01:34 2013 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 24 11:01:34 2013 -0800"
      },
      "message": "workqueue: replace for_each_worker_pool() with for_each_std_worker_pool()\n\nfor_each_std_worker_pool() takes @cpu instead of @gcwq.\n\nThis is part of an effort to remove global_cwq and make worker_pool\nthe top level abstraction, which in turn will help implementing worker\npools with user-specified attributes.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "a1056305fa98c7e13b38718658a8b07a5d926460",
      "tree": "d20ce512fdd0e3f07d972d62ecc9cb357c3db69e",
      "parents": [
        "94cf58bb2907bd2702fce2266955e29ab5261f53"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 24 11:01:33 2013 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 24 11:01:33 2013 -0800"
      },
      "message": "workqueue: make freezing/thawing per-pool\n\nInstead of holding locks from both pools and then processing the pools\ntogether, make freezing/thwaing per-pool - grab locks of one pool,\nprocess it, release it and then proceed to the next pool.\n\nWhile this patch changes processing order across pools, order within\neach pool remains the same.  As each pool is independent, this\nshouldn\u0027t break anything.\n\nThis is part of an effort to remove global_cwq and make worker_pool\nthe top level abstraction, which in turn will help implementing worker\npools with user-specified attributes.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "94cf58bb2907bd2702fce2266955e29ab5261f53",
      "tree": "32b7998f475bf41754c74e9e55c45213263c89df",
      "parents": [
        "d565ed6309300304de4a865a04adef07a85edc45"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 24 11:01:33 2013 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 24 11:01:33 2013 -0800"
      },
      "message": "workqueue: make hotplug processing per-pool\n\nInstead of holding locks from both pools and then processing the pools\ntogether, make hotplug processing per-pool - grab locks of one pool,\nprocess it, release it and then proceed to the next pool.\n\nrebind_workers() is updated to take and process @pool instead of @gcwq\nwhich results in a lot of de-indentation.  gcwq_claim_assoc_and_lock()\nand its counterpart are replaced with in-line per-pool locking.\n\nWhile this patch changes processing order across pools, order within\neach pool remains the same.  As each pool is independent, this\nshouldn\u0027t break anything.\n\nThis is part of an effort to remove global_cwq and make worker_pool\nthe top level abstraction, which in turn will help implementing worker\npools with user-specified attributes.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "d565ed6309300304de4a865a04adef07a85edc45",
      "tree": "b79e83064232d5bbf47550b090d6b1e288e123fb",
      "parents": [
        "ec22ca5eab0bd225588c69ccd06b16504cb05adf"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 24 11:01:33 2013 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 24 11:01:33 2013 -0800"
      },
      "message": "workqueue: move global_cwq-\u003elock to worker_pool\n\nMove gcwq-\u003elock to pool-\u003elock.  The conversion is mostly\nstraight-forward.  Things worth noting are\n\n* In many places, this removes the need to use gcwq completely.  pool\n  is used directly instead.  get_std_worker_pool() is added to help\n  some of these conversions.  This also leaves get_work_gcwq() without\n  any user.  Removed.\n\n* In hotplug and freezer paths, the pools belonging to a CPU are often\n  processed together.  This patch makes those paths hold locks of all\n  pools, with highpri lock nested inside, to keep the conversion\n  straight-forward.  These nested lockings will be removed by\n  following patches.\n\nThis is part of an effort to remove global_cwq and make worker_pool\nthe top level abstraction, which in turn will help implementing worker\npools with user-specified attributes.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "ec22ca5eab0bd225588c69ccd06b16504cb05adf",
      "tree": "3282a2b587235879c3f2d286896a003900ab6563",
      "parents": [
        "c9e7cf273fa1876dee8effdb201a6f65eefab3a7"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 24 11:01:33 2013 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 24 11:01:33 2013 -0800"
      },
      "message": "workqueue: move global_cwq-\u003ecpu to worker_pool\n\nMove gcwq-\u003ecpu to pool-\u003ecpu.  This introduces a couple places where\ngcwq-\u003epools[0].cpu is used.  These will soon go away as gcwq is\nfurther reduced.\n\nThis is part of an effort to remove global_cwq and make worker_pool\nthe top level abstraction, which in turn will help implementing worker\npools with user-specified attributes.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "c9e7cf273fa1876dee8effdb201a6f65eefab3a7",
      "tree": "fab0d36f4cd595d1d4bc9fb091d323ea66a692e1",
      "parents": [
        "7c3eed5cd60d0f736516e6ade77d90c6255860bd"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 24 11:01:33 2013 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 24 11:01:33 2013 -0800"
      },
      "message": "workqueue: move busy_hash from global_cwq to worker_pool\n\nThere\u0027s no functional necessity for the two pools on the same CPU to\nshare the busy hash table.  It\u0027s also likely to be a bottleneck when\nimplementing pools with user-specified attributes.\n\nThis patch makes busy_hash per-pool.  The conversion is mostly\nstraight-forward.  Changes worth noting are,\n\n* Large block of changes in rebind_workers() is moving the block\n  inside for_each_worker_pool() as now there are separate hash tables\n  for each pool.  This changes the order of operations but doesn\u0027t\n  break anything.\n\n* Thre for_each_worker_pool() loops in gcwq_unbind_fn() are combined\n  into one.  This again changes the order of operaitons but doesn\u0027t\n  break anything.\n\nThis is part of an effort to remove global_cwq and make worker_pool\nthe top level abstraction, which in turn will help implementing worker\npools with user-specified attributes.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "7c3eed5cd60d0f736516e6ade77d90c6255860bd",
      "tree": "bfc017307b98a4db8c919ba9fb53399189ecf0ad",
      "parents": [
        "9daf9e678d18585433a4ad90ec51a448e5fd054c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 24 11:01:33 2013 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 24 11:01:33 2013 -0800"
      },
      "message": "workqueue: record pool ID instead of CPU in work-\u003edata when off-queue\n\nCurrently, when a work item is off-queue, work-\u003edata records the CPU\nit was last on, which is used to locate the last executing instance\nfor non-reentrance, flushing, etc.\n\nWe\u0027re in the process of removing global_cwq and making worker_pool the\ntop level abstraction.  This patch makes work-\u003edata point to the pool\nit was last associated with instead of CPU.\n\nAfter the previous WORK_OFFQ_POOL_CPU and worker_poo-\u003eid additions,\nthe conversion is fairly straight-forward.  WORK_OFFQ constants and\nfunctions are modified to record and read back pool ID instead.\nworker_pool_by_id() is added to allow looking up pool from ID.\nget_work_pool() replaces get_work_gcwq(), which is reimplemented using\nget_work_pool().  get_work_pool_id() replaces work_cpu().\n\nThis patch shouldn\u0027t introduce any observable behavior changes.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "9daf9e678d18585433a4ad90ec51a448e5fd054c",
      "tree": "e21d85aa3280cabe420c8c8c992f59e11b4aab82",
      "parents": [
        "715b06b864c99a18cb8368dfb187da4f569788cd"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 24 11:01:33 2013 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 24 11:01:33 2013 -0800"
      },
      "message": "workqueue: add worker_pool-\u003eid\n\nAdd worker_pool-\u003eid which is allocated from worker_pool_idr.  This\nwill be used to record the last associated worker_pool in work-\u003edata.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "715b06b864c99a18cb8368dfb187da4f569788cd",
      "tree": "599ab1152a1c93b83d1be05aaeb370cac2e7e3eb",
      "parents": [
        "35b6bb63b8a288f90e07948867941a553b3d97bc"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 24 11:01:33 2013 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 24 11:01:33 2013 -0800"
      },
      "message": "workqueue: introduce WORK_OFFQ_CPU_NONE\n\nCurrently, when a work item is off queue, high bits of its data\nencodes the last CPU it was on.  This is scheduled to be changed to\npool ID, which will make it impossible to use WORK_CPU_NONE to\nindicate no association.\n\nThis patch limits the number of bits which are used for off-queue cpu\nnumber to 31 (so that the max fits in an int) and uses the highest\npossible value - WORK_OFFQ_CPU_NONE - to indicate no association.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "35b6bb63b8a288f90e07948867941a553b3d97bc",
      "tree": "275528f970a80c9bf403a66450808a006db65ba8",
      "parents": [
        "2464757086b4de0591738d5e30f069d068d70ec0"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 24 11:01:33 2013 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 24 11:01:33 2013 -0800"
      },
      "message": "workqueue: make GCWQ_FREEZING a pool flag\n\nMake GCWQ_FREEZING a pool flag POOL_FREEZING.  This patch doesn\u0027t\nchange locking - FREEZING on both pools of a CPU are set or clear\ntogether while holding gcwq-\u003elock.  It shouldn\u0027t cause any functional\ndifference.\n\nThis leaves gcwq-\u003eflags w/o any flags.  Removed.\n\nWhile at it, convert BUG_ON()s in freeze_workqueue_begin() and\nthaw_workqueues() to WARN_ON_ONCE().\n\nThis is part of an effort to remove global_cwq and make worker_pool\nthe top level abstraction, which in turn will help implementing worker\npools with user-specified attributes.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "2464757086b4de0591738d5e30f069d068d70ec0",
      "tree": "2e7994351d92c24fc20fdb38108a64342bef0daf",
      "parents": [
        "e34cdddb03bdfe98f20c58934fd4c45019f13ae5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 24 11:01:33 2013 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 24 11:01:33 2013 -0800"
      },
      "message": "workqueue: make GCWQ_DISASSOCIATED a pool flag\n\nMake GCWQ_DISASSOCIATED a pool flag POOL_DISASSOCIATED.  This patch\ndoesn\u0027t change locking - DISASSOCIATED on both pools of a CPU are set\nor clear together while holding gcwq-\u003elock.  It shouldn\u0027t cause any\nfunctional difference.\n\nThis is part of an effort to remove global_cwq and make worker_pool\nthe top level abstraction, which in turn will help implementing worker\npools with user-specified attributes.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "e34cdddb03bdfe98f20c58934fd4c45019f13ae5",
      "tree": "3c98a24a407e1f2794e06a48961a2b9da8e208ae",
      "parents": [
        "e2905b29122173b72b612c962b138e3fa07476b8"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 24 11:01:33 2013 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 24 11:01:33 2013 -0800"
      },
      "message": "workqueue: use std_ prefix for the standard per-cpu pools\n\nThere are currently two worker pools per cpu (including the unbound\ncpu) and they are the only pools in use.  New class of pools are\nscheduled to be added and some pool related APIs will be added\ninbetween.  Call the existing pools the standard pools and prefix them\nwith std_.  Do this early so that new APIs can use std_ prefix from\nthe beginning.\n\nThis patch doesn\u0027t introduce any functional difference.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "e2905b29122173b72b612c962b138e3fa07476b8",
      "tree": "66d7a8545f1fda113962c4a817673ff5b453c336",
      "parents": [
        "84b233adcca3cacd5cfa8013a5feda7a3db4a9af"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 24 11:01:32 2013 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 24 11:01:32 2013 -0800"
      },
      "message": "workqueue: unexport work_cpu()\n\nThis function no longer has any external users.  Unexport it.  It will\nbe removed later on.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "84b233adcca3cacd5cfa8013a5feda7a3db4a9af",
      "tree": "3d1f4a7f5f1d27dc08bb661691fd1470acf497a5",
      "parents": [
        "2eaebdb33e1911c0cf3d44fd3596c42c6f502fab"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Jan 18 14:05:56 2013 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Jan 18 14:05:56 2013 -0800"
      },
      "message": "workqueue: implement current_is_async()\n\nThis function queries whether %current is an async worker executing an\nasync item.  This will be used to implement warning on synchronous\nrequest_module() from async workers.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "2eaebdb33e1911c0cf3d44fd3596c42c6f502fab",
      "tree": "240924aae7c1ce31dc850a290ef53e268f071ebd",
      "parents": [
        "ea138446e51f7bfe55cdeffa3f1dd9cafc786bd8"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Jan 18 14:05:55 2013 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Jan 18 14:05:55 2013 -0800"
      },
      "message": "workqueue: move struct worker definition to workqueue_internal.h\n\nThis will be used to implement an inline function to query whether\n%current is a workqueue worker and, if so, allow determining which\nwork item it\u0027s executing.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ea138446e51f7bfe55cdeffa3f1dd9cafc786bd8",
      "tree": "a441a0546a062817946eb1c28f7d2f9cdaf6062a",
      "parents": [
        "111c225a5f8d872bc9327ada18d13b75edaa34be"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Jan 18 14:05:55 2013 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Jan 18 14:05:55 2013 -0800"
      },
      "message": "workqueue: rename kernel/workqueue_sched.h to kernel/workqueue_internal.h\n\nWorkqueue wants to expose more interface internal to kernel/.  Instead\nof adding a new header file, repurpose kernel/workqueue_sched.h.\nRename it to workqueue_internal.h and add include protector.\n\nThis patch doesn\u0027t introduce any functional changes.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\n"
    },
    {
      "commit": "111c225a5f8d872bc9327ada18d13b75edaa34be",
      "tree": "8bb9e31b8345f67c50f5370e6ba03f613afd5b65",
      "parents": [
        "023f27d3d6fcc9048754d879fe5e7d63402a5b16"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 17 17:16:24 2013 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 17 17:19:58 2013 -0800"
      },
      "message": "workqueue: set PF_WQ_WORKER on rescuers\n\nPF_WQ_WORKER is used to tell scheduler that the task is a workqueue\nworker and needs wq_worker_sleeping/waking_up() invoked on it for\nconcurrency management.  As rescuers never participate in concurrency\nmanagement, PF_WQ_WORKER wasn\u0027t set on them.\n\nThere\u0027s a need for an interface which can query whether %current is\nexecuting a work item and if so which.  Such interface requires a way\nto identify all tasks which may execute work items and PF_WQ_WORKER\nwill be used for that.  As all normal workers always have PF_WQ_WORKER\nset, we only need to add it to rescuers.\n\nAs rescuers start with WORKER_PREP but never clear it, it\u0027s always\nNOT_RUNNING and there\u0027s no need to worry about it interfering with\nconcurrency management even if PF_WQ_WORKER is set; however, unlike\nnormal workers, rescuers currently don\u0027t have its worker struct as\nkthread_data().  It uses the associated workqueue_struct instead.\nThis is problematic as wq_worker_sleeping/waking_up() expect struct\nworker at kthread_data().\n\nThis patch adds worker-\u003erescue_wq and start rescuer kthreads with\nworker struct as kthread_data and sets PF_WQ_WORKER on rescuers.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "023f27d3d6fcc9048754d879fe5e7d63402a5b16",
      "tree": "0836e744e107c7506dee26ef87257d7951341441",
      "parents": [
        "a2c1c57be8d9fd5b716113c8991d3d702eeacf77"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Dec 19 11:24:06 2012 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Dec 19 11:24:06 2012 -0800"
      },
      "message": "workqueue: fix find_worker_executing_work() brekage from hashtable conversion\n\n42f8570f43 (\"workqueue: use new hashtable implementation\") incorrectly\nmade busy workers hashed by the pointer value of worker instead of\nwork.  This broke find_worker_executing_work() which in turn broke a\nlot of fundamental operations of workqueue - non-reentrancy and\nflushing among others.  The flush malfunction triggered warning in\ndisk event code in Fengguang\u0027s automated test.\n\n write_dev_root_ (3265) used greatest stack depth: 2704 bytes left\n ------------[ cut here ]------------\n WARNING: at /c/kernel-tests/src/stable/block/genhd.c:1574 disk_clear_events+0x\\\ncf/0x108()\n Hardware name: Bochs\n Modules linked in:\n Pid: 3328, comm: ata_id Not tainted 3.7.0-01930-gbff6343 #1167\n Call Trace:\n  [\u003cffffffff810997c4\u003e] warn_slowpath_common+0x83/0x9c\n  [\u003cffffffff810997f7\u003e] warn_slowpath_null+0x1a/0x1c\n  [\u003cffffffff816aea77\u003e] disk_clear_events+0xcf/0x108\n  [\u003cffffffff811bd8be\u003e] check_disk_change+0x27/0x59\n  [\u003cffffffff822e48e2\u003e] cdrom_open+0x49/0x68b\n  [\u003cffffffff81ab0291\u003e] idecd_open+0x88/0xb7\n  [\u003cffffffff811be58f\u003e] __blkdev_get+0x102/0x3ec\n  [\u003cffffffff811bea08\u003e] blkdev_get+0x18f/0x30f\n  [\u003cffffffff811bebfd\u003e] blkdev_open+0x75/0x80\n  [\u003cffffffff8118f510\u003e] do_dentry_open+0x1ea/0x295\n  [\u003cffffffff8118f5f0\u003e] finish_open+0x35/0x41\n  [\u003cffffffff8119c720\u003e] do_last+0x878/0xa25\n  [\u003cffffffff8119c993\u003e] path_openat+0xc6/0x333\n  [\u003cffffffff8119cf37\u003e] do_filp_open+0x38/0x86\n  [\u003cffffffff81190170\u003e] do_sys_open+0x6c/0xf9\n  [\u003cffffffff8119021e\u003e] sys_open+0x21/0x23\n  [\u003cffffffff82c1c3d9\u003e] system_call_fastpath+0x16/0x1b\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nCc: Sasha Levin \u003csasha.levin@oracle.com\u003e\n"
    },
    {
      "commit": "a2c1c57be8d9fd5b716113c8991d3d702eeacf77",
      "tree": "dd275d53f76528c37e4f8f71fbfd4e2e9954f70b",
      "parents": [
        "42f8570f437b65aaf3ef176a38ad7d7fc5847d8b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Dec 18 10:35:02 2012 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Dec 18 10:56:14 2012 -0800"
      },
      "message": "workqueue: consider work function when searching for busy work items\n\nTo avoid executing the same work item concurrenlty, workqueue hashes\ncurrently busy workers according to their current work items and looks\nup the the table when it wants to execute a new work item.  If there\nalready is a worker which is executing the new work item, the new item\nis queued to the found worker so that it gets executed only after the\ncurrent execution finishes.\n\nUnfortunately, a work item may be freed while being executed and thus\nrecycled for different purposes.  If it gets recycled for a different\nwork item and queued while the previous execution is still in\nprogress, workqueue may make the new work item wait for the old one\nalthough the two aren\u0027t really related in any way.\n\nIn extreme cases, this false dependency may lead to deadlock although\nit\u0027s extremely unlikely given that there aren\u0027t too many self-freeing\nwork item users and they usually don\u0027t wait for other work items.\n\nTo alleviate the problem, record the current work function in each\nbusy worker and match it together with the work item address in\nfind_worker_executing_work().  While this isn\u0027t complete, it ensures\nthat unrelated work items don\u0027t interact with each other and in the\nvery unlikely case where a twisted wq user triggers it, it\u0027s always\nonto itself making the culprit easy to spot.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Andrey Isakov \u003candy51@gmx.ru\u003e\nBugzilla: https://bugzilla.kernel.org/show_bug.cgi?id\u003d51701\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "42f8570f437b65aaf3ef176a38ad7d7fc5847d8b",
      "tree": "be5eee8505b195f952afb4d5a7655142a9de1b12",
      "parents": [
        "848b81415c42ff3dc9a4204749087b015c37ef66"
      ],
      "author": {
        "name": "Sasha Levin",
        "email": "sasha.levin@oracle.com",
        "time": "Mon Dec 17 10:01:23 2012 -0500"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Dec 18 09:21:13 2012 -0800"
      },
      "message": "workqueue: use new hashtable implementation\n\nSwitch workqueues to use the new hashtable implementation. This reduces the\namount of generic unrelated code in the workqueues.\n\nThis patch depends on d9b482c (\"hashtable: introduce a small and naive\nhashtable\") which was merged in v3.6.\n\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Sasha Levin \u003csasha.levin@oracle.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "848b81415c42ff3dc9a4204749087b015c37ef66",
      "tree": "391da3a73aea48632248220d2d6b8d45a88f7eae",
      "parents": [
        "992956189de58cae9f2be40585bc25105cd7c5ad",
        "6fd59a83b9261fa53eaf98fb5514abba504a3ea3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 17 20:58:12 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 17 20:58:12 2012 -0800"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge misc patches from Andrew Morton:\n \"Incoming:\n\n   - lots of misc stuff\n\n   - backlight tree updates\n\n   - lib/ updates\n\n   - Oleg\u0027s percpu-rwsem changes\n\n   - checkpatch\n\n   - rtc\n\n   - aoe\n\n   - more checkpoint/restart support\n\n  I still have a pile of MM stuff pending - Pekka should be merging\n  later today after which that is good to go.  A number of other things\n  are twiddling thumbs awaiting maintainer merges.\"\n\n* emailed patches from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (180 commits)\n  scatterlist: don\u0027t BUG when we can trivially return a proper error.\n  docs: update documentation about /proc/\u003cpid\u003e/fdinfo/\u003cfd\u003e fanotify output\n  fs, fanotify: add @mflags field to fanotify output\n  docs: add documentation about /proc/\u003cpid\u003e/fdinfo/\u003cfd\u003e output\n  fs, notify: add procfs fdinfo helper\n  fs, exportfs: add exportfs_encode_inode_fh() helper\n  fs, exportfs: escape nil dereference if no s_export_op present\n  fs, epoll: add procfs fdinfo helper\n  fs, eventfd: add procfs fdinfo helper\n  procfs: add ability to plug in auxiliary fdinfo providers\n  tools/testing/selftests/kcmp/kcmp_test.c: print reason for failure in kcmp_test\n  breakpoint selftests: print failure status instead of cause make error\n  kcmp selftests: print fail status instead of cause make error\n  kcmp selftests: make run_tests fix\n  mem-hotplug selftests: print failure status instead of cause make error\n  cpu-hotplug selftests: print failure status instead of cause make error\n  mqueue selftests: print failure status instead of cause make error\n  vm selftests: print failure status instead of cause make error\n  ubifs: use prandom_bytes\n  mtd: nandsim: use prandom_bytes\n  ...\n"
    },
    {
      "commit": "a5ba911ec3792168530d35e16a8ec3b6fc60bcb5",
      "tree": "1dbffcb920aabeb12dc166aa11299bbddba8a245",
      "parents": [
        "d740269867021faf4ce38a449353d2b986c34a67"
      ],
      "author": {
        "name": "Gao feng",
        "email": "gaofeng@cn.fujitsu.com",
        "time": "Mon Dec 17 16:03:22 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 17 17:15:23 2012 -0800"
      },
      "message": "pidns: remove unused is_container_init()\n\nSince commit 1cdcbec1a337 (\"CRED: Neuter sys_capset()\")\nis_container_init() has no callers.\n\nSigned-off-by: Gao feng \u003cgaofeng@cn.fujitsu.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "992fb6e170639b0849bace8e49bf31bd37c4123c",
      "tree": "29f54e489ea095aba284fd4b1feb7201347eb70c",
      "parents": [
        "462e471107624fe9bd8b6353ac13e06305c3f3fd"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Dec 17 16:03:07 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 17 17:15:22 2012 -0800"
      },
      "message": "ptrace: introduce PTRACE_O_EXITKILL\n\nPtrace jailers want to be sure that the tracee can never escape\nfrom the control. However if the tracer dies unexpectedly the\ntracee continues to run in potentially unsafe mode.\n\nAdd the new ptrace option PTRACE_O_EXITKILL. If the tracer exits\nit sends SIGKILL to every tracee which has this bit set.\n\nNote that the new option is not equal to the last-option \u003c\u003c 1.  Because\ncurrently all options have an event, and the new one starts the eventless\ngroup.  It uses the random 20 bit, so we have the room for 12 more events,\nbut we can also add the new eventless options below this one.\n\nSuggested by Amnon Shiloh.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nTested-by: Amnon Shiloh \u003cu3557@miso.sublimeip.com\u003e\nCc: Denys Vlasenko \u003cdvlasenk@redhat.com\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nCc: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: Chris Evans \u003cscarybeasts@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0ad50c3896afbb3c103409a18260e601b87a744c",
      "tree": "3a59c1e90b3ee62daf18bc9689cf454a31f164be",
      "parents": [
        "918854a65e856574523d94763ef2a2b48ad55a25"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Mon Dec 17 16:01:45 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 17 17:15:18 2012 -0800"
      },
      "message": "compat: generic compat_sys_sched_rr_get_interval() implementation\n\nThis function is used by sparc, powerpc tile and arm64 for compat support.\n The patch adds a generic implementation with a wrapper for PowerPC to do\nthe u32-\u003eint sign extension.\n\nThe reason for a single patch covering powerpc, tile, sparc and arm64 is\nto keep it bisectable, otherwise kernel building may fail with mismatched\nfunction declarations.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nAcked-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e  [for tile]\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b2e902f024fa6f6f27b335c478d81bab0cb2c768",
      "tree": "dea9ad4bb8ce9cb51864817a1b39293c65f9c9e4",
      "parents": [
        "f9a00e8738c209d95493cf97d3a82ab2655892e5"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "andriy.shevchenko@linux.intel.com",
        "time": "Mon Dec 17 16:01:27 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 17 17:15:17 2012 -0800"
      },
      "message": "trace: use kbasename()\n\nSigned-off-by: Andy Shevchenko \u003candriy.shevchenko@linux.intel.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: 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": "2fa72c8fa5d03c4e07894ccb9f0be72e8687a455",
      "tree": "d71a2c684e931d187901dbb8ddd926ebd93a46ba",
      "parents": [
        "afde3be121efcc658e26f8cc71ead04af96d38f9"
      ],
      "author": {
        "name": "Andrew Cooks",
        "email": "acooks@gmail.com",
        "time": "Mon Dec 17 15:59:56 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 17 17:15:13 2012 -0800"
      },
      "message": "printk: boot_delay should only affect output\n\nThe boot_delay parameter affects all printk(), even if the log level\nprevents visible output from the call.  It results in delays greater than\nthe user intended without purpose.\n\nThis patch changes the behaviour of boot_delay to only delay output.\n\nSigned-off-by: Andrew Cooks \u003cacooks@gmail.com\u003e\nAcked-by: Randy Dunlap \u003crdunlap@infradead.org\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0f34c400914f165b7b3812459be2d77b8aa1f1e4",
      "tree": "b45e4acaadd16362d08d107f24ac63b6e61e142c",
      "parents": [
        "2bf0a8f67fae9906c6497886203f6e5cb7168df6"
      ],
      "author": {
        "name": "Chuansheng Liu",
        "email": "chuansheng.liu@intel.com",
        "time": "Mon Dec 17 15:59:50 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 17 17:15:13 2012 -0800"
      },
      "message": "watchdog: store the watchdog sample period as a variable\n\nCurrently getting the sample period is always thru a complex\ncalculation: get_softlockup_thresh() * ((u64)NSEC_PER_SEC / 5).\n\nWe can store the sample period as a variable, and set it as __read_mostly\ntype.\n\nSigned-off-by: liu chuansheng \u003cchuansheng.liu@intel.com\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "965c8e59cfcf845ecde2265a1d1bfee5f011d302",
      "tree": "22758a99b4ecb475750966d5202200dc0e89876c",
      "parents": [
        "c0f041602c33bae10b8e321c49024490d03ced3d"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Dec 17 15:59:39 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 17 17:15:12 2012 -0800"
      },
      "message": "lseek: the \"whence\" argument is called \"whence\"\n\nBut the kernel decided to call it \"origin\" instead.  Fix most of the\nsites.\n\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8ec7d50f1ed2b072d23ce810f86df09ee0568d4b",
      "tree": "913675a8d7d167a29e5d9dac4f16b6dfa0746bb8",
      "parents": [
        "66d93341b507185d6934756fb6f6b69b42ff43e4"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Mon Dec 17 15:59:36 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 17 17:15:12 2012 -0800"
      },
      "message": "kernel: remove reference to feature-removal-schedule.txt\n\nIn commit 9c0ece069b32 (\"Get rid of Documentation/feature-removal.txt\"),\nLinus removed feature-removal-schedule.txt from Documentation, but there\nis still some reference to this file.  So remove them.\n\nSigned-off-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6a2b60b17b3e48a418695a94bd2420f6ab32e519",
      "tree": "54b7792fa68b8890f710fa6398b6ba8626a039a8",
      "parents": [
        "9228ff90387e276ad67b10c0eb525c9d6a57d5e9",
        "98f842e675f96ffac96e6c50315790912b2812be"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 17 15:44:47 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 17 15:44:47 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace\n\nPull user namespace changes from Eric Biederman:\n \"While small this set of changes is very significant with respect to\n  containers in general and user namespaces in particular.  The user\n  space interface is now complete.\n\n  This set of changes adds support for unprivileged users to create user\n  namespaces and as a user namespace root to create other namespaces.\n  The tyranny of supporting suid root preventing unprivileged users from\n  using cool new kernel features is broken.\n\n  This set of changes completes the work on setns, adding support for\n  the pid, user, mount namespaces.\n\n  This set of changes includes a bunch of basic pid namespace\n  cleanups/simplifications.  Of particular significance is the rework of\n  the pid namespace cleanup so it no longer requires sending out\n  tendrils into all kinds of unexpected cleanup paths for operation.  At\n  least one case of broken error handling is fixed by this cleanup.\n\n  The files under /proc/\u003cpid\u003e/ns/ have been converted from regular files\n  to magic symlinks which prevents incorrect caching by the VFS,\n  ensuring the files always refer to the namespace the process is\n  currently using and ensuring that the ptrace_mayaccess permission\n  checks are always applied.\n\n  The files under /proc/\u003cpid\u003e/ns/ have been given stable inode numbers\n  so it is now possible to see if different processes share the same\n  namespaces.\n\n  Through the David Miller\u0027s net tree are changes to relax many of the\n  permission checks in the networking stack to allowing the user\n  namespace root to usefully use the networking stack.  Similar changes\n  for the mount namespace and the pid namespace are coming through my\n  tree.\n\n  Two small changes to add user namespace support were commited here adn\n  in David Miller\u0027s -net tree so that I could complete the work on the\n  /proc/\u003cpid\u003e/ns/ files in this tree.\n\n  Work remains to make it safe to build user namespaces and 9p, afs,\n  ceph, cifs, coda, gfs2, ncpfs, nfs, nfsd, ocfs2, and xfs so the\n  Kconfig guard remains in place preventing that user namespaces from\n  being built when any of those filesystems are enabled.\n\n  Future design work remains to allow root users outside of the initial\n  user namespace to mount more than just /proc and /sys.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: (38 commits)\n  proc: Usable inode numbers for the namespace file descriptors.\n  proc: Fix the namespace inode permission checks.\n  proc: Generalize proc inode allocation\n  userns: Allow unprivilged mounts of proc and sysfs\n  userns: For /proc/self/{uid,gid}_map derive the lower userns from the struct file\n  procfs: Print task uids and gids in the userns that opened the proc file\n  userns: Implement unshare of the user namespace\n  userns: Implent proc namespace operations\n  userns: Kill task_user_ns\n  userns: Make create_new_namespaces take a user_ns parameter\n  userns: Allow unprivileged use of setns.\n  userns: Allow unprivileged users to create new namespaces\n  userns: Allow setting a userns mapping to your current uid.\n  userns: Allow chown and setgid preservation\n  userns: Allow unprivileged users to create user namespaces.\n  userns: Ignore suid and sgid on binaries if the uid or gid can not be mapped\n  userns: fix return value on mntns_install() failure\n  vfs: Allow unprivileged manipulation of the mount namespace.\n  vfs: Only support slave subtrees across different user namespaces\n  vfs: Add a user namespace reference from struct mnt_namespace\n  ...\n"
    },
    {
      "commit": "221392c3ad0432e39fd74a349364f66cb0ed78f6",
      "tree": "cc47a75ade22ee1e32da36c67f3dea2bb9a42393",
      "parents": [
        "a4f1de176614f634c367e5994a7bcc428c940df0"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Mon Dec 17 14:05:53 2012 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 17 08:25:50 2012 -0800"
      },
      "message": "sched: numa: Fix build error if CONFIG_NUMA_BALANCING \u0026\u0026 !CONFIG_TRANSPARENT_HUGEPAGE\n\nMichal Hocko reported that the following build error occurs if\nCONFIG_NUMA_BALANCING is set without THP support\n\n  kernel/sched/fair.c: In function ‘task_numa_work’:\n  kernel/sched/fair.c:932:55: error: call to ‘__build_bug_failed’ declared with attribute error: BUILD_BUG failed\n\nThe problem is that HPAGE_PMD_SHIFT triggers a BUILD_BUG() on\n!CONFIG_TRANSPARENT_HUGEPAGE. This patch addresses the problem.\n\nReported-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2a74dbb9a86e8102dcd07d284135b4530a84826e",
      "tree": "a54403e312b6062dfb57bd904ba8b8ce3b11e720",
      "parents": [
        "770b6cb4d21fb3e3df2a7a51e186a3c14db1ec30",
        "e93072374112db9dc86635934ee761249be28370"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 16 15:40:50 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 16 15:40:50 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security\n\nPull security subsystem updates from James Morris:\n \"A quiet cycle for the security subsystem with just a few maintenance\n  updates.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:\n  Smack: create a sysfs mount point for smackfs\n  Smack: use select not depends in Kconfig\n  Yama: remove locking from delete path\n  Yama: add RCU to drop read locking\n  drivers/char/tpm: remove tasklet and cleanup\n  KEYS: Use keyring_alloc() to create special keyrings\n  KEYS: Reduce initial permissions on keys\n  KEYS: Make the session and process keyrings per-thread\n  seccomp: Make syscall skipping and nr changes more consistent\n  key: Fix resource leak\n  keys: Fix unreachable code\n  KEYS: Add payload preparsing opportunity prior to key instantiate or update\n"
    },
    {
      "commit": "3d59eebc5e137bd89c6351e4c70e90ba1d0dc234",
      "tree": "b4ddfd0b057454a7437a3b4e3074a3b8b4b03817",
      "parents": [
        "11520e5e7c1855fc3bf202bb3be35a39d9efa034",
        "4fc3f1d66b1ef0d7b8dc11f4ff1cc510f78b37d6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 16 14:33:25 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 16 15:18:08 2012 -0800"
      },
      "message": "Merge tag \u0027balancenuma-v11\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mel/linux-balancenuma\n\nPull Automatic NUMA Balancing bare-bones from Mel Gorman:\n \"There are three implementations for NUMA balancing, this tree\n  (balancenuma), numacore which has been developed in tip/master and\n  autonuma which is in aa.git.\n\n  In almost all respects balancenuma is the dumbest of the three because\n  its main impact is on the VM side with no attempt to be smart about\n  scheduling.  In the interest of getting the ball rolling, it would be\n  desirable to see this much merged for 3.8 with the view to building\n  scheduler smarts on top and adapting the VM where required for 3.9.\n\n  The most recent set of comparisons available from different people are\n\n    mel:    https://lkml.org/lkml/2012/12/9/108\n    mingo:  https://lkml.org/lkml/2012/12/7/331\n    tglx:   https://lkml.org/lkml/2012/12/10/437\n    srikar: https://lkml.org/lkml/2012/12/10/397\n\n  The results are a mixed bag.  In my own tests, balancenuma does\n  reasonably well.  It\u0027s dumb as rocks and does not regress against\n  mainline.  On the other hand, Ingo\u0027s tests shows that balancenuma is\n  incapable of converging for this workloads driven by perf which is bad\n  but is potentially explained by the lack of scheduler smarts.  Thomas\u0027\n  results show balancenuma improves on mainline but falls far short of\n  numacore or autonuma.  Srikar\u0027s results indicate we all suffer on a\n  large machine with imbalanced node sizes.\n\n  My own testing showed that recent numacore results have improved\n  dramatically, particularly in the last week but not universally.\n  We\u0027ve butted heads heavily on system CPU usage and high levels of\n  migration even when it shows that overall performance is better.\n  There are also cases where it regresses.  Of interest is that for\n  specjbb in some configurations it will regress for lower numbers of\n  warehouses and show gains for higher numbers which is not reported by\n  the tool by default and sometimes missed in treports.  Recently I\n  reported for numacore that the JVM was crashing with\n  NullPointerExceptions but currently it\u0027s unclear what the source of\n  this problem is.  Initially I thought it was in how numacore batch\n  handles PTEs but I\u0027m no longer think this is the case.  It\u0027s possible\n  numacore is just able to trigger it due to higher rates of migration.\n\n  These reports were quite late in the cycle so I/we would like to start\n  with this tree as it contains much of the code we can agree on and has\n  not changed significantly over the last 2-3 weeks.\"\n\n* tag \u0027balancenuma-v11\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mel/linux-balancenuma: (50 commits)\n  mm/rmap, migration: Make rmap_walk_anon() and try_to_unmap_anon() more scalable\n  mm/rmap: Convert the struct anon_vma::mutex to an rwsem\n  mm: migrate: Account a transhuge page properly when rate limiting\n  mm: numa: Account for failed allocations and isolations as migration failures\n  mm: numa: Add THP migration for the NUMA working set scanning fault case build fix\n  mm: numa: Add THP migration for the NUMA working set scanning fault case.\n  mm: sched: numa: Delay PTE scanning until a task is scheduled on a new node\n  mm: sched: numa: Control enabling and disabling of NUMA balancing if !SCHED_DEBUG\n  mm: sched: numa: Control enabling and disabling of NUMA balancing\n  mm: sched: Adapt the scanning rate if a NUMA hinting fault does not migrate\n  mm: numa: Use a two-stage filter to restrict pages being migrated for unlikely task\u003c-\u003enode relationships\n  mm: numa: migrate: Set last_nid on newly allocated page\n  mm: numa: split_huge_page: Transfer last_nid on tail page\n  mm: numa: Introduce last_nid to the page frame\n  sched: numa: Slowly increase the scanning period as NUMA faults are handled\n  mm: numa: Rate limit setting of pte_numa if node is saturated\n  mm: numa: Rate limit the amount of memory that is migrated between nodes\n  mm: numa: Structures for Migrate On Fault per NUMA migration rate limiting\n  mm: numa: Migrate pages handled during a pmd_numa hinting fault\n  mm: numa: Migrate on reference policy\n  ...\n"
    },
    {
      "commit": "1ed55eac3b1fc30b29cdb52251e0f13b24fc344c",
      "tree": "b7a4c67f2e29f8aa418708c5da871e64c511f3ff",
      "parents": [
        "08242bc2210938761230f79c5288dbcf72e94808",
        "a2c0911c09190125f52c9941b9d187f601c2f7be"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 15 12:35:19 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 15 12:35:19 2012 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\nPull crypto update from Herbert Xu:\n\n - Added aesni/avx/x86_64 implementations for camellia.\n\n - Optimised AVX code for cast5/serpent/twofish/cast6.\n\n - Fixed vmac bug with unaligned input.\n\n - Allow compression algorithms in FIPS mode.\n\n - Optimised crc32c implementation for Intel.\n\n - Misc fixes.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (32 commits)\n  crypto: caam - Updated SEC-4.0 device tree binding for ERA information.\n  crypto: testmgr - remove superfluous initializers for xts(aes)\n  crypto: testmgr - allow compression algs in fips mode\n  crypto: testmgr - add larger crc32c test vector to test FPU path in crc32c_intel\n  crypto: testmgr - clean alg_test_null entries in alg_test_descs[]\n  crypto: testmgr - remove fips_allowed flag from camellia-aesni null-tests\n  crypto: cast5/cast6 - move lookup tables to shared module\n  padata: use __this_cpu_read per-cpu helper\n  crypto: s5p-sss - Fix compilation error\n  crypto: picoxcell - Add terminating entry for platform_device_id table\n  crypto: omap-aes - select BLKCIPHER2\n  crypto: camellia - add AES-NI/AVX/x86_64 assembler implementation of camellia cipher\n  crypto: camellia-x86_64 - share common functions and move structures and function definitions to header file\n  crypto: tcrypt - add async speed test for camellia cipher\n  crypto: tegra-aes - fix error-valued pointer dereference\n  crypto: tegra - fix missing unlock on error case\n  crypto: cast5/avx - avoid using temporary stack buffers\n  crypto: serpent/avx - avoid using temporary stack buffers\n  crypto: twofish/avx - avoid using temporary stack buffers\n  crypto: cast6/avx - avoid using temporary stack buffers\n  ...\n"
    },
    {
      "commit": "17bc14b767cf0692420c43dbe5310ae98a5a7836",
      "tree": "9b0f339e5d9769a51acdeb7a246f6e7522efa966",
      "parents": [
        "7313264b899bbf3988841296265a6e0e8a7b6521"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 14 07:20:43 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 14 07:20:43 2012 -0800"
      },
      "message": "Revert \"sched: Update_cfs_shares at period edge\"\n\nThis reverts commit f269ae0469fc882332bdfb5db15d3c1315fe2a10.\n\nIt turns out it causes a very noticeable interactivity regression with\nCONFIG_SCHED_AUTOGROUP (test-case: \"make -j32\" of the kernel in a\nterminal window, while scrolling in a browser - the autogrouping means\nthat the two end up in separate cgroups, and the browser should be\nsmooth as silk despite the high load).\n\nSays Paul Turner:\n \"It seems that the update-throttling on the wake-side is reducing the\n  interactive tasks\u0027 ability to preempt.  While I suspect the right\n  longer term answer here is force these updates only in the\n  cross-cgroup case; this is less trivial.  For this release I believe\n  the right answer is either going to be a revert or restore the updates\n  on the enqueue-side.\"\n\nReported-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nBisected-by: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Paul Turner \u003cpjt@google.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "66cdd0ceaf65a18996f561b770eedde1d123b019",
      "tree": "4892eaa422d366fce5d1e866ff1fe0988af95569",
      "parents": [
        "896ea17d3da5f44b2625c9cda9874d7dfe447393",
        "58b7825bc324da55415034a9f6ca5d716b8fd898"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 13 15:31:08 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 13 15:31:08 2012 -0800"
      },
      "message": "Merge tag \u0027kvm-3.8-1\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\nPull KVM updates from Marcelo Tosatti:\n \"Considerable KVM/PPC work, x86 kvmclock vsyscall support,\n  IA32_TSC_ADJUST MSR emulation, amongst others.\"\n\nFix up trivial conflict in kernel/sched/core.c due to cross-cpu\nmigration notifier added next to rq migration call-back.\n\n* tag \u0027kvm-3.8-1\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (156 commits)\n  KVM: emulator: fix real mode segment checks in address linearization\n  VMX: remove unneeded enable_unrestricted_guest check\n  KVM: VMX: fix DPL during entry to protected mode\n  x86/kexec: crash_vmclear_local_vmcss needs __rcu\n  kvm: Fix irqfd resampler list walk\n  KVM: VMX: provide the vmclear function and a bitmap to support VMCLEAR in kdump\n  x86/kexec: VMCLEAR VMCSs loaded on all cpus if necessary\n  KVM: MMU: optimize for set_spte\n  KVM: PPC: booke: Get/set guest EPCR register using ONE_REG interface\n  KVM: PPC: bookehv: Add EPCR support in mtspr/mfspr emulation\n  KVM: PPC: bookehv: Add guest computation mode for irq delivery\n  KVM: PPC: Make EPCR a valid field for booke64 and bookehv\n  KVM: PPC: booke: Extend MAS2 EPN mask for 64-bit\n  KVM: PPC: e500: Mask MAS2 EPN high 32-bits in 32/64 tlbwe emulation\n  KVM: PPC: Mask ea\u0027s high 32-bits in 32/64 instr emulation\n  KVM: PPC: e500: Add emulation helper for getting instruction ea\n  KVM: PPC: bookehv64: Add support for interrupt handling\n  KVM: PPC: bookehv: Remove GET_VCPU macro from exception handler\n  KVM: PPC: booke: Fix get_tb() compile error on 64-bit\n  KVM: PPC: e500: Silence bogus GCC warning in tlb code\n  ...\n"
    },
    {
      "commit": "f6e858a00af788bab0fd4c0b7f5cd788000edc18",
      "tree": "f9403ca3671be9821dbf83e726e61dbe75fbca6b",
      "parents": [
        "193c0d682525987db59ac3a24531a77e4947aa95",
        "98870901cce098bbe94d90d2c41d8d1fa8d94392"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 13 13:11:15 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 13 13:11:15 2012 -0800"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge misc VM changes from Andrew Morton:\n \"The rest of most-of-MM.  The other MM bits await a slab merge.\n\n  This patch includes the addition of a huge zero_page.  Not a\n  performance boost but it an save large amounts of physical memory in\n  some situations.\n\n  Also a bunch of Fujitsu engineers are working on memory hotplug.\n  Which, as it turns out, was badly broken.  About half of their patches\n  are included here; the remainder are 3.8 material.\"\n\nHowever, this merge disables CONFIG_MOVABLE_NODE, which was totally\nbroken.  We don\u0027t add new features with \"default y\", nor do we add\nKconfig questions that are incomprehensible to most people without any\nhelp text.  Does the feature even make sense without compaction or\nmemory hotplug?\n\n* akpm: (54 commits)\n  mm/bootmem.c: remove unused wrapper function reserve_bootmem_generic()\n  mm/memory.c: remove unused code from do_wp_page()\n  asm-generic, mm: pgtable: consolidate zero page helpers\n  mm/hugetlb.c: fix warning on freeing hwpoisoned hugepage\n  hwpoison, hugetlbfs: fix RSS-counter warning\n  hwpoison, hugetlbfs: fix \"bad pmd\" warning in unmapping hwpoisoned hugepage\n  mm: protect against concurrent vma expansion\n  memcg: do not check for mm in __mem_cgroup_count_vm_event\n  tmpfs: support SEEK_DATA and SEEK_HOLE (reprise)\n  mm: provide more accurate estimation of pages occupied by memmap\n  fs/buffer.c: remove redundant initialization in alloc_page_buffers()\n  fs/buffer.c: do not inline exported function\n  writeback: fix a typo in comment\n  mm: introduce new field \"managed_pages\" to struct zone\n  mm, oom: remove statically defined arch functions of same name\n  mm, oom: remove redundant sleep in pagefault oom handler\n  mm, oom: cleanup pagefault oom handler\n  memory_hotplug: allow online/offline memory to result movable node\n  numa: add CONFIG_MOVABLE_NODE for movable-dedicated node\n  mm, memcg: avoid unnecessary function call when memcg is disabled\n  ...\n"
    },
    {
      "commit": "a2013a13e68354e0c8f3696b69701803e13fb737",
      "tree": "a7e1da6bfad1aa2afd83f401874d606269ce90b4",
      "parents": [
        "dadfab4873256d2145640c0ce468fcbfb48977fe",
        "106f9d9337f65bd428c0c79f650e3489e458d771"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 13 12:00:02 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 13 12:00:02 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\nPull trivial branch from Jiri Kosina:\n \"Usual stuff -- comment/printk typo fixes, documentation updates, dead\n  code elimination.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits)\n  HOWTO: fix double words typo\n  x86 mtrr: fix comment typo in mtrr_bp_init\n  propagate name change to comments in kernel source\n  doc: Update the name of profiling based on sysfs\n  treewide: Fix typos in various drivers\n  treewide: Fix typos in various Kconfig\n  wireless: mwifiex: Fix typo in wireless/mwifiex driver\n  messages: i2o: Fix typo in messages/i2o\n  scripts/kernel-doc: check that non-void fcts describe their return value\n  Kernel-doc: Convention: Use a \"Return\" section to describe return values\n  radeon: Fix typo and copy/paste error in comments\n  doc: Remove unnecessary declarations from Documentation/accounting/getdelays.c\n  various: Fix spelling of \"asynchronous\" in comments.\n  Fix misspellings of \"whether\" in comments.\n  eisa: Fix spelling of \"asynchronous\".\n  various: Fix spelling of \"registered\" in comments.\n  doc: fix quite a few typos within Documentation\n  target: iscsi: fix comment typos in target/iscsi drivers\n  treewide: fix typo of \"suport\" in various comments and Kconfig\n  treewide: fix typo of \"suppport\" in various comments\n  ...\n"
    },
    {
      "commit": "6be35c700f742e911ecedd07fcc43d4439922334",
      "tree": "ca9f37214d204465fcc2d79c82efd291e357c53c",
      "parents": [
        "e37aa63e87bd581f9be5555ed0ba83f5295c92fc",
        "520dfe3a3645257bf83660f672c47f8558f3d4c4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 12 18:07:07 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 12 18:07:07 2012 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next\n\nPull networking changes from David Miller:\n\n1) Allow to dump, monitor, and change the bridge multicast database\n   using netlink.  From Cong Wang.\n\n2) RFC 5961 TCP blind data injection attack mitigation, from Eric\n   Dumazet.\n\n3) Networking user namespace support from Eric W. Biederman.\n\n4) tuntap/virtio-net multiqueue support by Jason Wang.\n\n5) Support for checksum offload of encapsulated packets (basically,\n   tunneled traffic can still be checksummed by HW).  From Joseph\n   Gasparakis.\n\n6) Allow BPF filter access to VLAN tags, from Eric Dumazet and\n   Daniel Borkmann.\n\n7) Bridge port parameters over netlink and BPDU blocking support\n   from Stephen Hemminger.\n\n8) Improve data access patterns during inet socket demux by rearranging\n   socket layout, from Eric Dumazet.\n\n9) TIPC protocol updates and cleanups from Ying Xue, Paul Gortmaker, and\n   Jon Maloy.\n\n10) Update TCP socket hash sizing to be more in line with current day\n    realities.  The existing heurstics were choosen a decade ago.\n    From Eric Dumazet.\n\n11) Fix races, queue bloat, and excessive wakeups in ATM and\n    associated drivers, from Krzysztof Mazur and David Woodhouse.\n\n12) Support DOVE (Distributed Overlay Virtual Ethernet) extensions\n    in VXLAN driver, from David Stevens.\n\n13) Add \"oops_only\" mode to netconsole, from Amerigo Wang.\n\n14) Support set and query of VEB/VEPA bridge mode via PF_BRIDGE, also\n    allow DCB netlink to work on namespaces other than the initial\n    namespace.  From John Fastabend.\n\n15) Support PTP in the Tigon3 driver, from Matt Carlson.\n\n16) tun/vhost zero copy fixes and improvements, plus turn it on\n    by default, from Michael S. Tsirkin.\n\n17) Support per-association statistics in SCTP, from Michele\n    Baldessari.\n\nAnd many, many, driver updates, cleanups, and improvements.  Too\nnumerous to mention individually.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1722 commits)\n  net/mlx4_en: Add support for destination MAC in steering rules\n  net/mlx4_en: Use generic etherdevice.h functions.\n  net: ethtool: Add destination MAC address to flow steering API\n  bridge: add support of adding and deleting mdb entries\n  bridge: notify mdb changes via netlink\n  ndisc: Unexport ndisc_{build,send}_skb().\n  uapi: add missing netconf.h to export list\n  pkt_sched: avoid requeues if possible\n  solos-pci: fix double-free of TX skb in DMA mode\n  bnx2: Fix accidental reversions.\n  bna: Driver Version Updated to 3.1.2.1\n  bna: Firmware update\n  bna: Add RX State\n  bna: Rx Page Based Allocation\n  bna: TX Intr Coalescing Fix\n  bna: Tx and Rx Optimizations\n  bna: Code Cleanup and Enhancements\n  ath9k: check pdata variable before dereferencing it\n  ath5k: RX timestamp is reported at end of frame\n  ath9k_htc: RX timestamp is reported at end of frame\n  ...\n"
    },
    {
      "commit": "44e33e8f95171b93968c3ac3cf8516998b1db65d",
      "tree": "b0b56f8454b400e545f57bb63e767327bc72c788",
      "parents": [
        "6715ddf94576ff39f5d1cda8d4c568d3b79e82ec"
      ],
      "author": {
        "name": "Greg Thelen",
        "email": "gthelen@google.com",
        "time": "Wed Dec 12 13:51:52 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 12 17:38:33 2012 -0800"
      },
      "message": "res_counter: delete res_counter_write()\n\nSince commit 628f42355389 (\"memcg: limit change shrink usage\") both\nres_counter_write() and write_strategy_fn have been unused.  This patch\ndeletes them both.\n\nSigned-off-by: Greg Thelen \u003cgthelen@google.com\u003e\nCc: Glauber Costa \u003cglommer@parallels.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aee4faa499dc58fdb126885f68d447f2eba79b43",
      "tree": "f0987873eba0b2158386a5af80cda9846ca0006d",
      "parents": [
        "a47b53c5f9a690addbc094501e4ae083ec307f57"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Wed Dec 12 13:51:39 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 12 17:38:33 2012 -0800"
      },
      "message": "kthread: use N_MEMORY instead N_HIGH_MEMORY\n\nN_HIGH_MEMORY stands for the nodes that has normal or high memory.\nN_MEMORY stands for the nodes that has any memory.\n\nThe code here need to handle with the nodes which have memory, we should\nuse N_MEMORY instead.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Wen Congyang \u003cwency@cn.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Hillf Danton \u003cdhillf@gmail.com\u003e\nCc: Lin Feng \u003clinfeng@cn.fujitsu.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "38d7bee9d24adf4c95676a3dc902827c72930ebb",
      "tree": "f61a6ae69f5976d31bfabe264dd36c8d4d7e3547",
      "parents": [
        "8219fc48adb3b09eabf502c560bf13f273ea69a3"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Wed Dec 12 13:51:24 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 12 17:38:32 2012 -0800"
      },
      "message": "cpuset: use N_MEMORY instead N_HIGH_MEMORY\n\nN_HIGH_MEMORY stands for the nodes that has normal or high memory.\nN_MEMORY stands for the nodes that has any memory.\n\nThe code here need to handle with the nodes which have memory, we should\nuse N_MEMORY instead.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: Hillf Danton \u003cdhillf@gmail.com\u003e\nSigned-off-by: Wen Congyang \u003cwency@cn.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Lin Feng \u003clinfeng@cn.fujitsu.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9977d9b379cb77e0f67bd6f4563618106e58e11d",
      "tree": "0191accfddf578edb52c69c933d64521e3dce297",
      "parents": [
        "cf4af01221579a4e895f43dbfc47598fbfc5a731",
        "541880d9a2c7871f6370071d55aa6662d329c51e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 12 12:22:13 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 12 12:22:13 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal\n\nPull big execve/kernel_thread/fork unification series from Al Viro:\n \"All architectures are converted to new model.  Quite a bit of that\n  stuff is actually shared with architecture trees; in such cases it\u0027s\n  literally shared branch pulled by both, not a cherry-pick.\n\n  A lot of ugliness and black magic is gone (-3KLoC total in this one):\n\n   - kernel_thread()/kernel_execve()/sys_execve() redesign.\n\n     We don\u0027t do syscalls from kernel anymore for either kernel_thread()\n     or kernel_execve():\n\n     kernel_thread() is essentially clone(2) with callback run before we\n     return to userland, the callbacks either never return or do\n     successful do_execve() before returning.\n\n     kernel_execve() is a wrapper for do_execve() - it doesn\u0027t need to\n     do transition to user mode anymore.\n\n     As a result kernel_thread() and kernel_execve() are\n     arch-independent now - they live in kernel/fork.c and fs/exec.c\n     resp.  sys_execve() is also in fs/exec.c and it\u0027s completely\n     architecture-independent.\n\n   - daemonize() is gone, along with its parts in fs/*.c\n\n   - struct pt_regs * is no longer passed to do_fork/copy_process/\n     copy_thread/do_execve/search_binary_handler/-\u003eload_binary/do_coredump.\n\n   - sys_fork()/sys_vfork()/sys_clone() unified; some architectures\n     still need wrappers (ones with callee-saved registers not saved in\n     pt_regs on syscall entry), but the main part of those suckers is in\n     kernel/fork.c now.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal: (113 commits)\n  do_coredump(): get rid of pt_regs argument\n  print_fatal_signal(): get rid of pt_regs argument\n  ptrace_signal(): get rid of unused arguments\n  get rid of ptrace_signal_deliver() arguments\n  new helper: signal_pt_regs()\n  unify default ptrace_signal_deliver\n  flagday: kill pt_regs argument of do_fork()\n  death to idle_regs()\n  don\u0027t pass regs to copy_process()\n  flagday: don\u0027t pass regs to copy_thread()\n  bfin: switch to generic vfork, get rid of pointless wrappers\n  xtensa: switch to generic clone()\n  openrisc: switch to use of generic fork and clone\n  unicore32: switch to generic clone(2)\n  score: switch to generic fork/vfork/clone\n  c6x: sanitize copy_thread(), get rid of clone(2) wrapper, switch to generic clone()\n  take sys_fork/sys_vfork/sys_clone prototypes to linux/syscalls.h\n  mn10300: switch to generic fork/vfork/clone\n  h8300: switch to generic fork/vfork/clone\n  tile: switch to generic clone()\n  ...\n\nConflicts:\n\tarch/microblaze/include/asm/Kbuild\n"
    },
    {
      "commit": "d206e09036d6201f90b2719484c8a59526c46125",
      "tree": "84b9057919bcb8cfd1cff47baa5fc74457e77d6d",
      "parents": [
        "fef3ff2eb777e76cfa5ae67591982d902c17139c",
        "15ef4ffaa797034d5ff82844daf8f595d7c6d53c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 12 08:18:24 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 12 08:18:24 2012 -0800"
      },
      "message": "Merge branch \u0027for-3.8\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup\n\nPull cgroup changes from Tejun Heo:\n \"A lot of activities on cgroup side.  The big changes are focused on\n  making cgroup hierarchy handling saner.\n\n   - cgroup_rmdir() had peculiar semantics - it allowed cgroup\n     destruction to be vetoed by individual controllers and tried to\n     drain refcnt synchronously.  The vetoing never worked properly and\n     caused good deal of contortions in cgroup.  memcg was the last\n     reamining user.  Michal Hocko removed the usage and cgroup_rmdir()\n     path has been simplified significantly.  This was done in a\n     separate branch so that the memcg people can base further memcg\n     changes on top.\n\n   - The above allowed cleaning up cgroup lifecycle management and\n     implementation of generic cgroup iterators which are used to\n     improve hierarchy support.\n\n   - cgroup_freezer updated to allow migration in and out of a frozen\n     cgroup and handle hierarchy.  If a cgroup is frozen, all descendant\n     cgroups are frozen.\n\n   - netcls_cgroup and netprio_cgroup updated to handle hierarchy\n     properly.\n\n   - Various fixes and cleanups.\n\n   - Two merge commits.  One to pull in memcg and rmdir cleanups (needed\n     to build iterators).  The other pulled in cgroup/for-3.7-fixes for\n     device_cgroup fixes so that further device_cgroup patches can be\n     stacked on top.\"\n\nFixed up a trivial conflict in mm/memcontrol.c as per Tejun (due to\ncommit bea8c150a7 (\"memcg: fix hotplugged memory zone oops\") in master\ntouching code close to commit 2ef37d3fe4 (\"memcg: Simplify\nmem_cgroup_force_empty_list error handling\") in for-3.8)\n\n* \u0027for-3.8\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: (65 commits)\n  cgroup: update Documentation/cgroups/00-INDEX\n  cgroup_rm_file: don\u0027t delete the uncreated files\n  cgroup: remove subsystem files when remounting cgroup\n  cgroup: use cgroup_addrm_files() in cgroup_clear_directory()\n  cgroup: warn about broken hierarchies only after css_online\n  cgroup: list_del_init() on removed events\n  cgroup: fix lockdep warning for event_control\n  cgroup: move list add after list head initilization\n  netprio_cgroup: allow nesting and inherit config on cgroup creation\n  netprio_cgroup: implement netprio[_set]_prio() helpers\n  netprio_cgroup: use cgroup-\u003eid instead of cgroup_netprio_state-\u003eprioidx\n  netprio_cgroup: reimplement priomap expansion\n  netprio_cgroup: shorten variable names in extend_netdev_table()\n  netprio_cgroup: simplify write_priomap()\n  netcls_cgroup: move config inheritance to -\u003ecss_online() and remove .broken_hierarchy marking\n  cgroup: remove obsolete guarantee from cgroup_task_migrate.\n  cgroup: add cgroup-\u003eid\n  cgroup, cpuset: remove cgroup_subsys-\u003epost_clone()\n  cgroup: s/CGRP_CLONE_CHILDREN/CGRP_CPUSET_CLONE_CHILDREN/\n  cgroup: rename -\u003ecreate/post_create/pre_destroy/destroy() to -\u003ecss_alloc/online/offline/free()\n  ...\n"
    },
    {
      "commit": "e7b55b8fcd3a32ba1f95ccd95fb9a11ccfa63563",
      "tree": "04d6191dcc1110074c48d569747e3ac94b595f45",
      "parents": [
        "50851c6248e1a13c45d97c41f6ebcf716093aa5e",
        "3657600040a7279e52252af3f9d7e253f4f49ef0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 12 08:15:13 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 12 08:15:13 2012 -0800"
      },
      "message": "Merge branch \u0027for-3.8\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\nPull workqueue changes from Tejun Heo:\n \"Nothing exciting.  Just two trivial changes.\"\n\n* \u0027for-3.8\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  workqueue: add WARN_ON_ONCE() on CPU number to wq_worker_waking_up()\n  workqueue: trivial fix for return statement in work_busy()\n"
    },
    {
      "commit": "74b84233458e9db7c160cec67638efdbec748ca9",
      "tree": "0d174c7386386dca17f494396d7febc300ffa3dd",
      "parents": [
        "507447473756e316f3f182324071389a51736a83",
        "a71c8bc5dfefbbf80ef90739791554ef7ea4401b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 19:56:33 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 19:56:33 2012 -0800"
      },
      "message": "Merge branch \u0027x86-bsp-hotplug-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86 BSP hotplug changes from Ingo Molnar:\n \"This tree enables CPU#0 (the boot processor) to be onlined/offlined on\n  x86, just like any other CPU.  Enabled on Intel CPUs for now.\n\n  Allowing this required the identification and fixing of latent CPU#0\n  assumptions (such as CPU#0 initializations, etc.) in the x86\n  architecture code, plus the identification of barriers to\n  BSP-offlining, such as active PIC interrupts which can only be\n  serviced on the BSP.\n\n  It\u0027s behind a default-off option, and there\u0027s a debug option that\n  allows the automatic testing of this feature.\n\n  The motivation of this feature is to allow and prepare for true\n  CPU-hotplug hardware support: recent changes to MCE support enable us\n  to detect a deteriorating but not yet hard-failing L1/L2 cache on a\n  CPU that could be soft-unplugged - or a failing L3 cache on a\n  multi-socket system.\n\n  Note that true hardware hot-plug is not yet fully enabled by this,\n  because that requires a special platform wakeup sequence to be sent to\n  the freshly powered up CPU#0.  Future patches for this are planned,\n  once such a platform exists.  Chicken and egg\"\n\n* \u0027x86-bsp-hotplug-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86, topology: Debug CPU0 hotplug\n  x86/i387.c: Initialize thread xstate only on CPU0 only once\n  x86, hotplug: Handle retrigger irq by the first available CPU\n  x86, hotplug: The first online processor saves the MTRR state\n  x86, hotplug: During CPU0 online, enable x2apic, set_numa_node.\n  x86, hotplug: Wake up CPU0 via NMI instead of INIT, SIPI, SIPI\n  x86-32, hotplug: Add start_cpu0() entry point to head_32.S\n  x86-64, hotplug: Add start_cpu0() entry point to head_64.S\n  kernel/cpu.c: Add comment for priority in cpu_hotplug_pm_callback\n  x86, hotplug, suspend: Online CPU0 for suspend or hibernate\n  x86, hotplug: Support functions for CPU0 online/offline\n  x86, topology: Don\u0027t offline CPU0 if any PIC irq can not be migrated out of it\n  x86, Kconfig: Add config switch for CPU0 hotplug\n  doc: Add x86 CPU0 online/offline feature\n"
    },
    {
      "commit": "b64c5fda3868cb29d5dae0909561aa7d93fb7330",
      "tree": "2ac4be822f32fe5a8e8f33138be81b221ff52384",
      "parents": [
        "f57d54bab696133fae569c5f01352249c36fc74f",
        "9c3f9e281697d02889c3b08922f3b30be75f56c2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 18:22:46 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 18:22:46 2012 -0800"
      },
      "message": "Merge branch \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull core timer changes from Ingo Molnar:\n \"It contains continued generic-NOHZ work by Frederic and smaller\n  cleanups.\"\n\n* \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  time: Kill xtime_lock, replacing it with jiffies_lock\n  clocksource: arm_generic: use this_cpu_ptr per-cpu helper\n  clocksource: arm_generic: use integer math helpers\n  time/jiffies: Make clocksource_jiffies static\n  clocksource: clean up parse_pmtmr()\n  tick: Correct the comments for tick_sched_timer()\n  tick: Conditionally build nohz specific code in tick handler\n  tick: Consolidate tick handling for high and low res handlers\n  tick: Consolidate timekeeping handling code\n"
    },
    {
      "commit": "f57d54bab696133fae569c5f01352249c36fc74f",
      "tree": "8ebe3c6deaf95c424c86843c3d290fbf2a9e80d2",
      "parents": [
        "da830e589a45f0c42eef6f3cbd07275f8893f181",
        "c1ad41f1f7270c1956da13fa8fd59d8d5929d56e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 18:21:38 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 18:21:38 2012 -0800"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler updates from Ingo Molnar:\n \"The biggest change affects group scheduling: we now track the runnable\n  average on a per-task entity basis, allowing a smoother, exponential\n  decay average based load/weight estimation instead of the previous\n  binary on-the-runqueue/off-the-runqueue load weight method.\n\n  This will inevitably disturb workloads that were in some sort of\n  borderline balancing state or unstable equilibrium, so an eye has to\n  be kept on regressions.\n\n  For that reason the new load average is only limited to group\n  scheduling (shares distribution) at the moment (which was also hurting\n  the most from the prior, crude weight calculation and whose scheduling\n  quality wins most from this change) - but we plan to extend this to\n  regular SMP balancing as well in the future, which will simplify and\n  speed up things a bit.\n\n  Other changes involve ongoing preparatory work to extend NOHZ to the\n  scheduler as well, eventually allowing completely irq-free user-space\n  execution.\"\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (33 commits)\n  Revert \"sched/autogroup: Fix crash on reboot when autogroup is disabled\"\n  cputime: Comment cputime\u0027s adjusting code\n  cputime: Consolidate cputime adjustment code\n  cputime: Rename thread_group_times to thread_group_cputime_adjusted\n  cputime: Move thread_group_cputime() to sched code\n  vtime: Warn if irqs aren\u0027t disabled on system time accounting APIs\n  vtime: No need to disable irqs on vtime_account()\n  vtime: Consolidate a bit the ctx switch code\n  vtime: Explicitly account pending user time on process tick\n  vtime: Remove the underscore prefix invasion\n  sched/autogroup: Fix crash on reboot when autogroup is disabled\n  cputime: Separate irqtime accounting from generic vtime\n  cputime: Specialize irq vtime hooks\n  kvm: Directly account vtime to system on guest switch\n  vtime: Make vtime_account_system() irqsafe\n  vtime: Gather vtime declarations to their own header file\n  sched: Describe CFS load-balancer\n  sched: Introduce temporary FAIR_GROUP_SCHED dependency for load-tracking\n  sched: Make __update_entity_runnable_avg() fast\n  sched: Update_cfs_shares at period edge\n  ...\n"
    },
    {
      "commit": "da830e589a45f0c42eef6f3cbd07275f8893f181",
      "tree": "b241c86b8a0f9acdef4b90f69ddd200548e91f2c",
      "parents": [
        "090f8ccba37034cec5a5972a70abeaae7eb0222b",
        "08cd2a6960ae2e1aa7f44b44ebafa84f503a2dd1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 18:18:58 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 18:18:58 2012 -0800"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf fixes from Ingo Molnar:\n \"These are late-v3.7 pending fixes for tracing.\"\n\nFix up trivial conflict in kernel/trace/ring_buffer.c: the NULL pointer\nfix clashed with the change of type of the \u0027ret\u0027 variable.\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  ring-buffer: Fix race between integrity check and readers\n  ring-buffer: Fix NULL pointer if rb_set_head_page() fails\n  ftrace: Clear bits properly in reset_iter_read()\n"
    },
    {
      "commit": "090f8ccba37034cec5a5972a70abeaae7eb0222b",
      "tree": "0b7cf8a4bb94601816399acfb336835fbf309a2a",
      "parents": [
        "aefb058b0c27dafb15072406fbfd92d2ac2c8790",
        "cc1b39dbf9f55a438e8a21a694394c20e6a17129"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 18:14:31 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 18:14:31 2012 -0800"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf updates from Ingo Molnar:\n \"Lots of activity:\n\n   211 files changed, 8328 insertions(+), 4116 deletions(-)\n\n  most of it on the tooling side.\n\n  Main changes:\n\n   * ftrace enhancements and fixes from Steve Rostedt.\n\n   * uprobes fixes, cleanups and preparation for the ARM port from Oleg\n     Nesterov.\n\n   * UAPI fixes, from David Howels - prepares the arch/x86 UAPI\n     transition\n\n   * Separate perf tests into multiple objects, one per test, from Jiri\n     Olsa.\n\n   * Make hardware event translations available in sysfs, from Jiri\n     Olsa.\n\n   * Fixes to /proc/pid/maps parsing, preparatory to supporting data\n     maps, from Namhyung Kim\n\n   * Implement ui_progress for GTK, from Namhyung Kim\n\n   * Add framework for automated perf_event_attr tests, where tools with\n     different command line options will be run from a \u0027perf test\u0027, via\n     python glue, and the perf syscall will be intercepted to verify\n     that the perf_event_attr fields set by the tool are those expected,\n     from Jiri Olsa\n\n   * Add a \u0027link\u0027 method for hists, so that we can have the leader with\n     buckets for all the entries in all the hists.  This new method is\n     now used in the default \u0027diff\u0027 output, making the sum of the\n     \u0027baseline\u0027 column be 100%, eliminating blind spots.\n\n   * libtraceevent fixes for compiler warnings trying to make perf it\n     build on some distros, like fedora 14, 32-bit, some of the warnings\n     really pointed to real bugs.\n\n   * Add a browser for \u0027perf script\u0027 and make it available from the\n     report and annotate browsers.  It does filtering to find the\n     scripts that handle events found in the perf.data file used.  From\n     Feng Tang\n\n   * perf inject changes to allow showing where a task sleeps, from\n     Andrew Vagin.\n\n   * Makefile improvements from Namhyung Kim.\n\n   * Add --pre and --post command hooks in \u0027stat\u0027, from Peter Zijlstra.\n\n   * Don\u0027t stop synthesizing threads when one vanishes, this is for the\n     existing threads when we start a tool like trace.\n\n   * Use sched:sched_stat_runtime to provide a thread summary, this\n     produces the same output as the \u0027trace summary\u0027 subcommand of\n     tglx\u0027s original \"trace\" tool.\n\n   * Support interrupted syscalls in \u0027trace\u0027\n\n   * Add an event duration column and filter in \u0027trace\u0027.\n\n   * There are references to the man pages in some tools, so try to\n     build Documentation when installing, warning the user if that is\n     not possible, from Borislav Petkov.\n\n   * Give user better message if precise is not supported, from David\n     Ahern.\n\n   * Try to find cross-built objdump path by using the session\n     environment information in the perf.data file header, from Irina\n     Tirdea, original patch and idea by Namhyung Kim.\n\n   * Diplays more output on features check for make V\u003d1, so that one can\n     figure out what is happening by looking at gcc output, etc.  From\n     Jiri Olsa.\n\n   * Add on_exit implementation for systems without one, e.g.  Android,\n     from Bernhard Rosenkraenzer.\n\n   * Only process events for vcpus of interest, helps handling large\n     number of events, from David Ahern.\n\n   * Cross compilation fixes for Android, from Irina Tirdea.\n\n   * Add documentation on compiling for Android, from Irina Tirdea.\n\n   * perf diff improvements from Jiri Olsa.\n\n   * Target (task/user/cpu/syswide) handling improvements, from Namhyung\n     Kim.\n\n   * Add support in \u0027trace\u0027 for tracing workload given by command line,\n     from Namhyung Kim.\n\n   * ... and much more.\"\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (194 commits)\n  uprobes: Use percpu_rw_semaphore to fix register/unregister vs dup_mmap() race\n  perf evsel: Introduce is_group_member method\n  perf powerpc: Use uapi/unistd.h to fix build error\n  tools: Pass the target in descend\n  tools: Honour the O\u003d flag when tool build called from a higher Makefile\n  tools: Define a Makefile function to do subdir processing\n  perf ui: Always compile browser setup code\n  perf ui: Add ui_progress__finish()\n  perf ui gtk: Implement ui_progress functions\n  perf ui: Introduce generic ui_progress helper\n  perf ui tui: Move progress.c under ui/tui directory\n  perf tools: Add basic event modifier sanity check\n  perf tools: Omit group members from perf_evlist__disable/enable\n  perf tools: Ensure single disable call per event in record comand\n  perf tools: Fix \u0027disabled\u0027 attribute config for record command\n  perf tools: Fix attributes for \u0027{}\u0027 defined event groups\n  perf tools: Use sscanf for parsing /proc/pid/maps\n  perf tools: Add gtk.\u003ccommand\u003e config option for launching GTK browser\n  perf tools: Fix compile error on NO_NEWT\u003d1 build\n  perf hists: Initialize all of he-\u003estat with zeroes\n  ...\n"
    },
    {
      "commit": "aefb058b0c27dafb15072406fbfd92d2ac2c8790",
      "tree": "de24b50221cfdbd8ebedb2add38c6125de604c3d",
      "parents": [
        "37ea95a959d4a49846ecbf2dd45326b6b34bf049",
        "04aa530ec04f61875b99c12721162e2964e3318c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 18:12:06 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 18:12:06 2012 -0800"
      },
      "message": "Merge branch \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull irq fixes from Ingo Molnar:\n \"Affinity fixes and a nested threaded IRQ handling fix.\"\n\n* \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  genirq: Always force thread affinity\n  irq: Set CPU affinity right on thread creation\n  genirq: Provide means to retrigger parent\n"
    },
    {
      "commit": "37ea95a959d4a49846ecbf2dd45326b6b34bf049",
      "tree": "43791e1244ce06d8ca18ecbfd0b0f6dcb86ebb8b",
      "parents": [
        "de0c276b31538fcd56611132f20b63eae2891876",
        "630e1e0bcddfda9566462d4f9a0d58b31c29d467"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 18:10:49 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 18:10:49 2012 -0800"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull RCU update from Ingo Molnar:\n \"The major features of this tree are:\n\n     1. A first version of no-callbacks CPUs.  This version prohibits\n        offlining CPU 0, but only when enabled via CONFIG_RCU_NOCB_CPU\u003dy.\n        Relaxing this constraint is in progress, but not yet ready\n        for prime time.  These commits were posted to LKML at\n        https://lkml.org/lkml/2012/10/30/724.\n\n     2. Changes to SRCU that allows statically initialized srcu_struct\n        structures.  These commits were posted to LKML at\n        https://lkml.org/lkml/2012/10/30/296.\n\n     3. Restructuring of RCU\u0027s debugfs output.  These commits were posted\n        to LKML at https://lkml.org/lkml/2012/10/30/341.\n\n     4. Additional CPU-hotplug/RCU improvements, posted to LKML at\n        https://lkml.org/lkml/2012/10/30/327.\n        Note that the commit eliminating __stop_machine() was judged to\n        be too-high of risk, so is deferred to 3.9.\n\n     5. Changes to RCU\u0027s idle interface, most notably a new module\n        parameter that redirects normal grace-period operations to\n        their expedited equivalents.  These were posted to LKML at\n        https://lkml.org/lkml/2012/10/30/739.\n\n     6. Additional diagnostics for RCU\u0027s CPU stall warning facility,\n        posted to LKML at https://lkml.org/lkml/2012/10/30/315.\n        The most notable change reduces the\n        default RCU CPU stall-warning time from 60 seconds to 21 seconds,\n        so that it once again happens sooner than the softlockup timeout.\n\n     7. Documentation updates, which were posted to LKML at\n        https://lkml.org/lkml/2012/10/30/280.\n        A couple of late-breaking changes were posted at\n        https://lkml.org/lkml/2012/11/16/634 and\n        https://lkml.org/lkml/2012/11/16/547.\n\n     8. Miscellaneous fixes, which were posted to LKML at\n        https://lkml.org/lkml/2012/10/30/309.\n\n     9. Finally, a fix for an lockdep-RCU splat was posted to LKML\n        at https://lkml.org/lkml/2012/11/7/486.\"\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (49 commits)\n  context_tracking: New context tracking susbsystem\n  sched: Mark RCU reader in sched_show_task()\n  rcu: Separate accounting of callbacks from callback-free CPUs\n  rcu: Add callback-free CPUs\n  rcu: Add documentation for the new rcuexp debugfs trace file\n  rcu: Update documentation for TREE_RCU debugfs tracing\n  rcu: Reduce default RCU CPU stall warning timeout\n  rcu: Fix TINY_RCU rcu_is_cpu_rrupt_from_idle check\n  rcu: Clarify memory-ordering properties of grace-period primitives\n  rcu: Add new rcutorture module parameters to start/end test messages\n  rcu: Remove list_for_each_continue_rcu()\n  rcu: Fix batch-limit size problem\n  rcu: Add tracing for synchronize_sched_expedited()\n  rcu: Remove old debugfs interfaces and also RCU flavor name\n  rcu: split \u0027rcuhier\u0027 to each flavor\n  rcu: split \u0027rcugp\u0027 to each flavor\n  rcu: split \u0027rcuboost\u0027 to each flavor\n  rcu: split \u0027rcubarrier\u0027 to each flavor\n  rcu: Fix tracing formatting\n  rcu: Remove the interface \"rcudata.csv\"\n  ...\n"
    },
    {
      "commit": "de0c276b31538fcd56611132f20b63eae2891876",
      "tree": "f46b45fee74d0789a094ba8cda4797d4317d0219",
      "parents": [
        "608ff1a210ab0e8b969399039bf8e18693605910",
        "99fb4a122e96203dfd6c67d99d908aafd20f4753",
        "351f181f9134d71efd46ddf0c0abca31b58cd79b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 18:09:18 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 18:09:18 2012 -0800"
      },
      "message": "Merge branches \u0027core-locking-for-linus\u0027 and \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull trivial fix branches from Ingo Molnar.\n\nCleanup in __get_key_name, and a timer comment fixlet.\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  lockdep: Use KSYM_NAME_LEN\u0027ed buffer for __get_key_name()\n\n* \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  timers, sched: Correct the comments for tick_sched_timer()\n"
    },
    {
      "commit": "c6bd5bcc4983f1a2d2f87a3769bf309482ee8c04",
      "tree": "2ff9c4496dc2258d601a1bcd82040470704dae3b",
      "parents": [
        "8966961b31c251b854169e9886394c2a20f2cea7",
        "b0ab02361167faa82198b783a8d555eb6f58901c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 14:08:47 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 14:08:47 2012 -0800"
      },
      "message": "Merge tag \u0027tty-3.8-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty\n\nPull TTY/Serial merge from Greg Kroah-Hartman:\n \"Here\u0027s the big tty/serial tree set of changes for 3.8-rc1.\n\n  Contained in here is a bunch more reworks of the tty port layer from\n  Jiri and bugfixes from Alan, along with a number of other tty and\n  serial driver updates by the various driver authors.\n\n  Also, Jiri has been coerced^Wconvinced to be the co-maintainer of the\n  TTY layer, which is much appreciated by me.\n\n  All of these have been in the linux-next tree for a while.\n\n  Signed-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\"\n\nFixed up some trivial conflicts in the staging tree, due to the fwserial\ndriver having come in both ways (but fixed up a bit in the serial tree),\nand the ioctl handling in the dgrp driver having been done slightly\ndifferently (staging tree got that one right, and removed both\nTIOCGSOFTCAR and TIOCSSOFTCAR).\n\n* tag \u0027tty-3.8-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (146 commits)\n  staging: sb105x: fix potential NULL pointer dereference in mp_chars_in_buffer()\n  staging/fwserial: Remove superfluous free\n  staging/fwserial: Use WARN_ONCE when port table is corrupted\n  staging/fwserial: Destruct embedded tty_port on teardown\n  staging/fwserial: Fix build breakage when !CONFIG_BUG\n  staging: fwserial: Add TTY-over-Firewire serial driver\n  drivers/tty/serial/serial_core.c: clean up HIGH_BITS_OFFSET usage\n  staging: dgrp: dgrp_tty.c: Audit the return values of get/put_user()\n  staging: dgrp: dgrp_tty.c: Remove the TIOCSSOFTCAR ioctl handler from dgrp driver\n  serial: ifx6x60: Add modem power off function in the platform reboot process\n  serial: mxs-auart: unmap the scatter list before we copy the data\n  serial: mxs-auart: disable the Receive Timeout Interrupt when DMA is enabled\n  serial: max310x: Setup missing \"can_sleep\" field for GPIO\n  tty/serial: fix ifx6x60.c declaration warning\n  serial: samsung: add devicetree properties for non-Exynos SoCs\n  serial: samsung: fix potential soft lockup during uart write\n  tty: vt: Remove redundant null check before kfree.\n  tty/8250 Add check for pci_ioremap_bar failure\n  tty/8250 Add support for Commtech\u0027s Fastcom Async-335 and Fastcom Async-PCIe cards\n  tty/8250 Add XR17D15x devices to the exar_handle_irq override\n  ...\n"
    },
    {
      "commit": "cff2f741b8ee8a70b208830e330de053efd4fc45",
      "tree": "83367ed74d889e2c8179f1f8b5d6f6f73b857982",
      "parents": [
        "b0885d01f9ab1274109c02942c881d598f939623",
        "92e9e6d1f9844b73a26215025a922e7d7aeae361"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 13:13:55 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 13:13:55 2012 -0800"
      },
      "message": "Merge tag \u0027driver-core-3.8-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core\n\nPull driver core updates from Greg Kroah-Hartman:\n \"Here\u0027s the large driver core updates for 3.8-rc1.\n\n  The biggest thing here is the various __dev* marking removals.  This\n  is going to be a pain for the merge with different subsystem trees, I\n  know, but all of the patches included here have been ACKed by their\n  various subsystem maintainers, as they wanted them to go through here.\n\n  If this is too much of a pain, I can pull all of them out of this tree\n  and just send you one with the other fixes/updates and then, after\n  3.8-rc1 is out, do the rest of the removals to ensure we catch them\n  all, it\u0027s up to you.  The merges should all be trivial, and Stephen\n  has been doing them all in linux-next for a few weeks now quite\n  easily.\n\n  Other than the __dev* marking removals, there\u0027s nothing major here,\n  some firmware loading updates and other minor things in the driver\n  core.\n\n  All of these have (much to Stephen\u0027s annoyance), been in linux-next\n  for a while.\n\n  Signed-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\"\n\nFixed up trivial conflicts in drivers/gpio/gpio-{em,stmpe}.c due to gpio\nupdate.\n\n* tag \u0027driver-core-3.8-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (93 commits)\n  modpost.c: Stop checking __dev* section mismatches\n  init.h: Remove __dev* sections from the kernel\n  acpi: remove use of __devinit\n  PCI: Remove __dev* markings\n  PCI: Always build setup-bus when PCI is enabled\n  PCI: Move pci_uevent into pci-driver.c\n  PCI: Remove CONFIG_HOTPLUG ifdefs\n  unicore32/PCI: Remove CONFIG_HOTPLUG ifdefs\n  sh/PCI: Remove CONFIG_HOTPLUG ifdefs\n  powerpc/PCI: Remove CONFIG_HOTPLUG ifdefs\n  mips/PCI: Remove CONFIG_HOTPLUG ifdefs\n  microblaze/PCI: Remove CONFIG_HOTPLUG ifdefs\n  dma: remove use of __devinit\n  dma: remove use of __devexit_p\n  firewire: remove use of __devinitdata\n  firewire: remove use of __devinit\n  leds: remove use of __devexit\n  leds: remove use of __devinit\n  leds: remove use of __devexit_p\n  mmc: remove use of __devexit\n  ...\n"
    },
    {
      "commit": "bad73c5aa069f1f14cc07ce7bbae8d463635560c",
      "tree": "db905bb3400e6fe70be95cd20158bed79b2b2c6c",
      "parents": [
        "b58ed041a360ed051fab17e4d9b0f451c6fedba7",
        "f316fc56555a5c3bcf6350f3d5ac26dd2c55f4cb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 12:45:35 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 12:45:35 2012 -0800"
      },
      "message": "Merge tag \u0027pm+acpi-for-3.8-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\nPull ACPI and power management updates from Rafael Wysocki:\n\n - Introduction of device PM QoS flags.\n\n - ACPI device power management update allowing subsystems other than\n   PCI to use it more easily.\n\n - ACPI device enumeration rework allowing additional kinds of devices\n   to be enumerated via ACPI.  From Mika Westerberg, Adrian Hunter,\n   Mathias Nyman, Andy Shevchenko, and Rafael J. Wysocki.\n\n - ACPICA update to version 20121018 from Bob Moore and Lv Zheng.\n\n - ACPI memory hotplug update from Wen Congyang and Yasuaki Ishimatsu.\n\n - Introduction of acpi_handle_\u003clevel\u003e() messaging macros and ACPI-based\n   CPU hot-remove support from Toshi Kani.\n\n - ACPI EC updates from Feng Tang.\n\n - cpufreq updates from Viresh Kumar, Fabio Baltieri and others.\n\n - cpuidle changes to quickly notice governor prediction failure from\n   Youquan Song.\n\n - Support for using multiple cpuidle drivers at the same time and\n   cpuidle cleanups from Daniel Lezcano.\n\n - devfreq updates from Nishanth Menon and others.\n\n - cpupower update from Thomas Renninger.\n\n - Fixes and small cleanups all over the place.\n\n* tag \u0027pm+acpi-for-3.8-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (196 commits)\n  mmc: sdhci-acpi: enable runtime-pm for device HID INT33C6\n  ACPI: add Haswell LPSS devices to acpi_platform_device_ids list\n  ACPI: add documentation about ACPI 5 enumeration\n  pnpacpi: fix incorrect TEST_ALPHA() test\n  ACPI / PM: Fix header of acpi_dev_pm_detach() in acpi.h\n  ACPI / video: ignore BIOS initial backlight value for HP Folio 13-2000\n  ACPI : do not use Lid and Sleep button for S5 wakeup\n  ACPI / PNP: Do not crash due to stale pointer use during system resume\n  ACPI / video: Add \"Asus UL30VT\" to ACPI video detect blacklist\n  ACPI: do acpisleep dmi check when CONFIG_ACPI_SLEEP is set\n  spi / ACPI: add ACPI enumeration support\n  gpio / ACPI: add ACPI support\n  PM / devfreq: remove compiler error with module governors (2)\n  cpupower: IvyBridge (0x3a and 0x3e models) support\n  cpupower: Provide -c param for cpupower monitor to schedule process on all cores\n  cpupower tools: Fix warning and a bug with the cpu package count\n  cpupower tools: Fix malloc of cpu_info structure\n  cpupower tools: Fix issues with sysfs_topology_read_file\n  cpupower tools: Fix minor warnings\n  cpupower tools: Update .gitignore for files created in the debug directories\n  ...\n"
    },
    {
      "commit": "259cdbee2094d28b72f0f3d77bc9203d682994ff",
      "tree": "de2017bda15cce950d96ef6d1771dd7e7fbab490",
      "parents": [
        "9ada9fd5dfaf0076eadf42cecc68f7adc1717c58",
        "023bba36387de704b3ea2a69bf9f9ed2301cfbcc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 11:30:08 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 11:30:08 2012 -0800"
      },
      "message": "Merge tag \u0027irqdomain-for-linus\u0027 of git://git.secretlab.ca/git/linux-2.6\n\nPull irqdomain changes from Grant Likely:\n \"Trivial changes to irqdomain.  An update to the documentation and make\n  one of the error paths not quite so obnoxious.\"\n\n* tag \u0027irqdomain-for-linus\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  irqdomain: update documentation\n  irqdomain: stop screaming about preallocated irqdescs\n"
    },
    {
      "commit": "5bca23035391928c4c7301835accca3551b96cc2",
      "tree": "2feb63abf318e6edfded8bb97b43ca29c3c5b312",
      "parents": [
        "3105b86a9fee7d2c2e76edb53bbbc4027599628f"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Thu Nov 22 14:40:03 2012 +0000"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:56 2012 +0000"
      },
      "message": "mm: sched: numa: Delay PTE scanning until a task is scheduled on a new node\n\nDue to the fact that migrations are driven by the CPU a task is running\non there is no point tracking NUMA faults until one task runs on a new\nnode. This patch tracks the first node used by an address space. Until\nit changes, PTE scanning is disabled and no NUMA hinting faults are\ntrapped. This should help workloads that are short-lived, do not care\nabout NUMA placement or have bound themselves to a single node.\n\nThis takes advantage of the logic in \"mm: sched: numa: Implement slow\nstart for working set sampling\" to delay when the checks are made. This\nwill take advantage of processes that set their CPU and node bindings\nearly in their lifetime. It will also potentially allow any initial load\nbalancing to take place.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\n"
    },
    {
      "commit": "3105b86a9fee7d2c2e76edb53bbbc4027599628f",
      "tree": "d9c3cfed4b98873d92dafadf2a8820fbbd71ae1c",
      "parents": [
        "1a687c2e9a99335c9e77392f050fe607fa18a652"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Fri Nov 23 11:23:49 2012 +0000"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:56 2012 +0000"
      },
      "message": "mm: sched: numa: Control enabling and disabling of NUMA balancing if !SCHED_DEBUG\n\nThe \"mm: sched: numa: Control enabling and disabling of NUMA balancing\"\ndepends on scheduling debug being enabled but it\u0027s perfectly legimate to\ndisable automatic NUMA balancing even without this option. This should\ntake care of it.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\n"
    },
    {
      "commit": "1a687c2e9a99335c9e77392f050fe607fa18a652",
      "tree": "06df958bfdfeaf9f38f333af106b55faa81f1c6b",
      "parents": [
        "b8593bfda1652755136333cdd362de125b283a9c"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Thu Nov 22 11:16:36 2012 +0000"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:55 2012 +0000"
      },
      "message": "mm: sched: numa: Control enabling and disabling of NUMA balancing\n\nThis patch adds Kconfig options and kernel parameters to allow the\nenabling and disabling of automatic NUMA balancing. The existance\nof such a switch was and is very important when debugging problems\nrelated to transparent hugepages and we should have the same for\nautomatic NUMA placement.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\n"
    },
    {
      "commit": "b8593bfda1652755136333cdd362de125b283a9c",
      "tree": "c0395d9cf775fd9225e81b055fc8f5540a14333a",
      "parents": [
        "e42c8ff2999de1239a57d434bfbd8e9f2a56e814"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Wed Nov 21 01:18:23 2012 +0000"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:55 2012 +0000"
      },
      "message": "mm: sched: Adapt the scanning rate if a NUMA hinting fault does not migrate\n\nThe PTE scanning rate and fault rates are two of the biggest sources of\nsystem CPU overhead with automatic NUMA placement.  Ideally a proper policy\nwould detect if a workload was properly placed, schedule and adjust the\nPTE scanning rate accordingly. We do not track the necessary information\nto do that but we at least know if we migrated or not.\n\nThis patch scans slower if a page was not migrated as the result of a\nNUMA hinting fault up to sysctl_numa_balancing_scan_period_max which is\nnow higher than the previous default. Once every minute it will reset\nthe scanner in case of phase changes.\n\nThis is hilariously crude and the numbers are arbitrary. Workloads will\nconverge quite slowly in comparison to what a proper policy should be able\nto do. On the plus side, we will chew up less CPU for workloads that have\nno need for automatic balancing.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\n"
    },
    {
      "commit": "fb003b80daa0dead5b87f4e2e4fb8da68b110ff2",
      "tree": "aa9c3694cb21e61774471e88bd22918c5746c706",
      "parents": [
        "e14808b49f55e0e1135da5e4a154a540dd9f3662"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Thu Nov 15 09:01:14 2012 +0000"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:51 2012 +0000"
      },
      "message": "sched: numa: Slowly increase the scanning period as NUMA faults are handled\n\nCurrently the rate of scanning for an address space is controlled\nby the individual tasks. The next scan is simply determined by\n2*p-\u003enuma_scan_period.\n\nThe 2*p-\u003enuma_scan_period is arbitrary and never changes. At this point\nthere is still no proper policy that decides if a task or process is\nproperly placed. It just scans and assumes the next NUMA fault will\nplace it properly. As it is assumed that pages will get properly placed\nover time, increase the scan window each time a fault is incurred. This\nis a big assumption as noted in the comments.\n\nIt should be noted that changing to p-\u003enuma_scan_period will increase\nsystem CPU usage because now the scanning rate has effectively doubled.\nIf that is a problem then the min_rate should be made 200ms instead of\nrestoring the 2* logic.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\n"
    },
    {
      "commit": "e14808b49f55e0e1135da5e4a154a540dd9f3662",
      "tree": "d66708455dcc1b6e2e15937d732ab12c121e623a",
      "parents": [
        "a8f6077213d285ca08dbf6d4a67470787388138b"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Mon Nov 19 10:59:15 2012 +0000"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:51 2012 +0000"
      },
      "message": "mm: numa: Rate limit setting of pte_numa if node is saturated\n\nIf there are a large number of NUMA hinting faults and all of them\nare resulting in migrations it may indicate that memory is just\nbouncing uselessly around. NUMA balancing cost is likely exceeding\nany benefit from locality. Rate limit the PTE updates if the node\nis migration rate-limited. As noted in the comments, this distorts\nthe NUMA faulting statistics.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\n"
    },
    {
      "commit": "4b96a29ba891dd59734cb7be80a900fe93aa2d9f",
      "tree": "5162223c4ceae37f6ccf0ef1b84993c2556e60cf",
      "parents": [
        "9f40604cdab935e80db57b309c48659de349d4e6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 25 14:16:47 2012 +0200"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:47 2012 +0000"
      },
      "message": "mm: sched: numa: Implement slow start for working set sampling\n\nAdd a 1 second delay before starting to scan the working set of\na task and starting to balance it amongst nodes.\n\n[ note that before the constant per task WSS sampling rate patch\n  the initial scan would happen much later still, in effect that\n  patch caused this regression. ]\n\nThe theory is that short-run tasks benefit very little from NUMA\nplacement: they come and go, and they better stick to the node\nthey were started on. As tasks mature and rebalance to other CPUs\nand nodes, so does their NUMA placement have to change and so\ndoes it start to matter more and more.\n\nIn practice this change fixes an observable kbuild regression:\n\n   # [ a perf stat --null --repeat 10 test of ten bzImage builds to /dev/shm ]\n\n   !NUMA:\n   45.291088843 seconds time elapsed                                          ( +-  0.40% )\n   45.154231752 seconds time elapsed                                          ( +-  0.36% )\n\n   +NUMA, no slow start:\n   46.172308123 seconds time elapsed                                          ( +-  0.30% )\n   46.343168745 seconds time elapsed                                          ( +-  0.25% )\n\n   +NUMA, 1 sec slow start:\n   45.224189155 seconds time elapsed                                          ( +-  0.25% )\n   45.160866532 seconds time elapsed                                          ( +-  0.17% )\n\nand it also fixes an observable perf bench (hackbench) regression:\n\n   # perf stat --null --repeat 10 perf bench sched messaging\n\n   -NUMA:\n\n   -NUMA:                  0.246225691 seconds time elapsed                   ( +-  1.31% )\n   +NUMA no slow start:    0.252620063 seconds time elapsed                   ( +-  1.13% )\n\n   +NUMA 1sec delay:       0.248076230 seconds time elapsed                   ( +-  1.35% )\n\nThe implementation is simple and straightforward, most of the patch\ndeals with adding the /proc/sys/kernel/numa_balancing_scan_delay_ms tunable\nknob.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\n[ Wrote the changelog, ran measurements, tuned the default. ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\n"
    },
    {
      "commit": "9f40604cdab935e80db57b309c48659de349d4e6",
      "tree": "72f77bdb7d8ab07e4db4323642db7c04eca8e9e9",
      "parents": [
        "6e5fb223e89dbe5cb5c563f8d4a4a0a7d62455a8"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Wed Nov 14 18:34:32 2012 +0000"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:46 2012 +0000"
      },
      "message": "sched, numa, mm: Count WS scanning against present PTEs, not virtual memory ranges\n\nBy accounting against the present PTEs, scanning speed reflects the\nactual present (mapped) memory.\n\nSuggested-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\n"
    },
    {
      "commit": "6e5fb223e89dbe5cb5c563f8d4a4a0a7d62455a8",
      "tree": "0d5c93240702a51b1d6f22fefd979235a19692fd",
      "parents": [
        "cbee9f88ec1b8dd6b58f25f54e4f52c82ed77690"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 25 14:16:45 2012 +0200"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:46 2012 +0000"
      },
      "message": "mm: sched: numa: Implement constant, per task Working Set Sampling (WSS) rate\n\nPreviously, to probe the working set of a task, we\u0027d use\na very simple and crude method: mark all of its address\nspace PROT_NONE.\n\nThat method has various (obvious) disadvantages:\n\n - it samples the working set at dissimilar rates,\n   giving some tasks a sampling quality advantage\n   over others.\n\n - creates performance problems for tasks with very\n   large working sets\n\n - over-samples processes with large address spaces but\n   which only very rarely execute\n\nImprove that method by keeping a rotating offset into the\naddress space that marks the current position of the scan,\nand advance it by a constant rate (in a CPU cycles execution\nproportional manner). If the offset reaches the last mapped\naddress of the mm then it then it starts over at the first\naddress.\n\nThe per-task nature of the working set sampling functionality in this tree\nallows such constant rate, per task, execution-weight proportional sampling\nof the working set, with an adaptive sampling interval/frequency that\ngoes from once per 100ms up to just once per 8 seconds.  The current\nsampling volume is 256 MB per interval.\n\nAs tasks mature and converge their working set, so does the\nsampling rate slow down to just a trickle, 256 MB per 8\nseconds of CPU time executed.\n\nThis, beyond being adaptive, also rate-limits rarely\nexecuting systems and does not over-sample on overloaded\nsystems.\n\n[ In AutoNUMA speak, this patch deals with the effective sampling\n  rate of the \u0027hinting page fault\u0027. AutoNUMA\u0027s scanning is\n  currently rate-limited, but it is also fundamentally\n  single-threaded, executing in the knuma_scand kernel thread,\n  so the limit in AutoNUMA is global and does not scale up with\n  the number of CPUs, nor does it scan tasks in an execution\n  proportional manner.\n\n  So the idea of rate-limiting the scanning was first implemented\n  in the AutoNUMA tree via a global rate limit. This patch goes\n  beyond that by implementing an execution rate proportional\n  working set sampling rate that is not implemented via a single\n  global scanning daemon. ]\n\n[ Dan Carpenter pointed out a possible NULL pointer dereference in the\n  first version of this patch. ]\n\nBased-on-idea-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nBug-Found-By: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\n[ Wrote changelog and fixed bug. ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\n"
    },
    {
      "commit": "cbee9f88ec1b8dd6b58f25f54e4f52c82ed77690",
      "tree": "d4cfbcfa3e89742216cd792d4aa914356406b532",
      "parents": [
        "a720094ded8cbb303111035be91858011d2eac71"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 25 14:16:43 2012 +0200"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:45 2012 +0000"
      },
      "message": "mm: numa: Add fault driven placement and migration\n\nNOTE: This patch is based on \"sched, numa, mm: Add fault driven\n\tplacement and migration policy\" but as it throws away all the policy\n\tto just leave a basic foundation I had to drop the signed-offs-by.\n\nThis patch creates a bare-bones method for setting PTEs pte_numa in the\ncontext of the scheduler that when faulted later will be faulted onto the\nnode the CPU is running on.  In itself this does nothing useful but any\nplacement policy will fundamentally depend on receiving hints on placement\nfrom fault context and doing something intelligent about it.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\n"
    },
    {
      "commit": "c1ad41f1f7270c1956da13fa8fd59d8d5929d56e",
      "tree": "2a9812fe4a5bee0f354273c34411e00e94746b64",
      "parents": [
        "38130ec08716ae2ece8060eca01607b58da7258c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Dec 11 10:23:45 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Dec 11 10:23:45 2012 +0100"
      },
      "message": "Revert \"sched/autogroup: Fix crash on reboot when autogroup is disabled\"\n\nThis reverts commit 5258f386ea4e8454bc801fb443e8a4217da1947c,\nbecause the underlying autogroups bug got fixed upstream in\na better way, via:\n\n  fd8ef11730f1 Revert \"sched, autogroup: Stop going ahead if autogroup is disabled\"\n\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "cc1b39dbf9f55a438e8a21a694394c20e6a17129",
      "tree": "cf48e5c871250c2bfd1d0590acd2f0569e95b950",
      "parents": [
        "7e0dd574cd6b1bcc818ed4251e5ceda7d8bee08f",
        "1c7d66732458dc187008e3f5b2f71e019e320fc2"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Dec 08 15:54:35 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Dec 08 15:54:35 2012 +0100"
      },
      "message": "Merge branch \u0027tip/perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/core\n\nPull ftrace updates from Steve Rostedt.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "7e0dd574cd6b1bcc818ed4251e5ceda7d8bee08f",
      "tree": "04f5630e361083ab53da43a46d6c47a52e8b87ca",
      "parents": [
        "f0b9abfb044649bc452fb2fb975ff2fd599cc6a3",
        "32cdba1e05418909708a17e52505e8b2ba4381d1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Dec 08 15:50:23 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Dec 08 15:51:10 2012 +0100"
      },
      "message": "Merge branch \u0027uprobes/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/oleg/misc into perf/core\n\nPull uprobes fixes, cleanups and preparation for the ARM port from Oleg Nesterov.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "38130ec08716ae2ece8060eca01607b58da7258c",
      "tree": "71d0cd76ccfb2b960ddb6b820850269265389052",
      "parents": [
        "e783377e93d4043a11013ce6e9173db34998e653",
        "1b2852b152be5150fbef7b585388ec43cf6f4415"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Dec 08 15:44:43 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Dec 08 15:44:43 2012 +0100"
      },
      "message": "Merge tag \u0027sched-cputime-for-mingo\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks into sched/core\n\nPull more cputime cleanups from Frederic Weisbecker:\n\n * Get rid of underscores polluting the vtime namespace\n\n * Consolidate context switch and tick handling\n\n * Improve debuggability by detecting irq unsafe callers\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "e783377e93d4043a11013ce6e9173db34998e653",
      "tree": "47a56d363512337d78aa1cef0b620cbc7b53092f",
      "parents": [
        "222e82bef4bd520a31d48c31ab24e49dd46daa46",
        "fa09205783d11cc05122ad6e4ce06074624b2c0c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Dec 08 15:31:07 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Dec 08 15:31:07 2012 +0100"
      },
      "message": "Merge tag \u0027cputime-adjustment-cleanups\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks into sched/core\n\nPull cputime cleanups from Frederic Weisbecker:\n\n * Improve naming and code location\n\n * Consolidate adjustment code\n\n * Comment the adjustement code\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "f0b9abfb044649bc452fb2fb975ff2fd599cc6a3",
      "tree": "7800081c5cb16a4dfee1e57a70f3be90f7b50d9a",
      "parents": [
        "adc1ef1e37358d3c17d1a74a58b2e104fc0bda15",
        "1b3c393cd43f22ead8a6a2f839efc6df8ebd7465"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Dec 08 15:25:06 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Dec 08 15:25:06 2012 +0100"
      },
      "message": "Merge branch \u0027linus\u0027 into perf/core\n\nConflicts:\n\ttools/perf/Makefile\n\ttools/perf/builtin-test.c\n\ttools/perf/perf.h\n\ttools/perf/tests/parse-events.c\n\ttools/perf/util/evsel.h\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "222e82bef4bd520a31d48c31ab24e49dd46daa46",
      "tree": "b6e73cad8e0b3a1c3e1acc537789e97aadaefa92",
      "parents": [
        "38ca9c927c7d3db61f57e3d3a9334958c3af6e9a",
        "18a2f371f5edf41810f6469cb9be39931ef9deb9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Dec 07 12:15:33 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Dec 07 12:15:33 2012 +0100"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/core\n\nPick up the autogroups fix and other fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "f33fddc2b9573d8359f1007d4bbe5cd587a0c093",
      "tree": "a970a2cd9d59ed0bc80eea8e9392978c38517772",
      "parents": [
        "7083d0378a1746f2b45729cae494c6b92e75d73f"
      ],
      "author": {
        "name": "Gao feng",
        "email": "gaofeng@cn.fujitsu.com",
        "time": "Thu Dec 06 14:38:57 2012 +0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Dec 06 08:58:11 2012 -0800"
      },
      "message": "cgroup_rm_file: don\u0027t delete the uncreated files\n\nin cgroup_add_file,when creating files for cgroup,\nsome of creation may be skipped. So we need to avoid\ndeleting these uncreated files in cgroup_rm_file,\notherwise the warning msg will be triggered.\n\n\"cgroup_addrm_files: failed to remove memory_pressure_enabled, err\u003d-2\"\n\nSigned-off-by: Gao feng \u003cgaofeng@cn.fujitsu.com\u003e\nAcked-by: Li Zefan \u003clizefan@huawei.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@redhat.com\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "54d1ae492f724f103a07f69c8e429a35d43b5c52",
      "tree": "c4cdcbc2d5223f7efea732cbf041da0ec2220912",
      "parents": [
        "cfd1f032f98e5ab3a04f23a0adbd53ff8744827d",
        "f3537f91f9be2ce5fcbaa1aa6d787ad0436daec6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 06 08:29:08 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 06 08:29:08 2012 -0800"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux\n\nPull module signing fixes from Rusty Russell:\n \"David gave me these a month ago, during my git workflow churn :(\"\n\n* \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:\n  ASN.1: Fix an indefinite length skip error\n  MODSIGN: Don\u0027t use enum-type bitfields in module signature info block\n"
    },
    {
      "commit": "cfd1f032f98e5ab3a04f23a0adbd53ff8744827d",
      "tree": "eec5ef1622e29e99bc450d12ac4ccad94fc08e4a",
      "parents": [
        "27d7c2a006a81c04fab00b8cd81b99af3b32738d",
        "8d4516904b39507458bee8115793528e12b1d8dd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 06 08:27:11 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 06 08:27:11 2012 -0800"
      },
      "message": "Merge branch \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull watchdog fix from Thomas Gleixner:\n \"Trivial CPU hotplug regression fix for the watchdog code\"\n\n* \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  watchdog: Fix CPU hotplug regression\n"
    },
    {
      "commit": "6d49e352ae9aed3f599041b0c0389aa924815f14",
      "tree": "3b09be4f4c4544a0e602d1f41eb24bde5143496c",
      "parents": [
        "817eecbf8230982ec0fbf0718e06a489b67dcbcf"
      ],
      "author": {
        "name": "Nadia Yvette Chambers",
        "email": "nyc@holomorphy.com",
        "time": "Thu Dec 06 10:39:54 2012 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Thu Dec 06 10:39:54 2012 +0100"
      },
      "message": "propagate name change to comments in kernel source\n\nI\u0027ve legally changed my name with New York State, the US Social Security\nAdministration, et al. This patch propagates the name change and change\nin initials and login to comments in the kernel source as well.\n\nSigned-off-by: Nadia Yvette Chambers \u003cnyc@holomorphy.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "f0fcf2002bf122afe8fe1b74b2cee3710c7e6cd9",
      "tree": "46168e26a49dc4207803ff10c056f2cd74393f46",
      "parents": [
        "a465348ff5d3e564ae0bcde63d5ef2066c079aad"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei88@gmail.com",
        "time": "Thu Dec 06 17:16:23 2012 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Dec 06 17:16:23 2012 +0800"
      },
      "message": "padata: use __this_cpu_read per-cpu helper\n\nFor bottom halves off, __this_cpu_read is better.\n\nSigned-off-by: Shan Wei \u003cdavidshan@tencent.com\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux.com\u003e\nAcked-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "12e130b04580532aa099893158aa2776b321ae7f",
      "tree": "b7a6ed562d7293aa1e5b584e109a9669db253f49",
      "parents": [
        "df2fc246c8ee8b6067af1fa55d3bc23107457f61"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Oct 22 15:05:48 2012 +0100"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Dec 05 11:27:24 2012 +1030"
      },
      "message": "MODSIGN: Don\u0027t use enum-type bitfields in module signature info block\n\nDon\u0027t use enum-type bitfields in the module signature info block as we can\u0027t be\ncertain how the compiler will handle them.  As I understand it, it is arch\ndependent, and it is possible for the compiler to rearrange them based on\nendianness and to insert a byte of padding to pad the three enums out to four\nbytes.\n\nInstead use u8 fields for these, which the compiler should emit in the right\norder without padding.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "8d4516904b39507458bee8115793528e12b1d8dd",
      "tree": "4afc56d198921b85f61918c2478cfc93fb2dc96e",
      "parents": [
        "b69f0859dc8e633c5d8c06845811588fe17e68b3"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Dec 04 18:59:34 2012 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Dec 04 19:56:59 2012 +0100"
      },
      "message": "watchdog: Fix CPU hotplug regression\n\nNorbert reported:\n\"3.7-rc6 booted with nmi_watchdog\u003d0 fails to suspend to RAM or\n offline CPUs. It\u0027s reproducable with a KVM guest and physical\n system.\"\n\nThe reason is that commit bcd951cf(watchdog: Use hotplug thread\ninfrastructure) missed to take this into account. So the cpu offline\ncode gets stuck in the teardown function because it accesses non\ninitialized data structures.\n\nAdd a check for watchdog_enabled into that path to cure the issue.\n\nReported-and-tested-by: Norbert Warmuth \u003cnwarmuth@t-online.de\u003e\nTested-by: Joseph Salisbury \u003cjoseph.salisbury@canonical.com\u003e\nLink: http://lkml.kernel.org/r/alpine.LFD.2.02.1211231033230.2701@ionos\nLink: http://bugs.launchpad.net/bugs/1079534\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "df2fc246c8ee8b6067af1fa55d3bc23107457f61",
      "tree": "4f23eb533768183e55c91130ae58e5cbd5878e9b",
      "parents": [
        "70dcc535bdf30ffaef58b867fbde45c0287f34c6",
        "84ecfd15f5547c992c901df6ec14b4d507eb2c6e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 04 09:32:12 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 04 09:32:12 2012 -0800"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux\n\nPull module fixes from Rusty Russell:\n \"Module signing build fixes for blackfin and metag\"\n\n* \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:\n  modsign: add symbol prefix to certificate list\n  linux/kernel.h: define SYMBOL_PREFIX\n"
    },
    {
      "commit": "ca50496eb487b639de1f502e77a48dde84152fb9",
      "tree": "73a2a57cb6dc9717daff0e8d7880928747e05b2d",
      "parents": [
        "609e3ff3ff797c0ddba1c61c8eb83923586ed079",
        "fc4b514f2727f74a4587c31db87e0e93465518c3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 04 09:02:45 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 04 09:02:45 2012 -0800"
      },
      "message": "Merge branch \u0027for-3.7-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\nPull workqueue fixes from Tejun Heo:\n \"So, safe fixes my ass.\n\n  Commit 8852aac25e79 (\"workqueue: mod_delayed_work_on() shouldn\u0027t queue\n  timer on 0 delay\") had the side-effect of performing delayed_work\n  sanity checks even when @delay is 0, which should be fine for any sane\n  use cases.\n\n  Unfortunately, megaraid was being overly ingenious.  It seemingly\n  wanted to use cancel_delayed_work_sync() before cancel_work_sync() was\n  introduced, but didn\u0027t want to waste the space for full delayed_work\n  as it was only going to use 0 @delay.  So, it only allocated space for\n  struct work_struct and then cast it to struct delayed_work and passed\n  it into delayed_work functions - truly awesome engineering tradeoff to\n  save some bytes.\n\n  Xiaotian fixed it by making megraid allocate full delayed_work for\n  now.  It should be converted to use work_struct and cancel_work_sync()\n  but I think we better do that after 3.7.\n\n  I added another commit to change BUG_ON()s in __queue_delayed_work()\n  to WARN_ON_ONCE()s so that the kernel doesn\u0027t crash even if there are\n  more such abuses.\"\n\n* \u0027for-3.7-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  workqueue: convert BUG_ON()s in __queue_delayed_work() to WARN_ON_ONCE()s\n  megaraid: fix BUG_ON() from incorrect use of delayed work\n"
    },
    {
      "commit": "fc4b514f2727f74a4587c31db87e0e93465518c3",
      "tree": "83c8758213d3492b4c48541c8a3782bdd47adf99",
      "parents": [
        "c1d390d8e6128b050f0f66b1c33d390760deb3f4"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Dec 04 07:40:39 2012 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Dec 04 07:58:47 2012 -0800"
      },
      "message": "workqueue: convert BUG_ON()s in __queue_delayed_work() to WARN_ON_ONCE()s\n\n8852aac25e (\"workqueue: mod_delayed_work_on() shouldn\u0027t queue timer on\n0 delay\") unexpectedly uncovered a very nasty abuse of delayed_work in\nmegaraid - it allocated work_struct, casted it to delayed_work and\nthen pass that into queue_delayed_work().\n\nPreviously, this was okay because 0 @delay short-circuited to\nqueue_work() before doing anything with delayed_work.  8852aac25e\nmoved 0 @delay test into __queue_delayed_work() after sanity check on\ndelayed_work making megaraid trigger BUG_ON().\n\nAlthough megaraid is already fixed by c1d390d8e6 (\"megaraid: fix\nBUG_ON() from incorrect use of delayed work\"), this patch converts\nBUG_ON()s in __queue_delayed_work() to WARN_ON_ONCE()s so that such\nabusers, if there are more, trigger warning but don\u0027t crash the\nmachine.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Xiaotian Feng \u003cxtfeng@gmail.com\u003e\n"
    },
    {
      "commit": "fd8ef11730f1d03d5d6555aa53126e9e34f52f12",
      "tree": "b5121d6016bf20b46ae0fdc760b9e2f4e836bf21",
      "parents": [
        "d3594ea2b343fbbabaaebeb4ce4e1f29e88ab6b3"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Mon Dec 03 06:25:25 2012 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 03 11:10:24 2012 -0800"
      },
      "message": "Revert \"sched, autogroup: Stop going ahead if autogroup is disabled\"\n\nThis reverts commit 800d4d30c8f20bd728e5741a3b77c4859a613f7c.\n\nBetween commits 8323f26ce342 (\"sched: Fix race in task_group()\") and\n800d4d30c8f2 (\"sched, autogroup: Stop going ahead if autogroup is\ndisabled\"), autogroup is a wreck.\n\nWith both applied, all you have to do to crash a box is disable\nautogroup during boot up, then reboot..  boom, NULL pointer dereference\ndue to commit 800d4d30c8f2 not allowing autogroup to move things, and\ncommit 8323f26ce342 making that the only way to switch runqueues:\n\n  BUG: unable to handle kernel NULL pointer dereference at           (null)\n  IP: [\u003cffffffff81063ac0\u003e] effective_load.isra.43+0x50/0x90\n  Pid: 7047, comm: systemd-user-se Not tainted 3.6.8-smp #7 MEDIONPC MS-7502/MS-7502\n  RIP: effective_load.isra.43+0x50/0x90\n  Process systemd-user-se (pid: 7047, threadinfo ffff880221dde000, task ffff88022618b3a0)\n  Call Trace:\n    select_task_rq_fair+0x255/0x780\n    try_to_wake_up+0x156/0x2c0\n    wake_up_state+0xb/0x10\n    signal_wake_up+0x28/0x40\n    complete_signal+0x1d6/0x250\n    __send_signal+0x170/0x310\n    send_signal+0x40/0x80\n    do_send_sig_info+0x47/0x90\n    group_send_sig_info+0x4a/0x70\n    kill_pid_info+0x3a/0x60\n    sys_kill+0x97/0x1a0\n    ? vfs_read+0x120/0x160\n    ? sys_read+0x45/0x90\n    system_call_fastpath+0x16/0x1b\n  Code: 49 0f af 41 50 31 d2 49 f7 f0 48 83 f8 01 48 0f 46 c6 48 2b 07 48 8b bf 40 01 00 00 48 85 ff 74 3a 45 31 c0 48 8b 8f 50 01 00 00 \u003c48\u003e 8b 11 4c 8b 89 80 00 00 00 49 89 d2 48 01 d0 45 8b 59 58 4c\n  RIP  [\u003cffffffff81063ac0\u003e] effective_load.isra.43+0x50/0x90\n   RSP \u003cffff880221ddfbd8\u003e\n  CR2: 0000000000000000\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: stable@vger.kernel.org # 2.6.39+\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7083d0378a1746f2b45729cae494c6b92e75d73f",
      "tree": "bc2a732ffe1e9b4337a55b3fb7cc215a27159053",
      "parents": [
        "879a3d9dbbde823ac77d39131e7a287f31b8296f"
      ],
      "author": {
        "name": "Gao feng",
        "email": "gaofeng@cn.fujitsu.com",
        "time": "Mon Dec 03 09:28:18 2012 +0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Dec 03 08:33:11 2012 -0800"
      },
      "message": "cgroup: remove subsystem files when remounting cgroup\n\ncgroup_clear_directroy is called by cgroup_d_remove_dir\nand cgroup_remount.\n\nwhen we call cgroup_remount to remount the cgroup,the subsystem\nmay be unlinked from cgroupfs_root-\u003esubsys_list in rebind_subsystem,this\nsubsystem\u0027s files will not be removed in cgroup_clear_directroy.\nAnd the system will panic when we try to access these files.\n\nthis patch removes subsystems\u0027s files before rebind_subsystems,\nif rebind_subsystems failed, repopulate these removed files.\n\nWith help from Tejun.\n\nSigned-off-by: Gao feng \u003cgaofeng@cn.fujitsu.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "630e1e0bcddfda9566462d4f9a0d58b31c29d467",
      "tree": "b09a28cf7b9ff0fee53af2245a7e3f8d006ae091",
      "parents": [
        "7e5530af11be68f3109672aed59243f82e1272f0",
        "91d1aa43d30505b0b825db8898ffc80a8eca96c7"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Dec 03 06:27:05 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Dec 03 06:27:05 2012 +0100"
      },
      "message": "Merge branch \u0027rcu/next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu\n\nConflicts:\n\tarch/x86/kernel/ptrace.c\n\nPull the latest RCU tree from Paul E. McKenney:\n\n\"       The major features of this series are:\n\n  1.\tA first version of no-callbacks CPUs.  This version prohibits\n  \tofflining CPU 0, but only when enabled via CONFIG_RCU_NOCB_CPU\u003dy.\n  \tRelaxing this constraint is in progress, but not yet ready\n  \tfor prime time.  These commits were posted to LKML at\n  \thttps://lkml.org/lkml/2012/10/30/724, and are at branch rcu/nocb.\n\n  2.\tChanges to SRCU that allows statically initialized srcu_struct\n  \tstructures.  These commits were posted to LKML at\n  \thttps://lkml.org/lkml/2012/10/30/296, and are at branch rcu/srcu.\n\n  3.\tRestructuring of RCU\u0027s debugfs output.  These commits were posted\n  \tto LKML at https://lkml.org/lkml/2012/10/30/341, and are at\n  \tbranch rcu/tracing.\n\n  4.\tAdditional CPU-hotplug/RCU improvements, posted to LKML at\n  \thttps://lkml.org/lkml/2012/10/30/327, and are at branch rcu/hotplug.\n  \tNote that the commit eliminating __stop_machine() was judged to\n  \tbe too-high of risk, so is deferred to 3.9.\n\n  5.\tChanges to RCU\u0027s idle interface, most notably a new module\n  \tparameter that redirects normal grace-period operations to\n  \ttheir expedited equivalents.  These were posted to LKML at\n  \thttps://lkml.org/lkml/2012/10/30/739, and are at branch rcu/idle.\n\n  6.\tAdditional diagnostics for RCU\u0027s CPU stall warning facility,\n  \tposted to LKML at https://lkml.org/lkml/2012/10/30/315, and\n  \tare at branch rcu/stall.  The most notable change reduces the\n  \tdefault RCU CPU stall-warning time from 60 seconds to 21 seconds,\n  \tso that it once again happens sooner than the softlockup timeout.\n\n  7.\tDocumentation updates, which were posted to LKML at\n  \thttps://lkml.org/lkml/2012/10/30/280, and are at branch rcu/doc.\n  \tA couple of late-breaking changes were posted at\n  \thttps://lkml.org/lkml/2012/11/16/634 and\n  \thttps://lkml.org/lkml/2012/11/16/547.\n\n  8.\tMiscellaneous fixes, which were posted to LKML at\n  \thttps://lkml.org/lkml/2012/10/30/309, along with a late-breaking\n  \tchange posted at Fri, 16 Nov 2012 11:26:25 -0800 with message-ID\n  \t\u003c20121116192625.GA447@linux.vnet.ibm.com\u003e, but which lkml.org\n  \tseems to have missed.  These are at branch rcu/fixes.\n\n  9.\tFinally, a fix for an lockdep-RCU splat was posted to LKML\n  \tat https://lkml.org/lkml/2012/11/7/486.  This is at rcu/next. \"\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "84ecfd15f5547c992c901df6ec14b4d507eb2c6e",
      "tree": "72b05a443db34bdceb22a383602a2dd0c1e211c9",
      "parents": [
        "cbdbf2abb7844548a7d7a6a2ae7af6b6fbcea401"
      ],
      "author": {
        "name": "James Hogan",
        "email": "james.hogan@imgtec.com",
        "time": "Fri Nov 23 12:08:16 2012 +0000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Dec 03 13:06:25 2012 +1030"
      },
      "message": "modsign: add symbol prefix to certificate list\n\nAdd the arch symbol prefix (if applicable) to the asm definition of\nmodsign_certificate_list and modsign_certificate_list_end. This uses the\nrecently defined SYMBOL_PREFIX which is derived from\nCONFIG_SYMBOL_PREFIX.\n\nThis fixes the build of module signing on the blackfin and metag\narchitectures.\n\nSigned-off-by: James Hogan \u003cjames.hogan@imgtec.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "3657600040a7279e52252af3f9d7e253f4f49ef0",
      "tree": "1cc95124c9108e24ee18a7d9af2e511fd735daae",
      "parents": [
        "999767beb1b4a10eabf90e6017e496536cf4db0b"
      ],
      "author": {
        "name": "Joonsoo Kim",
        "email": "js1304@gmail.com",
        "time": "Fri Oct 26 23:03:49 2012 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sat Dec 01 16:45:45 2012 -0800"
      },
      "message": "workqueue: add WARN_ON_ONCE() on CPU number to wq_worker_waking_up()\n\nRecently, workqueue code has gone through some changes and we found\nsome bugs related to concurrency management operations happening on\nthe wrong CPU.  When a worker is concurrency managed\n(!WORKER_NOT_RUNNIG), it should be bound to its associated cpu and\nwoken up to that cpu.  Add WARN_ON_ONCE() to verify this.\n\nSigned-off-by: Joonsoo Kim \u003cjs1304@gmail.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    }
  ],
  "next": "999767beb1b4a10eabf90e6017e496536cf4db0b"
}
