)]}'
{
  "log": [
    {
      "commit": "fa757281a08799fd6c0f7ec6f111d1cd66afc97b",
      "tree": "664f8728e55e3d37ca8eb3c6c9087d2da9860463",
      "parents": [
        "2f6c76aa5f0fb53059730c628ac59ef62a14ed7a"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Sat Jan 21 11:03:13 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 23 08:44:54 2012 -0800"
      },
      "message": "kernel-doc: fix kernel-doc warnings in sched\n\nFix new kernel-doc notation warnings:\n\nWarning(include/linux/sched.h:2094): No description found for parameter \u0027p\u0027\nWarning(include/linux/sched.h:2094): Excess function parameter \u0027tsk\u0027 description in \u0027is_idle_task\u0027\nWarning(kernel/sched/cpupri.c:139): No description found for parameter \u0027newpri\u0027\nWarning(kernel/sched/cpupri.c:139): Excess function parameter \u0027pri\u0027 description in \u0027cpupri_set\u0027\nWarning(kernel/sched/cpupri.c:208): Excess function parameter \u0027bootmem\u0027 description in \u0027cpupri_init\u0027\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc:\tIngo Molnar \u003cmingo@elte.hu\u003e\nCc:\tPeter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9402c95f34a66e81eba473a2f7267bbae5a1dee2",
      "tree": "c46628e702d625a737fedbd9de88138a94c93d1f",
      "parents": [
        "80bf007f20b16272f210e0803f739f5606cff59d"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Thu Jan 12 17:17:17 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:03 2012 -0800"
      },
      "message": "treewide: remove useless NORET_TYPE macro and uses\n\nIt\u0027s a very old and now unused prototype marking so just delete it.\n\nNeaten panic pointer argument style to keep checkpatch quiet.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@gmail.com\u003e\nCc: Hans-Christian Egtvedt \u003cegtvedt@samfundet.no\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Fenghua Yu \u003cfenghua.yu@intel.com\u003e\nAcked-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "001a541ea9163ace5e8243ee0e907ad80a4c0ec2",
      "tree": "a76225046369c440de93739add9823f5ea060245",
      "parents": [
        "40ba587923ae67090d9f141c1d3c951be5c1420e",
        "bc31b86a5923fad5f3fbb6192f767f410241ba27"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:59:59 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:59:59 2012 -0800"
      },
      "message": "Merge branch \u0027writeback-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux\n\n* \u0027writeback-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux:\n  writeback: move MIN_WRITEBACK_PAGES to fs-writeback.c\n  writeback: balanced_rate cannot exceed write bandwidth\n  writeback: do strict bdi dirty_exceeded\n  writeback: avoid tiny dirty poll intervals\n  writeback: max, min and target dirty pause time\n  writeback: dirty ratelimit - think time compensation\n  btrfs: fix dirtied pages accounting on sub-page writes\n  writeback: fix dirtied pages accounting on redirty\n  writeback: fix dirtied pages accounting on sub-page writes\n  writeback: charge leaked page dirties to active tasks\n  writeback: Include all dirty inodes in background writeback\n"
    },
    {
      "commit": "db0c2bf69aa095d4a6de7b1145f29fe9a7c0f6a3",
      "tree": "8f38957c01b18edddd44d49ecc3beeac08a20b4e",
      "parents": [
        "ac69e0928054ff29a5049902fb477f9c7605c773",
        "0d19ea866562e46989412a0676412fa0983c9ce7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 09 12:59:24 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 09 12:59:24 2012 -0800"
      },
      "message": "Merge branch \u0027for-3.3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup\n\n* \u0027for-3.3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: (21 commits)\n  cgroup: fix to allow mounting a hierarchy by name\n  cgroup: move assignement out of condition in cgroup_attach_proc()\n  cgroup: Remove task_lock() from cgroup_post_fork()\n  cgroup: add sparse annotation to cgroup_iter_start() and cgroup_iter_end()\n  cgroup: mark cgroup_rmdir_waitq and cgroup_attach_proc() as static\n  cgroup: only need to check oldcgrp\u003d\u003dnewgrp once\n  cgroup: remove redundant get/put of task struct\n  cgroup: remove redundant get/put of old css_set from migrate\n  cgroup: Remove unnecessary task_lock before fetching css_set on migration\n  cgroup: Drop task_lock(parent) on cgroup_fork()\n  cgroups: remove redundant get/put of css_set from css_set_check_fetched()\n  resource cgroups: remove bogus cast\n  cgroup: kill subsys-\u003ecan_attach_task(), pre_attach() and attach_task()\n  cgroup, cpuset: don\u0027t use ss-\u003epre_attach()\n  cgroup: don\u0027t use subsys-\u003ecan_attach_task() or -\u003eattach_task()\n  cgroup: introduce cgroup_taskset and use it in subsys-\u003ecan_attach(), cancel_attach() and attach()\n  cgroup: improve old cgroup handling in cgroup_attach_proc()\n  cgroup: always lock threadgroup during migration\n  threadgroup: extend threadgroup_lock() to cover exit and exec\n  threadgroup: rename signal-\u003ethreadgroup_fork_lock to -\u003egroup_rwsem\n  ...\n\nFix up conflict in kernel/cgroup.c due to commit e0197aae59e5: \"cgroups:\nfix a css_set not found bug in cgroup_attach_proc\" that already\nmentioned that the bug is fixed (differently) in Tejun\u0027s cgroup\npatchset. This one, in other words.\n"
    },
    {
      "commit": "eb59c505f8a5906ad2e053d14fab50eb8574fd6f",
      "tree": "c6e875adc12b481b916e847e8f80b8881a0fb02c",
      "parents": [
        "1619ed8f60959829d070d8f39cd2f8ca0e7135ce",
        "c233523b3d392e530033a7587d7970dc62a02361"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 13:10:57 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 13:10:57 2012 -0800"
      },
      "message": "Merge branch \u0027pm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\n* \u0027pm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (76 commits)\n  PM / Hibernate: Implement compat_ioctl for /dev/snapshot\n  PM / Freezer: fix return value of freezable_schedule_timeout_killable()\n  PM / shmobile: Allow the A4R domain to be turned off at run time\n  PM / input / touchscreen: Make st1232 use device PM QoS constraints\n  PM / QoS: Introduce dev_pm_qos_add_ancestor_request()\n  PM / shmobile: Remove the stay_on flag from SH7372\u0027s PM domains\n  PM / shmobile: Don\u0027t include SH7372\u0027s INTCS in syscore suspend/resume\n  PM / shmobile: Add support for the sh7372 A4S power domain / sleep mode\n  PM: Drop generic_subsys_pm_ops\n  PM / Sleep: Remove forward-only callbacks from AMBA bus type\n  PM / Sleep: Remove forward-only callbacks from platform bus type\n  PM: Run the driver callback directly if the subsystem one is not there\n  PM / Sleep: Make pm_op() and pm_noirq_op() return callback pointers\n  PM/Devfreq: Add Exynos4-bus device DVFS driver for Exynos4210/4212/4412.\n  PM / Sleep: Merge internal functions in generic_ops.c\n  PM / Sleep: Simplify generic system suspend callbacks\n  PM / Hibernate: Remove deprecated hibernation snapshot ioctls\n  PM / Sleep: Fix freezer failures due to racy usermodehelper_is_disabled()\n  ARM: S3C64XX: Implement basic power domain support\n  PM / shmobile: Use common always on power domain governor\n  ...\n\nFix up trivial conflict in fs/xfs/xfs_buf.c due to removal of unused\nXBT_FORCE_SLEEP bit\n"
    },
    {
      "commit": "0db49b72bce26341274b74fd968501489a361ae3",
      "tree": "cdb076827aefb38d719d4c42f8ef291c36072fa8",
      "parents": [
        "35b740e4662ef386f0c60e1b60aaf5b44db9914c",
        "1ac9bc6943edf7d181b4b1cc734981350d4f6bae"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 08:33:28 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 08:44:54 2012 -0800"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (40 commits)\n  sched/tracing: Add a new tracepoint for sleeptime\n  sched: Disable scheduler warnings during oopses\n  sched: Fix cgroup movement of waking process\n  sched: Fix cgroup movement of newly created process\n  sched: Fix cgroup movement of forking process\n  sched: Remove cfs bandwidth period check in tg_set_cfs_period()\n  sched: Fix load-balance lock-breaking\n  sched: Replace all_pinned with a generic flags field\n  sched: Only queue remote wakeups when crossing cache boundaries\n  sched: Add missing rcu_dereference() around -\u003ereal_parent usage\n  [S390] fix cputime overflow in uptime_proc_show\n  [S390] cputime: add sparse checking and cleanup\n  sched: Mark parent and real_parent as __rcu\n  sched, nohz: Fix missing RCU read lock\n  sched, nohz: Set the NOHZ_BALANCE_KICK flag for idle load balancer\n  sched, nohz: Fix the idle cpu check in nohz_idle_balance\n  sched: Use jump_labels for sched_feat\n  sched/accounting: Fix parameter passing in task_group_account_field\n  sched/accounting: Fix user/system tick double accounting\n  sched/accounting: Re-use scheduler statistics for the root cgroup\n  ...\n\nFix up conflicts in\n - arch/ia64/include/asm/cputime.h, include/asm-generic/cputime.h\n\tusecs_to_cputime64() vs the sparse cleanups\n - kernel/sched/fair.c, kernel/time/tick-sched.c\n\tscheduler changes in multiple branches\n"
    },
    {
      "commit": "612ef28a045efadb3a98d4492ead7806a146485d",
      "tree": "05621c87b37e91c27b06d450d76adffe97ce9666",
      "parents": [
        "c3e0ef9a298e028a82ada28101ccd5cf64d209ee",
        "07cde2608a3b5c66515363f1b53623b1536b9785"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Mon Dec 19 19:23:15 2011 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Mon Dec 19 19:23:15 2011 +0100"
      },
      "message": "Merge branch \u0027sched/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into cputime-tip\n\nConflicts:\n\tdrivers/cpufreq/cpufreq_conservative.c\n\tdrivers/cpufreq/cpufreq_ondemand.c\n\tdrivers/macintosh/rack-meter.c\n\tfs/proc/stat.c\n\tfs/proc/uptime.c\n\tkernel/sched/core.c\n"
    },
    {
      "commit": "83712358ba0a1497ce59a4f84ce4dd0f803fe6fc",
      "tree": "d17ab27a7bff50616e3b63ad137c004d9ccfbcb0",
      "parents": [
        "32c7f202a4801252a0f3578807b75a961f792870"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Sat Jun 11 19:25:42 2011 -0600"
      },
      "committer": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Sun Dec 18 14:20:27 2011 +0800"
      },
      "message": "writeback: dirty ratelimit - think time compensation\n\nCompensate the task\u0027s think time when computing the final pause time,\nso that -\u003edirty_ratelimit can be executed accurately.\n\n        think time :\u003d time spend outside of balance_dirty_pages()\n\nIn the rare case that the task slept longer than the 200ms period time\n(result in negative pause time), the sleep time will be compensated in\nthe following periods, too, if it\u0027s less than 1 second.\n\nAccumulated errors are carefully avoided as long as the max pause area\nis not hitted.\n\nPseudo code:\n\n        period \u003d pages_dirtied / task_ratelimit;\n        think \u003d jiffies - dirty_paused_when;\n        pause \u003d period - think;\n\n1) normal case: period \u003e think\n\n        pause \u003d period - think\n        dirty_paused_when \u003d jiffies + pause\n        nr_dirtied \u003d 0\n\n                             period time\n              |\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003e|\n                  think time      pause time\n              |\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003e|\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003e|\n        ------|----------------|---------------|------------------------\n        dirty_paused_when   jiffies\n\n2) no pause case: period \u003c\u003d think\n\n        don\u0027t pause; reduce future pause time by:\n        dirty_paused_when +\u003d period\n        nr_dirtied \u003d 0\n\n                           period time\n              |\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003e|\n                                  think time\n              |\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003e|\n        ------|--------------------------------+-------------------|----\n        dirty_paused_when                                       jiffies\n\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\n"
    },
    {
      "commit": "648616343cdbe904c585a6c12e323d3b3c72e46f",
      "tree": "514bce1b52663db4ab5662b637c764cf3c2ed1eb",
      "parents": [
        "55b02d2f4445ad625213817a1736bf2884d32547"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Dec 15 14:56:09 2011 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Dec 15 14:56:19 2011 +0100"
      },
      "message": "[S390] cputime: add sparse checking and cleanup\n\nMake cputime_t and cputime64_t nocast to enable sparse checking to\ndetect incorrect use of cputime. Drop the cputime macros for simple\nscalar operations. The conversion macros are still needed.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "abd63bc3a0f65ae9d85bc3b1bb067d3e3c2b2cc2",
      "tree": "5c40dd25121062a186d203fb9343940de740be74",
      "parents": [
        "6a54aebf6978e9f296a4d3da3e40af425163c22e"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "keescook@chromium.org",
        "time": "Wed Dec 14 14:39:26 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 15 08:21:59 2011 +0100"
      },
      "message": "sched: Mark parent and real_parent as __rcu\n\nThe parent and real_parent pointers should be considered __rcu,\nsince they should be held under either tasklist_lock or\nrcu_read_lock.\n\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nLink: http://lkml.kernel.org/r/20111214223925.GA27578@www.outflux.net\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6a54aebf6978e9f296a4d3da3e40af425163c22e",
      "tree": "8217c7114db02d8b69c22fc44880749426949bc3",
      "parents": [
        "067491b7313c41f49607fce782d29344d1472587",
        "dc47ce90c3a822cd7c9e9339fe4d5f61dcb26b50"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 15 08:21:21 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 15 08:21:30 2011 +0100"
      },
      "message": "Merge commit \u0027v3.2-rc5\u0027 into sched/core\n\nMerge reason: Pick up the latest fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "77e4ef99d1c596a31747668e5fd837f77b6349b6",
      "tree": "b9dcc8d73f9febf6a18edc0b2efa3ecddc2a7a35",
      "parents": [
        "257058ae2b971646b96ab3a15605ac69186e562a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Dec 12 18:12:21 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Dec 12 18:12:21 2011 -0800"
      },
      "message": "threadgroup: extend threadgroup_lock() to cover exit and exec\n\nthreadgroup_lock() protected only protected against new addition to\nthe threadgroup, which was inherently somewhat incomplete and\nproblematic for its only user cgroup.  On-going migration could race\nagainst exec and exit leading to interesting problems - the symmetry\nbetween various attach methods, task exiting during method execution,\n-\u003eexit() racing against attach methods, migrating task switching basic\nproperties during exec and so on.\n\nThis patch extends threadgroup_lock() such that it protects against\nall three threadgroup altering operations - fork, exit and exec.  For\nexit, threadgroup_change_begin/end() calls are added to exit_signals\naround assertion of PF_EXITING.  For exec, threadgroup_[un]lock() are\nupdated to also grab and release cred_guard_mutex.\n\nWith this change, threadgroup_lock() guarantees that the target\nthreadgroup will remain stable - no new task will be added, no new\nPF_EXITING will be set and exec won\u0027t happen.\n\nThe next patch will update cgroup so that it can take full advantage\nof this change.\n\n-v2: beefed up comment as suggested by Frederic.\n\n-v3: narrowed scope of protection in exit path as suggested by\n     Frederic.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Paul Menage \u003cpaul@paulmenage.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "257058ae2b971646b96ab3a15605ac69186e562a",
      "tree": "b8a462e64c4bb4b43dcc6c9d05b194f9c747c91d",
      "parents": [
        "e25e2cbb4c6679bed5f52fb0f2cc381688297901"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Dec 12 18:12:21 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Dec 12 18:12:21 2011 -0800"
      },
      "message": "threadgroup: rename signal-\u003ethreadgroup_fork_lock to -\u003egroup_rwsem\n\nMake the following renames to prepare for extension of threadgroup\nlocking.\n\n* s/signal-\u003ethreadgroup_fork_lock/signal-\u003egroup_rwsem/\n* s/threadgroup_fork_read_lock()/threadgroup_change_begin()/\n* s/threadgroup_fork_read_unlock()/threadgroup_change_end()/\n* s/threadgroup_fork_write_lock()/threadgroup_lock()/\n* s/threadgroup_fork_write_unlock()/threadgroup_unlock()/\n\nThis patch doesn\u0027t cause any behavior change.\n\n-v2: Rename threadgroup_change_done() to threadgroup_change_end() per\n     KAMEZAWA\u0027s suggestion.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Paul Menage \u003cpaul@paulmenage.org\u003e\n"
    },
    {
      "commit": "c4f3060843506ba6d473ab9a0afe5bd5dc93a00d",
      "tree": "3fa6ed6ea9288daa19426a5402d5bcb08f6edcbe",
      "parents": [
        "bb3bf7052de520f2d21a1275e95fac7a84d89e4c"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Nov 10 12:41:56 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:47 2011 -0800"
      },
      "message": "sched: Add is_idle_task() to handle invalidated uses of idle_cpu()\n\nCommit 908a3283 (Fix idle_cpu()) invalidated some uses of idle_cpu(),\nwhich used to say whether or not the CPU was running the idle task,\nbut now instead says whether or not the CPU is running the idle task\nin the absence of pending wakeups.  Although this new implementation\ngives a better answer to the question \"is this CPU idle?\", it also\ninvalidates other uses that were made of idle_cpu().\n\nThis commit therefore introduces a new is_idle_task() API member\nthat determines whether or not the specified task is one of the\nidle tasks, allowing open-coded \"-\u003epid \u003d\u003d 0\" sequences to be replaced\nby something more meaningful.\n\nSuggested-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nSuggested-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "fdaabd800bdd60652a448994eeb77442180db6c0",
      "tree": "c66947d9a7ffac9f66395354878ba0184d010f9e",
      "parents": [
        "44252e421ad81e711c5a9db158fad7f433f70665"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Dec 06 12:47:55 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 06 20:51:18 2011 +0100"
      },
      "message": "sched: Fix compile error for UP,!NOHZ\n\nCommit 69e1e811 (\"sched, nohz: Track nr_busy_cpus in the\nsched_group_power\") messed up the static inline function definition.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nLink: http://lkml.kernel.org/n/tip-abjah8ctq5qrjjtdiabe8lph@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "69e1e811dcc436a6b129dbef273ad9ec22d095ce",
      "tree": "f07179af4989178733727683796927948db9059a",
      "parents": [
        "1c792db7f7957e2e34b9a164f08200e36a25dfd0"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Thu Dec 01 17:07:33 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 06 09:06:32 2011 +0100"
      },
      "message": "sched, nohz: Track nr_busy_cpus in the sched_group_power\n\nIntroduce nr_busy_cpus in the struct sched_group_power [Not in sched_group\nbecause sched groups are duplicated for the SD_OVERLAP scheduler domain]\nand for each cpu that enters and exits idle, this parameter will\nbe updated in each scheduler group of the scheduler domain that this cpu\nbelongs to.\n\nTo avoid the frequent update of this state as the cpu enters\nand exits idle, the update of the stat during idle exit is\ndelayed to the first timer tick that happens after the cpu becomes busy.\nThis is done using NOHZ_IDLE flag in the struct rq\u0027s nohz_flags.\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLink: http://lkml.kernel.org/r/20111202010832.555984323@sbsiddha-desk.sc.intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "986b11c3ee9e0eace25fe74a502205f7fe8c179b",
      "tree": "2271bc519eac458fd92799f5731e2ef604f69341",
      "parents": [
        "bb58dd5d1ffad6c2d21c69698ba766dad4ae54e6",
        "24b7ead3fb0bae267c2ee50898eb4c13aedd1e9f"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Nov 23 21:09:02 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Nov 23 21:09:02 2011 +0100"
      },
      "message": "Merge branch \u0027pm-freezer\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc into pm-freezer\n\n* \u0027pm-freezer\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc: (24 commits)\n  freezer: fix wait_event_freezable/__thaw_task races\n  freezer: kill unused set_freezable_with_signal()\n  dmatest: don\u0027t use set_freezable_with_signal()\n  usb_storage: don\u0027t use set_freezable_with_signal()\n  freezer: remove unused @sig_only from freeze_task()\n  freezer: use lock_task_sighand() in fake_signal_wake_up()\n  freezer: restructure __refrigerator()\n  freezer: fix set_freezable[_with_signal]() race\n  freezer: remove should_send_signal() and update frozen()\n  freezer: remove now unused TIF_FREEZE\n  freezer: make freezing() test freeze conditions in effect instead of TIF_FREEZE\n  cgroup_freezer: prepare for removal of TIF_FREEZE\n  freezer: clean up freeze_processes() failure path\n  freezer: kill PF_FREEZING\n  freezer: test freezable conditions while holding freezer_lock\n  freezer: make freezing indicate freeze condition in effect\n  freezer: use dedicated lock instead of task_lock() + memory barrier\n  freezer: don\u0027t distinguish nosig tasks on thaw\n  freezer: remove racy clear_freeze_flag() and set PF_NOFREEZE on dead tasks\n  freezer: rename thaw_process() to __thaw_task() and simplify the implementation\n  ...\n"
    },
    {
      "commit": "34b087e48367c252e343c2f8de65676a78af1e4a",
      "tree": "fbe94bad0a3073c6f4231752fba99c6bc8702277",
      "parents": [
        "adfa543e7314b36ac55a40019977de6e47946dd7"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Nov 23 09:28:17 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Nov 23 09:28:17 2011 -0800"
      },
      "message": "freezer: kill unused set_freezable_with_signal()\n\nThere\u0027s no in-kernel user of set_freezable_with_signal() left.  Mixing\nTIF_SIGPENDING with kernel threads can lead to nasty corner cases as\nkernel threads never travel signal delivery path on their own.\n\ne.g. the current implementation is buggy in the cancelation path of\n__thaw_task().  It calls recalc_sigpending_and_wake() in an attempt to\nclear TIF_SIGPENDING but the function never clears it regardless of\nsigpending state.  This means that signallable freezable kthreads may\ncontinue executing with !freezing() \u0026\u0026 stuck TIF_SIGPENDING, which can\nbe troublesome.\n\nThis patch removes set_freezable_with_signal() along with\nPF_FREEZER_NOSIG and recalc_sigpending*() calls in freezer.  User\ntasks get TIF_SIGPENDING, kernel tasks get woken up and the spurious\nsigpending is dealt with in the usual signal delivery path.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Oleg Nesterov \u003coleg@redhat.com\u003e\n"
    },
    {
      "commit": "376fede80e74d98b49d1ba9ac18f23c9fd026ddd",
      "tree": "78a48a9565efabba585dd9253c6f2c12966a995e",
      "parents": [
        "85f1d476653f52c97ca75466b2494e67c1cbd25d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 21 12:32:24 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 21 12:32:24 2011 -0800"
      },
      "message": "freezer: kill PF_FREEZING\n\nWith the previous changes, there\u0027s no meaningful difference between\nPF_FREEZING and PF_FROZEN.  Remove PF_FREEZING and use PF_FROZEN\ninstead in task_contributes_to_load().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "468e6a20afaccb67e2a7d7f60d301f90e1c6f301",
      "tree": "5558e92e85decd0fa0bb95ed6e637e1f68ea2fe1",
      "parents": [
        "1df647197c5b8aacaeb58592cba9a1df322c9000"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Wed Sep 07 10:41:32 2011 -0600"
      },
      "committer": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Thu Nov 17 20:49:06 2011 +0800"
      },
      "message": "writeback: remove vm_dirties and task-\u003edirties\n\nThey are not used any more.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\n"
    },
    {
      "commit": "029632fbb7b7c9d85063cc9eb470de6c54873df3",
      "tree": "511303f0fa32f997c4b2f68364b032555b6a642e",
      "parents": [
        "60686317da05049385eae86e44c710cde535f95f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Oct 25 10:00:11 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 17 12:20:19 2011 +0100"
      },
      "message": "sched: Make separate sched*.c translation units\n\nSince once needs to do something at conferences and fixing compile\nwarnings doesn\u0027t actually require much if any attention I decided\nto break up the sched.c #include \"*.c\" fest.\n\nThis further modularizes the scheduler code.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-x0fcd3mnp8f9c99grcpewmhi@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "208bca0860406d16398145ddd950036a737c3c9d",
      "tree": "7797a16c17d8bd155120126fa7976727fc6de013",
      "parents": [
        "6aad3738f6a79fd0ca480eaceefe064cc471f6eb",
        "0e175a1835ffc979e55787774e58ec79e41957d7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:02:23 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:02:23 2011 -0800"
      },
      "message": "Merge branch \u0027writeback-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux\n\n* \u0027writeback-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux:\n  writeback: Add a \u0027reason\u0027 to wb_writeback_work\n  writeback: send work item to queue_io, move_expired_inodes\n  writeback: trace event balance_dirty_pages\n  writeback: trace event bdi_dirty_ratelimit\n  writeback: fix ppc compile warnings on do_div(long long, unsigned long)\n  writeback: per-bdi background threshold\n  writeback: dirty position control - bdi reserve area\n  writeback: control dirty pause time\n  writeback: limit max dirty pause time\n  writeback: IO-less balance_dirty_pages()\n  writeback: per task dirty rate limit\n  writeback: stabilize bdi-\u003edirty_ratelimit\n  writeback: dirty rate control\n  writeback: add bg_threshold parameter to __bdi_update_bandwidth()\n  writeback: dirty position control\n  writeback: account per-bdi accumulated dirtied pages\n"
    },
    {
      "commit": "8a4a8918ed6e4a361f4df19f199bbc2d0a89a46c",
      "tree": "d76974986aaaa8549baf2d6a106fa6cb60d64b88",
      "parents": [
        "8686a0e200419322654a75155e2e6f80346a1297",
        "540f41edc15473ca3b2876de72646546ae101374"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 17:08:43 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 17:08:43 2011 +0200"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (46 commits)\n  llist: Add back llist_add_batch() and llist_del_first() prototypes\n  sched: Don\u0027t use tasklist_lock for debug prints\n  sched: Warn on rt throttling\n  sched: Unify the -\u003ecpus_allowed mask copy\n  sched: Wrap scheduler p-\u003ecpus_allowed access\n  sched: Request for idle balance during nohz idle load balance\n  sched: Use resched IPI to kick off the nohz idle balance\n  sched: Fix idle_cpu()\n  llist: Remove cpu_relax() usage in cmpxchg loops\n  sched: Convert to struct llist\n  llist: Add llist_next()\n  irq_work: Use llist in the struct irq_work logic\n  llist: Return whether list is empty before adding in llist_add()\n  llist: Move cpu_relax() to after the cmpxchg()\n  llist: Remove the platform-dependent NMI checks\n  llist: Make some llist functions inline\n  sched, tracing: Show PREEMPT_ACTIVE state in trace_sched_switch\n  sched: Remove redundant test in check_preempt_tick()\n  sched: Add documentation for bandwidth control\n  sched: Return unused runtime on group dequeue\n  ...\n"
    },
    {
      "commit": "19b4a8d520a6e0176dd52aaa429261ad4fcaa545",
      "tree": "6dcf5a780718fc50b9cd79cc803daa7c7e080a02",
      "parents": [
        "3cfef9524677a4ecb392d6fbffe6ebce6302f1d4",
        "048b718029033af117870d3da47da12995be14a3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 16:26:53 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 16:26:53 2011 +0200"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (45 commits)\n  rcu: Move propagation of -\u003ecompleted from rcu_start_gp() to rcu_report_qs_rsp()\n  rcu: Remove rcu_needs_cpu_flush() to avoid false quiescent states\n  rcu: Wire up RCU_BOOST_PRIO for rcutree\n  rcu: Make rcu_torture_boost() exit loops at end of test\n  rcu: Make rcu_torture_fqs() exit loops at end of test\n  rcu: Permit rt_mutex_unlock() with irqs disabled\n  rcu: Avoid having just-onlined CPU resched itself when RCU is idle\n  rcu: Suppress NMI backtraces when stall ends before dump\n  rcu: Prohibit grace periods during early boot\n  rcu: Simplify unboosting checks\n  rcu: Prevent early boot set_need_resched() from __rcu_pending()\n  rcu: Dump local stack if cannot dump all CPUs\u0027 stacks\n  rcu: Move __rcu_read_unlock()\u0027s barrier() within if-statement\n  rcu: Improve rcu_assign_pointer() and RCU_INIT_POINTER() documentation\n  rcu: Make rcu_assign_pointer() unconditionally insert a memory barrier\n  rcu: Make rcu_implicit_dynticks_qs() locals be correct size\n  rcu: Eliminate in_irq() checks in rcu_enter_nohz()\n  nohz: Remove nohz_cpu_mask\n  rcu: Document interpretation of RCU-lockdep splats\n  rcu: Allow rcutorture\u0027s stat_interval parameter to be changed at runtime\n  ...\n"
    },
    {
      "commit": "3cfef9524677a4ecb392d6fbffe6ebce6302f1d4",
      "tree": "88647d9dc50d634dee9cfeb7f354d620977a2f33",
      "parents": [
        "982653009b883ef1529089e3e6f1ae2fee41cbe2",
        "68cc3990a545dc0da221b4844dd8b9c06623a6c5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 16:17:32 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 16:17:32 2011 +0200"
      },
      "message": "Merge branch \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (27 commits)\n  rtmutex: Add missing rcu_read_unlock() in debug_rt_mutex_print_deadlock()\n  lockdep: Comment all warnings\n  lib: atomic64: Change the type of local lock to raw_spinlock_t\n  locking, lib/atomic64: Annotate atomic64_lock::lock as raw\n  locking, x86, iommu: Annotate qi-\u003eq_lock as raw\n  locking, x86, iommu: Annotate irq_2_ir_lock as raw\n  locking, x86, iommu: Annotate iommu-\u003eregister_lock as raw\n  locking, dma, ipu: Annotate bank_lock as raw\n  locking, ARM: Annotate low level hw locks as raw\n  locking, drivers/dca: Annotate dca_lock as raw\n  locking, powerpc: Annotate uic-\u003elock as raw\n  locking, x86: mce: Annotate cmci_discover_lock as raw\n  locking, ACPI: Annotate c3_lock as raw\n  locking, oprofile: Annotate oprofilefs lock as raw\n  locking, video: Annotate vga console lock as raw\n  locking, latencytop: Annotate latency_lock as raw\n  locking, timer_stats: Annotate table_lock as raw\n  locking, rwsem: Annotate inner lock as raw\n  locking, semaphores: Annotate inner lock as raw\n  locking, sched: Annotate thread_group_cputimer as raw\n  ...\n\nFix up conflicts in kernel/posix-cpu-timers.c manually: making\ncputimer-\u003ecputime a raw lock conflicted with the ABBA fix in commit\nbcd5cff7216f (\"cputimer: Cure lock inversion\").\n"
    },
    {
      "commit": "1be025d3cb40cd295123af2c394f7229ef9b30ca",
      "tree": "5dc14e1ea412cc7fdc3e563ad23187059fe8bfb5",
      "parents": [
        "2d03423b2319cc854adeb28a03f65de5b5e0ab63",
        "a2c76b83fdd763c826f38a55127ccf25708099ce"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 12:23:15 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 12:23:15 2011 +0200"
      },
      "message": "Merge branch \u0027usb-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb\n\n* \u0027usb-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (260 commits)\n  usb: renesas_usbhs: fixup inconsistent return from usbhs_pkt_push()\n  usb/isp1760: Allow to optionally trigger low-level chip reset via GPIOLIB.\n  USB: gadget: midi: memory leak in f_midi_bind_config()\n  USB: gadget: midi: fix range check in f_midi_out_open()\n  QE/FHCI: fixed the CONTROL bug\n  usb: renesas_usbhs: tidyup for smatch warnings\n  USB: Fix USB Kconfig dependency problem on 85xx/QoirQ platforms\n  EHCI: workaround for MosChip controller bug\n  usb: gadget: file_storage: fix race on unloading\n  USB: ftdi_sio.c: Use ftdi async_icount structure for TIOCMIWAIT, as in other drivers\n  USB: ftdi_sio.c:Fill MSR fields of the ftdi async_icount structure\n  USB: ftdi_sio.c: Fill LSR fields of the ftdi async_icount structure\n  USB: ftdi_sio.c:Fill TX field of the ftdi async_icount structure\n  USB: ftdi_sio.c: Fill the RX field of the ftdi async_icount structure\n  USB: ftdi_sio.c: Basic icount infrastructure for ftdi_sio\n  usb/isp1760: Let OF bindings depend on general CONFIG_OF instead of PPC_OF .\n  USB: ftdi_sio: Support TI/Luminary Micro Stellaris BD-ICDI Board\n  USB: Fix runtime wakeup on OHCI\n  xHCI/USB: Make xHCI driver have a BOS descriptor.\n  usb: gadget: add new usb gadget for ACM and mass storage\n  ...\n"
    },
    {
      "commit": "fa14ff4accfb24e59d2473f3d864d6648d80563b",
      "tree": "a2f3f5a16e1e740c6f96857e60c37826689d7b0b",
      "parents": [
        "924f8f5af31423529cc3940cb2ae9fee736b7517"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Sep 12 13:06:17 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 04 12:43:58 2011 +0200"
      },
      "message": "sched: Convert to struct llist\n\nUse the generic llist primitives.\n\nWe had a private lockless list implementation in the scheduler in the wake-list\ncode, now that we have a generic llist implementation that provides all required\noperations, switch to it.\n\nThis patch is not expected to change any behavior.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Huang Ying \u003cying.huang@intel.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/1315836353.26517.42.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "22f92bacbeea24b20e447444c28e7cad9f1ac3f8",
      "tree": "5c3f2346804a186aa2d954f078fd2f4d44bcc26e",
      "parents": [
        "557ab425429a5123d37f412ce3e6d6137cb621f8",
        "0f86267b79bc6e357b8606077c7f70239045ea9c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 04 11:08:16 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 04 11:09:08 2011 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/core\n\nMerge reason: pick up the latest fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9d823e8f6b1b7b39f952d7d1795f29162143a433",
      "tree": "2ef4c0d29353452dd2f894e7dbd240a31bdd0a02",
      "parents": [
        "7381131cbcf7e15d201a0ffd782a4698efe4e740"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Sat Jun 11 18:10:12 2011 -0600"
      },
      "committer": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Mon Oct 03 21:08:57 2011 +0800"
      },
      "message": "writeback: per task dirty rate limit\n\nAdd two fields to task_struct.\n\n1) account dirtied pages in the individual tasks, for accuracy\n2) per-task balance_dirty_pages() call intervals, for flexibility\n\nThe balance_dirty_pages() call interval (ie. nr_dirtied_pause) will\nscale near-sqrt to the safety gap between dirty pages and threshold.\n\nThe main problem of per-task nr_dirtied is, if 1k+ tasks start dirtying\npages at exactly the same time, each task will be assigned a large\ninitial nr_dirtied_pause, so that the dirty threshold will be exceeded\nlong before each task reached its nr_dirtied_pause and hence call\nbalance_dirty_pages().\n\nThe solution is to watch for the number of pages dirtied on each CPU in\nbetween the calls into balance_dirty_pages(). If it exceeds ratelimit_pages\n(3% dirty threshold), force call balance_dirty_pages() for a chance to\nset bdi-\u003edirty_exceeded. In normal situations, this safeguarding\ncondition is not expected to trigger at all.\n\nOn the sqrt in dirty_poll_interval():\n\nIt will serve as an initial guess when dirty pages are still in the\nfreerun area.\n\nWhen dirty pages are floating inside the dirty control scope [freerun,\nlimit], a followup patch will use some refined dirty poll interval to\nget the desired pause time.\n\n   thresh-dirty (MB)    sqrt\n\t\t   1      16\n\t\t   2      22\n\t\t   4      32\n\t\t   8      45\n\t\t  16      64\n\t\t  32      90\n\t\t  64     128\n\t\t 128     181\n\t\t 256     256\n\t\t 512     362\n\t\t1024     512\n\nThe above table means, given 1MB (or 1GB) gap and the dd tasks polling\nbalance_dirty_pages() on every 16 (or 512) pages, the dirty limit won\u0027t\nbe exceeded as long as there are less than 16 (or 512) concurrent dd\u0027s.\n\nSo sqrt naturally leads to less overheads and more safe concurrent tasks\nfor large memory servers, which have large (thresh-freerun) gaps.\n\npeter: keep the per-CPU ratelimit for safeguarding the 1k+ tasks case\n\nCC: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: Andrea Righi \u003candrea@betterlinux.com\u003e\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\n"
    },
    {
      "commit": "d670ec13178d0fd8680e6742a2bc6e04f28f87d8",
      "tree": "81a2ac824dd92a0536e42f9a0ba3d83240856722",
      "parents": [
        "6ebbe7a07b3bc40b168d2afc569a6543c020d2e3"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Sep 01 12:42:04 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Sep 30 14:07:06 2011 +0200"
      },
      "message": "posix-cpu-timers: Cure SMP wobbles\n\nDavid reported:\n\n  Attached below is a watered-down version of rt/tst-cpuclock2.c from\n  GLIBC.  Just build it with \"gcc -o test test.c -lpthread -lrt\" or\n  similar.\n\n  Run it several times, and you will see cases where the main thread\n  will measure a process clock difference before and after the nanosleep\n  which is smaller than the cpu-burner thread\u0027s individual thread clock\n  difference.  This doesn\u0027t make any sense since the cpu-burner thread\n  is part of the top-level process\u0027s thread group.\n\n  I\u0027ve reproduced this on both x86-64 and sparc64 (using both 32-bit and\n  64-bit binaries).\n\n  For example:\n\n  [davem@boricha build-x86_64-linux]$ ./test\n  process: before(0.001221967) after(0.498624371) diff(497402404)\n  thread:  before(0.000081692) after(0.498316431) diff(498234739)\n  self:    before(0.001223521) after(0.001240219) diff(16698)\n  [davem@boricha build-x86_64-linux]$ \n\n  The diff of \u0027process\u0027 should always be \u003e\u003d the diff of \u0027thread\u0027.\n\n  I make sure to wrap the \u0027thread\u0027 clock measurements the most tightly\n  around the nanosleep() call, and that the \u0027process\u0027 clock measurements\n  are the outer-most ones.\n\n  ---\n  #include \u003cunistd.h\u003e\n  #include \u003cstdio.h\u003e\n  #include \u003cstdlib.h\u003e\n  #include \u003ctime.h\u003e\n  #include \u003cfcntl.h\u003e\n  #include \u003cstring.h\u003e\n  #include \u003cerrno.h\u003e\n  #include \u003cpthread.h\u003e\n\n  static pthread_barrier_t barrier;\n\n  static void *chew_cpu(void *arg)\n  {\n\t  pthread_barrier_wait(\u0026barrier);\n\t  while (1)\n\t\t  __asm__ __volatile__(\"\" : : : \"memory\");\n\t  return NULL;\n  }\n\n  int main(void)\n  {\n\t  clockid_t process_clock, my_thread_clock, th_clock;\n\t  struct timespec process_before, process_after;\n\t  struct timespec me_before, me_after;\n\t  struct timespec th_before, th_after;\n\t  struct timespec sleeptime;\n\t  unsigned long diff;\n\t  pthread_t th;\n\t  int err;\n\n\t  err \u003d clock_getcpuclockid(0, \u0026process_clock);\n\t  if (err)\n\t\t  return 1;\n\n\t  err \u003d pthread_getcpuclockid(pthread_self(), \u0026my_thread_clock);\n\t  if (err)\n\t\t  return 1;\n\n\t  pthread_barrier_init(\u0026barrier, NULL, 2);\n\t  err \u003d pthread_create(\u0026th, NULL, chew_cpu, NULL);\n\t  if (err)\n\t\t  return 1;\n\n\t  err \u003d pthread_getcpuclockid(th, \u0026th_clock);\n\t  if (err)\n\t\t  return 1;\n\n\t  pthread_barrier_wait(\u0026barrier);\n\n\t  err \u003d clock_gettime(process_clock, \u0026process_before);\n\t  if (err)\n\t\t  return 1;\n\n\t  err \u003d clock_gettime(my_thread_clock, \u0026me_before);\n\t  if (err)\n\t\t  return 1;\n\n\t  err \u003d clock_gettime(th_clock, \u0026th_before);\n\t  if (err)\n\t\t  return 1;\n\n\t  sleeptime.tv_sec \u003d 0;\n\t  sleeptime.tv_nsec \u003d 500000000;\n\t  nanosleep(\u0026sleeptime, NULL);\n\n\t  err \u003d clock_gettime(th_clock, \u0026th_after);\n\t  if (err)\n\t\t  return 1;\n\n\t  err \u003d clock_gettime(my_thread_clock, \u0026me_after);\n\t  if (err)\n\t\t  return 1;\n\n\t  err \u003d clock_gettime(process_clock, \u0026process_after);\n\t  if (err)\n\t\t  return 1;\n\n\t  diff \u003d process_after.tv_nsec - process_before.tv_nsec;\n\t  printf(\"process: before(%lu.%.9lu) after(%lu.%.9lu) diff(%lu)\\n\",\n\t\t process_before.tv_sec, process_before.tv_nsec,\n\t\t process_after.tv_sec, process_after.tv_nsec, diff);\n\t  diff \u003d th_after.tv_nsec - th_before.tv_nsec;\n\t  printf(\"thread:  before(%lu.%.9lu) after(%lu.%.9lu) diff(%lu)\\n\",\n\t\t th_before.tv_sec, th_before.tv_nsec,\n\t\t th_after.tv_sec, th_after.tv_nsec, diff);\n\t  diff \u003d me_after.tv_nsec - me_before.tv_nsec;\n\t  printf(\"self:    before(%lu.%.9lu) after(%lu.%.9lu) diff(%lu)\\n\",\n\t\t me_before.tv_sec, me_before.tv_nsec,\n\t\t me_after.tv_sec, me_after.tv_nsec, diff);\n\n\t  return 0;\n  }\n\nThis is due to us using p-\u003ese.sum_exec_runtime in\nthread_group_cputime() where we iterate the thread group and sum all\ndata. This does not take time since the last schedule operation (tick\nor otherwise) into account. We can cure this by using\ntask_sched_runtime() at the cost of having to take locks.\n\nThis also means we can (and must) do away with\nthread_group_sched_runtime() since the modified thread_group_cputime()\nis now more accurate and would deadlock when called from\nthread_group_sched_runtime().\n\nAside of that it makes the function safe on 32 bit systems. The old\ncode added t-\u003ese.sum_exec_runtime unprotected. sum_exec_runtime is a\n64bit value and could be changed on another cpu at the same time.\n\nReported-by: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: stable@kernel.org\nLink: http://lkml.kernel.org/r/1314874459.7945.22.camel@twins\nTested-by: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "d178bc3a708f39cbfefc3fab37032d3f2511b4ec",
      "tree": "af492e92e140f1f6abad5a377a269ef7335824de",
      "parents": [
        "edb2b255a0bebac5aeb17c7613aeb76ba4e6c63c"
      ],
      "author": {
        "name": "Serge Hallyn",
        "email": "serge.hallyn@canonical.com",
        "time": "Mon Sep 26 10:45:18 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Sep 29 13:13:08 2011 -0700"
      },
      "message": "user namespace: usb: make usb urbs user namespace aware (v2)\n\nAdd to the dev_state and alloc_async structures the user namespace\ncorresponding to the uid and euid.  Pass these to kill_pid_info_as_uid(),\nwhich can then implement a proper, user-namespace-aware uid check.\n\nChangelog:\nSep 20: Per Oleg\u0027s suggestion: Instead of caching and passing user namespace,\n\tuid, and euid each separately, pass a struct cred.\nSep 26: Address Alan Stern\u0027s comments: don\u0027t define a struct cred at\n\tusbdev_open(), and take and put a cred at async_completed() to\n\tensure it lasts for the duration of kill_pid_info_as_cred().\n\nSigned-off-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "82e78d80fc392ac7e98326bc8beeb8a679913ffd",
      "tree": "4999d3c03ed711056474c3a31512e7d3cf253b87",
      "parents": [
        "5c51dd7349d4bb26f845f17f85daa168f5fa03f2"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Aug 04 07:55:34 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:38:39 2011 -0700"
      },
      "message": "rcu: Simplify unboosting checks\n\nCommit 7765be (Fix RCU_BOOST race handling current-\u003ercu_read_unlock_special)\nintroduced a new -\u003ercu_boosted field in the task structure.  This is\nredundant because the existing -\u003ercu_boost_mutex will be non-NULL at\nany time that -\u003ercu_boosted is nonzero.  Therefore, this commit removes\n-\u003ercu_boosted and tests -\u003ercu_boost_mutex instead.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "fc0763f53e3ff6a6bfa66934662a3446b9ca6f16",
      "tree": "2671d3f6275c9707a620032658ecb05025e4e9fa",
      "parents": [
        "d7bd2d68aa2ee2738a10c8ad9346b805e4ab2e1c"
      ],
      "author": {
        "name": "Shi, Alex",
        "email": "alex.shi@intel.com",
        "time": "Thu Jul 28 14:56:12 2011 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:38:29 2011 -0700"
      },
      "message": "nohz: Remove nohz_cpu_mask\n\nRCU no longer uses this global variable, nor does anyone else.  This\ncommit therefore removes this variable.  This reduces memory footprint\nand also removes some atomic instructions and memory barriers from\nthe dyntick-idle path.\n\nSigned-off-by: Alex Shi \u003calex.shi@intel.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "ee30a7b2fc072f139dac44826860d2c1f422137c",
      "tree": "4f11173879b25cc31822cb0a8d9dbd48395e74bc",
      "parents": [
        "07354eb1a74d1e1ece29f8bafe0b46e8c77a95ef"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Jul 25 18:56:56 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 13 11:11:55 2011 +0200"
      },
      "message": "locking, sched: Annotate thread_group_cputimer as raw\n\nThe thread_group_cputimer lock can be taken in atomic context and therefore\ncannot be preempted on -rt - annotate it.\n\nIn mainline this change documents the low level nature of\nthe lock - otherwise there\u0027s no functional difference. Lockdep\nand Sparse checking will work as usual.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ec12cb7f31e28854efae7dd6f9544e0a66379040",
      "tree": "30a7293a4f9d566043f524bb4c43d4ae8b0560db",
      "parents": [
        "a790de99599a29ad3f18667530cf4b9f4b7e3234"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Thu Jul 21 09:43:30 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 14 12:03:26 2011 +0200"
      },
      "message": "sched: Accumulate per-cfs_rq cpu usage and charge against bandwidth\n\nAccount bandwidth usage on the cfs_rq level versus the task_groups to which\nthey belong.  Whether we are tracking bandwidth on a given cfs_rq is maintained\nunder cfs_rq-\u003eruntime_enabled.\n\ncfs_rq\u0027s which belong to a bandwidth constrained task_group have their runtime\naccounted via the update_curr() path, which withdraws bandwidth from the global\npool as desired.  Updates involving the global pool are currently protected\nunder cfs_bandwidth-\u003elock, local runtime is protected by rq-\u003elock.\n\nThis patch only assigns and tracks quota, no action is taken in the case that\ncfs_rq-\u003eruntime_used exceeds cfs_rq-\u003eruntime_assigned.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Nikhil Rao \u003cncrao@google.com\u003e\nSigned-off-by: Bharata B Rao \u003cbharata@linux.vnet.ibm.com\u003e\nReviewed-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110721184757.179386821@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "72fa59970f8698023045ab0713d66f3f4f96945c",
      "tree": "ed9a5eaf8212270d464c6d4396ae5a568352a997",
      "parents": [
        "1d229d54dbc26971142f61c3d271a68db236d178"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segoon@openwall.com",
        "time": "Mon Aug 08 19:02:04 2011 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 11 11:24:42 2011 -0700"
      },
      "message": "move RLIMIT_NPROC check from set_user() to do_execve_common()\n\nThe patch http://lkml.org/lkml/2003/7/13/226 introduced an RLIMIT_NPROC\ncheck in set_user() to check for NPROC exceeding via setuid() and\nsimilar functions.\n\nBefore the check there was a possibility to greatly exceed the allowed\nnumber of processes by an unprivileged user if the program relied on\nrlimit only.  But the check created new security threat: many poorly\nwritten programs simply don\u0027t check setuid() return code and believe it\ncannot fail if executed with root privileges.  So, the check is removed\nin this patch because of too often privilege escalations related to\nbuggy programs.\n\nThe NPROC can still be enforced in the common code flow of daemons\nspawning user processes.  Most of daemons do fork()+setuid()+execve().\nThe check introduced in execve() (1) enforces the same limit as in\nsetuid() and (2) doesn\u0027t create similar security issues.\n\nNeil Brown suggested to track what specific process has exceeded the\nlimit by setting PF_NPROC_EXCEEDED process flag.  With the change only\nthis process would fail on execve(), and other processes\u0027 execve()\nbehaviour is not changed.\n\nSolar Designer suggested to re-check whether NPROC limit is still\nexceeded at the moment of execve().  If the process was sleeping for\ndays between set*uid() and execve(), and the NPROC counter step down\nunder the limit, the defered execve() failure because NPROC limit was\nexceeded days ago would be unexpected.  If the limit is not exceeded\nanymore, we clear the flag on successful calls to execve() and fork().\n\nThe flag is also cleared on successful calls to set_user() as the limit\nwas exceeded for the previous user, not the current one.\n\nSimilar check was introduced in -ow patches (without the process flag).\n\nv3 - clear PF_NPROC_EXCEEDED on successful calls to set_user().\n\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "096a705bbc080a4041636d07514560da8d78acbe",
      "tree": "38c3c01225709ffa53419083ea6332f8a72610de",
      "parents": [
        "fea80311a939a746533a6d7e7c3183729d6a3faf",
        "5757a6d76cdf6dda2a492c09b985c015e86779b1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 10:33:36 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 10:33:36 2011 -0700"
      },
      "message": "Merge branch \u0027for-3.1/core\u0027 of git://git.kernel.dk/linux-block\n\n* \u0027for-3.1/core\u0027 of git://git.kernel.dk/linux-block: (24 commits)\n  block: strict rq_affinity\n  backing-dev: use synchronize_rcu_expedited instead of synchronize_rcu\n  block: fix patch import error in max_discard_sectors check\n  block: reorder request_queue to remove 64 bit alignment padding\n  CFQ: add think time check for group\n  CFQ: add think time check for service tree\n  CFQ: move think time check variables to a separate struct\n  fixlet: Remove fs_excl from struct task.\n  cfq: Remove special treatment for metadata rqs.\n  block: document blk_plug list access\n  block: avoid building too big plug list\n  compat_ioctl: fix make headers_check regression\n  block: eliminate potential for infinite loop in blkdev_issue_discard\n  compat_ioctl: fix warning caused by qemu\n  block: flush MEDIA_CHANGE from drivers on close(2)\n  blk-throttle: Make total_nr_queued unsigned\n  block: Add __attribute__((format(printf...) and fix fallout\n  fs/partitions/check.c: make local symbols static\n  block:remove some spare spaces in genhd.c\n  block:fix the comment error in blkdev.h\n  ...\n"
    },
    {
      "commit": "bdc7ccfc0631797636837b10df7f87bc1e2e4ae3",
      "tree": "70f09f8ffee07486d41ca254b8abb05692713d1e",
      "parents": [
        "4d4abdcb1dee03a4f9d6d2021622ed07e14dfd17",
        "0f3171438fc917b9f6b8b60dbb7a3fff9a0f68fd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:45:02 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:45:02 2011 -0700"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (24 commits)\n  sched: Cleanup duplicate local variable in [enqueue|dequeue]_task_fair\n  sched: Replace use of entity_key()\n  sched: Separate group-scheduling code more clearly\n  sched: Reorder root_domain to remove 64 bit alignment padding\n  sched: Do not attempt to destroy uninitialized rt_bandwidth\n  sched: Remove unused function cpu_cfs_rq()\n  sched: Fix (harmless) typo \u0027CONFG_FAIR_GROUP_SCHED\u0027\n  sched, cgroup: Optimize load_balance_fair()\n  sched: Don\u0027t update shares twice on on_rq parent\n  sched: update correct entity\u0027s runtime in check_preempt_wakeup()\n  xtensa: Use generic config PREEMPT definition\n  h8300: Use generic config PREEMPT definition\n  m32r: Use generic PREEMPT config\n  sched: Skip autogroup when looking for all rt sched groups\n  sched: Simplify mutex_spin_on_owner()\n  sched: Remove rcu_read_lock() from wake_affine()\n  sched: Generalize sleep inside spinlock detection\n  sched: Make sleeping inside spinlock detection working in !CONFIG_PREEMPT\n  sched: Isolate preempt counting in its own config option\n  sched: Remove pointless in_atomic() definition check\n  ...\n"
    },
    {
      "commit": "8209f53d79444747782a28520187abaf689761f2",
      "tree": "726270ea29e037f026d77a99787b9d844531ac42",
      "parents": [
        "22a3b9771117d566def0150ea787fcc95f16e724",
        "eac1b5e57d7abc836e78fd3fbcf77dbeed01edc9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 15:06:50 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 15:06:50 2011 -0700"
      },
      "message": "Merge branch \u0027ptrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/oleg/misc\n\n* \u0027ptrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/oleg/misc: (39 commits)\n  ptrace: do_wait(traced_leader_killed_by_mt_exec) can block forever\n  ptrace: fix ptrace_signal() \u0026\u0026 STOP_DEQUEUED interaction\n  connector: add an event for monitoring process tracers\n  ptrace: dont send SIGSTOP on auto-attach if PT_SEIZED\n  ptrace: mv send-SIGSTOP from do_fork() to ptrace_init_task()\n  ptrace_init_task: initialize child-\u003ejobctl explicitly\n  has_stopped_jobs: s/task_is_stopped/SIGNAL_STOP_STOPPED/\n  ptrace: make former thread ID available via PTRACE_GETEVENTMSG after PTRACE_EVENT_EXEC stop\n  ptrace: wait_consider_task: s/same_thread_group/ptrace_reparented/\n  ptrace: kill real_parent_is_ptracer() in in favor of ptrace_reparented()\n  ptrace: ptrace_reparented() should check same_thread_group()\n  redefine thread_group_leader() as exit_signal \u003e\u003d 0\n  do not change dead_task-\u003eexit_signal\n  kill task_detached()\n  reparent_leader: check EXIT_DEAD instead of task_detached()\n  make do_notify_parent() __must_check, update the callers\n  __ptrace_detach: avoid task_detached(), check do_notify_parent()\n  kill tracehook_notify_death()\n  make do_notify_parent() return bool\n  ptrace: s/tracehook_tracer_task()/ptrace_parent()/\n  ...\n"
    },
    {
      "commit": "994bf1c92270e3d7731ea08f1d1bd7a668314e60",
      "tree": "4409a21eab486e53fbe350a66e8a4f28b7a720c0",
      "parents": [
        "bd96efe17d945f0bad56d592f8686dc6309905e7",
        "cf6ace16a3cd8b728fb0afa68368fd40bbeae19f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 17:59:54 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 18:00:01 2011 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/core\n\nMerge reason: pick up the latest scheduler fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cf6ace16a3cd8b728fb0afa68368fd40bbeae19f",
      "tree": "489c64380668e8c5a29d3f36f37554e4b081a647",
      "parents": [
        "acc11eab70591744369722280c9ce162a6193494",
        "d1e9ae47a0285d3f1699e8219ce50f656243b93f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 20 15:56:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 20 15:56:25 2011 -0700"
      },
      "message": "Merge branch \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  signal: align __lock_task_sighand() irq disabling and RCU\n  softirq,rcu: Inform RCU of irq_exit() activity\n  sched: Add irq_{enter,exit}() to scheduler_ipi()\n  rcu: protect __rcu_read_unlock() against scheduler-using irq handlers\n  rcu: Streamline code produced by __rcu_read_unlock()\n  rcu: Fix RCU_BOOST race handling current-\u003ercu_read_unlock_special\n  rcu: decrease rcu_report_exp_rnp coupling with scheduler\n"
    },
    {
      "commit": "e3589f6c81e4764d32a25d2a2a0afe54fa344f5c",
      "tree": "414bf6bdbad3f04f629fa2a72254ea85acf723f4",
      "parents": [
        "9c3f75cbd144014bea6af866a154cc2e73ab2287"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jul 15 10:35:52 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 20 18:32:41 2011 +0200"
      },
      "message": "sched: Allow for overlapping sched_domain spans\n\nAllow for sched_domain spans that overlap by giving such domains their\nown sched_group list instead of sharing the sched_groups amongst\neach-other.\n\nThis is needed for machines with more than 16 nodes, because\nsched_domain_node_span() will generate a node mask from the\n16 nearest nodes without regard if these masks have any overlap.\n\nCurrently sched_domains have a sched_group that maps to their child\nsched_domain span, and since there is no overlap we share the\nsched_group between the sched_domains of the various CPUs. If however\nthere is overlap, we would need to link the sched_group list in\ndifferent ways for each cpu, and hence sharing isn\u0027t possible.\n\nIn order to solve this, allocate private sched_groups for each CPU\u0027s\nsched_domain but have the sched_groups share a sched_group_power\nstructure such that we can uniquely track the power.\n\nReported-and-tested-by: Anton Blanchard \u003canton@samba.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\nLink: http://lkml.kernel.org/n/tip-08bxqw9wis3qti9u5inifh3y@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9c3f75cbd144014bea6af866a154cc2e73ab2287",
      "tree": "2a565f7ff0820269973415c5605e313cfff903b4",
      "parents": [
        "e6625fa48e6580a74b7e700efd7e6463e282810b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jul 14 13:00:06 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 20 18:32:40 2011 +0200"
      },
      "message": "sched: Break out cpu_power from the sched_group structure\n\nIn order to prepare for non-unique sched_groups per domain, we need to\ncarry the cpu_power elsewhere, so put a level of indirection in.\n\nReported-and-tested-by: Anton Blanchard \u003canton@samba.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\nLink: http://lkml.kernel.org/n/tip-qkho2byuhe4482fuknss40ad@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7765be2fec0f476fcd61812d5f9406b04c765020",
      "tree": "e89ccb3fbd5655090b05f608f8e1d39924f23a9a",
      "parents": [
        "131906b0062ddde7f85bbe67754983c754648bd8"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Jul 14 12:24:11 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Jul 19 21:38:52 2011 -0700"
      },
      "message": "rcu: Fix RCU_BOOST race handling current-\u003ercu_read_unlock_special\n\nThe RCU_BOOST commits for TREE_PREEMPT_RCU introduced an other-task\nwrite to a new RCU_READ_UNLOCK_BOOSTED bit in the task_struct structure\u0027s\n-\u003ercu_read_unlock_special field, but, as noted by Steven Rostedt, without\ncorrectly synchronizing all accesses to -\u003ercu_read_unlock_special.\nThis could result in bits in -\u003ercu_read_unlock_special being spuriously\nset and cleared due to conflicting accesses, which in turn could result\nin deadlocks between the rcu_node structure\u0027s -\u003elock and the scheduler\u0027s\nrq and pi locks.  These deadlocks would result from RCU incorrectly\nbelieving that the just-ended RCU read-side critical section had been\npreempted and/or boosted.  If that RCU read-side critical section was\nexecuted with either rq or pi locks held, RCU\u0027s ensuing (incorrect)\ncalls to the scheduler would cause the scheduler to attempt to once\nagain acquire the rq and pi locks, resulting in deadlock.  More complex\ndeadlock cycles are also possible, involving multiple rq and pi locks\nas well as locks from multiple rcu_node structures.\n\nThis commit fixes synchronization by creating -\u003ercu_boosted field in\ntask_struct that is accessed and modified only when holding the -\u003elock\nin the rcu_node structure on which the task is queued (on that rcu_node\nstructure\u0027s -\u003eblkd_tasks list).  This results in tasks accessing only\ntheir own current-\u003ercu_read_unlock_special fields, making unsynchronized\naccess once again legal, and keeping the rcu_read_unlock() fastpath free\nof atomic instructions and memory barriers.\n\nThe reason that the rcu_read_unlock() fastpath does not need to access\nthe new current-\u003ercu_boosted field is that this new field cannot\nbe non-zero unless the RCU_READ_UNLOCK_BLOCKED bit is set in the\ncurrent-\u003ercu_read_unlock_special field.  Therefore, rcu_read_unlock()\nneed only test current-\u003ercu_read_unlock_special: if that is zero, then\ncurrent-\u003ercu_boosted must also be zero.\n\nThis bug does not affect TINY_PREEMPT_RCU because this implementation\nof RCU accesses current-\u003ercu_read_unlock_special with irqs disabled,\nthus preventing races on the !SMP systems that TINY_PREEMPT_RCU runs on.\n\nMaybe-reported-by: Dave Jones \u003cdavej@redhat.com\u003e\nMaybe-reported-by: Sergey Senozhatsky \u003csergey.senozhatsky@gmail.com\u003e\nReported-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "4aede84b33d6beb401136a3deca0651ae07c5e99",
      "tree": "831266dbb15227584da5011ae4bb1e5038a69677",
      "parents": [
        "a07405b7802691d29ab3b23bdc76ee6d006aad0b"
      ],
      "author": {
        "name": "Justin TerAvest",
        "email": "teravest@google.com",
        "time": "Tue Jul 12 08:31:45 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Jul 12 08:35:10 2011 +0200"
      },
      "message": "fixlet: Remove fs_excl from struct task.\n\nfs_excl is a poor man\u0027s priority inheritance for filesystems to hint to\nthe block layer that an operation is important. It was never clearly\nspecified, not widely adopted, and will not prevent starvation in many\ncases (like across cgroups).\n\nfs_excl was introduced with the time sliced CFQ IO scheduler, to\nindicate when a process held FS exclusive resources and thus needed\na boost.\n\nIt doesn\u0027t cover all file systems, and it was never fully complete.\nLets kill it.\n\nSigned-off-by: Justin TerAvest \u003cteravest@google.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "e4c2fb0d5776b58049d2556b456144a4db3fe5a9",
      "tree": "04cebbb24f524408728492cfeb396d66aa6127e4",
      "parents": [
        "cd62287e364c0d15d517c6ced4e4808b54711475"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jul 05 10:56:32 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 05 11:28:18 2011 +0200"
      },
      "message": "sched: Disable (revert) SCHED_LOAD_SCALE increase\n\nAlex reported that commit c8b281161df (\"sched: Increase\nSCHED_LOAD_SCALE resolution\") caused a power usage regression\nunder light load as it increases the number of load-balance\noperations and keeps idle cpus from staying idle.\n\nTime has run out to find the root cause for this release so\ndisable the feature for v3.0 until we can figure out what\ncauses the problem.\n\nReported-by: \"Alex, Shi\" \u003calex.shi@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Nikhil Rao \u003cncrao@google.com\u003e\nCc: Ming Lei \u003ctom.leiming@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/n/tip-m4onxn0sxnyn5iz9o88eskc3@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1ecc818c51b1f6886825dae3885792d5e49ec798",
      "tree": "2179ae53fa86ea6a42d01ff4efc1a3f6a32e76f2",
      "parents": [
        "1c09ab0d257317f97e8629a3d0c8713d6dd9de4c",
        "d902db1eb60387040fe541573083e47469db50ac"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 13:20:51 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 13:20:51 2011 +0200"
      },
      "message": "Merge branch \u0027sched/core-v2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into sched/core\n"
    },
    {
      "commit": "087806b1281563e4ae7a5bce3155f894af5f4118",
      "tree": "01547cd793de4e06f633293efa530a13ff2724a6",
      "parents": [
        "d4f7c511c1c2a67eb287987cf1ce9554149030e6"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jun 22 23:10:26 2011 +0200"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Jun 27 20:30:10 2011 +0200"
      },
      "message": "redefine thread_group_leader() as exit_signal \u003e\u003d 0\n\nChange de_thread() to set old_leader-\u003eexit_signal \u003d -1. This is\ngood for the consistency, it is no longer the leader and all\nsub-threads have exit_signal \u003d -1 set by copy_process(CLONE_THREAD).\n\nAnd this allows us to micro-optimize thread_group_leader(), it can\nsimply check exit_signal \u003e\u003d 0. This also makes sense because we\nshould move -\u003egroup_leader from task_struct to signal_struct.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nReviewed-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "e550f14dc6322e794d4e70825f63c9c99177ae8b",
      "tree": "64f918a0d70f82842211a3c0d54ca658877b5b5d",
      "parents": [
        "0976a03e5ce8ec346e985f21046d7a75bb7fdffd"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jun 22 23:09:54 2011 +0200"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Jun 27 20:30:09 2011 +0200"
      },
      "message": "kill task_detached()\n\nUpadate the last user of task_detached(), wait_task_zombie(), to\nuse thread_group_leader() and kill task_detached().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nReviewed-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "8677347378044ab564470bced2275520efb3670d",
      "tree": "61baa72f24bb12eadd6956fb0abeb7eabda46b88",
      "parents": [
        "9843a1e977977986d0a4c1000f2229b032572534"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jun 22 23:09:09 2011 +0200"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Jun 27 20:30:09 2011 +0200"
      },
      "message": "make do_notify_parent() __must_check, update the callers\n\nChange other callers of do_notify_parent() to check the value it\nreturns, this makes the subsequent task_detached() unnecessary.\nMark do_notify_parent() as __must_check.\n\nUse thread_group_leader() instead of !task_detached() to check\nif we need to notify the real parent in wait_task_zombie().\n\nRemove the stale comment in release_task(). \"just for sanity\" is\nno longer true, we have to set EXIT_DEAD to avoid the races with\ndo_wait().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "53c8f9f199b239668e6b1a907735ee323a0d1ccd",
      "tree": "785afb9c72a2df27cd6802cf311df18711c59b76",
      "parents": [
        "06d984737bac0545fe20bb5447ee488b95adb531"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jun 22 23:08:18 2011 +0200"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Jun 27 20:30:08 2011 +0200"
      },
      "message": "make do_notify_parent() return bool\n\n- change do_notify_parent() to return a boolean, true if the task should\n  be reaped because its parent ignores SIGCHLD.\n\n- update the only caller which checks the returned value, exit_notify().\n\nThis temporary uglifies exit_notify() even more, will be cleanuped by\nthe next change.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "544b2c91a9f14f9565af1972203438b7f49afd48",
      "tree": "38615eeed1e50580a2341b5a9d15c98793d33c2d",
      "parents": [
        "fb1d910c178ba0c5bc32d3e5a9e82e05b7aad3cd"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jun 14 11:20:18 2011 +0200"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Thu Jun 16 21:41:54 2011 +0200"
      },
      "message": "ptrace: implement PTRACE_LISTEN\n\nThe previous patch implemented async notification for ptrace but it\nonly worked while trace is running.  This patch introduces\nPTRACE_LISTEN which is suggested by Oleg Nestrov.\n\nIt\u0027s allowed iff tracee is in STOP trap and puts tracee into\nquasi-running state - tracee never really runs but wait(2) and\nptrace(2) consider it to be running.  While ptracer is listening,\ntracee is allowed to re-enter STOP to notify an async event.\nListening state is cleared on the first notification.  Ptracer can\nalso clear it by issuing INTERRUPT - tracee will re-trap into STOP\nwith listening state cleared.\n\nThis allows ptracer to monitor group stop state without running tracee\n- use INTERRUPT to put tracee into STOP trap, issue LISTEN and then\nwait(2) to wait for the next group stop event.  When it happens,\nPTRACE_GETSIGINFO provides information to determine the current state.\n\nTest program follows.\n\n  #define PTRACE_SEIZE\t\t0x4206\n  #define PTRACE_INTERRUPT\t0x4207\n  #define PTRACE_LISTEN\t\t0x4208\n\n  #define PTRACE_SEIZE_DEVEL\t0x80000000\n\n  static const struct timespec ts1s \u003d { .tv_sec \u003d 1 };\n\n  int main(int argc, char **argv)\n  {\n\t  pid_t tracee, tracer;\n\t  int i;\n\n\t  tracee \u003d fork();\n\t  if (!tracee)\n\t\t  while (1)\n\t\t\t  pause();\n\n\t  tracer \u003d fork();\n\t  if (!tracer) {\n\t\t  siginfo_t si;\n\n\t\t  ptrace(PTRACE_SEIZE, tracee, NULL,\n\t\t\t (void *)(unsigned long)PTRACE_SEIZE_DEVEL);\n\t\t  ptrace(PTRACE_INTERRUPT, tracee, NULL, NULL);\n\t  repeat:\n\t\t  waitid(P_PID, tracee, NULL, WSTOPPED);\n\n\t\t  ptrace(PTRACE_GETSIGINFO, tracee, NULL, \u0026si);\n\t\t  if (!si.si_code) {\n\t\t\t  printf(\"tracer: SIG %d\\n\", si.si_signo);\n\t\t\t  ptrace(PTRACE_CONT, tracee, NULL,\n\t\t\t\t (void *)(unsigned long)si.si_signo);\n\t\t\t  goto repeat;\n\t\t  }\n\t\t  printf(\"tracer: stopped\u003d%d signo\u003d%d\\n\",\n\t\t\t si.si_signo !\u003d SIGTRAP, si.si_signo);\n\t\t  if (si.si_signo !\u003d SIGTRAP)\n\t\t\t  ptrace(PTRACE_LISTEN, tracee, NULL, NULL);\n\t\t  else\n\t\t\t  ptrace(PTRACE_CONT, tracee, NULL, NULL);\n\t\t  goto repeat;\n\t  }\n\n\t  for (i \u003d 0; i \u003c 3; i++) {\n\t\t  nanosleep(\u0026ts1s, NULL);\n\t\t  printf(\"mother: SIGSTOP\\n\");\n\t\t  kill(tracee, SIGSTOP);\n\t\t  nanosleep(\u0026ts1s, NULL);\n\t\t  printf(\"mother: SIGCONT\\n\");\n\t\t  kill(tracee, SIGCONT);\n\t  }\n\t  nanosleep(\u0026ts1s, NULL);\n\n\t  kill(tracer, SIGKILL);\n\t  kill(tracee, SIGKILL);\n\t  return 0;\n  }\n\nThis is identical to the program to test TRAP_NOTIFY except that\ntracee is PTRACE_LISTEN\u0027d instead of PTRACE_CONT\u0027d when group stopped.\nThis allows ptracer to monitor when group stop ends without running\ntracee.\n\n  # ./test-listen\n  tracer: stopped\u003d0 signo\u003d5\n  mother: SIGSTOP\n  tracer: SIG 19\n  tracer: stopped\u003d1 signo\u003d19\n  mother: SIGCONT\n  tracer: stopped\u003d0 signo\u003d5\n  tracer: SIG 18\n  mother: SIGSTOP\n  tracer: SIG 19\n  tracer: stopped\u003d1 signo\u003d19\n  mother: SIGCONT\n  tracer: stopped\u003d0 signo\u003d5\n  tracer: SIG 18\n  mother: SIGSTOP\n  tracer: SIG 19\n  tracer: stopped\u003d1 signo\u003d19\n  mother: SIGCONT\n  tracer: stopped\u003d0 signo\u003d5\n  tracer: SIG 18\n\n-v2: Moved JOBCTL_LISTENING check in wait_task_stopped() into\n     task_stopped_code() as suggested by Oleg.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\n"
    },
    {
      "commit": "fb1d910c178ba0c5bc32d3e5a9e82e05b7aad3cd",
      "tree": "dd889f33758a914cb538583073000bc21aeb1759",
      "parents": [
        "fca26f260c528ee51a2e451b5b200aeb528f3e09"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jun 14 11:20:17 2011 +0200"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Thu Jun 16 21:41:53 2011 +0200"
      },
      "message": "ptrace: implement TRAP_NOTIFY and use it for group stop events\n\nCurrently there\u0027s no way for ptracer to find out whether group stop\nfinished other than polling with INTERRUPT - GETSIGINFO - CONT\nsequence.  This patch implements group stop notification for ptracer\nusing STOP traps.\n\nWhen group stop state of a seized tracee changes, JOBCTL_TRAP_NOTIFY\nis set, which schedules a STOP trap which is sticky - it isn\u0027t cleared\nby other traps and at least one STOP trap will happen eventually.\nSTOP trap is synchronization point for event notification and the\ntracer can determine the current group stop state by looking at the\nsignal number portion of exit code (si_status from waitid(2) or\nsi_code from PTRACE_GETSIGINFO).\n\nNotifications are generated both on start and end of group stops but,\nbecause group stop participation always happens before STOP trap, this\ndoesn\u0027t cause an extra trap while tracee is participating in group\nstop.  The symmetry will be useful later.\n\nNote that this notification works iff tracee is not trapped.\nCurrently there is no way to be notified of group stop state changes\nwhile tracee is trapped.  This will be addressed by a later patch.\n\nAn example program follows.\n\n  #define PTRACE_SEIZE\t\t0x4206\n  #define PTRACE_INTERRUPT\t0x4207\n\n  #define PTRACE_SEIZE_DEVEL\t0x80000000\n\n  static const struct timespec ts1s \u003d { .tv_sec \u003d 1 };\n\n  int main(int argc, char **argv)\n  {\n\t  pid_t tracee, tracer;\n\t  int i;\n\n\t  tracee \u003d fork();\n\t  if (!tracee)\n\t\t  while (1)\n\t\t\t  pause();\n\n\t  tracer \u003d fork();\n\t  if (!tracer) {\n\t\t  siginfo_t si;\n\n\t\t  ptrace(PTRACE_SEIZE, tracee, NULL,\n\t\t\t (void *)(unsigned long)PTRACE_SEIZE_DEVEL);\n\t\t  ptrace(PTRACE_INTERRUPT, tracee, NULL, NULL);\n\t  repeat:\n\t\t  waitid(P_PID, tracee, NULL, WSTOPPED);\n\n\t\t  ptrace(PTRACE_GETSIGINFO, tracee, NULL, \u0026si);\n\t\t  if (!si.si_code) {\n\t\t\t  printf(\"tracer: SIG %d\\n\", si.si_signo);\n\t\t\t  ptrace(PTRACE_CONT, tracee, NULL,\n\t\t\t\t (void *)(unsigned long)si.si_signo);\n\t\t\t  goto repeat;\n\t\t  }\n\t\t  printf(\"tracer: stopped\u003d%d signo\u003d%d\\n\",\n\t\t\t si.si_signo !\u003d SIGTRAP, si.si_signo);\n\t\t  ptrace(PTRACE_CONT, tracee, NULL, NULL);\n\t\t  goto repeat;\n\t  }\n\n\t  for (i \u003d 0; i \u003c 3; i++) {\n\t\t  nanosleep(\u0026ts1s, NULL);\n\t\t  printf(\"mother: SIGSTOP\\n\");\n\t\t  kill(tracee, SIGSTOP);\n\t\t  nanosleep(\u0026ts1s, NULL);\n\t\t  printf(\"mother: SIGCONT\\n\");\n\t\t  kill(tracee, SIGCONT);\n\t  }\n\t  nanosleep(\u0026ts1s, NULL);\n\n\t  kill(tracer, SIGKILL);\n\t  kill(tracee, SIGKILL);\n\t  return 0;\n  }\n\nIn the above program, tracer keeps tracee running and gets\nnotification of each group stop state changes.\n\n  # ./test-notify\n  tracer: stopped\u003d0 signo\u003d5\n  mother: SIGSTOP\n  tracer: SIG 19\n  tracer: stopped\u003d1 signo\u003d19\n  mother: SIGCONT\n  tracer: stopped\u003d0 signo\u003d5\n  tracer: SIG 18\n  mother: SIGSTOP\n  tracer: SIG 19\n  tracer: stopped\u003d1 signo\u003d19\n  mother: SIGCONT\n  tracer: stopped\u003d0 signo\u003d5\n  tracer: SIG 18\n  mother: SIGSTOP\n  tracer: SIG 19\n  tracer: stopped\u003d1 signo\u003d19\n  mother: SIGCONT\n  tracer: stopped\u003d0 signo\u003d5\n  tracer: SIG 18\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\n"
    },
    {
      "commit": "73ddff2bee159ffb580bd24faf625cd5e628f5ec",
      "tree": "218cf5101b67c98ef99814e59706976d3ad245c2",
      "parents": [
        "dd1d6772692316fe35094085c5e4d9a370ad3462"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jun 14 11:20:14 2011 +0200"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Thu Jun 16 21:41:52 2011 +0200"
      },
      "message": "job control: introduce JOBCTL_TRAP_STOP and use it for group stop trap\n\ndo_signal_stop() implemented both normal group stop and trap for group\nstop while ptraced.  This approach has been enough but scheduled\nchanges require trap mechanism which can be used in more generic\nmanner and using group stop trap for generic trap site simplifies both\nuserland visible interface and implementation.\n\nThis patch adds a new jobctl flag - JOBCTL_TRAP_STOP.  When set, it\ntriggers a trap site, which behaves like group stop trap, in\nget_signal_to_deliver() after checking for pending signals.  While\nptraced, do_signal_stop() doesn\u0027t stop itself.  It initiates group\nstop if requested and schedules JOBCTL_TRAP_STOP and returns.  The\ncaller - get_signal_to_deliver() - is responsible for checking whether\nTRAP_STOP is pending afterwards and handling it.\n\nptrace_attach() is updated to use JOBCTL_TRAP_STOP instead of\nJOBCTL_STOP_PENDING and __ptrace_unlink() to clear all pending trap\nbits and TRAPPING so that TRAP_STOP and future trap bits don\u0027t linger\nafter detach.\n\nWhile at it, add proper function comment to do_signal_stop() and make\nit return bool.\n\n-v2: __ptrace_unlink() updated to clear JOBCTL_TRAP_MASK and TRAPPING\n     instead of JOBCTL_PENDING_MASK.  This avoids accidentally\n     clearing JOBCTL_STOP_CONSUME.  Spotted by Oleg.\n\n-v3: do_signal_stop() updated to return %false without dropping\n     siglock while ptraced and TRAP_STOP check moved inside for(;;)\n     loop after group stop participation.  This avoids unnecessary\n     relocking and also will help avoiding unnecessary traps by\n     consuming group stop before handling pending traps.\n\n-v4: Jobctl trap handling moved into a separate function -\n     do_jobctl_trap().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\n"
    },
    {
      "commit": "bdd4e85dc36cdbcfc1608a5b2a17c80a9db8986a",
      "tree": "9cee98e78a5aa6a00f3b7ce805b1e39a0137b4a4",
      "parents": [
        "2da8c8bc44b572cbf623629ff736608dc7968436"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jun 08 01:13:27 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Jun 10 15:15:40 2011 +0200"
      },
      "message": "sched: Isolate preempt counting in its own config option\n\nCreate a new CONFIG_PREEMPT_COUNT that handles the inc/dec\nof preempt count offset independently. So that the offset\ncan be updated by preempt_disable() and preempt_enable()\neven without the need for CONFIG_PREEMPT beeing set.\n\nThis prepares to make CONFIG_DEBUG_SPINLOCK_SLEEP working\nwith !CONFIG_PREEMPT where it currently doesn\u0027t detect\ncode that sleeps inside explicit preemption disabled\nsections.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "6715a52a581c891e9a2034abe1c81ddb482d70b3",
      "tree": "03bac8851232d11382af718c2d10559cc16e4f0f",
      "parents": [
        "ef2398019b305827ea7130ebaf7bf521b444530e",
        "6c6c54e1807faf116724451ef2bd14993780470a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 07 19:20:28 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 07 19:20:28 2011 -0700"
      },
      "message": "Merge branch \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Fix/clarify set_task_cpu() locking rules\n  lockdep: Fix lock_is_held() on recursion\n  sched: Fix schedstat.nr_wakeups_migrate\n  sched: Fix cross-cpu clock sync on remote wakeups\n"
    },
    {
      "commit": "7dd3db54e77d21eb95e145f19ba53f68250d0e73",
      "tree": "628e44b22e6fbf2828cf2c533c41b3d24f3e3ec9",
      "parents": [
        "6dfca32984237a8a011b5bf367e53341a265b2a4"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jun 02 11:14:00 2011 +0200"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Sat Jun 04 18:17:11 2011 +0200"
      },
      "message": "job control: introduce task_set_jobctl_pending()\n\ntask-\u003ejobctl currently hosts JOBCTL_STOP_PENDING and will host TRAP\npending bits too.  Setting pending conditions on a dying task may make\nthe task unkillable.  Currently, each setting site is responsible for\nchecking for the condition but with to-be-added job control traps this\nbecomes too fragile.\n\nThis patch adds task_set_jobctl_pending() which should be used when\nsetting task-\u003ejobctl bits to schedule a stop or trap.  The function\nperforms the followings to ease setting pending bits.\n\n* Sanity checks.\n\n* If fatal signal is pending or PF_EXITING is set, no bit is set.\n\n* STOP_SIGMASK is automatically cleared if new value is being set.\n\ndo_signal_stop() and ptrace_attach() are updated to use\ntask_set_jobctl_pending() instead of setting STOP_PENDING explicitly.\nThe surrounding structures around setting are changed to fit\ntask_set_jobctl_pending() better but there should be no userland\nvisible behavior difference.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\n"
    },
    {
      "commit": "3759a0d94c18764247b66511d1038f2b93aa95de",
      "tree": "ec56295fc1bd252bcbe1cb8552102deeef03bbb7",
      "parents": [
        "81be24b8cdeb69e62f9d1b6b425fd9ffdd37f581"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jun 02 11:14:00 2011 +0200"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Sat Jun 04 18:17:10 2011 +0200"
      },
      "message": "job control: introduce JOBCTL_PENDING_MASK and task_clear_jobctl_pending()\n\nThis patch introduces JOBCTL_PENDING_MASK and replaces\ntask_clear_jobctl_stop_pending() with task_clear_jobctl_pending()\nwhich takes an extra @mask argument.\n\nJOBCTL_PENDING_MASK is currently equal to JOBCTL_STOP_PENDING but\nfuture patches will add more bits.  recalc_sigpending_tsk() is updated\nto use JOBCTL_PENDING_MASK instead.\n\ntask_clear_jobctl_pending() takes @mask which in subset of\nJOBCTL_PENDING_MASK and clears the relevant jobctl bits.  If\nJOBCTL_STOP_PENDING is set, other STOP bits are cleared together.  All\ntask_clear_jobctl_stop_pending() users are updated to call\ntask_clear_jobctl_pending() with JOBCTL_STOP_PENDING which is\nfunctionally identical to task_clear_jobctl_stop_pending().\n\nThis patch doesn\u0027t cause any functional change.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\n"
    },
    {
      "commit": "a8f072c1d624a627b67f2ace2f0c25d856ef4e54",
      "tree": "9ba3e96aa874b08c7156a3584f27187bcdbdd9cd",
      "parents": [
        "0b1007c3578569469a6fab6ae5cca918ccdc3ee1"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jun 02 11:13:59 2011 +0200"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Sat Jun 04 18:17:09 2011 +0200"
      },
      "message": "job control: rename signal-\u003egroup_stop and flags to jobctl and update them\n\nsignal-\u003egroup_stop currently hosts mostly group stop related flags;\nhowever, it\u0027s gonna be used for wider purposes and the GROUP_STOP_\nflag prefix becomes confusing.  Rename signal-\u003egroup_stop to\nsignal-\u003ejobctl and rename all GROUP_STOP_* flags to JOBCTL_*.\n\nBit position macros JOBCTL_*_BIT are defined and JOBCTL_* flags are\ndefined in terms of them to allow using bitops later.\n\nWhile at it, reassign JOBCTL_TRAPPING to bit 22 to better accomodate\nfuture additions.\n\nThis doesn\u0027t cause any functional change.\n\n-v2: JOBCTL_*_BIT macros added as suggested by Linus.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\n"
    },
    {
      "commit": "f339b9dc1f03591761d5d930800db24bc0eda1e1",
      "tree": "901c78b6e8ccaf9e74515d176084c75389bc2832",
      "parents": [
        "f01114cb59d670e9b4f2c335930dd57db96e9360"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 31 10:49:20 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 31 14:19:57 2011 +0200"
      },
      "message": "sched: Fix schedstat.nr_wakeups_migrate\n\nWhile looking over the code I found that with the ttwu rework the\nnr_wakeups_migrate test broke since we now switch cpus prior to\ncalling ttwu_stat(), hence the test is always true.\n\nCure this by passing the migration state in wake_flags. Also move the\nwhole test under CONFIG_SMP, its hard to migrate tasks on UP :-)\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-pwwxl7gdqs5676f1d4cx6pj7@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6345d24daf0c1fffe6642081d783cdf653ebaa5c",
      "tree": "415a253621279111bd481d48cbb86174c70b952a",
      "parents": [
        "cab0d85c8dfcad4d799f9c294571440c6f1db091"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:32:28 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:32:28 2011 -0700"
      },
      "message": "mm: Fix boot crash in mm_alloc()\n\nThomas Gleixner reports that we now have a boot crash triggered by\nCONFIG_CPUMASK_OFFSTACK\u003dy:\n\n    BUG: unable to handle kernel NULL pointer dereference at   (null)\n    IP: [\u003cc11ae035\u003e] find_next_bit+0x55/0xb0\n    Call Trace:\n     [\u003cc11addda\u003e] cpumask_any_but+0x2a/0x70\n     [\u003cc102396b\u003e] flush_tlb_mm+0x2b/0x80\n     [\u003cc1022705\u003e] pud_populate+0x35/0x50\n     [\u003cc10227ba\u003e] pgd_alloc+0x9a/0xf0\n     [\u003cc103a3fc\u003e] mm_init+0xec/0x120\n     [\u003cc103a7a3\u003e] mm_alloc+0x53/0xd0\n\nwhich was introduced by commit de03c72cfce5 (\"mm: convert\nmm-\u003ecpu_vm_cpumask into cpumask_var_t\"), and is due to wrong ordering of\nmm_init() vs mm_init_cpumask\n\nThomas wrote a patch to just fix the ordering of initialization, but I\nhate the new double allocation in the fork path, so I ended up instead\ndoing some more radical surgery to clean it all up.\n\nReported-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "08a8b79600101fd6e13dcf05409b330e7f5b0478",
      "tree": "461cf4061eb33d96966c5c348029bc3b5cb523bf",
      "parents": [
        "1ba4b8cb94e59b17fd0142a509eb583695c36db6",
        "1e1b6c511d1b23cb7c3b619d82fc7bd9f620565d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 28 12:56:46 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 28 12:56:46 2011 -0700"
      },
      "message": "Merge branch \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  cpuset: Fix cpuset_cpus_allowed_fallback(), don\u0027t update tsk-\u003ert.nr_cpus_allowed\n  sched: Fix -\u003emin_vruntime calculation in dequeue_entity()\n  sched: Fix ttwu() for __ARCH_WANT_INTERRUPTS_ON_CTXSW\n  sched: More sched_domain iterations fixes\n"
    },
    {
      "commit": "c4a227d89f758e582fd167bb15245f2704de99ef",
      "tree": "f5b6e0091e6543c14d1cd7cf1f93e097a96bbd64",
      "parents": [
        "87367a0b71a5188e34a913c05673b5078f71a64d",
        "f506b3dc0ec454a16d40cab9ee5d75435b39dc50"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 28 12:55:55 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 28 12:55:55 2011 -0700"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (25 commits)\n  perf: Fix SIGIO handling\n  perf top: Don\u0027t stop if no kernel symtab is found\n  perf top: Handle kptr_restrict\n  perf top: Remove unused macro\n  perf events: initialize fd array to -1 instead of 0\n  perf tools: Make sure kptr_restrict warnings fit 80 col terms\n  perf tools: Fix build on older systems\n  perf symbols: Handle /proc/sys/kernel/kptr_restrict\n  perf: Remove duplicate headers\n  ftrace: Add internal recursive checks\n  tracing: Update btrfs\u0027s tracepoints to use u64 interface\n  tracing: Add __print_symbolic_u64 to avoid warnings on 32bit machine\n  ftrace: Set ops-\u003eflag to enabled even on static function tracing\n  tracing: Have event with function tracer check error return\n  ftrace: Have ftrace_startup() return failure code\n  jump_label: Check entries limit in __jump_label_update\n  ftrace/recordmcount: Avoid STT_FUNC symbols as base on ARM\n  scripts/tags.sh: Add magic for trace-events for etags too\n  scripts/tags.sh: Fix ctags for DEFINE_EVENT()\n  x86/ftrace: Fix compiler warning in ftrace.c\n  ...\n"
    },
    {
      "commit": "1e1b6c511d1b23cb7c3b619d82fc7bd9f620565d",
      "tree": "c50e88412c8b42264177dc125f74a30f9c7a82d9",
      "parents": [
        "1e876231785d82443a5ac8b6c660e9f51bc5dede"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Thu May 19 15:08:58 2011 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 28 17:02:57 2011 +0200"
      },
      "message": "cpuset: Fix cpuset_cpus_allowed_fallback(), don\u0027t update tsk-\u003ert.nr_cpus_allowed\n\nThe rule is, we have to update tsk-\u003ert.nr_cpus_allowed if we change\ntsk-\u003ecpus_allowed. Otherwise RT scheduler may confuse.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/4DD4B3FA.5060901@jp.fujitsu.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d6a72fe465f4c54654a1d5488daeb820b4ecf275",
      "tree": "1b581d3b3452b47ba35e1ee3c96d05c030ed9726",
      "parents": [
        "b1d2dc3c06d8da7d58fb43d7123a91c1d6a4f576",
        "b1cff0ad1062621ae63cb6c5dc4165191fe2e9f1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 27 14:28:09 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 27 14:28:09 2011 +0200"
      },
      "message": "Merge branch \u0027tip/perf/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/urgent\n"
    },
    {
      "commit": "4714d1d32d97239fb5ae3e10521d3f133a899b66",
      "tree": "fb50707cefc386bf4e87cac9661a38dcfe3192df",
      "parents": [
        "dcb3a08e69629ea65a3e9647da730bfaf670497d"
      ],
      "author": {
        "name": "Ben Blum",
        "email": "bblum@andrew.cmu.edu",
        "time": "Thu May 26 16:25:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:34 2011 -0700"
      },
      "message": "cgroups: read-write lock CLONE_THREAD forking per threadgroup\n\nAdds functionality to read/write lock CLONE_THREAD fork()ing per-threadgroup\n\nAdd an rwsem that lives in a threadgroup\u0027s signal_struct that\u0027s taken for\nreading in the fork path, under CONFIG_CGROUPS.  If another part of the\nkernel later wants to use such a locking mechanism, the CONFIG_CGROUPS\nifdefs should be changed to a higher-up flag that CGROUPS and the other\nsystem would both depend on.\n\nThis is a pre-patch for cgroup-procs-write.patch.\n\nSigned-off-by: Ben Blum \u003cbblum@andrew.cmu.edu\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nReviewed-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b1cff0ad1062621ae63cb6c5dc4165191fe2e9f1",
      "tree": "81c35a8fe57b1a139416aac637b0fc198f67199d",
      "parents": [
        "7f34b746f79c1e1f8fd6d09799d133263ae7a504"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 25 14:27:43 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 25 22:13:49 2011 -0400"
      },
      "message": "ftrace: Add internal recursive checks\n\nWitold reported a reboot caused by the selftests of the dynamic function\ntracer. He sent me a config and I used ktest to do a config_bisect on it\n(as my config did not cause the crash). It pointed out that the problem\nconfig was CONFIG_PROVE_RCU.\n\nWhat happened was that if multiple callbacks are attached to the\nfunction tracer, we iterate a list of callbacks. Because the list is\nmanaged by synchronize_sched() and preempt_disable, the access to the\npointers uses rcu_dereference_raw().\n\nWhen PROVE_RCU is enabled, the rcu_dereference_raw() calls some\ndebugging functions, which happen to be traced. The tracing of the debug\nfunction would then call rcu_dereference_raw() which would then call the\ndebug function and then... well you get the idea.\n\nI first wrote two different patches to solve this bug.\n\n1) add a __rcu_dereference_raw() that would not do any checks.\n2) add notrace to the offending debug functions.\n\nBoth of these patches worked.\n\nTalking with Paul McKenney on IRC, he suggested to add recursion\ndetection instead. This seemed to be a better solution, so I decided to\nimplement it. As the task_struct already has a trace_recursion to detect\nrecursion in the ring buffer, and that has a very small number it\nallows, I decided to use that same variable to add flags that can detect\nthe recursion inside the infrastructure of the function tracer.\n\nI plan to change it so that the task struct bit can be checked in\nmcount, but as that requires changes to all archs, I will hold that off\nto the next merge window.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nLink: http://lkml.kernel.org/r/1306348063.1465.116.camel@gandalf.stny.rr.com\nReported-by: Witold Baryluk \u003cbaryluk@smp.if.uj.edu.pl\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "de03c72cfce5b263a674d04348b58475ec50163c",
      "tree": "e2b035234440bcd1aa88078c3f9c8457d461ef9c",
      "parents": [
        "692e0b35427a088bf75d9363788c61c7edbe93a5"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue May 24 17:12:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:21 2011 -0700"
      },
      "message": "mm: convert mm-\u003ecpu_vm_cpumask into cpumask_var_t\n\ncpumask_t is very big struct and cpu_vm_mask is placed wrong position.\nIt might lead to reduce cache hit ratio.\n\nThis patch has two change.\n1) Move the place of cpumask into last of mm_struct. Because usually cpumask\n   is accessed only front bits when the system has cpu-hotplug capability\n2) Convert cpu_vm_mask into cpumask_var_t. It may help to reduce memory\n   footprint if cpumask_size() will use nr_cpumask_bits properly in future.\n\nIn addition, this patch change the name of cpu_vm_mask with cpu_vm_mask_var.\nIt may help to detect out of tree cpu_vm_mask users.\n\nThis patch has no functional change.\n\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Koichi Yasutake \u003cyasutake.koichi@jp.panasonic.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "72788c385604523422592249c19cba0187021e9b",
      "tree": "3552a4b6ae4adb77e723d8a8d1d2669bfb04a8bb",
      "parents": [
        "c6a140bf164829769499b5e50d380893da39b29e"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Tue May 24 17:11:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:10 2011 -0700"
      },
      "message": "oom: replace PF_OOM_ORIGIN with toggling oom_score_adj\n\nThere\u0027s a kernel-wide shortage of per-process flags, so it\u0027s always\nhelpful to trim one when possible without incurring a significant penalty.\n It\u0027s even more important when you\u0027re planning on adding a per- process\nflag yourself, which I plan to do shortly for transparent hugepages.\n\nPF_OOM_ORIGIN is used by ksm and swapoff to prefer current since it has a\ntendency to allocate large amounts of memory and should be preferred for\nkilling over other tasks.  We\u0027d rather immediately kill the task making\nthe errant syscall rather than penalizing an innocent task.\n\nThis patch removes PF_OOM_ORIGIN since its behavior is equivalent to\nsetting the process\u0027s oom_score_adj to OOM_SCORE_ADJ_MAX.\n\nThe process\u0027s old oom_score_adj is stored and then set to\nOOM_SCORE_ADJ_MAX during the time it used to have PF_OOM_ORIGIN.  The old\nvalue is then reinstated when the process should no longer be considered a\nhigh priority for oom killing.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Izik Eidus \u003cieidus@redhat.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "15a3d11b0f2ebdfb3591e411e268aa81998d4723",
      "tree": "56e1d7715653871f015341c7edabd08045f5fc28",
      "parents": [
        "1f3a8e093f470ef193b0ca6011d90180331c8b53",
        "c8b281161dfa4bb5d5be63fb036ce19347b88c63"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 12:53:48 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 12:53:48 2011 -0700"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Increase SCHED_LOAD_SCALE resolution\n  sched: Introduce SCHED_POWER_SCALE to scale cpu_power calculations\n  sched: Cleanup set_load_weight()\n"
    },
    {
      "commit": "19504828b4bee5e471bcd35e214bc6fd0d380692",
      "tree": "30d4ffb6783daf9fadd47548c035646d3f0f073e",
      "parents": [
        "57d19e80f459dd845fb3cfeba8e6df8471bac142",
        "3cb6d1540880e767d911b79eb49578de2190f428"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 09:25:52 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 09:25:52 2011 -0700"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf tools: Fix sample size bit operations\n  perf tools: Fix ommitted mmap data update on remap\n  watchdog: Change the default timeout and configure nmi watchdog period based on watchdog_thresh\n  watchdog: Disable watchdog when thresh is zero\n  watchdog: Only disable/enable watchdog if neccessary\n  watchdog: Fix rounding bug in get_sample_period()\n  perf tools: Propagate event parse error handling\n  perf tools: Robustify dynamic sample content fetch\n  perf tools: Pre-check sample size before parsing\n  perf tools: Move evlist sample helpers to evlist area\n  perf tools: Remove junk code in mmap size handling\n  perf tools: Check we are able to read the event size on mmap\n"
    },
    {
      "commit": "586692a5a5fc5740c8a46abc0f2365495c2d7c5f",
      "tree": "bc08228e67a968d83691c9efc5ea1feda9e6f98b",
      "parents": [
        "e04ab2bc41b35c0cb6cdb07c8443f91aa738cf78"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "msb@chromium.org",
        "time": "Sun May 22 22:10:22 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 23 11:58:59 2011 +0200"
      },
      "message": "watchdog: Disable watchdog when thresh is zero\n\nThis restores the previous behavior of softlock_thresh.\n\nCurrently, setting watchdog_thresh to zero causes the watchdog\nkthreads to consume a lot of CPU.\n\nIn addition, the logic of proc_dowatchdog_thresh and\nproc_dowatchdog_enabled has been factored into proc_dowatchdog.\n\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nCc: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/r/1306127423-3347-3-git-send-email-msb@chromium.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nLKML-Reference: \u003c20110517071018.GE22305@elte.hu\u003e\n"
    },
    {
      "commit": "3ed4c0583daa34dedb568b26ff99e5a7b58db612",
      "tree": "a531d4cc94acaa58fe0600cf83da9fb8b77f6e50",
      "parents": [
        "ad9471752ebae25daa133b4e5d9299809c35e155",
        "bd715d9a4f13f87bad5526c2cd41370949473b16"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 13:33:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 13:33:21 2011 -0700"
      },
      "message": "Merge branch \u0027ptrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/oleg/misc\n\n* \u0027ptrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/oleg/misc: (41 commits)\n  signal: trivial, fix the \"timespec declared inside parameter list\" warning\n  job control: reorganize wait_task_stopped()\n  ptrace: fix signal-\u003ewait_chldexit usage in task_clear_group_stop_trapping()\n  signal: sys_sigprocmask() needs retarget_shared_pending()\n  signal: cleanup sys_sigprocmask()\n  signal: rename signandsets() to sigandnsets()\n  signal: do_sigtimedwait() needs retarget_shared_pending()\n  signal: introduce do_sigtimedwait() to factor out compat/native code\n  signal: sys_rt_sigtimedwait: simplify the timeout logic\n  signal: cleanup sys_rt_sigprocmask()\n  x86: signal: sys_rt_sigreturn() should use set_current_blocked()\n  x86: signal: handle_signal() should use set_current_blocked()\n  signal: sigprocmask() should do retarget_shared_pending()\n  signal: sigprocmask: narrow the scope of -\u003esiglock\n  signal: retarget_shared_pending: optimize while_each_thread() loop\n  signal: retarget_shared_pending: consider shared/unblocked signals only\n  signal: introduce retarget_shared_pending()\n  ptrace: ptrace_check_attach() should not do s/STOPPED/TRACED/\n  signal: Turn SIGNAL_STOP_DEQUEUED into GROUP_STOP_DEQUEUED\n  signal: do_signal_stop: Remove the unneeded task_clear_group_stop_pending()\n  ...\n"
    },
    {
      "commit": "c8b281161dfa4bb5d5be63fb036ce19347b88c63",
      "tree": "45a6357cd0b5d50de8608e30616cb2eea2619a1a",
      "parents": [
        "1399fa7807a1a5998bbf147e80668e9950661dfa"
      ],
      "author": {
        "name": "Nikhil Rao",
        "email": "ncrao@google.com",
        "time": "Wed May 18 14:37:48 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 20 14:16:50 2011 +0200"
      },
      "message": "sched: Increase SCHED_LOAD_SCALE resolution\n\nIntroduce SCHED_LOAD_RESOLUTION, which scales is added to\nSCHED_LOAD_SHIFT and increases the resolution of\nSCHED_LOAD_SCALE. This patch sets the value of\nSCHED_LOAD_RESOLUTION to 10, scaling up the weights for all\nsched entities by a factor of 1024. With this extra resolution,\nwe can handle deeper cgroup hiearchies and the scheduler can do\nbetter shares distribution and load load balancing on larger\nsystems (especially for low weight task groups).\n\nThis does not change the existing user interface, the scaled\nweights are only used internally. We do not modify\nprio_to_weight values or inverses, but use the original weights\nwhen calculating the inverse which is used to scale execution\ntime delta in calc_delta_mine(). This ensures we do not lose\naccuracy when accounting time to the sched entities. Thanks to\nNikunj Dadhania for fixing an bug in c_d_m() that broken fairness.\n\nBelow is some analysis of the performance costs/improvements of\nthis patch.\n\n1. Micro-arch performance costs:\n\nExperiment was to run Ingo\u0027s pipe_test_100k 200 times with the\ntask pinned to one cpu. I measured instruction, cycles and\nstalled-cycles for the runs. See:\n\n   http://thread.gmane.org/gmane.linux.kernel/1129232/focus\u003d1129389\n\nfor more info.\n\n-tip (baseline):\n\n Performance counter stats for \u0027/root/load-scale/pipe-test-100k\u0027 (200 runs):\n\n       964,991,769 instructions             #    0.82  insns per cycle\n                                            #    0.33  stalled cycles per insn\n                                            #    ( +-  0.05% )\n     1,171,186,635 cycles                   #    0.000 GHz                      ( +-  0.08% )\n       306,373,664 stalled-cycles-backend   #   26.16% backend  cycles idle     ( +-  0.28% )\n       314,933,621 stalled-cycles-frontend  #   26.89% frontend cycles idle     ( +-  0.34% )\n\n        1.122405684  seconds time elapsed  ( +-  0.05% )\n\n-tip+patches:\n\n Performance counter stats for \u0027./load-scale/pipe-test-100k\u0027 (200 runs):\n\n       963,624,821 instructions             #    0.82  insns per cycle\n                                            #    0.33  stalled cycles per insn\n                                            #    ( +-  0.04% )\n     1,175,215,649 cycles                   #    0.000 GHz                      ( +-  0.08% )\n       315,321,126 stalled-cycles-backend   #   26.83% backend  cycles idle     ( +-  0.28% )\n       316,835,873 stalled-cycles-frontend  #   26.96% frontend cycles idle     ( +-  0.29% )\n\n        1.122238659  seconds time elapsed  ( +-  0.06% )\n\nWith this patch, instructions decrease by ~0.10% and cycles\nincrease by 0.27%. This doesn\u0027t look statistically significant.\nThe number of stalled cycles in the backend increased from\n26.16% to 26.83%. This can be attributed to the shifts we do in\nc_d_m() and other places. The fraction of stalled cycles in the\nfrontend remains about the same, at 26.96% compared to 26.89% in -tip.\n\n2. Balancing low-weight task groups\n\nTest setup: run 50 tasks with random sleep/busy times (biased\naround 100ms) in a low weight container (with cpu.shares \u003d 2).\nMeasure %idle as reported by mpstat over a 10s window.\n\n-tip (baseline):\n\n06:47:48 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle    intr/s\n06:47:49 PM  all   94.32    0.00    0.06    0.00    0.00    0.00    0.00    0.00    5.62  15888.00\n06:47:50 PM  all   94.57    0.00    0.62    0.00    0.00    0.00    0.00    0.00    4.81  16180.00\n06:47:51 PM  all   94.69    0.00    0.06    0.00    0.00    0.00    0.00    0.00    5.25  15966.00\n06:47:52 PM  all   95.81    0.00    0.00    0.00    0.00    0.00    0.00    0.00    4.19  16053.00\n06:47:53 PM  all   94.88    0.06    0.00    0.00    0.00    0.00    0.00    0.00    5.06  15984.00\n06:47:54 PM  all   93.31    0.00    0.00    0.00    0.00    0.00    0.00    0.00    6.69  15806.00\n06:47:55 PM  all   94.19    0.00    0.06    0.00    0.00    0.00    0.00    0.00    5.75  15896.00\n06:47:56 PM  all   92.87    0.00    0.00    0.00    0.00    0.00    0.00    0.00    7.13  15716.00\n06:47:57 PM  all   94.88    0.00    0.00    0.00    0.00    0.00    0.00    0.00    5.12  15982.00\n06:47:58 PM  all   95.44    0.00    0.00    0.00    0.00    0.00    0.00    0.00    4.56  16075.00\nAverage:     all   94.49    0.01    0.08    0.00    0.00    0.00    0.00    0.00    5.42  15954.60\n\n-tip+patches:\n\n06:47:03 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle    intr/s\n06:47:04 PM  all  100.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  16630.00\n06:47:05 PM  all   99.69    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.31  16580.20\n06:47:06 PM  all   99.69    0.00    0.06    0.00    0.00    0.00    0.00    0.00    0.25  16596.00\n06:47:07 PM  all   99.20    0.00    0.74    0.00    0.00    0.06    0.00    0.00    0.00  17838.61\n06:47:08 PM  all  100.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  16540.00\n06:47:09 PM  all  100.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  16575.00\n06:47:10 PM  all  100.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  16614.00\n06:47:11 PM  all   99.94    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.06  16588.00\n06:47:12 PM  all   99.94    0.00    0.06    0.00    0.00    0.00    0.00    0.00    0.00  16593.00\n06:47:13 PM  all   99.94    0.00    0.06    0.00    0.00    0.00    0.00    0.00    0.00  16551.00\nAverage:     all   99.84    0.00    0.09    0.00    0.00    0.01    0.00    0.00    0.06  16711.58\n\nWe see an improvement in idle% on the system (drops from 5.42% on -tip to 0.06%\nwith the patches).\n\nWe see an improvement in idle% on the system (drops from 5.42%\non -tip to 0.06% with the patches).\n\nSigned-off-by: Nikhil Rao \u003cncrao@google.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Nikunj A. Dadhania \u003cnikunj@linux.vnet.ibm.com\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Stephan Barwolf \u003cstephan.baerwolf@tu-ilmenau.de\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/1305754668-18792-1-git-send-email-ncrao@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1399fa7807a1a5998bbf147e80668e9950661dfa",
      "tree": "dc4e1a97f50b8e7297c82f63e1ad2b15430b33d9",
      "parents": [
        "f05998d4b80632f2cc00f108da503066ef5d38d5"
      ],
      "author": {
        "name": "Nikhil Rao",
        "email": "ncrao@google.com",
        "time": "Wed May 18 10:09:39 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 20 14:16:50 2011 +0200"
      },
      "message": "sched: Introduce SCHED_POWER_SCALE to scale cpu_power calculations\n\nSCHED_LOAD_SCALE is used to increase nice resolution and to\nscale cpu_power calculations in the scheduler. This patch\nintroduces SCHED_POWER_SCALE and converts all uses of\nSCHED_LOAD_SCALE for scaling cpu_power to use SCHED_POWER_SCALE\ninstead.\n\nThis is a preparatory patch for increasing the resolution of\nSCHED_LOAD_SCALE, and there is no need to increase resolution\nfor cpu_power calculations.\n\nSigned-off-by: Nikhil Rao \u003cncrao@google.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Nikunj A. Dadhania \u003cnikunj@linux.vnet.ibm.com\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Stephan Barwolf \u003cstephan.baerwolf@tu-ilmenau.de\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLink: http://lkml.kernel.org/r/1305738580-9924-3-git-send-email-ncrao@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3e51e3edfd81bfd9853ad7de91167e4ce33d0fe7",
      "tree": "777d871949911f3e79a5b94545a7b6a55bdc2259",
      "parents": [
        "9cb5baba5e3acba0994ad899ee908799104c9965"
      ],
      "author": {
        "name": "Samir Bellabes",
        "email": "sam@synack.fr",
        "time": "Wed May 11 18:18:05 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 12 09:36:37 2011 +0200"
      },
      "message": "sched: Remove unused parameters from sched_fork() and wake_up_new_task()\n\nsched_fork() and wake_up_new_task() are defined with a parameter\n\u0027unsigned long clone_flags\u0027, which is unused.\n\nThis patch removes the parameters.\n\nSigned-off-by: Samir Bellabes \u003csam@synack.fr\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1305130685-1047-1-git-send-email-sam@synack.fr\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9cb5baba5e3acba0994ad899ee908799104c9965",
      "tree": "d5ff16000256a0bf56279926e6114b4603ede2b4",
      "parents": [
        "7142d17e8f935fa842e9f6eece2281b6d41625d6",
        "693d92a1bbc9e42681c42ed190bd42b636ca876f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 12 09:36:18 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 12 09:36:18 2011 +0200"
      },
      "message": "Merge commit \u0027v2.6.39-rc7\u0027 into sched/core\n"
    },
    {
      "commit": "bf26c018490c2fce7fe9b629083b96ce0e6ad019",
      "tree": "ff595f6268cb6fc675beb6accf6abb0701829443",
      "parents": [
        "f4929bd37208540c2c6f416e9035ff1938f2dbc6"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Apr 07 16:53:20 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Apr 25 17:28:24 2011 +0200"
      },
      "message": "ptrace: Prepare to fix racy accesses on task breakpoints\n\nWhen a task is traced and is in a stopped state, the tracer\nmay execute a ptrace request to examine the tracee state and\nget its task struct. Right after, the tracee can be killed\nand thus its breakpoints released.\nThis can happen concurrently when the tracer is in the middle\nof reading or modifying these breakpoints, leading to dereferencing\na freed pointer.\n\nHence, to prepare the fix, create a generic breakpoint reference\nholding API. When a reference on the breakpoints of a task is\nheld, the breakpoints won\u0027t be released until the last reference\nis dropped. After that, no more ptrace request on the task\u0027s\nbreakpoints can be serviced for the tracer.\n\nReported-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Will Deacon \u003cwill.deacon@arm.com\u003e\nCc: Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: v2.6.33.. \u003cstable@kernel.org\u003e\nLink: http://lkml.kernel.org/r/1302284067-7860-2-git-send-email-fweisbec@gmail.com\n"
    },
    {
      "commit": "625f2a378e5a10f45fdc37932fc9f8a21676de9e",
      "tree": "1bf966a8e65463cdcc313c559533f032657c9dcf",
      "parents": [
        "d3bf52e998056a6002b2aecfe1d25486376382ac"
      ],
      "author": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Fri Apr 22 11:19:10 2011 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Apr 24 13:18:38 2011 +0200"
      },
      "message": "sched: Get rid of lock_depth\n\nNeil Brown pointed out that lock_depth somehow escaped the BKL\nremoval work.  Let\u0027s get rid of it now.\n\nNote that the perf scripting utilities still have a bunch of\ncode for dealing with common_lock_depth in tracepoints; I have\nleft that in place in case anybody wants to use that code with\nolder kernels.\n\nSuggested-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110422111910.456c0e84@bike.lwn.net\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "42ac9e87fdd89b77fa2ca0a5226023c1c2d83226",
      "tree": "dfdb1b720347a40f24a89a3e9c2727ae26ad5f01",
      "parents": [
        "057f3fadb347e9c51b07e1b277bbdda79f976768",
        "f0e615c3cb72b42191b558c130409335812621d8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 21 11:39:21 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 21 11:39:28 2011 +0200"
      },
      "message": "Merge commit \u0027v2.6.39-rc4\u0027 into sched/core\n\nMerge reason: Pick up upstream fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6ddafdaab3f809b110ada253d2f2d4910ebd3ac5",
      "tree": "366bb7513511a05b6e11ab89bfe3b2dbd1d62a03",
      "parents": [
        "3905c54f2bd2c6f937f87307987ca072eabc3e7b",
        "bd8e7dded88a3e1c085c333f19ff31387616f71a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 18 14:53:18 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 18 14:53:33 2011 +0200"
      },
      "message": "Merge branch \u0027sched/locking\u0027 into sched/core\n\nMerge reason: the rq locking changes are stable,\n              propagate them into the .40 queue.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4471a675dfc7ca676c165079e91c712b09dc9ce4",
      "tree": "9746321a818cefbb2aa97d8ac4d44c4a6ae84f5a",
      "parents": [
        "5de1743e2434fcb24e3d944a20130029b8fe867a"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Thu Apr 14 15:22:09 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 14 16:06:55 2011 -0700"
      },
      "message": "brk: COMPAT_BRK: fix detection of randomized brk\n\n5520e89 (\"brk: fix min_brk lower bound computation for COMPAT_BRK\")\ntried to get the whole logic of brk randomization for legacy\n(libc5-based) applications finally right.\n\nIt turns out that the way to detect whether brk has actually been\nrandomized in the end or not introduced by that patch still doesn\u0027t work\nfor those binaries, as reported by Geert:\n\n: /sbin/init from my old m68k ramdisk exists prematurely.\n:\n: Before the patch:\n:\n: | brk(0x80005c8e)                         \u003d 0x80006000\n:\n: After the patch:\n:\n: | brk(0x80005c8e)                         \u003d 0x80005c8e\n:\n: Old libc5 considers brk() to have failed if the return value is not\n: identical to the requested value.\n\nI don\u0027t like it, but currently see no better option than a bit flag in\ntask_struct to catch the CONFIG_COMPAT_BRK \u0026\u0026 randomize_va_space \u003d\u003d 2\ncase.\n\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nTested-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nReported-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "317f394160e9beb97d19a84c39b7e5eb3d7815a8",
      "tree": "486f268e9ec010744c17333f0f543da9d3909ff4",
      "parents": [
        "c05fbafba1c5482bee399b360288fa405415e126"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Apr 05 17:23:58 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 14 08:52:41 2011 +0200"
      },
      "message": "sched: Move the second half of ttwu() to the remote cpu\n\nNow that we\u0027ve removed the rq-\u003elock requirement from the first part of\nttwu() and can compute placement without holding any rq-\u003elock, ensure\nwe execute the second half of ttwu() on the actual cpu we want the\ntask to run on.\n\nThis avoids having to take rq-\u003elock and doing the task enqueue\nremotely, saving lots on cacheline transfers.\n\nAs measured using: http://oss.oracle.com/~mason/sembench.c\n\n  $ for i in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor ; do echo performance \u003e $i; done\n  $ echo 4096 32000 64 128 \u003e /proc/sys/kernel/sem\n  $ ./sembench -t 2048 -w 1900 -o 0\n\n  unpatched: run time 30 seconds 647278 worker burns per second\n  patched:   run time 30 seconds 816715 worker burns per second\n\nReviewed-by: Frank Rowand \u003cfrank.rowand@am.sony.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110405152729.515897185@chello.nl\n"
    },
    {
      "commit": "a8e4f2eaecc9bfa4954adf79a04f4f22fddd829c",
      "tree": "b470d8a12be46bcc2a6be6a1c26be7028d6af1dd",
      "parents": [
        "3fe1698b7fe05aeb063564e71e40d09f28d8e80c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Apr 05 17:23:49 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 14 08:52:37 2011 +0200"
      },
      "message": "sched: Delay task_contributes_to_load()\n\nIn prepratation of having to call task_contributes_to_load() without\nholding rq-\u003elock, we need to store the result until we do and can\nupdate the rq accounting accordingly.\n\nReviewed-by: Frank Rowand \u003cfrank.rowand@am.sony.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110405152729.151523907@chello.nl\n"
    },
    {
      "commit": "74f8e4b2335de45485b8d5b31a504747f13c8070",
      "tree": "f8f8ba3e346239c44177d09620e65b18870d911f",
      "parents": [
        "7608dec2ce2004c234339bef8c8074e5e601d0e9"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Apr 05 17:23:47 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 14 08:52:36 2011 +0200"
      },
      "message": "sched: Remove rq argument to sched_class::task_waking()\n\nIn preparation of calling this without rq-\u003elock held, remove the\ndependency on the rq argument.\n\nReviewed-by: Frank Rowand \u003cfrank.rowand@am.sony.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110405152729.071474242@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7608dec2ce2004c234339bef8c8074e5e601d0e9",
      "tree": "a855754a4fa3de6fe0d287c9d94d58d7bd6e8978",
      "parents": [
        "013fdb8086acaae5f8eb96f9ad48fcd98882ac46"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Apr 05 17:23:46 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 14 08:52:36 2011 +0200"
      },
      "message": "sched: Drop the rq argument to sched_class::select_task_rq()\n\nIn preparation of calling select_task_rq() without rq-\u003elock held, drop\nthe dependency on the rq argument.\n\nReviewed-by: Frank Rowand \u003cfrank.rowand@am.sony.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110405152729.031077745@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fd2f4419b4cbe8fe90796df9617c355762afd6a4",
      "tree": "9eefa7f46c7163f00adb416ff4b9db97653d2665",
      "parents": [
        "d7c01d27ab767a30d672d1fd657aa8336ebdcbca"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Apr 05 17:23:44 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 14 08:52:35 2011 +0200"
      },
      "message": "sched: Provide p-\u003eon_rq\n\nProvide a generic p-\u003eon_rq because the p-\u003ese.on_rq semantics are\nunfavourable for lockless wakeups but needed for sched_fair.\n\nIn particular, p-\u003eon_rq is only cleared when we actually dequeue the\ntask in schedule() and not on any random dequeue as done by things\nlike __migrate_task() and __sched_setscheduler().\n\nThis also allows us to remove p-\u003ese usage from !sched_fair code.\n\nReviewed-by: Frank Rowand \u003cfrank.rowand@am.sony.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110405152728.949545047@chello.nl\n"
    },
    {
      "commit": "c6eb3dda25892f1f974f5420f63e6721aab02f6f",
      "tree": "b9be3e193dcfeda3589832be10189085cde496c5",
      "parents": [
        "3ca7a440da394808571dad32d33d3bc0389982e6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Apr 05 17:23:41 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 14 08:52:33 2011 +0200"
      },
      "message": "mutex: Use p-\u003eon_cpu for the adaptive spin\n\nSince we now have p-\u003eon_cpu unconditionally available, use it to\nre-implement mutex_spin_on_owner.\n\nRequested-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Frank Rowand \u003cfrank.rowand@am.sony.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110405152728.826338173@chello.nl\n"
    },
    {
      "commit": "3ca7a440da394808571dad32d33d3bc0389982e6",
      "tree": "ed749666030d201249f62a8dcb93224271d43241",
      "parents": [
        "184748cc50b2dceb8287f9fb657eda48ff8fcfe7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Apr 05 17:23:40 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 14 08:52:32 2011 +0200"
      },
      "message": "sched: Always provide p-\u003eon_cpu\n\nAlways provide p-\u003eon_cpu so that we can determine if its on a cpu\nwithout having to lock the rq.\n\nReviewed-by: Frank Rowand \u003cfrank.rowand@am.sony.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110405152728.785452014@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "184748cc50b2dceb8287f9fb657eda48ff8fcfe7",
      "tree": "da32494cf29e5ec9f80b17dc8590bdc450ea545a",
      "parents": [
        "a4c98f8bbeafee12c979c90743f6fda94f7515c7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Apr 05 17:23:39 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 14 08:52:32 2011 +0200"
      },
      "message": "sched: Provide scheduler_ipi() callback in response to smp_send_reschedule()\n\nFor future rework of try_to_wake_up() we\u0027d like to push part of that\nfunction onto the CPU the task is actually going to run on.\n\nIn order to do so we need a generic callback from the existing scheduler IPI.\n\nThis patch introduces such a generic callback: scheduler_ipi() and\nimplements it as a NOP.\n\nBenH notes: PowerPC might use this IPI on offline CPUs under rare conditions!\n\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nAcked-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nAcked-by: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nReviewed-by: Frank Rowand \u003cfrank.rowand@am.sony.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110405152728.744338123@chello.nl\n"
    },
    {
      "commit": "60495e7760d8ee364695006af37309b0755e0e17",
      "tree": "1c842c0797a6a6b0066b18f296661fcf77cd0d0a",
      "parents": [
        "54ab4ff4316eb329d2c1acc110fbc623d2966931"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Apr 07 14:10:04 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 11 14:09:32 2011 +0200"
      },
      "message": "sched: Dynamic sched_domain::level\n\nRemove the SD_LV_ enum and use dynamic level assignments.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110407122942.969433965@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7dd04b730749f957c116f363524fd622b05e5141",
      "tree": "cfadbf894d653a44f774ebdeb1487f049657d7d0",
      "parents": [
        "bf28b253266ebd73c331dde24d64606afde32ceb"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Apr 07 14:09:56 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 11 12:58:22 2011 +0200"
      },
      "message": "sched: Remove some dead code\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110407122942.553814623@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3859173d43658d51a749bc0201b943922577d39c",
      "tree": "39ad8fcc235cc40076bcb3e5f34b8db6e2230880",
      "parents": [
        "a6c75f2f8d988ecfecf971f98f1cb6fc4de522fe"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Apr 07 14:09:53 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 11 12:58:21 2011 +0200"
      },
      "message": "sched: Reduce some allocation pressure\n\nSince we now allocate SD_LV_MAX * nr_cpu_ids sched_domain/sched_group\nstructures when rebuilding the scheduler toplogy it might make sense\nto shrink that depending on the CONFIG_ options.\n\nThis is only needed until we get rid of SD_LV_* alltogether and\nprovide a full dynamic topology interface.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110407122942.406226449@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dce840a08702bd13a9a186e07e63d1ef82256b5e",
      "tree": "168bb98aed7f5761ebe31aa92c34959e9d0f238a",
      "parents": [
        "a9c9a9b6bff27ac9c746344a9c1a19bf3327002c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Apr 07 14:09:50 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 11 12:58:19 2011 +0200"
      },
      "message": "sched: Dynamically allocate sched_domain/sched_group data-structures\n\nInstead of relying on static allocations for the sched_domain and\nsched_group trees, dynamically allocate and RCU free them.\n\nAllocating this dynamically also allows for some build_sched_groups()\nsimplification since we can now (like with other simplifications) rely\non the sched_domain tree instead of hard-coded knowledge.\n\nOne tricky to note is that detach_destroy_domains() needs to hold\nrcu_read_lock() over the entire tear-down, per-cpu is not sufficient\nsince that can lead to partial sched_group existance (could possibly\nbe solved by doing the tear-down backwards but this is much more\nrobust).\n\nA concequence of the above is that we can no longer print the\nsched_domain debug stuff from cpu_attach_domain() since that might now\nrun with preemption disabled (due to classic RCU etc.) and\nsched_domain_debug() does some GFP_KERNEL allocations.\n\nAnother thing to note is that we now fully rely on normal RCU and not\nRCU-sched, this is because with the new and exiting RCU flavours we\ngrew over the years BH doesn\u0027t necessarily hold off RCU-sched grace\nperiods (-rt is known to break this). This would in fact already cause\nus grief since we do sched_domain/sched_group iterations from softirq\ncontext.\n\nThis patch is somewhat larger than I would like it to be, but I didn\u0027t\nfind any means of shrinking/splitting this.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110407122942.245307941@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e46bc9b6fd65bc9f406a4211fbf95683cc9c2937",
      "tree": "57046f6b2f4674a0c9048ab1ad1ff50fae7e373a",
      "parents": [
        "2b9accbee563f535046ff2cd382d0acaa92e130c",
        "321fb561971ba0f10ce18c0f8a4b9fbfc7cef4b9"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Thu Apr 07 20:44:11 2011 +0200"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Thu Apr 07 20:44:11 2011 +0200"
      },
      "message": "Merge branch \u0027ptrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc into ptrace\n"
    },
    {
      "commit": "ee77f075921730b2b465880f9fd4367003bdab39",
      "tree": "dfae10b9718b79650477f912de148c903bc1bbd0",
      "parents": [
        "780006eac2fe7f4d2582da16a096e5a44c4767ff"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Apr 01 20:12:38 2011 +0200"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Apr 04 02:11:05 2011 +0200"
      },
      "message": "signal: Turn SIGNAL_STOP_DEQUEUED into GROUP_STOP_DEQUEUED\n\nThis patch moves SIGNAL_STOP_DEQUEUED from signal_struct-\u003eflags to\ntask_struct-\u003egroup_stop, and thus makes it per-thread.\n\nLike SIGNAL_STOP_DEQUEUED, GROUP_STOP_DEQUEUED can be false-positive\nafter return from get_signal_to_deliver(), this is fine. The only\npurpose of this bit is: we can drop -\u003esiglock after __dequeue_signal()\nreturns the sig_kernel_stop() signal and before we call\ndo_signal_stop(), in this case we must not miss SIGCONT if it comes in\nbetween.\n\nBut, unlike SIGNAL_STOP_DEQUEUED, GROUP_STOP_DEQUEUED can not be\nfalse-positive in do_signal_stop() if multiple threads dequeue the\nsig_kernel_stop() signal at the same time.\n\nConsider two threads T1 and T2, SIGTTIN has a hanlder.\n\n\t- T1 dequeues SIGTSTP and sets SIGNAL_STOP_DEQUEUED, then\n\t  it drops -\u003esiglock\n\n\t- SIGCONT comes and clears SIGNAL_STOP_DEQUEUED, SIGTSTP\n\t  should be cancelled.\n\n\t- T2 dequeues SIGTTIN and sets SIGNAL_STOP_DEQUEUED again.\n\t  Since we have a handler we should not stop, T2 returns\n\t  to usermode to run the handler.\n\n\t- T1 continues, calls do_signal_stop() and wrongly starts\n\t  the group stop because SIGNAL_STOP_DEQUEUED was restored\n\t  in between.\n\nWith or without this change:\n\n\t- we need to do something with ptrace_signal() which can\n\t  return SIGSTOP, but this needs another discussion\n\n\t- SIGSTOP can be lost if it races with the mt exec, will\n\t  be fixed later.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "8dd90265ac0754da0df47d9c597f25187bb1c947",
      "tree": "76b3e83a9417ae8eaf959f9a6306c3da446763b8",
      "parents": [
        "2a20b02c055a14eb60ac8da737d79dc940bb9ee0",
        "1232d6132a986125f6a687ab9b61a4330e319270"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 25 17:59:38 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 25 17:59:38 2011 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched, doc: Update sched-design-CFS.txt\n  sched: Remove unused \u0027rq\u0027 variable and cpu_rq() call from alloc_fair_sched_group()\n  sched.h: Fix a typo (\"its\")\n  sched: Fix yield_to kernel-doc\n"
    },
    {
      "commit": "6c5103890057b1bb781b26b7aae38d33e4c517d8",
      "tree": "e6e57961dcddcb5841acb34956e70b9dc696a880",
      "parents": [
        "3dab04e6978e358ad2307bca563fabd6c5d2c58b",
        "9d2e157d970a73b3f270b631828e03eb452d525e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 24 10:16:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 24 10:16:26 2011 -0700"
      },
      "message": "Merge branch \u0027for-2.6.39/core\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.39/core\u0027 of git://git.kernel.dk/linux-2.6-block: (65 commits)\n  Documentation/iostats.txt: bit-size reference etc.\n  cfq-iosched: removing unnecessary think time checking\n  cfq-iosched: Don\u0027t clear queue stats when preempt.\n  blk-throttle: Reset group slice when limits are changed\n  blk-cgroup: Only give unaccounted_time under debug\n  cfq-iosched: Don\u0027t set active queue in preempt\n  block: fix non-atomic access to genhd inflight structures\n  block: attempt to merge with existing requests on plug flush\n  block: NULL dereference on error path in __blkdev_get()\n  cfq-iosched: Don\u0027t update group weights when on service tree\n  fs: assign sb-\u003es_bdi to default_backing_dev_info if the bdi is going away\n  block: Require subsystems to explicitly allocate bio_set integrity mempool\n  jbd2: finish conversion from WRITE_SYNC_PLUG to WRITE_SYNC and explicit plugging\n  jbd: finish conversion from WRITE_SYNC_PLUG to WRITE_SYNC and explicit plugging\n  fs: make fsync_buffers_list() plug\n  mm: make generic_writepages() use plugging\n  blk-cgroup: Add unaccounted time to timeslice_used.\n  block: fixup plugging stubs for !CONFIG_BLOCK\n  block: remove obsolete comments for blkdev_issue_zeroout.\n  blktrace: Use rq-\u003ecmd_flags directly in blk_add_trace_rq.\n  ...\n\nFix up conflicts in fs/{aio.c,super.c}\n"
    },
    {
      "commit": "7ffd4ca7a2cdd7a18f0b499a4e9e0e7cf36ba018",
      "tree": "1a2678ce91b9dfb2118d19e0ec457ca5582793f9",
      "parents": [
        "11c9ea4e80fc3be83485667204c68d0a732f3757"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Wed Mar 23 16:42:35 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:30 2011 -0700"
      },
      "message": "memcg: convert uncharge batching from bytes to page granularity\n\nWe never uncharge subpage quantities.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "e815f0a84fc9a98e5cc3ef0b520122e5e18520e7"
}
