)]}'
{
  "log": [
    {
      "commit": "077614ee1e93245a3b9a4e1213659405dbeb0ba6",
      "tree": "246e441967d7973d9e3addc6bade207db86d2575",
      "parents": [
        "e1781538cf5c870ab696e9b8f0a5c498d3900f2f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Dec 17 13:16:31 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 17 13:22:46 2009 +0100"
      },
      "message": "sched: Fix broken assertion\n\nThere\u0027s a preemption race in the set_task_cpu() debug check in\nthat when we get preempted after setting task-\u003estate we\u0027d still\nbe on the rq proper, but fail the test.\n\nCheck for preempted tasks, since those are always on the RQ.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20091217121830.137155561@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "234da7bcdc7aaa935846534c3b726dbc79a9cdd5",
      "tree": "a391afd465d6493a9f1bb274c225bab4d303aad0",
      "parents": [
        "416eb39556a03d1c7e52b0791e9052ccd71db241"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Dec 16 20:21:05 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 17 09:46:44 2009 +0100"
      },
      "message": "sched: Teach might_sleep() about preemptible RCU\n\nIn practice, it is harmless to voluntarily sleep in a\nrcu_read_lock() section if we are running under preempt rcu, but\nit is illegal if we build a kernel running non-preemptable rcu.\n\nCurrently, might_sleep() doesn\u0027t notice sleepable operations\nunder rcu_read_lock() sections if we are running under\npreemptable rcu because preempt_count() is left untouched after\nrcu_read_lock() in this case. But we want developers who test\ntheir changes under such config to notice the \"sleeping while\natomic\" issues.\n\nSo we add rcu_read_lock_nesting to prempt_count() in\nmight_sleep() checks.\n\n[ v2: Handle rcu-tiny ]\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nReviewed-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c1260991265-8451-1-git-send-regression-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "416eb39556a03d1c7e52b0791e9052ccd71db241",
      "tree": "66390e3d4f53721bc643d24d96d5da339f4c34f8",
      "parents": [
        "738d2be4301007f054541c5c4bf7fb6a361c9b3a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 17 06:05:49 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 17 06:05:49 2009 +0100"
      },
      "message": "sched: Make warning less noisy\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c20091216170517.807938893@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "738d2be4301007f054541c5c4bf7fb6a361c9b3a",
      "tree": "6d37c04fa3b35d5fe820ab2df1088ba596fefe38",
      "parents": [
        "88ec22d3edb72b261f8628226cd543589a6d5e1b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 16 18:04:42 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 16 19:01:59 2009 +0100"
      },
      "message": "sched: Simplify set_task_cpu()\n\nRearrange code a bit now that its a simpler function.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c20091216170518.269101883@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "88ec22d3edb72b261f8628226cd543589a6d5e1b",
      "tree": "ca547c82ab6adce0b9e29afb6ceddf50cd417d44",
      "parents": [
        "efbbd05a595343a413964ad85a2ad359b7b7efbd"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 16 18:04:41 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 16 19:01:58 2009 +0100"
      },
      "message": "sched: Remove the cfs_rq dependency from set_task_cpu()\n\nIn order to remove the cfs_rq dependency from set_task_cpu() we\nneed to ensure the task is cfs_rq invariant for all callsites.\n\nThe simple approach is to substract cfs_rq-\u003emin_vruntime from\nse-\u003evruntime on dequeue, and add cfs_rq-\u003emin_vruntime on\nenqueue.\n\nHowever, this has the downside of breaking FAIR_SLEEPERS since\nwe loose the old vruntime as we only maintain the relative\nposition.\n\nTo solve this, we observe that we only migrate runnable tasks,\nwe do this using deactivate_task(.sleep\u003d0) and\nactivate_task(.wakeup\u003d0), therefore we can restrain the\nmin_vruntime invariance to that state.\n\nThe only other case is wakeup balancing, since we want to\nmaintain the old vruntime we cannot make it relative on dequeue,\nbut since we don\u0027t migrate inactive tasks, we can do so right\nbefore we activate it again.\n\nThis is where we need the new pre-wakeup hook, we need to call\nthis while still holding the old rq-\u003elock. We could fold it into\n-\u003eselect_task_rq(), but since that has multiple callsites and\nwould obfuscate the locking requirements, that seems like a\nfudge.\n\nThis leaves the fork() case, simply make sure that -\u003etask_fork()\nleaves the -\u003evruntime in a relative state.\n\nThis covers all cases where set_task_cpu() gets called, and\nensures it sees a relative vruntime.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c20091216170518.191697025@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "efbbd05a595343a413964ad85a2ad359b7b7efbd",
      "tree": "c1bf0d86134187e127a00067b50b0684c2988860",
      "parents": [
        "881232b70b195768a71cd74ff4b4e8ab9502997b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 16 18:04:40 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 16 19:01:58 2009 +0100"
      },
      "message": "sched: Add pre and post wakeup hooks\n\nAs will be apparent in the next patch, we need a pre wakeup hook\nfor sched_fair task migration, hence rename the post wakeup hook\nand one pre wakeup.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c20091216170518.114746117@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "881232b70b195768a71cd74ff4b4e8ab9502997b",
      "tree": "aeafe0a28a7163af445e4f603ab1075c3608c375",
      "parents": [
        "5da9a0fb673a0ea0a093862f95f6b89b3390c31e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 16 18:04:39 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 16 19:01:57 2009 +0100"
      },
      "message": "sched: Move kthread_bind() back to kthread.c\n\nSince kthread_bind() lost its dependencies on sched.c, move it\nback where it came from.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c20091216170518.039524041@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5da9a0fb673a0ea0a093862f95f6b89b3390c31e",
      "tree": "fa4465d5ce050cdc42e63a2518ce2e1b58fa9c30",
      "parents": [
        "3802290628348674985d14914f9bfee7b9084548"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 16 18:04:38 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 16 19:01:57 2009 +0100"
      },
      "message": "sched: Fix select_task_rq() vs hotplug issues\n\nSince select_task_rq() is now responsible for guaranteeing\n-\u003ecpus_allowed and cpu_active_mask, we need to verify this.\n\nselect_task_rq_rt() can blindly return\nsmp_processor_id()/task_cpu() without checking the valid masks,\nselect_task_rq_fair() can do the same in the rare case that all\nSD_flags are disabled.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c20091216170517.961475466@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3802290628348674985d14914f9bfee7b9084548",
      "tree": "b6b513fa5651f570013f3eff86e843a9d52d1dcb",
      "parents": [
        "e2912009fb7b715728311b0d8fe327a1432b3f79"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 16 18:04:37 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 16 19:01:56 2009 +0100"
      },
      "message": "sched: Fix sched_exec() balancing\n\nSince we access -\u003ecpus_allowed without holding rq-\u003elock we need\na retry loop to validate the result, this comes for near free\nwhen we merge sched_migrate_task() into sched_exec() since that\nalready does the needed check.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c20091216170517.884743662@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e2912009fb7b715728311b0d8fe327a1432b3f79",
      "tree": "9918e2f9690d85b7d7f5550d09f0ae6cc3fa4e0f",
      "parents": [
        "06b83b5fbea273672822b6ee93e16781046553ec"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 16 18:04:36 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 16 19:01:56 2009 +0100"
      },
      "message": "sched: Ensure set_task_cpu() is never called on blocked tasks\n\nIn order to clean up the set_task_cpu() rq dependencies we need\nto ensure it is never called on blocked tasks because such usage\ndoes not pair with consistent rq-\u003elock usage.\n\nThis puts the migration burden on ttwu().\n\nFurthermore we need to close a race against changing\n-\u003ecpus_allowed, since select_task_rq() runs with only preemption\ndisabled.\n\nFor sched_fork() this is safe because the child isn\u0027t in the\ntasklist yet, for wakeup we fix this by synchronizing\nset_cpus_allowed_ptr() against TASK_WAKING, which leaves\nsched_exec to be a problem\n\nThis also closes a hole in (6ad4c1888 sched: Fix balance vs\nhotplug race) where -\u003eselect_task_rq() doesn\u0027t validate the\nresult against the sched_domain/root_domain.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c20091216170517.807938893@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "06b83b5fbea273672822b6ee93e16781046553ec",
      "tree": "cd287173f5aacdf69289fe62f397a957c9f678fe",
      "parents": [
        "e4f4288842ee12747e10c354d72be7d424c0b627"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 16 18:04:35 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 16 19:01:55 2009 +0100"
      },
      "message": "sched: Use TASK_WAKING for fork wakups\n\nFor later convenience use TASK_WAKING for fresh tasks.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c20091216170517.732561278@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e4f4288842ee12747e10c354d72be7d424c0b627",
      "tree": "e9b066cc886e4b28db60b2626b682986f34a3bda",
      "parents": [
        "e6c8fba7771563b2f3dfb96a78f36ec17e15bdf0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 16 18:04:34 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 16 19:01:55 2009 +0100"
      },
      "message": "sched: Select_task_rq_fair() must honour SD_LOAD_BALANCE\n\nWe should skip !SD_LOAD_BALANCE domains.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c20091216170517.653578430@chello.nl\u003e\nCC: stable@kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e6c8fba7771563b2f3dfb96a78f36ec17e15bdf0",
      "tree": "232d6ea7b028d3a98ea5eaa9ceffb21aff19db35",
      "parents": [
        "9ee349ad6d326df3633d43f54202427295999c47"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 16 18:04:33 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 16 19:01:54 2009 +0100"
      },
      "message": "sched: Fix task_hot() test order\n\nMake sure not to access sched_fair fields before verifying it is\nindeed a sched_fair task.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCC: stable@kernel.org\nLKML-Reference: \u003c20091216170517.577998058@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9ee349ad6d326df3633d43f54202427295999c47",
      "tree": "06f4795cb1b3f493b2421b65af0fd870875c8168",
      "parents": [
        "933b0618d8b2a59c7a0742e43836544e02f1e9bd"
      ],
      "author": {
        "name": "Xiaotian Feng",
        "email": "dfeng@redhat.com",
        "time": "Wed Dec 16 18:04:32 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 16 19:01:53 2009 +0100"
      },
      "message": "sched: Fix set_cpu_active() in cpu_down()\n\nSachin found cpu hotplug test failures on powerpc, which made\nthe kernel hang on his POWER box.\n\nThe problem is that we fail to re-activate a cpu when a\nhot-unplug fails. Fix this by moving the de-activation into\n_cpu_down after doing the initial checks.\n\nRemove the synchronize_sched() calls and rely on those implied\nby rebuilding the sched domains using the new mask.\n\nReported-by: Sachin Sant \u003csachinp@in.ibm.com\u003e\nSigned-off-by: Xiaotian Feng \u003cdfeng@redhat.com\u003e\nTested-by: Sachin Sant \u003csachinp@in.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c20091216170517.500272612@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ee1156c11a1121e118b0a7f2dec240f0d421b1fd",
      "tree": "b8771cc5a9758af9d7410fc519227c036c222130",
      "parents": [
        "b9f8fcd55bbdb037e5332dbdb7b494f0b70861ac",
        "8bea8672edfca7ec5f661cafb218f1205863b343"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 16 18:33:49 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 16 18:33:49 2009 +0100"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/urgent\n\nConflicts:\n\tkernel/sched_idletask.c\n\nMerge reason: resolve the conflicts, pick up latest changes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8f0ddf91f2aeb09602373e400cf8b403e9017210",
      "tree": "b907c35c79caadafff6ad46a91614e30afd2f967",
      "parents": [
        "050cbb09dac0402672edeaeac06094ef8ff1749a",
        "b5f91da0a6973bb6f9ff3b91b0e92c0773a458f3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 09:02:01 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 09:02:01 2009 -0800"
      },
      "message": "Merge branch \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (26 commits)\n  clockevents: Convert to raw_spinlock\n  clockevents: Make tick_device_lock static\n  debugobjects: Convert to raw_spinlocks\n  perf_event: Convert to raw_spinlock\n  hrtimers: Convert to raw_spinlocks\n  genirq: Convert irq_desc.lock to raw_spinlock\n  smp: Convert smplocks to raw_spinlocks\n  rtmutes: Convert rtmutex.lock to raw_spinlock\n  sched: Convert pi_lock to raw_spinlock\n  sched: Convert cpupri lock to raw_spinlock\n  sched: Convert rt_runtime_lock to raw_spinlock\n  sched: Convert rq-\u003elock to raw_spinlock\n  plist: Make plist debugging raw_spinlock aware\n  bkl: Fixup core_lock fallout\n  locking: Cleanup the name space completely\n  locking: Further name space cleanups\n  alpha: Fix fallout from locking changes\n  locking: Implement new raw_spinlock\n  locking: Convert raw_rwlock functions to arch_rwlock\n  locking: Convert raw_rwlock to arch_rwlock\n  ...\n"
    },
    {
      "commit": "e7d2860b690d4f3bed6824757c540579638e3d1e",
      "tree": "84268ee28893256fd6a6a7e1d4474f61dbee74e7",
      "parents": [
        "84c95c9acf088c99d8793d78036b67faa5d0b851"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Mon Dec 14 18:01:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:32 2009 -0800"
      },
      "message": "tree-wide: convert open calls to remove spaces to skip_spaces() lib function\n\nMakes use of skip_spaces() defined in lib/string.c for removing leading\nspaces from strings all over the tree.\n\nIt decreases lib.a code size by 47 bytes and reuses the function tree-wide:\n   text    data     bss     dec     hex filename\n  64688     584     592   65864   10148 (TOTALS-BEFORE)\n  64641     584     592   65817   10119 (TOTALS-AFTER)\n\nAlso, while at it, if we see (*str \u0026\u0026 isspace(*str)), we can be sure to\nremove the first condition (*str) as the second one (isspace(*str)) also\nevaluates to 0 whenever *str \u003d\u003d 0, making it redundant. In other words,\n\"a char equals zero is never a space\".\n\nJulia Lawall tried the semantic patch (http://coccinelle.lip6.fr) below,\nand found occurrences of this pattern on 3 more files:\n    drivers/leds/led-class.c\n    drivers/leds/ledtrig-timer.c\n    drivers/video/output.c\n\n@@\nexpression str;\n@@\n\n( // ignore skip_spaces cases\nwhile (*str \u0026\u0026  isspace(*str)) { \\(str++;\\|++str;\\) }\n|\n- *str \u0026\u0026\nisspace(*str)\n)\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nCc: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Samuel Ortiz \u003csamuel@sortiz.org\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5ada918b82399eef3afd6a71e3637697d6bd719f",
      "tree": "9bff5251d9d21960726078c2117a0ab19ca25956",
      "parents": [
        "c95d1e53ed89b75a4d7b68d1cbae4607b1479243"
      ],
      "author": {
        "name": "Bernhard Walle",
        "email": "bernhard@bwalle.de",
        "time": "Mon Dec 14 18:00:43 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:28 2009 -0800"
      },
      "message": "vt: introduce and use vt_kmsg_redirect() function\n\nThe kernel offers with TIOCL_GETKMSGREDIRECT ioctl() the possibility to\nredirect the kernel messages to a specific console.\n\nHowever, since it\u0027s not possible to switch to the kernel message console\nafter a panic(), it would be nice if the kernel would print the panic\nmessage on the current console.\n\nThis patch series adds a new interface to access the global kmsg_redirect\nvariable by a function to be able to use it in code where\nCONFIG_VT_CONSOLE is not set (kernel/panic.c).\n\nThis patch:\n\nInstead of using and exporting a global value kmsg_redirect, introduce a\nfunction vt_kmsg_redirect() that both can set and return the console where\nmessages are printed.\n\nChange all users of kmsg_redirect (the VT code itself and kernel/power.c)\nto the new interface.\n\nThe main advantage is that vt_kmsg_redirect() can also be used when\nCONFIG_VT_CONSOLE is not set.\n\nSigned-off-by: Bernhard Walle \u003cbernhard@bwalle.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dfc6a736d452a8c308190b618b065c2257d370ff",
      "tree": "129800fa31f88a5f6d520a2c0d0a64273488a3fa",
      "parents": [
        "948c1e2521979c332b21b623414cf258150f214e"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Mon Dec 14 18:00:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:26 2009 -0800"
      },
      "message": "kernel/sys.c: fix \"warning: do-while statement is not a compound statement\" noise\n\ndo_each_thread/while_each_thread wrap a block of code that is in this format:\n\n\tfor (...)\n\t\tdo\n\t\t\t...\n\t\twhile\n\nIf curly braces do not surround the inner loop the following warning is\ngenerated by sparse:\n\n\twarning: do-while statement is not a compound statement\n\nFix the warning by adding the braces.\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c0f68c2fab4898bcc4671a8fb941f428856b4ad5",
      "tree": "87cc5addf461b699b3b9c9d1931f77acf947051d",
      "parents": [
        "4eb174bee6f8623fed1af0072f1bebfc3b513a52"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Mon Dec 14 18:00:16 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:25 2009 -0800"
      },
      "message": "generic-ipi: cleanup for generic_smp_call_function_interrupt()\n\nUse smp_processor_id() instead of get_cpu() and put_cpu() in\ngeneric_smp_call_function_interrupt(), It\u0027s no need to disable preempt,\nbecause we must call generic_smp_call_function_interrupt() with interrupts\ndisabled.\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "70da2340fbc68e91e701762f785479ab495a0869",
      "tree": "f55055a8fa8cb8e00b72ae8f3629dc884515f5e9",
      "parents": [
        "f096e59e844ba3c5d5a7b54b3deafd2aeeebf921"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Mon Dec 14 17:59:52 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:23 2009 -0800"
      },
      "message": "\u0027sysctl_max_map_count\u0027 should be non-negative\n\nJan Engelhardt reported we have this problem:\n\nsetting max_map_count to a value large enough results in programs dying at\nfirst try.  This is on 2.6.31.6:\n\n15:59 borg:/proc/sys/vm # echo $[1\u003c\u003c31-1] \u003emax_map_count\n15:59 borg:/proc/sys/vm # cat max_map_count\n1073741824\n15:59 borg:/proc/sys/vm # echo $[1\u003c\u003c31] \u003emax_map_count\n15:59 borg:/proc/sys/vm # cat max_map_count\nKilled\n\nThis is because we have a chance to make \u0027max_map_count\u0027 negative.  but\nit\u0027s meaningless.  Make it only accept non-negative values.\n\nReported-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "06808b0827e1cd14eedc96bac2655d5b37ac246c",
      "tree": "8f7b52a4af1532ed414631f68b99a059e299d83f",
      "parents": [
        "c1e6c8d074ea3621106548654cc244d2edc12ead"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Mon Dec 14 17:58:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:12 2009 -0800"
      },
      "message": "hugetlb: derive huge pages nodes allowed from task mempolicy\n\nThis patch derives a \"nodes_allowed\" node mask from the numa mempolicy of\nthe task modifying the number of persistent huge pages to control the\nallocation, freeing and adjusting of surplus huge pages when the pool page\ncount is modified via the new sysctl or sysfs attribute\n\"nr_hugepages_mempolicy\".  The nodes_allowed mask is derived as follows:\n\n* For \"default\" [NULL] task mempolicy, a NULL nodemask_t pointer\n  is produced.  This will cause the hugetlb subsystem to use\n  node_online_map as the \"nodes_allowed\".  This preserves the\n  behavior before this patch.\n* For \"preferred\" mempolicy, including explicit local allocation,\n  a nodemask with the single preferred node will be produced.\n  \"local\" policy will NOT track any internode migrations of the\n  task adjusting nr_hugepages.\n* For \"bind\" and \"interleave\" policy, the mempolicy\u0027s nodemask\n  will be used.\n* Other than to inform the construction of the nodes_allowed node\n  mask, the actual mempolicy mode is ignored.  That is, all modes\n  behave like interleave over the resulting nodes_allowed mask\n  with no \"fallback\".\n\nSee the updated documentation [next patch] for more information\nabout the implications of this patch.\n\nExamples:\n\nStarting with:\n\n\tNode 0 HugePages_Total:     0\n\tNode 1 HugePages_Total:     0\n\tNode 2 HugePages_Total:     0\n\tNode 3 HugePages_Total:     0\n\nDefault behavior [with or without this patch] balances persistent\nhugepage allocation across nodes [with sufficient contiguous memory]:\n\n\tsysctl vm.nr_hugepages[_mempolicy]\u003d32\n\nyields:\n\n\tNode 0 HugePages_Total:     8\n\tNode 1 HugePages_Total:     8\n\tNode 2 HugePages_Total:     8\n\tNode 3 HugePages_Total:     8\n\nOf course, we only have nr_hugepages_mempolicy with the patch,\nbut with default mempolicy, nr_hugepages_mempolicy behaves the\nsame as nr_hugepages.\n\nApplying mempolicy--e.g., with numactl [using \u0027-m\u0027 a.k.a.\n\u0027--membind\u0027 because it allows multiple nodes to be specified\nand it\u0027s easy to type]--we can allocate huge pages on\nindividual nodes or sets of nodes.  So, starting from the\ncondition above, with 8 huge pages per node, add 8 more to\nnode 2 using:\n\n\tnumactl -m 2 sysctl vm.nr_hugepages_mempolicy\u003d40\n\nThis yields:\n\n\tNode 0 HugePages_Total:     8\n\tNode 1 HugePages_Total:     8\n\tNode 2 HugePages_Total:    16\n\tNode 3 HugePages_Total:     8\n\nThe incremental 8 huge pages were restricted to node 2 by the\nspecified mempolicy.\n\nSimilarly, we can use mempolicy to free persistent huge pages\nfrom specified nodes:\n\n\tnumactl -m 0,1 sysctl vm.nr_hugepages_mempolicy\u003d32\n\nyields:\n\n\tNode 0 HugePages_Total:     4\n\tNode 1 HugePages_Total:     4\n\tNode 2 HugePages_Total:    16\n\tNode 3 HugePages_Total:     8\n\nThe 8 huge pages freed were balanced over nodes 0 and 1.\n\n[rientjes@google.com: accomodate reworked NODEMASK_ALLOC]\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: Eric Whitney \u003ceric.whitney@hp.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4b731d50ff3df6b9141a6c12b088e8eb0109e83c",
      "tree": "4c0c5c744383a4f426be6b9a8fb73528379eabdd",
      "parents": [
        "5443040754207f9777f71c892c66e45ba56b0fc1"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Dec 14 17:57:34 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:10 2009 -0800"
      },
      "message": "bsdacct: fix uid/gid misreporting\n\ncommit d8e180dcd5bbbab9cd3ff2e779efcf70692ef541 \"bsdacct: switch\ncredentials for writing to the accounting file\" introduced credential\nswitching during final acct data collecting.  However, uid/gid pair\ncontinued to be collected from current which became credentials of who\ncreated acct file, not who exits.\n\nAddresses http://bugzilla.kernel.org/show_bug.cgi?id\u003d14676\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nReported-by: Juho K. Juopperi \u003cjkj@kapsi.fi\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nReviewed-by: Michal Schmidt \u003cmschmidt@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.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": "b9f8fcd55bbdb037e5332dbdb7b494f0b70861ac",
      "tree": "71b2f8a175269e03e39a5976dc9d24f82b52ec91",
      "parents": [
        "1a551ae715825bb2a2107a2dd68de024a1fa4e32"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 13 18:25:02 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 15 09:04:36 2009 +0100"
      },
      "message": "sched: Fix cpu_clock() in NMIs, on !CONFIG_HAVE_UNSTABLE_SCHED_CLOCK\n\nRelax stable-sched-clock architectures to not save/disable/restore\nhardirqs in cpu_clock().\n\nThe background is that I was trying to resolve a sparc64 perf\nissue when I discovered this problem.\n\nOn sparc64 I implement pseudo NMIs by simply running the kernel\nat IRQ level 14 when local_irq_disable() is called, this allows\nperformance counter events to still come in at IRQ level 15.\n\nThis doesn\u0027t work if any code in an NMI handler does\nlocal_irq_save() or local_irq_disable() since the \"disable\" will\nkick us back to cpu IRQ level 14 thus letting NMIs back in and\nwe recurse.\n\nThe only path which that does that in the perf event IRQ\nhandling path is the code supporting frequency based events.  It\nuses cpu_clock().\n\ncpu_clock() simply invokes sched_clock() with IRQs disabled.\n\nAnd that\u0027s a fundamental bug all on it\u0027s own, particularly for\nthe HAVE_UNSTABLE_SCHED_CLOCK case.  NMIs can thus get into the\nsched_clock() code interrupting the local IRQ disable code\nsections of it.\n\nFurthermore, for the not-HAVE_UNSTABLE_SCHED_CLOCK case, the IRQ\ndisabling done by cpu_clock() is just pure overhead and\ncompletely unnecessary.\n\nSo the core problem is that sched_clock() is not NMI safe, but\nwe are invoking it from NMI contexts in the perf events code\n(via cpu_clock()).\n\nA less important issue is the overhead of IRQ disabling when it\nisn\u0027t necessary in cpu_clock().\n\nCONFIG_HAVE_UNSTABLE_SCHED_CLOCK architectures are not\naffected by this patch.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c20091213.182502.215092085.davem@davemloft.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b5f91da0a6973bb6f9ff3b91b0e92c0773a458f3",
      "tree": "911ad0eeb484ce9309504fcf5a031403ad47ce84",
      "parents": [
        "d192c47f25daa98996c7eae543d8a27e41247ec2"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Dec 08 12:40:31 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:34 2009 +0100"
      },
      "message": "clockevents: Convert to raw_spinlock\n\nConvert locks which cannot be sleeping locks in preempt-rt to\nraw_spinlocks.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d192c47f25daa98996c7eae543d8a27e41247ec2",
      "tree": "7ad7970ffbf0fa25bab4fc9eb20f6a6fdbb30bb1",
      "parents": [
        "aef9cb05247df3d7615773737beb4f83d78577bb"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Dec 08 12:49:26 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:34 2009 +0100"
      },
      "message": "clockevents: Make tick_device_lock static\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e625cce1b73fb38b74e5387226534f7bcbfc36fe",
      "tree": "cfdecc4326845d0601d1447aad334e78d92d3316",
      "parents": [
        "ecb49d1a639acbacfc3771cae5ec07bed5df3847"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Nov 17 18:02:06 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:34 2009 +0100"
      },
      "message": "perf_event: Convert to raw_spinlock\n\nConvert locks which cannot be sleeping locks in preempt-rt to\nraw_spinlocks.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ecb49d1a639acbacfc3771cae5ec07bed5df3847",
      "tree": "19c8fa91d1f9b1c965cd60653e16d1eb60cd9d3a",
      "parents": [
        "239007b8440abff689632f50cdf0f2b9e895b534"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Nov 17 16:36:54 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:34 2009 +0100"
      },
      "message": "hrtimers: Convert to raw_spinlocks\n\nConvert locks which cannot be sleeping locks in preempt-rt to\nraw_spinlocks.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "239007b8440abff689632f50cdf0f2b9e895b534",
      "tree": "569cab843af4a999d6d868ec9a824530d2bfa733",
      "parents": [
        "9f5a5621e78cf48d86682a71ceb3fcdbde38b222"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Nov 17 16:46:45 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:33 2009 +0100"
      },
      "message": "genirq: Convert irq_desc.lock to raw_spinlock\n\nConvert locks which cannot be sleeping locks in preempt-rt to\nraw_spinlocks.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9f5a5621e78cf48d86682a71ceb3fcdbde38b222",
      "tree": "615076c3d592ebd293dcd4c8babfa91ce88d049b",
      "parents": [
        "d209d74d52ab39dc071656533cac095294f70de7"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Nov 17 15:40:01 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:33 2009 +0100"
      },
      "message": "smp: Convert smplocks to raw_spinlocks\n\nConvert locks which cannot be sleeping locks in preempt-rt to\nraw_spinlocks.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d209d74d52ab39dc071656533cac095294f70de7",
      "tree": "f48ae39908db89df7d93df79ac713318e026f0f7",
      "parents": [
        "1d615482547584b9a8bb6316a58fed6ce90dd9ff"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Nov 17 18:22:11 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:33 2009 +0100"
      },
      "message": "rtmutes: Convert rtmutex.lock to raw_spinlock\n\nConvert locks which cannot be sleeping locks in preempt-rt to\nraw_spinlocks.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1d615482547584b9a8bb6316a58fed6ce90dd9ff",
      "tree": "21dae4b70acb3ce0bdaeeaee1dbd970be41d26e2",
      "parents": [
        "fe841226bd954fba4fd79f037a876053fe9c3217"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Nov 17 14:54:03 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:33 2009 +0100"
      },
      "message": "sched: Convert pi_lock to raw_spinlock\n\nConvert locks which cannot be sleeping locks in preempt-rt to\nraw_spinlocks.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fe841226bd954fba4fd79f037a876053fe9c3217",
      "tree": "0819ff8a78b9eeed61a1dc26b5aa900f48d0c2e3",
      "parents": [
        "0986b11b12ad2baed338385f79fd0dec58a23fc6"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Nov 17 17:59:15 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:33 2009 +0100"
      },
      "message": "sched: Convert cpupri lock to raw_spinlock\n\nConvert locks which cannot be sleeping locks in preempt-rt to\nraw_spinlocks.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0986b11b12ad2baed338385f79fd0dec58a23fc6",
      "tree": "36bdf3985704f87f0c278a35e53470f6248419e2",
      "parents": [
        "05fa785cf80c9b7c0254c3056037147aed3ea16b"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Nov 17 15:32:06 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:33 2009 +0100"
      },
      "message": "sched: Convert rt_runtime_lock to raw_spinlock\n\nConvert locks which cannot be sleeping locks in preempt-rt to\nraw_spinlocks.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "05fa785cf80c9b7c0254c3056037147aed3ea16b",
      "tree": "3d5c69d449b9240dc6d1005dddf344e467de4f34",
      "parents": [
        "a26724591edba5acc528d41f3906a972590e8f54"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Nov 17 14:28:38 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:33 2009 +0100"
      },
      "message": "sched: Convert rq-\u003elock to raw_spinlock\n\nConvert locks which cannot be sleeping locks in preempt-rt to\nraw_spinlocks.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\n"
    },
    {
      "commit": "a26724591edba5acc528d41f3906a972590e8f54",
      "tree": "4e7a1c7c7e4b19b428222da9232aa7322439e243",
      "parents": [
        "fa4062e7eae8f484c90b9cdd850b5df39ab0e5a0"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Nov 17 14:46:14 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:33 2009 +0100"
      },
      "message": "plist: Make plist debugging raw_spinlock aware\n\nplists are used with spinlocks and raw_spinlocks. Change the plist\ndebugging to handle both types.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9c1721aa4994f6625decbd915241f3a94ee2fe67",
      "tree": "bc1c2d623ac5d0db82df18163f6ab029e057c558",
      "parents": [
        "9828ea9d75c38fe3dce05d00566eed61c85732e6"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Dec 03 21:52:18 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:33 2009 +0100"
      },
      "message": "locking: Cleanup the name space completely\n\nMake the name space hierarchy of locking functions consistent:\n     raw_spin* -\u003e _raw_spin* -\u003e __raw_spin*\n\nNo functional change.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\n"
    },
    {
      "commit": "9828ea9d75c38fe3dce05d00566eed61c85732e6",
      "tree": "6cee5c8ffb07cdf45cc12d58f74a3053ffefcb5f",
      "parents": [
        "5f6384c5fb6bfc9aac506e058974d3ba293951b3"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Dec 03 20:55:53 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:33 2009 +0100"
      },
      "message": "locking: Further name space cleanups\n\nThe name space hierarchy for the internal lock functions is now a bit\nbackwards. raw_spin* functions map to _spin* which use __spin*, while\nwe would like to have _raw_spin* and __raw_spin*.\n\n_raw_spin* is already used by lock debugging, so rename those funtions\nto do_raw_spin* to free up the _raw_spin* name space.\n\nNo functional change.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c2f21ce2e31286a0a32f8da0a7856e9ca1122ef3",
      "tree": "6cc8d1fd37ffa6d02481353857b92734241f4dd0",
      "parents": [
        "e5931943d02bf751b1ec849c0d2ade23d76a8d41"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 02 20:02:59 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:32 2009 +0100"
      },
      "message": "locking: Implement new raw_spinlock\n\nNow that the raw_spin name space is freed up, we can implement\nraw_spinlock and the related functions which are used to annotate the\nlocks which are not converted to sleeping spinlocks in preempt-rt.\n\nA side effect is that only such locks can be used with the low level\nlock fsunctions which circumvent lockdep.\n\nFor !rt spin_* functions are mapped to the raw_spin* implementations.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\n"
    },
    {
      "commit": "0199c4e68d1f02894bdefe4b5d9e9ee4aedd8d62",
      "tree": "e371d17bd73d64332349debbf45962ec67e7269d",
      "parents": [
        "edc35bd72e2079b25f99c5da7d7a65dbbffc4a26"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 02 20:01:25 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:32 2009 +0100"
      },
      "message": "locking: Convert __raw_spin* functions to arch_spin*\n\nName space cleanup. No functional change.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: linux-arch@vger.kernel.org\n"
    },
    {
      "commit": "edc35bd72e2079b25f99c5da7d7a65dbbffc4a26",
      "tree": "a4fac9d24d243d3296fc36a2371db2a56d363e1a",
      "parents": [
        "445c89514be242b1b0080056d50bdc1b72adeb5c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Dec 03 12:38:57 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:32 2009 +0100"
      },
      "message": "locking: Rename __RAW_SPIN_LOCK_UNLOCKED to __ARCH_SPIN_LOCK_UNLOCKED\n\nFurther name space cleanup. No functional change\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: linux-arch@vger.kernel.org\n"
    },
    {
      "commit": "445c89514be242b1b0080056d50bdc1b72adeb5c",
      "tree": "96ed062794ad0fb6a649713c83f009eea382e8b2",
      "parents": [
        "6b6b4792f89346e47437682c7ba3438e6681c0f9"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 02 19:49:50 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:32 2009 +0100"
      },
      "message": "locking: Convert raw_spinlock to arch_spinlock\n\nThe raw_spin* namespace was taken by lockdep for the architecture\nspecific implementations. raw_spin_* would be the ideal name space for\nthe spinlocks which are not converted to sleeping locks in preempt-rt.\n\nLinus suggested to convert the raw_ to arch_ locks and cleanup the\nname space instead of using an artifical name like core_spin,\natomic_spin or whatever\n\nNo functional change.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: linux-arch@vger.kernel.org\n\n"
    },
    {
      "commit": "b7b40ade58e621851896aa261452df99d4e9d99b",
      "tree": "6ff6d2adea28376b86875cd070fbea6d4473d029",
      "parents": [
        "3ea6b3d0e6d0ffd91c0f8cadeb69b7133c038b32"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Nov 09 21:01:59 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:32 2009 +0100"
      },
      "message": "locking: Reorder functions in spinlock.c\n\nSeparate spin_lock and rw_lock functions. Preempt-RT needs to exclude\nthe rw_lock functions from being compiled. The reordering allows to do\nthat with a single #ifdef.\n\nNo functional change.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d0316554d3586cbea60592a41391b5def2553d6f",
      "tree": "5e7418f0bacbc68cec5dfd1541e03eb56870aa02",
      "parents": [
        "fb0bbb92d42d5bd0ab224605444efdfed06d6934",
        "51e99be00ce2713cbb841cedc997cafa6e26c7f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 09:58:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 09:58:24 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (34 commits)\n  m68k: rename global variable vmalloc_end to m68k_vmalloc_end\n  percpu: add missing per_cpu_ptr_to_phys() definition for UP\n  percpu: Fix kdump failure if booted with percpu_alloc\u003dpage\n  percpu: make misc percpu symbols unique\n  percpu: make percpu symbols in ia64 unique\n  percpu: make percpu symbols in powerpc unique\n  percpu: make percpu symbols in x86 unique\n  percpu: make percpu symbols in xen unique\n  percpu: make percpu symbols in cpufreq unique\n  percpu: make percpu symbols in oprofile unique\n  percpu: make percpu symbols in tracer unique\n  percpu: make percpu symbols under kernel/ and mm/ unique\n  percpu: remove some sparse warnings\n  percpu: make alloc_percpu() handle array types\n  vmalloc: fix use of non-existent percpu variable in put_cpu_var()\n  this_cpu: Use this_cpu_xx in trace_functions_graph.c\n  this_cpu: Use this_cpu_xx for ftrace\n  this_cpu: Use this_cpu_xx in nmi handling\n  this_cpu: Use this_cpu operations in RCU\n  this_cpu: Use this_cpu ops for VM statistics\n  ...\n\nFix up trivial (famous last words) global per-cpu naming conflicts in\n\tarch/x86/kvm/svm.c\n\tmm/slab.c\n"
    },
    {
      "commit": "1a551ae715825bb2a2107a2dd68de024a1fa4e32",
      "tree": "03f29f6a37be1eea125994aee5d34b4daf804a20",
      "parents": [
        "23f5d142519621b16cf2b378cf8adf4dcf01a616"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 09 10:15:11 2009 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 14 17:11:35 2009 +0100"
      },
      "message": "sched: Use rcu in sched_get_rr_param()\n\nread_lock(\u0026tasklist_lock) does not protect\nsys_sched_get_rr_param() against a concurrent update of the\npolicy or scheduler parameters as do_sched_scheduler() does not\ntake the tasklist_lock.\n\nThe access to task-\u003esched_class-\u003eget_rr_interval is protected by\ntask_rq_lock(task).\n\nUse rcu_read_lock() to protect find_task_by_vpid() and prevent\nthe task struct from going away.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20091209100706.862897167@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "23f5d142519621b16cf2b378cf8adf4dcf01a616",
      "tree": "c7907cb635ea1ad6cab71598d687b752c17adf37",
      "parents": [
        "5fe85be081edf0ac92d83f9c39e0ab5c1371eb82"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 09 10:15:01 2009 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 14 17:11:35 2009 +0100"
      },
      "message": "sched: Use rcu in sched_get/set_affinity()\n\ntasklist_lock is held read locked to protect the\nfind_task_by_vpid() call and to prevent the task going away.\nsched_setaffinity acquires a task struct ref and drops tasklist\nlock right away. The access to the cpus_allowed mask is\nprotected by rq-\u003elock.\n\nrcu_read_lock() provides the same protection here.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20091209100706.789059966@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5fe85be081edf0ac92d83f9c39e0ab5c1371eb82",
      "tree": "6c8d313aec92310787c14b7d289f69e3e5e38711",
      "parents": [
        "663997d417330a59a566452f52cfa04c8ffd190b"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 09 10:14:58 2009 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 14 17:11:34 2009 +0100"
      },
      "message": "sched: Use rcu in sys_sched_getscheduler/sys_sched_getparam()\n\nread_lock(\u0026tasklist_lock) does not protect\nsys_sched_getscheduler and sys_sched_getparam() against a\nconcurrent update of the policy or scheduler parameters as\ndo_sched_setscheduler() does not take the tasklist_lock. The\naccessed integers can be retrieved w/o locking and are snapshots\nanyway.\n\nUsing rcu_read_lock() to protect find_task_by_vpid() and prevent\nthe task struct from going away is not changing the above\nsituation.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20091209100706.753790977@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "663997d417330a59a566452f52cfa04c8ffd190b",
      "tree": "d5f8a808744664c7d007751c020bcf4bd6e4f1ea",
      "parents": [
        "7539a3b3d1f892dd97eaf094134d7de55c13befe"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sat Dec 12 13:57:27 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Dec 13 08:13:55 2009 +0100"
      },
      "message": "sched: Use pr_fmt() and pr_\u003clevel\u003e()\n\n- Convert printk(KERN_\u003clevel\u003e to pr_\u003clevel\u003e (not KERN_DEBUG)\n - Add #define pr_fmt(fmt) KBUILD_MODNAME \": \" fmt\n - Coalesce long format strings\n - Add missing \\n to \"ERROR: !SD_LOAD_BALANCE domain has parent\"\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1260655047.2637.7.camel@Joe-Laptop.home\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7539a3b3d1f892dd97eaf094134d7de55c13befe",
      "tree": "f49c29135265e452208c5a2e404590f2e0becbc8",
      "parents": [
        "f40542532e96dda5506eb76badea322f2ae4731c"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Dec 13 00:07:30 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Dec 13 08:12:46 2009 +0100"
      },
      "message": "sched: Make wakeup side and atomic variants of completion API irq safe\n\nAlan Stern noticed that all the wakeup side (and atomic) variants of the\ncompletion APIs should be irq safe, but the newly introduced\ncompletion_done() and try_wait_for_completion() aren\u0027t. The use of the\nirq unsafe variants in IRQ contexts can cause crashes/hangs.\n\nFix the problem by making them use spin_lock_irqsave() and\nspin_lock_irqrestore().\n\nReported-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Zhang Rui \u003crui.zhang@intel.com\u003e\nCc: pm list \u003clinux-pm@lists.linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: David Chinner \u003cdavid@fromorbit.com\u003e\nCc: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nLKML-Reference: \u003c200912130007.30541.rjw@sisk.pl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "702a7c7609bec3a940b6a46b0d6ab9ce45274580",
      "tree": "6c169691449259410b9b51a146acb0e837dae96a",
      "parents": [
        "053fe57ac249a9531c396175778160d9e9509399",
        "b9889ed1ddeca5a3f3569c8de7354e9e97d803ae"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 12 11:34:10 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 12 11:34:10 2009 -0800"
      },
      "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: (21 commits)\n  sched: Remove forced2_migrations stats\n  sched: Fix memory leak in two error corner cases\n  sched: Fix build warning in get_update_sysctl_factor()\n  sched: Update normalized values on user updates via proc\n  sched: Make tunable scaling style configurable\n  sched: Fix missing sched tunable recalculation on cpu add/remove\n  sched: Fix task priority bug\n  sched: cgroup: Implement different treatment for idle shares\n  sched: Remove unnecessary RCU exclusion\n  sched: Discard some old bits\n  sched: Clean up check_preempt_wakeup()\n  sched: Move update_curr() in check_preempt_wakeup() to avoid redundant call\n  sched: Sanitize fork() handling\n  sched: Clean up ttwu() rq locking\n  sched: Remove rq-\u003eclock coupling from set_task_cpu()\n  sched: Consolidate select_task_rq() callers\n  sched: Remove sysctl.sched_features\n  sched: Protect sched_rr_get_param() access to task-\u003esched_class\n  sched: Protect task-\u003ecpus_allowed access in sched_getaffinity()\n  sched: Fix balance vs hotplug race\n  ...\n\nFixed up conflicts in kernel/sysctl.c (due to sysctl cleanup)\n"
    },
    {
      "commit": "3070f27d6ecb69364e7cffe16c8b15e1b8ef41dd",
      "tree": "6a624eb764265b67b2765b978c749fbe08871886",
      "parents": [
        "1e57c2186fc204ecd5e47f279d00eba3c3db245c",
        "e9c0748b687aa70179a9e6d8ffc24b2874fe350b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 20:49:09 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 20:49:09 2009 -0800"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  itimer: Fix the itimer trace print format\n  hrtimer: move timer stats helper functions to hrtimer.c\n  hrtimer: Tune hrtimer_interrupt hang logic\n"
    },
    {
      "commit": "1e57c2186fc204ecd5e47f279d00eba3c3db245c",
      "tree": "aad97e94afe668b2fe734ef28536627ec00860d8",
      "parents": [
        "756300983f11a1c6f9457d6d8f57354e0f0fe8d4",
        "ea5b41f9d595be354f7a50e56b28c2d72e6e88a5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 20:48:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 20:48:21 2009 -0800"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  lockdep: Avoid out of bounds array reference in save_trace()\n  futex: Take mmap_sem for get_user_pages in fault_in_user_writeable\n  lockstat: Add usage info to Documentation/lockstat.txt\n  lockstat: Fix min, max times in /proc/lock_stats\n"
    },
    {
      "commit": "df7147b3c37cb203f968119f3b6a1cd648c535a1",
      "tree": "f5e0026cc8b1f711beef03338b087ff66cae92c4",
      "parents": [
        "6f696eb17be741668810fe1f798135c7cf6733e2",
        "788d70dce0184eccc249ac6f05aa38b385b7497c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 20:47:44 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 20:47:44 2009 -0800"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing: Remove comparing of NULL to va_list in trace_array_vprintk()\n  tracing: Fix function graph trace_pipe to properly display failed entries\n  tracing: Add full state to trace_seq\n  tracing: Buffer the output of seq_file in case of filled buffer\n  tracing: Only call pipe_close if pipe_close is defined\n  tracing: Add pipe_close interface\n"
    },
    {
      "commit": "6f696eb17be741668810fe1f798135c7cf6733e2",
      "tree": "f9bcfe5831dfcaaad50ca68d7f04d80d8236fa56",
      "parents": [
        "c4e194e3b71ff4fed01d727c32ee1071921d28a3",
        "125580380f418000b1a06d9a54700f1191b6e561"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 20:47:30 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 20:47:30 2009 -0800"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (57 commits)\n  x86, perf events: Check if we have APIC enabled\n  perf_event: Fix variable initialization in other codepaths\n  perf kmem: Fix unused argument build warning\n  perf symbols: perf_header__read_build_ids() offset\u0027n\u0027size should be u64\n  perf symbols: dsos__read_build_ids() should read both user and kernel buildids\n  perf tools: Align long options which have no short forms\n  perf kmem: Show usage if no option is specified\n  sched: Mark sched_clock() as notrace\n  perf sched: Add max delay time snapshot\n  perf tools: Correct size given to memset\n  perf_event: Fix perf_swevent_hrtimer() variable initialization\n  perf sched: Fix for getting task\u0027s execution time\n  tracing/kprobes: Fix field creation\u0027s bad error handling\n  perf_event: Cleanup for cpu_clock_perf_event_update()\n  perf_event: Allocate children\u0027s perf_event_ctxp at the right time\n  perf_event: Clean up __perf_event_init_context()\n  hw-breakpoints: Modify breakpoints without unregistering them\n  perf probe: Update perf-probe document\n  perf probe: Support --del option\n  trace-kprobe: Support delete probe syntax\n  ...\n"
    },
    {
      "commit": "0f4974c439dd7826c85bae4e6a8088ce2db0f498",
      "tree": "fdabc7d9bb7d7bc49aad547c0aac3a633ce01f09",
      "parents": [
        "3126c136bc30225d7a43af741778aa50e95e467a",
        "36ba782e9674cdc29ec7003757df0b375e99fa96"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 15:34:40 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 15:34:40 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6: (58 commits)\n  tty: split the lock up a bit further\n  tty: Move the leader test in disassociate\n  tty: Push the bkl down a bit in the hangup code\n  tty: Push the lock down further into the ldisc code\n  tty: push the BKL down into the handlers a bit\n  tty: moxa: split open lock\n  tty: moxa: Kill the use of lock_kernel\n  tty: moxa: Fix modem op locking\n  tty: moxa: Kill off the throttle method\n  tty: moxa: Locking clean up\n  tty: moxa: rework the locking a bit\n  tty: moxa: Use more tty_port ops\n  tty: isicom: fix deadlock on shutdown\n  tty: mxser: Use the new locking rules to fix setserial properly\n  tty: mxser: use the tty_port_open method\n  tty: isicom: sort out the board init logic\n  tty: isicom: switch to the new tty_port_open helper\n  tty: tty_port: Add a kref object to the tty port\n  tty: istallion: tty port open/close methods\n  tty: stallion: Convert to the tty_port_open/close methods\n  ...\n"
    },
    {
      "commit": "880188b2433c3af51fa006207d9b13c70d2e5938",
      "tree": "77376c0270e4e36f73a80856de798c6a89eeb96c",
      "parents": [
        "9764757932ce26f139332f89d1d3b815e4cc56ab",
        "7f8b7ed6f825c729332b8190aca55c6bf95b158e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 15:19:56 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 15:19:56 2009 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:\n  kgdb: Always process the whole breakpoint list on activate or deactivate\n  kgdb: continue and warn on signal passing from gdb\n  kgdb,x86: do not set kgdb_single_step on x86\n  kgdb: allow for cpu switch when single stepping\n  kgdb,i386: Fix corner case access to ss with NMI watch dog exception\n  kgdb: Replace strstr() by strchr() for single-character needles\n  kgdbts: Read buffer overflow\n  kgdb: Read buffer overflow\n  kgdb,x86: remove redundant test\n"
    },
    {
      "commit": "5ec93d1154fd1e269162398f8e70efc7e004485d",
      "tree": "2a76835812d3502b036a7234faeaa0f6ba0356da",
      "parents": [
        "38c70b27f9502c31c1d0c29676275f7362cdb0d9"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Mon Nov 30 13:18:45 2009 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 15:18:08 2009 -0800"
      },
      "message": "tty: Move the leader test in disassociate\n\nThere are two call points, both want to check that tty-\u003esignal-\u003eleader is\nset. Move the test into disassociate_ctty() as that will make locking\nchanges easier in a bit\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "11bd04f6f35621193311c32e0721142b073a7794",
      "tree": "00979740582bb26e8d3756bf3526c85f19f66a46",
      "parents": [
        "4e2ccdb0409146f8cf64a11b6ef82a9c928ced2a",
        "9e0b5b2c447ad0caa075a5cfef86def62e1782ff"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 12:18:16 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 12:18:16 2009 -0800"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (109 commits)\n  PCI: fix coding style issue in pci_save_state()\n  PCI: add pci_request_acs\n  PCI: fix BUG_ON triggered by logical PCIe root port removal\n  PCI: remove ifdefed pci_cleanup_aer_correct_error_status\n  PCI: unconditionally clear AER uncorr status register during cleanup\n  x86/PCI: claim SR-IOV BARs in pcibios_allocate_resource\n  PCI: portdrv: remove redundant definitions\n  PCI: portdrv: remove unnecessary struct pcie_port_data\n  PCI: portdrv: minor cleanup for pcie_port_device_register\n  PCI: portdrv: add missing irq cleanup\n  PCI: portdrv: enable device before irq initialization\n  PCI: portdrv: cleanup service irqs initialization\n  PCI: portdrv: check capabilities first\n  PCI: portdrv: move PME capability check\n  PCI: portdrv: remove redundant pcie type calculation\n  PCI: portdrv: cleanup pcie_device registration\n  PCI: portdrv: remove redundant pcie_port_device_probe\n  PCI: Always set prefetchable base/limit upper32 registers\n  PCI: read-modify-write the pcie device control register when initiating pcie flr\n  PCI: show dma_mask bits in /sys\n  ...\n\nFixed up conflicts in:\n\tarch/x86/kernel/amd_iommu_init.c\n\tdrivers/pci/dmar.c\n\tdrivers/pci/hotplug/acpiphp_glue.c\n"
    },
    {
      "commit": "7f8b7ed6f825c729332b8190aca55c6bf95b158e",
      "tree": "29496e5c24361945a38a240263c04d9ba5b3bd2b",
      "parents": [
        "d625e9c0d706eb43afbf52634d5cecacae1d57cc"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Dec 11 08:43:20 2009 -0600"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Dec 11 08:43:20 2009 -0600"
      },
      "message": "kgdb: Always process the whole breakpoint list on activate or deactivate\n\nThis patch fixes 2 edge cases in using kgdb in conjunction with gdb.\n\n1) kgdb_deactivate_sw_breakpoints() should process the entire array of\n   breakpoints.  The failure to do so results in breakpoints that you\n   cannot remove, because a break point can only be removed if its\n   state flag is set to BP_SET.\n\n   The easy way to duplicate this problem is to plant a break point in\n   a kernel module and then unload the kernel module.\n\n2) kgdb_activate_sw_breakpoints() should process the entire array of\n   breakpoints.  The failure to do so results in missed breakpoints\n   when a breakpoint cannot be activated.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "d625e9c0d706eb43afbf52634d5cecacae1d57cc",
      "tree": "080cb5ced15c3a0235fc270e9bae2fe8a904bd11",
      "parents": [
        "8097551d9ab9b9e3630694ad1bc6e12c597c515e"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon Apr 27 13:20:21 2009 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Dec 11 08:43:19 2009 -0600"
      },
      "message": "kgdb: continue and warn on signal passing from gdb\n\nOn some architectures for the segv trap, gdb wants to pass the signal\nback on continue.  For kgdb this is not the default behavior, because\nit can cause the kernel to crash if you arbitrarily pass back a\nexception outside of kgdb.\n\nInstead of causing instability, pass a message back to gdb about the\nsupported kgdb signal passing and execute a standard kgdb continue\noperation.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "028e7b175970be8fca58bfd7d61cc375babe40b7",
      "tree": "c94d3acdc460836a9ef2d06f3e80f83d5f33f157",
      "parents": [
        "cf6f196d112a6f6757b1ca3cce0b576f7abee479"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Dec 11 08:43:17 2009 -0600"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Dec 11 08:43:17 2009 -0600"
      },
      "message": "kgdb: allow for cpu switch when single stepping\n\nThe kgdb core should not assume that a single step operation of a\nkernel thread will complete on the same CPU.  The single step flag is\nset at the \"thread\" level and it is possible in a multi cpu system\nthat a kernel thread can get scheduled on another cpu the next time it\nis run.\n\nAs a further safety net in case a slave cpu is hung, the debug master\ncpu will try 100 times before giving up and assuming control of the\nslave cpus is no longer possible.  It is more useful to be able to get\nsome information out of kgdb instead of spinning forever.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "84667d4849b0e0a939a76f9f62d45fa3b4d59692",
      "tree": "5765d861dc39cf52863ac569211a43355ef3fc29",
      "parents": [
        "a5d09d68335bb8422d5e7050c9f03f99ba6cfebd"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Dec 11 08:43:13 2009 -0600"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Dec 11 08:43:13 2009 -0600"
      },
      "message": "kgdb: Read buffer overflow\n\nRoel Kluin reported an error found with Parfait.  Where we want to\nensure that that kgdb_info[-1] never gets accessed.\n\nAlso check to ensure any negative tid does not exceed the size of the\nshadow CPU array, else report critical debug context because it is an\ninternal kgdb failure.\n\nReported-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "b9889ed1ddeca5a3f3569c8de7354e9e97d803ae",
      "tree": "7309bed51e68f3414a7dd4159a7941d672028dbc",
      "parents": [
        "dfc12eb26a285df316be68a808af86964f3bff86"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 10 20:32:39 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 10 20:32:39 2009 +0100"
      },
      "message": "sched: Remove forced2_migrations stats\n\nThis build warning:\n\n kernel/sched.c: In function \u0027set_task_cpu\u0027:\n kernel/sched.c:2070: warning: unused variable \u0027old_rq\u0027\n\nMade me realize that the forced2_migrations stat looks pretty\npointless (and a misnomer) - remove it.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d71cb81af3817193bc605de061da0499934263a6",
      "tree": "f7ff95e0cf0cdf00234be29ba4050135314ab859",
      "parents": [
        "ab1831b0b87851c874a75e4b3a8538e3d76b37d7",
        "dc186ad741c12ae9ecac8b89e317ef706fdaf8f6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 10 09:35:44 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 10 09:35:44 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  workqueue: Add debugobjects support\n"
    },
    {
      "commit": "5e855db5d8fec44e6604eb245aa9077bbd3f0d05",
      "tree": "480a7af69a0168ea3a6b05a21e10dd964fd44ac1",
      "parents": [
        "7931241694b25589658b1ceb02218d2750540ae0"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Thu Dec 10 17:08:54 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 10 17:23:02 2009 +0100"
      },
      "message": "perf_event: Fix variable initialization in other codepaths\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c4B20BAA6.7010609@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dfc12eb26a285df316be68a808af86964f3bff86",
      "tree": "502e31f805cd335131a52dd202c7c2825cf4006b",
      "parents": [
        "4ca3ef71f54655af98b66e8ff308a47a2a580a53"
      ],
      "author": {
        "name": "Phil Carmody",
        "email": "ext-phil.2.carmody@nokia.com",
        "time": "Thu Dec 10 14:29:37 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 10 14:28:10 2009 +0100"
      },
      "message": "sched: Fix memory leak in two error corner cases\n\nIf the second in each of these pairs of allocations fails, then the\nfirst one will not be freed in the error route out.\n\nFound by a static code analysis tool.\n\nSigned-off-by: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1260448177-28448-1-git-send-email-ext-phil.2.carmody@nokia.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5f201907dfe4ad42c44006ddfcec00ed12e59497",
      "tree": "b796471d44eb588f8d95affaeb0aa6cf6478b460",
      "parents": [
        "41d2e494937715d3150e5c75d01f0e75ae899337"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Thu Dec 10 10:56:29 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Dec 10 13:08:11 2009 +0100"
      },
      "message": "hrtimer: move timer stats helper functions to hrtimer.c\n\nThere is no reason to make timer_stats_hrtimer_set_start_info and\nfriends visible to the rest of the kernel. So move all of them to\nhrtimer.c.  Also make timer_stats_hrtimer_set_start_info a static\ninline function so it gets inlined and we avoid another function call.\nBased on a patch by Thomas Gleixner.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nLKML-Reference: \u003c20091210095629.GC4144@osiris.boeblingen.de.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "41d2e494937715d3150e5c75d01f0e75ae899337",
      "tree": "9bc7270aa7b06ed065671a96085fbdf235977d91",
      "parents": [
        "3067e02f8f3ae2f3f02ba76400d03b8bcb4942b0"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Nov 13 17:05:44 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Dec 10 13:08:11 2009 +0100"
      },
      "message": "hrtimer: Tune hrtimer_interrupt hang logic\n\nThe hrtimer_interrupt hang logic adjusts min_delta_ns based on the\nexecution time of the hrtimer callbacks.\n\nThis is error-prone for virtual machines, where a guest vcpu can be\nscheduled out during the execution of the callbacks (and the callbacks\nthemselves can do operations that translate to blocking operations in\nthe hypervisor), which in can lead to large min_delta_ns rendering the\nsystem unusable.\n\nReplace the current heuristics with something more reliable. Allow the\ninterrupt code to try 3 times to catch up with the lost time. If that\nfails use the total time spent in the interrupt handler to defer the\nnext timer interrupt so the system can catch up with other things\nwhich got delayed. Limit that deferment to 100ms.\n\nThe retry events and the maximum time spent in the interrupt handler\nare recorded and exposed via /proc/timer_list\n\nInspired by a patch from Marcelo.\n\nReported-by: Michael Tokarev \u003cmjt@tls.msk.ru\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nTested-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: kvm@vger.kernel.org\n\n"
    },
    {
      "commit": "4ca3ef71f54655af98b66e8ff308a47a2a580a53",
      "tree": "8c9bb089d56fbf1dd3902cb0a9f43b9b49d4fdc6",
      "parents": [
        "acb4a848da821a095ae9e4d8b22ae2d9633ba5cd"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Thu Dec 10 09:25:53 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 10 09:34:50 2009 +0100"
      },
      "message": "sched: Fix build warning in get_update_sysctl_factor()\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nLKML-Reference: \u003cnew-submission\u003e\n"
    },
    {
      "commit": "ea5b41f9d595be354f7a50e56b28c2d72e6e88a5",
      "tree": "cfb23bea9059df20c1c64da92f3619dc0a1038ec",
      "parents": [
        "722d0172377a5697919b9f7e5beb95165b1dec4e"
      ],
      "author": {
        "name": "Luck, Tony",
        "email": "tony.luck@intel.com",
        "time": "Wed Dec 09 14:29:36 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 10 08:29:33 2009 +0100"
      },
      "message": "lockdep: Avoid out of bounds array reference in save_trace()\n\nia64 found this the hard way (because we currently have a stub\nfor save_stack_trace() that does nothing). But it would be a\ngood idea to  be cautious in case a real save_stack_trace()\nbailed out with an error before it set trace-\u003enr_entries.\n\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: luming.yu@intel.com\nLKML-Reference: \u003c4b2024d085302c2a2@agluck-desktop.sc.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "788d70dce0184eccc249ac6f05aa38b385b7497c",
      "tree": "607f2d23bab877a530bbd3b7da2b9fd9e6c24ce1",
      "parents": [
        "2b876f95d03e226394b5d360c86127cbefaf614b",
        "f2942487ffb0c0a80b2312f667ea30dd55a24bb0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 10 08:18:41 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 10 08:18:41 2009 +0100"
      },
      "message": "Merge branch \u0027tip/tracing/core3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/core\n"
    },
    {
      "commit": "21140f4d3387aa2213f1deea0128df1dbf924379",
      "tree": "16a5920041cc8f263e5680c88d68969a2147f8e3",
      "parents": [
        "c0c9e72150c07b4a6766cd24a6f685ec2dc9c343"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Thu Dec 10 14:00:51 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 10 07:11:05 2009 +0100"
      },
      "message": "perf_event: Fix perf_swevent_hrtimer() variable initialization\n\nfix:\n\n [\u003cc0477471\u003e] ? printk+0x1d/0x24\n [\u003cc01c98f9\u003e] ? perf_prepare_sample+0x269/0x280\n [\u003cc0149231\u003e] warn_slowpath_common+0x71/0xd0\n [\u003cc01c98f9\u003e] ? perf_prepare_sample+0x269/0x280\n [\u003cc01492aa\u003e] warn_slowpath_null+0x1a/0x20\n [\u003cc01c98f9\u003e] perf_prepare_sample+0x269/0x280\n [\u003cc016e9f3\u003e] ? cpu_clock+0x53/0x90\n [\u003cc01cc368\u003e] __perf_event_overflow+0x2a8/0x300\n [\u003cc01ccc3b\u003e] perf_event_overflow+0x1b/0x30\n [\u003cc01ccccf\u003e] perf_swevent_hrtimer+0x7f/0x120\n\nThis is because \u0027data.raw\u0027 variable not initialize.\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c4B208E93.1010801@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4ef58d4e2ad1fa2a3e5bbf41af2284671fca8cf8",
      "tree": "856ba96302a36014736747e8464f80eeb827bbdd",
      "parents": [
        "f6c4c8195b5e7878823caa1181be404d9e86d369",
        "d014d043869cdc591f3a33243d3481fa4479c2d0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 09 19:43:33 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 09 19:43:33 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (42 commits)\n  tree-wide: fix misspelling of \"definition\" in comments\n  reiserfs: fix misspelling of \"journaled\"\n  doc: Fix a typo in slub.txt.\n  inotify: remove superfluous return code check\n  hdlc: spelling fix in find_pvc() comment\n  doc: fix regulator docs cut-and-pasteism\n  mtd: Fix comment in Kconfig\n  doc: Fix IRQ chip docs\n  tree-wide: fix assorted typos all over the place\n  drivers/ata/libata-sff.c: comment spelling fixes\n  fix typos/grammos in Documentation/edac.txt\n  sysctl: add missing comments\n  fs/debugfs/inode.c: fix comment typos\n  sgivwfb: Make use of ARRAY_SIZE.\n  sky2: fix sky2_link_down copy/paste comment error\n  tree-wide: fix typos \"couter\" -\u003e \"counter\"\n  tree-wide: fix typos \"offest\" -\u003e \"offset\"\n  fix kerneldoc for set_irq_msi()\n  spidev: fix double \"of of\" in comment\n  comment typo fix: sybsystem -\u003e subsystem\n  ...\n"
    },
    {
      "commit": "f2942487ffb0c0a80b2312f667ea30dd55a24bb0",
      "tree": "8e6e4c8ae8230f2648142c863e8482b7656e6614",
      "parents": [
        "be1eca39319689aed7d3aedb9c3bece9469fe10f"
      ],
      "author": {
        "name": "Carsten Emde",
        "email": "Carsten.Emde@osadl.org",
        "time": "Sun Dec 06 14:02:44 2009 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 09 14:20:08 2009 -0500"
      },
      "message": "tracing: Remove comparing of NULL to va_list in trace_array_vprintk()\n\nOlof Johansson stated the following:\n\n  Comparing a va_list with NULL is bogus. It\u0027s supposed to be treated like\n  an opaque type and only be manipulated with va_* accessors.\n\nOlof noticed that this code broke the ARM builds:\n\n    kernel/trace/trace.c: In function \u0027trace_array_vprintk\u0027:\n    kernel/trace/trace.c:1364: error: invalid operands to binary \u003d\u003d (have \u0027va_list\u0027 and \u0027void *\u0027)\n    kernel/trace/trace.c: In function \u0027tracing_mark_write\u0027:\n    kernel/trace/trace.c:3349: error: incompatible type for argument 3 of \u0027trace_vprintk\u0027\n\nThis patch partly reverts c13d2f7c3231e873f30db92b96c8caa48f100f33 and\nre-installs the original mark_printk() mechanism.\n\nReported-by: Olof Johansson \u003colof@lixom.net\u003e\nSigned-off-by: Carsten Emde \u003cC.Emde@osadl.org\u003e\nLKML-Reference: \u003c4B1BAB74.104@osadl.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "be1eca39319689aed7d3aedb9c3bece9469fe10f",
      "tree": "fd55a6c086f328a2cdf9ed9ea2d371c3383c663f",
      "parents": [
        "d184b31c0e403580aafb3f8955ecc185a3d04801"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Tue Nov 24 13:57:38 2009 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 09 14:09:06 2009 -0500"
      },
      "message": "tracing: Fix function graph trace_pipe to properly display failed entries\n\nThere is a case where the graph tracer might get confused and omits\ndisplaying of a single record.  This applies mostly with the trace_pipe\nsince it is unlikely that the trace_seq buffer will overflow with the\ntrace file.\n\nAs the function_graph tracer goes through the trace entries keeping a\npointer to the current record:\n\ncurrent -\u003e  func1 ENTRY\n            func2 ENTRY\n            func2 RETURN\n            func1 RETURN\n\nWhen an function ENTRY is encountered, it moves the pointer to the\nnext entry to check if the function is a nested or leaf function.\n\n            func1 ENTRY\ncurrent -\u003e  func2 ENTRY\n            func2 RETURN\n            func1 RETURN\n\nIf the rest of the writing of the function fills the trace_seq buffer,\nthen the trace_pipe read will ignore this entry. The next read will\nNow start at the current location, but the first entry (func1) will\nbe discarded.\n\nThis patch keeps a copy of the current entry in the iterator private\nstorage and will keep track of when the trace_seq buffer fills. When\nthe trace_seq buffer fills, it will reuse the copy of the entry in the\nnext iteration.\n\n[\n  This patch has been largely modified by Steven Rostedt in order to\n  clean it up and simplify it. The original idea and concept was from\n  Jirka and for that, this patch will go under his name to give him\n  the credit he deserves. But because this was modify by Steven Rostedt\n  anything wrong with the patch should be blamed on Steven.\n]\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c1259067458-27143-1-git-send-email-jolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "d184b31c0e403580aafb3f8955ecc185a3d04801",
      "tree": "ca3fc8371382ce8dbe43eb684313847b7555573e",
      "parents": [
        "a63ce5b306855bccdacba95c03bfc293316c8ae3"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Nov 25 16:10:14 2009 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 09 14:05:49 2009 -0500"
      },
      "message": "tracing: Add full state to trace_seq\n\nThe trace_seq buffer might fill up, and right now one needs to check the\nreturn value of each printf into the buffer to check for that.\n\nInstead, have the buffer keep track of whether it is full or not, and\nreject more input if it is full or would have overflowed with an input\nthat wasn\u0027t added.\n\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a63ce5b306855bccdacba95c03bfc293316c8ae3",
      "tree": "b6d91266e9333a9cf74d6171bbee0acc0e18096b",
      "parents": [
        "29bf4a5e3fed3dde3eb629a0cb1762c1e9217458"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Dec 07 09:11:39 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 09 13:55:26 2009 -0500"
      },
      "message": "tracing: Buffer the output of seq_file in case of filled buffer\n\nIf the seq_read fills the buffer it will call s_start again on the next\nitertation with the same position. This causes a problem with the\nfunction_graph tracer because it consumes the iteration in order to\ndetermine leaf functions.\n\nWhat happens is that the iterator stores the entry, and the function\ngraph plugin will look at the next entry. If that next entry is a return\nof the same function and task, then the function is a leaf and the\nfunction_graph plugin calls ring_buffer_read which moves the ring buffer\niterator forward (the trace iterator still points to the function start\nentry).\n\nThe copying of the trace_seq to the seq_file buffer will fail if the\nseq_file buffer is full. The seq_read will not show this entry.\nThe next read by userspace will cause seq_read to again call s_start\nwhich will reuse the trace iterator entry (the function start entry).\nBut the function return entry was already consumed. The function graph\nplugin will think that this entry is a nested function and not a leaf.\n\nTo solve this, the trace code now checks the return status of the\nseq_printf (trace_print_seq). If the writing to the seq_file buffer\nfails, we set a flag in the iterator (leftover) and we do not reset\nthe trace_seq buffer. On the next call to s_start, we check the leftover\nflag, and if it is set, we just reuse the trace_seq buffer and do not\ncall into the plugin print functions.\n\nBefore this patch:\n\n 2)               |      fput() {\n 2)               |        __fput() {\n 2)   0.550 us    |          inotify_inode_queue_event();\n 2)               |          __fsnotify_parent() {\n 2)   0.540 us    |          inotify_dentry_parent_queue_event();\n\nAfter the patch:\n\n 2)               |      fput() {\n 2)               |        __fput() {\n 2)   0.550 us    |          inotify_inode_queue_event();\n 2)   0.548 us    |          __fsnotify_parent();\n 2)   0.540 us    |          inotify_dentry_parent_queue_event();\n\n[\n  Updated the patch to fix a missing return 0 from the trace_print_seq()\n  stub when CONFIG_TRACING is disabled.\n\n  Reported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n]\n\nReported-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "29bf4a5e3fed3dde3eb629a0cb1762c1e9217458",
      "tree": "42a93ba9e1e7d0fb7b1f46382dba9a5245768629",
      "parents": [
        "c521efd1700a8c0f7ce26f011f5eaecca17fabfa"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Dec 09 12:37:43 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 09 12:47:35 2009 -0500"
      },
      "message": "tracing: Only call pipe_close if pipe_close is defined\n\nThis fixes a cut and paste error that had pipe_close get called\nif pipe_open was defined (not pipe_close).\n\nReported-by: Kosaki Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nLKML-Reference: \u003c20091209153204.F4CD.A69D9226@jp.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "3b8ecd22447c4266500c0bcf97f035310543e494",
      "tree": "af4c86fd8d250d4978ad6b6905c30dafb3a552c6",
      "parents": [
        "a9280fed383082da08a40af3f38daccaed6d8d62",
        "6f15fa50087c8317e353145319466afbeb27a75d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 09 08:07:17 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 09 08:07:17 2009 -0800"
      },
      "message": "Merge branch \u0027bkl-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027bkl-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sys: Remove BKL from sys_reboot\n  pm_qos: clean up racy global \"name\" variable\n  pm_qos: remove BKL\n"
    },
    {
      "commit": "822a6961112f0c9101d3359d8524604c3309ee6c",
      "tree": "ba66dda1220c6f3f9208b56cb50f716bbf08fa13",
      "parents": [
        "ec89a06fd4e12301f11ab039ee07d2353a18addc"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Dec 08 10:00:04 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:32:21 2009 +0100"
      },
      "message": "tracing/kprobes: Fix field creation\u0027s bad error handling\n\nWhen we define the common event fields in kprobe, we invert the error\nhandling and return immediately in case of success. Then we omit\nto define specific kprobes fields (ip and nargs), and specific\nkretprobes fields (func, ret_ip, nargs). And we only define them\nwhen we fail to create common fields.\n\nThe most visible consequence is that we can\u0027t create filter for\nk(ret)probes specific fields.\n\nThis patch re-invert the success/error handling to fix it.\n\nReported-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c1260263815-5167-1-git-send-regression-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "acb4a848da821a095ae9e4d8b22ae2d9633ba5cd",
      "tree": "152efff68841e554eb71c82a97d3ed9571352581",
      "parents": [
        "1983a922a1bc843806b9a36cf3a370b242783140"
      ],
      "author": {
        "name": "Christian Ehrhardt",
        "email": "ehrhardt@linux.vnet.ibm.com",
        "time": "Mon Nov 30 12:16:48 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:04:02 2009 +0100"
      },
      "message": "sched: Update normalized values on user updates via proc\n\nThe normalized values are also recalculated in case the scaling factor\nchanges.\n\nThis patch updates the internally used scheduler tuning values that are\nnormalized to one cpu in case a user sets new values via sysfs.\n\nTogether with patch 2 of this series this allows to let user configured\nvalues scale (or not) to cpu add/remove events taking place later.\n\nSigned-off-by: Christian Ehrhardt \u003cehrhardt@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1259579808-11357-4-git-send-email-ehrhardt@linux.vnet.ibm.com\u003e\n[ v2: fix warning ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1983a922a1bc843806b9a36cf3a370b242783140",
      "tree": "3071f23d39e05587823a40033c4c11a0867dd46e",
      "parents": [
        "0bcdcf28c979869f44e05121b96ff2cfb05bd8e6"
      ],
      "author": {
        "name": "Christian Ehrhardt",
        "email": "ehrhardt@linux.vnet.ibm.com",
        "time": "Mon Nov 30 12:16:47 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:04:01 2009 +0100"
      },
      "message": "sched: Make tunable scaling style configurable\n\nAs scaling now takes place on all kind of cpu add/remove events a user\nthat configures values via proc should be able to configure if his set\nvalues are still rescaled or kept whatever happens.\n\nAs the comments state that log2 was just a second guess that worked the\ninterface is not just designed for on/off, but to choose a scaling type.\nCurrently this allows none, log and linear, but more important it allwos\nus to keep the interface even if someone has an even better idea how to\nscale the values.\n\nSigned-off-by: Christian Ehrhardt \u003cehrhardt@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1259579808-11357-3-git-send-email-ehrhardt@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0bcdcf28c979869f44e05121b96ff2cfb05bd8e6",
      "tree": "c70b8fb37fec9badf95ac2ea679407334f580ae5",
      "parents": [
        "57785df5ac53c70da9fb53696130f3c551bfe1f9"
      ],
      "author": {
        "name": "Christian Ehrhardt",
        "email": "ehrhardt@linux.vnet.ibm.com",
        "time": "Mon Nov 30 12:16:46 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:03:58 2009 +0100"
      },
      "message": "sched: Fix missing sched tunable recalculation on cpu add/remove\n\nBased on Peter Zijlstras patch suggestion this enables recalculation of\nthe scheduler tunables in response of a change in the number of cpus. It\nalso adds a max of eight cpus that are considered in that scaling.\n\nSigned-off-by: Christian Ehrhardt \u003cehrhardt@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1259579808-11357-2-git-send-email-ehrhardt@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "57785df5ac53c70da9fb53696130f3c551bfe1f9",
      "tree": "5653c894d74a1555f480835b013fdb7b512f8b69",
      "parents": [
        "cd8ad40de36c2fe75f3b731bd70198b385895246"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Dec 04 09:59:02 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:03:10 2009 +0100"
      },
      "message": "sched: Fix task priority bug\n\n83f9ac removed a call to effective_prio() in wake_up_new_task(), which\nleads to tasks running at MAX_PRIO.\n\nThis is caused by the idle thread being set to MAX_PRIO before forking\noff init. O(1) used that to make sure idle was always preempted, CFS\nuses check_preempt_curr_idle() for that so we can savely remove this bit\nof legacy code.\n\nReported-by: Mike Galbraith \u003cefault@gmx.de\u003e\nTested-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1259754383.4003.610.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cd8ad40de36c2fe75f3b731bd70198b385895246",
      "tree": "c1e6d5c8dddfa0d9ad643a1df8e92f26700e3143",
      "parents": [
        "fb58bac5c75bfff8bbf7d02071a10a62f32fe28b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Dec 03 18:00:07 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:03:09 2009 +0100"
      },
      "message": "sched: cgroup: Implement different treatment for idle shares\n\nWhen setting the weight for a per-cpu task-group, we have to put in a\nphantom weight when there is no work on that cpu, otherwise we\u0027ll not\nservice that cpu when new work gets placed there until we again update\nthe per-cpu weights.\n\nWe used to add these phantom weights to the total, so that the idle\nper-cpu shares don\u0027t get inflated, this however causes the non-idle\nparts to get deflated, causing unexpected weight distibutions.\n\nReverse this, so that the non-idle shares are correct but the idle\nshares are inflated.\n\nReported-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nTested-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1257934048.23203.76.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fb58bac5c75bfff8bbf7d02071a10a62f32fe28b",
      "tree": "b2ff68b388efa043c152d75254da27171ea5e586",
      "parents": [
        "6cecd084d0fd27bb1e498e2829fd45846d806856"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Dec 01 12:21:47 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:03:08 2009 +0100"
      },
      "message": "sched: Remove unnecessary RCU exclusion\n\nAs Nick pointed out, and realized by myself when doing:\n   sched: Fix balance vs hotplug race\nthe patch:\n   sched: for_each_domain() vs RCU\n\nis wrong, sched_domains are freed after synchronize_sched(), which\nmeans disabling preemption is enough.\n\nReported-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6cecd084d0fd27bb1e498e2829fd45846d806856",
      "tree": "90cc079c942ad35669d1a33957a121c1cb3a88a6",
      "parents": [
        "3a7e73a2e26fffdbc46ba95fc0425418984f5140"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Nov 30 13:00:37 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:03:07 2009 +0100"
      },
      "message": "sched: Discard some old bits\n\nWAKEUP_RUNNING was an experiment, not sure why that ever ended up being\nmerged...\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3a7e73a2e26fffdbc46ba95fc0425418984f5140",
      "tree": "02fdd1c081acfde7522a971bc2969bca76ca90c7",
      "parents": [
        "a65ac745e47e91f9d98dbf07f22ed0492e34d998"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Nov 28 18:51:02 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:03:07 2009 +0100"
      },
      "message": "sched: Clean up check_preempt_wakeup()\n\nStreamline the wakeup preemption code a bit, unifying the preempt path\nso that they all do the same.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a65ac745e47e91f9d98dbf07f22ed0492e34d998",
      "tree": "246b0953cbf4e2d890d71d01cbfb070f8e4b1811",
      "parents": [
        "cd29fe6f2637cc2ccbda5ac65f5332d6bf5fa3c6"
      ],
      "author": {
        "name": "Jupyung Lee",
        "email": "jupyung@gmail.com",
        "time": "Tue Nov 17 18:51:40 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:03:06 2009 +0100"
      },
      "message": "sched: Move update_curr() in check_preempt_wakeup() to avoid redundant call\n\nIf a RT task is woken up while a non-RT task is running,\ncheck_preempt_wakeup() is called to check whether the new task can\npreempt the old task. The function returns quickly without going deeper\nbecause it is apparent that a RT task can always preempt a non-RT task.\n\nIn this situation, check_preempt_wakeup() always calls update_curr() to\nupdate vruntime value of the currently running task. However, the\nfunction call is unnecessary and redundant at that moment because (1) a\nnon-RT task can always be preempted by a RT task regardless of its\nvruntime value, and (2) update_curr() will be called shortly when the\ncontext switch between two occurs.\n\nBy moving update_curr() in check_preempt_wakeup(), we can avoid\nredundant call to update_curr(), slightly reducing the time taken to\nwake up RT tasks.\n\nSigned-off-by: Jupyung Lee \u003cjupyung@gmail.com\u003e\n[ Place update_curr() right before the wake_preempt_entity() call, which\n  is the only thing that relies on the updated vruntime ]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1258451500-6714-1-git-send-email-jupyung@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cd29fe6f2637cc2ccbda5ac65f5332d6bf5fa3c6",
      "tree": "b4206012d424a8c0bce1f260d042c678db0602a2",
      "parents": [
        "ab19cb23313733c55e0517607844b86720b35f5f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 27 17:32:46 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:03:05 2009 +0100"
      },
      "message": "sched: Sanitize fork() handling\n\nCurrently we try to do task placement in wake_up_new_task() after we do\nthe load-balance pass in sched_fork(). This yields complicated semantics\nin that we have to deal with tasks on different RQs and the\nset_task_cpu() calls in copy_process() and sched_fork()\n\nRename -\u003etask_new() to -\u003etask_fork() and call it from sched_fork()\nbefore the balancing, this gives the policy a clear point to place the\ntask.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ab19cb23313733c55e0517607844b86720b35f5f",
      "tree": "0d6780ab6d1e1e97b624e978ed3418e5786646d4",
      "parents": [
        "5afcdab706d6002cb02b567ba46e650215e694e8"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 27 15:44:43 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:03:04 2009 +0100"
      },
      "message": "sched: Clean up ttwu() rq locking\n\nSince set_task_clock() doesn\u0027t rely on rq-\u003eclock anymore we can simplyfy\nthe mess in ttwu().\n\nOptimize things a bit by not fiddling with the IRQ state there.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5afcdab706d6002cb02b567ba46e650215e694e8",
      "tree": "015c3fb61dc8a4217bc83927efd7882e7d494d2b",
      "parents": [
        "970b13bacba14a8cef6f642861947df1d175b0b3"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 27 14:12:25 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:03:03 2009 +0100"
      },
      "message": "sched: Remove rq-\u003eclock coupling from set_task_cpu()\n\nset_task_cpu() should be rq invariant and only touch task state, it\ncurrently fails to do so, which opens up a few races, since not all\ncallers hold both rq-\u003elocks.\n\nRemove the relyance on rq-\u003eclock, as any site calling set_task_cpu()\nshould also do a remote clock update, which should ensure the observed\ntime between these two cpus is monotonic, as per\nkernel/sched_clock.c:sched_clock_remote().\n\nTherefore we can simply remove the clock_offset bits and be happy.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "970b13bacba14a8cef6f642861947df1d175b0b3",
      "tree": "9baa1fe0074b25ccacd58b2da98a3d2fa1e46d16",
      "parents": [
        "6b314d0e11924c803bf8cd944e87fd58cdb5088c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Nov 25 13:31:39 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:03:02 2009 +0100"
      },
      "message": "sched: Consolidate select_task_rq() callers\n\nSmall cleanup.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\n[ v2: build fix ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6b314d0e11924c803bf8cd944e87fd58cdb5088c",
      "tree": "27fda1b12e7552d2fd384378a67639ec8643bc38",
      "parents": [
        "dba091b9e3522b9d32fc9975e48d3b69633b45f0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 02 18:58:05 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:03:01 2009 +0100"
      },
      "message": "sched: Remove sysctl.sched_features\n\nSince we\u0027ve had a much saner debugfs interface to this, remove the\nsysctl one.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\n[ v2: build fix ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dba091b9e3522b9d32fc9975e48d3b69633b45f0",
      "tree": "91549e3921971b6d0074fd34c29223b593381c8a",
      "parents": [
        "3160568371da441b7f2fb57f2f1225404207e8f2"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 09 09:32:03 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:01:07 2009 +0100"
      },
      "message": "sched: Protect sched_rr_get_param() access to task-\u003esched_class\n\nsched_rr_get_param calls\ntask-\u003esched_class-\u003eget_rr_interval(task) without protection\nagainst a concurrent sched_setscheduler() call which modifies\ntask-\u003esched_class.\n\nSerialize the access with task_rq_lock(task) and hand the rq\npointer into get_rr_interval() as it\u0027s needed at least in the\nsched_fair implementation.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003calpine.LFD.2.00.0912090930120.3089@localhost.localdomain\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3160568371da441b7f2fb57f2f1225404207e8f2",
      "tree": "bf717db23c352fe14138863157433a79f5edf3e6",
      "parents": [
        "6ad4c18884e864cf4c77f9074d3d1816063f99cd"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Dec 08 20:24:16 2009 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:01:06 2009 +0100"
      },
      "message": "sched: Protect task-\u003ecpus_allowed access in sched_getaffinity()\n\nsched_getaffinity() is not protected against a concurrent\nmodification of the tasks affinity.\n\nSerialize the access with task_rq_lock(task).\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20091208202026.769251187@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ec89a06fd4e12301f11ab039ee07d2353a18addc",
      "tree": "507d33bda6504dd8422b9952156d338b0200fb2b",
      "parents": [
        "b93f7978ad6b46133e9453b90ccc057dc2429e75"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Wed Dec 09 11:30:36 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 09:56:27 2009 +0100"
      },
      "message": "perf_event: Cleanup for cpu_clock_perf_event_update()\n\nUsing atomic64_xchg() instead of atomic64_read() and\natomic64_set().\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nReviewed-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c4B1F19DC.90204@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b93f7978ad6b46133e9453b90ccc057dc2429e75",
      "tree": "f3420ebd5fa80ddb1a4c3e302a64861146104385",
      "parents": [
        "aa5452d70c0d559310598b243b8b1033c10056e7"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Wed Dec 09 11:29:44 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 09:56:27 2009 +0100"
      },
      "message": "perf_event: Allocate children\u0027s perf_event_ctxp at the right time\n\nIn current code, children task will allocate memory for\n\u0027child-\u003eperf_event_ctxp\u0027 if the parent is counted, we can\ndo it only if the parent allowed children inherit it.\n\nIt can save memory and reduce overhead.\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nReviewed-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c4B1F19A8.5040805@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "aa5452d70c0d559310598b243b8b1033c10056e7",
      "tree": "80f1c0b1137722a71623254c93bec20e33f4b19d",
      "parents": [
        "44234adcdce38f83c56e05f808ce656175b4beeb"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Wed Dec 09 11:28:13 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 09:56:27 2009 +0100"
      },
      "message": "perf_event: Clean up __perf_event_init_context()\n\nClean up the code a bit:\n\n - define \u0027perf_cpu_context\u0027 variable with \u0027static\u0027\n - use kzalloc() instead of kmalloc() and memset()\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nReviewed-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c4B1F194D.7080306@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "44234adcdce38f83c56e05f808ce656175b4beeb",
      "tree": "caff2ca7bbf4bf7c0b12652caf739bcc6db5f4d3",
      "parents": [
        "c937fe20cb6d9e24c6ad5f9f0c64d64c78411057"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Dec 09 09:25:48 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 09:48:20 2009 +0100"
      },
      "message": "hw-breakpoints: Modify breakpoints without unregistering them\n\nCurrently, when ptrace needs to modify a breakpoint, like disabling\nit, changing its address, type or len, it calls\nmodify_user_hw_breakpoint(). This latter will perform the heavy and\nracy task of unregistering the old breakpoint and registering a new\none.\n\nThis is racy as someone else might steal the reserved breakpoint\nslot under us, which is undesired as the breakpoint is only\nsupposed to be modified, sometimes in the middle of a debugging\nworkflow. We don\u0027t want our slot to be stolen in the middle.\n\nSo instead of unregistering/registering the breakpoint, just\ndisable it while we modify its breakpoint fields and re-enable it\nafter if necessary.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c1260347148-5519-1-git-send-regression-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ],
  "next": "a7c312bed772c11138409c3a98531e85d690302e"
}
