)]}'
{
  "log": [
    {
      "commit": "58d6c2d72f8628f39e8689fbde8aa177fcf00a37",
      "tree": "0be40bd788856b3cabb99ff258561b15a574f2f3",
      "parents": [
        "d19ca30874f2ad343d054e0b5c0576744afeecd4"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "message": "sched: rt-group: optimize dequeue_rt_stack\n\nNow that the group hierarchy can have an arbitrary depth the O(n^2) nature\nof RT task dequeues will really hurt. Optimize this by providing space to\nstore the tree path, so we can walk it the other way.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d19ca30874f2ad343d054e0b5c0576744afeecd4",
      "tree": "d22f35b7290fff3547d030893de1783695d9978b",
      "parents": [
        "18d95a2832c1392a2d63227a7a6d433cb9f2037e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "message": "sched: debug: add some debug code to handle the full hierarchy\n\nAdd some extra debug output so we can get a better overview of the\nfull hierarchy.\n\nWe print the cgroup path after each cfs_rq, so we can see what group\nwe\u0027re looking at.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "18d95a2832c1392a2d63227a7a6d433cb9f2037e",
      "tree": "fa85b700aa3caac5b1309edd8e31d9b957957a83",
      "parents": [
        "1d3504fcf5606579d60b649d19f44b3871c1ddae"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "message": "sched: fair-group: SMP-nice for group scheduling\n\nImplement SMP nice support for the full group hierarchy.\n\nOn each load-balance action, compile a sched_domain wide view of the full\ntask_group tree. We compute the domain wide view when walking down the\nhierarchy, and readjust the weights when walking back up.\n\nAfter collecting and readjusting the domain wide view, we try to balance the\ntasks within the task_groups. The current approach is a naively balance each\ntask group until we\u0027ve moved the targeted amount of load.\n\nInspired by Srivatsa Vaddsgiri\u0027s previous code and Abhishek Chandra\u0027s H-SMP\npaper.\n\nXXX: there will be some numerical issues due to the limited nature of\n     SCHED_LOAD_SCALE wrt to representing a task_groups influence on the\n     total weight. When the tree is deep enough, or the task weight small\n     enough, we\u0027ll run out of bits.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCC: Abhishek Chandra \u003cchandra@cs.umn.edu\u003e\nCC: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1d3504fcf5606579d60b649d19f44b3871c1ddae",
      "tree": "001a1b57bd7f123fd51361d78d9277b2dcac1bf3",
      "parents": [
        "4d5f35533fb9b2cd553cec6611195bcbfb7ffd84"
      ],
      "author": {
        "name": "Hidetoshi Seto",
        "email": "seto.hidetoshi@jp.fujitsu.com",
        "time": "Tue Apr 15 14:04:23 2008 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "message": "sched, cpuset: customize sched domains, core\n\n[rebased for sched-devel/latest]\n\n - Add a new cpuset file, having levels:\n     sched_relax_domain_level\n\n - Modify partition_sched_domains() and build_sched_domains()\n   to take attributes parameter passed from cpuset.\n\n - Fill newidle_idx for node domains which currently unused but\n   might be required if sched_relax_domain_level become higher.\n\n - We can change the default level by boot option \u0027relax_domain_level\u003d\u0027.\n\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b758149c02638146a835f42097dd1950a6cae638",
      "tree": "a17be39d414eaa6ba6de612c049765f3bbf30efb",
      "parents": [
        "b40b2e8eb52192a8a22d707ed37925792b7bdfd1"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "message": "sched: prepatory code movement\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b40b2e8eb52192a8a22d707ed37925792b7bdfd1",
      "tree": "88a20a3fc5a3d80ad7f5db4cd26255e14fd82642",
      "parents": [
        "f473aa5e025bc8e0c5fe9352f65178a54adadec2"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "message": "sched: rt: multi level group constraints\n\nmulti level rt constraints\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f473aa5e025bc8e0c5fe9352f65178a54adadec2",
      "tree": "4b5f2de42e619c4a6fa62c6bc20474d5d8c9b258",
      "parents": [
        "eff766a65c60237bfa865160c3129de31fab591b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "message": "sched: task_group hierarchy\n\nAdd the full parent\u003c-\u003echild relation thing into task_groups as well.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "eff766a65c60237bfa865160c3129de31fab591b",
      "tree": "c003be272be4bd614485606c77893295f3b175a2",
      "parents": [
        "ec7dc8ac73e4a56ed03b673f026f08c0d547f597"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "message": "sched: fix the task_group hierarchy for UID grouping\n\nUID grouping doesn\u0027t actually have a task_group representing the root of\nthe task_group tree. Add one.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ec7dc8ac73e4a56ed03b673f026f08c0d547f597",
      "tree": "851dd612f2c80e4643d10c18bb33ab5b2df9aa70",
      "parents": [
        "354d60c2ff72d86627dfe2089d186824abf4bb8e"
      ],
      "author": {
        "name": "Dhaval Giani",
        "email": "dhaval@linux.vnet.ibm.com",
        "time": "Sat Apr 19 19:44:59 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:59 2008 +0200"
      },
      "message": "sched: allow the group scheduler to have multiple levels\n\nThis patch makes the group scheduler multi hierarchy aware.\n\n[a.p.zijlstra@chello.nl: rt-parts and assorted fixes]\nSigned-off-by: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "354d60c2ff72d86627dfe2089d186824abf4bb8e",
      "tree": "10cea61ce7036448ed7246820c5575df2a61bb3b",
      "parents": [
        "ea736ed5d353d7a3aa1cf8ce4cf8d947bc353fb2"
      ],
      "author": {
        "name": "Dhaval Giani",
        "email": "dhaval@linux.vnet.ibm.com",
        "time": "Sat Apr 19 19:44:59 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:59 2008 +0200"
      },
      "message": "sched: mix tasks and groups\n\nThis patch allows tasks and groups to exist in the same cfs_rq. With this\nchange the CFS group scheduling follows a 1/(M+N) model from a 1/(1+N)\nfairness model where M tasks and N groups exist at the cfs_rq level.\n\n[a.p.zijlstra@chello.nl: rt bits and assorted fixes]\nSigned-off-by: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nSigned-off-by: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ea736ed5d353d7a3aa1cf8ce4cf8d947bc353fb2",
      "tree": "1675a12c641607c95c67969745dbfa12e7815cb8",
      "parents": [
        "112f53f5d700589de741dca67c77439e96ea94a7"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 25 13:51:45 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:59 2008 +0200"
      },
      "message": "sched: fix checks\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "112f53f5d700589de741dca67c77439e96ea94a7",
      "tree": "1faeaa6a25717b80c8ce0a51a9bf7f5f32d5ac08",
      "parents": [
        "cd8ba7cd9be0192348c2836cb6645d9b2cd2bfd2"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Mar 19 11:43:36 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:59 2008 +0200"
      },
      "message": "sched: old sleeper bonus\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cd8ba7cd9be0192348c2836cb6645d9b2cd2bfd2",
      "tree": "3b4138c7b683c2168ac13be41aab74b49a6bcf1c",
      "parents": [
        "e0982e90cd1ecf59818b137386b7f63debded9cc"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Wed Mar 26 14:23:49 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:59 2008 +0200"
      },
      "message": "sched: add new set_cpus_allowed_ptr function\n\nAdd a new function that accepts a pointer to the \"newly allowed cpus\"\ncpumask argument.\n\nint set_cpus_allowed_ptr(struct task_struct *p, const cpumask_t *new_mask)\n\nThe current set_cpus_allowed() function is modified to use the above\nbut this does not result in an ABI change.  And with some compiler\noptimization help, it may not introduce any additional overhead.\n\nAdditionally, to enforce the read only nature of the new_mask arg, the\n\"const\" property is migrated to sub-functions called by set_cpus_allowed.\nThis silences compiler warnings.\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e0982e90cd1ecf59818b137386b7f63debded9cc",
      "tree": "3cdbfa8a69dca4a9c9596d61bffa32f1b676f09d",
      "parents": [
        "4bdbaad33d0f4d0e9818a38a825f5b75c0296a28"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Wed Mar 26 14:23:48 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:59 2008 +0200"
      },
      "message": "init: move setup of nr_cpu_ids to as early as possible\n\nMove the setting of nr_cpu_ids from sched_init() to start_kernel()\nso that it\u0027s available as early as possible.\n\nNote that an arch has the option of setting it even earlier if need be,\nbut it should not result in a different value than the setup_nr_cpu_ids()\nfunction.\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4bdbaad33d0f4d0e9818a38a825f5b75c0296a28",
      "tree": "36d8ac15fb3d2d4ccb939327a786f8327a403b98",
      "parents": [
        "9d1fe3236a1d64ab687e16b4cbbaa1383352a2c1"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Tue Apr 15 16:35:52 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:59 2008 +0200"
      },
      "message": "sched: remove another cpumask_t variable from stack\n\n    * Remove another cpumask_t variable from stack that was missed in the\n      last kernel_sched_c updates.\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "39106dcf85285e78f3b290022122c76f851379b8",
      "tree": "7fe93aaf6a433920b1c31725f42db30799deaa55",
      "parents": [
        "fb0f330e62d71f7c535251438068199af320cf73"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Tue Apr 08 11:43:03 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:59 2008 +0200"
      },
      "message": "cpumask: use new cpus_scnprintf function\n\n  * Cleaned up references to cpumask_scnprintf() and added new\n    cpulist_scnprintf() interfaces where appropriate.\n\n  * Fix some small bugs (or code efficiency improvments) for various uses\n    of cpumask_scnprintf.\n\n  * Clean up some checkpatch errors.\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7c16ec585c558960a508ccf9a08fcb9ed49b3754",
      "tree": "cca2b12203a10944d7095a07df7292421f578dc9",
      "parents": [
        "c5f59f0833df945eef7ff35f3dc6ba61c5f293dd"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Fri Apr 04 18:11:11 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:59 2008 +0200"
      },
      "message": "cpumask: reduce stack usage in SD_x_INIT initializers\n\n  * Remove empty cpumask_t (and all non-zero/non-null) variables\n    in SD_*_INIT macros.  Use memset(0) to clear.  Also, don\u0027t\n    inline the initializer functions to save on stack space in\n    build_sched_domains().\n\n  * Merge change to include/linux/topology.h that uses the new\n    node_to_cpumask_ptr function in the nr_cpus_node macro into\n    this patch.\n\nDepends on:\n\t[mm-patch]: asm-generic-add-node_to_cpumask_ptr-macro.patch\n\t[sched-devel]: sched: add new set_cpus_allowed_ptr function\n\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c5f59f0833df945eef7ff35f3dc6ba61c5f293dd",
      "tree": "32c1a94847d0154051c79011212d401462723d55",
      "parents": [
        "b53e921ba1cff8453dc9a87a84052fa12d5b30bd"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Fri Apr 04 18:11:10 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:59 2008 +0200"
      },
      "message": "nodemask: use new node_to_cpumask_ptr function\n\n  * Use new node_to_cpumask_ptr.  This creates a pointer to the\n    cpumask for a given node.  This definition is in mm patch:\n\n\tasm-generic-add-node_to_cpumask_ptr-macro.patch\n\n  * Use new set_cpus_allowed_ptr function.\n\nDepends on:\n\t[mm-patch]: asm-generic-add-node_to_cpumask_ptr-macro.patch\n\t[sched-devel]: sched: add new set_cpus_allowed_ptr function\n\t[x86/latest]: x86: add cpus_scnprintf function\n\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Greg Banks \u003cgnb@melbourne.sgi.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b53e921ba1cff8453dc9a87a84052fa12d5b30bd",
      "tree": "021cadb6c58543ecccd95b55fc319f249ebf176e",
      "parents": [
        "f9a86fcbbb1e5542eabf45c9144ac4b6330861a4"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Fri Apr 04 18:11:08 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:59 2008 +0200"
      },
      "message": "generic: reduce stack pressure in sched_affinity\n\n  * Modify sched_affinity functions to pass cpumask_t variables by reference\n    instead of by value.\n\n  * Use new set_cpus_allowed_ptr function.\n\nDepends on:\n\t[sched-devel]: sched: add new set_cpus_allowed_ptr function\n\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Cliff Wickman \u003ccpw@sgi.com\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f9a86fcbbb1e5542eabf45c9144ac4b6330861a4",
      "tree": "0a3f8d57969b2dc8d2663e05d6ee36f9b50ba26a",
      "parents": [
        "f70316dace2bb99730800d47044acb818c6735f6"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Fri Apr 04 18:11:07 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:58 2008 +0200"
      },
      "message": "cpuset: modify cpuset_set_cpus_allowed to use cpumask pointer\n\n  * Modify cpuset_cpus_allowed to return the currently allowed cpuset\n    via a pointer argument instead of as the function return value.\n\n  * Use new set_cpus_allowed_ptr function.\n\n  * Cleanup CPU_MASK_ALL and NODE_MASK_ALL uses.\n\nDepends on:\n\t[sched-devel]: sched: add new set_cpus_allowed_ptr function\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f70316dace2bb99730800d47044acb818c6735f6",
      "tree": "03c0178c8d6c0213a82b800f4a3e00c2da9a4d5c",
      "parents": [
        "fc0e474840d1fd96f28fbd76d4f36b80e7ad1cc3"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Fri Apr 04 18:11:06 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:58 2008 +0200"
      },
      "message": "generic: use new set_cpus_allowed_ptr function\n\n  * Use new set_cpus_allowed_ptr() function added by previous patch,\n    which instead of passing the \"newly allowed cpus\" cpumask_t arg\n    by value,  pass it by pointer:\n\n    -int set_cpus_allowed(struct task_struct *p, cpumask_t new_mask)\n    +int set_cpus_allowed_ptr(struct task_struct *p, const cpumask_t *new_mask)\n\n  * Modify CPU_MASK_ALL\n\nDepends on:\n\t[sched-devel]: sched: add new set_cpus_allowed_ptr function\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "434d53b00d6bb7be0a1d3dcc0d0d5df6c042e164",
      "tree": "9bf697c0891127157e75fea409d8d8167d210fd4",
      "parents": [
        "d366f8cbc16882e93538d9a52423c2f50dad7c06"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Fri Apr 04 18:11:04 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:58 2008 +0200"
      },
      "message": "sched: remove fixed NR_CPUS sized arrays in kernel_sched_c\n\n * Change fixed size arrays to per_cpu variables or dynamically allocated\n   arrays in sched_init() and sched_init_smp().\n\n     (1) static struct sched_entity *init_sched_entity_p[NR_CPUS];\n     (1) static struct cfs_rq *init_cfs_rq_p[NR_CPUS];\n     (1) static struct sched_rt_entity *init_sched_rt_entity_p[NR_CPUS];\n     (1) static struct rt_rq *init_rt_rq_p[NR_CPUS];\n\t static struct sched_group **sched_group_nodes_bycpu[NR_CPUS];\n\n     (1) - these arrays are allocated via alloc_bootmem_low()\n\n * Change sched_domain_debug_one() to use cpulist_scnprintf instead of\n   cpumask_scnprintf.  This reduces the output buffer required and improves\n   readability when large NR_CPU count machines arrive.\n\n * In sched_create_group() we allocate new arrays based on nr_cpu_ids.\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d366f8cbc16882e93538d9a52423c2f50dad7c06",
      "tree": "64202cd91a942dc3ea9b88adb6da562c2fb191a8",
      "parents": [
        "f46bdf2db25dfaff3b611c9711705645cdb03acc"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Fri Apr 04 18:11:12 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:58 2008 +0200"
      },
      "message": "cpumask: Cleanup more uses of CPU_MASK and NODE_MASK\n\n *  Replace usages of CPU_MASK_NONE, CPU_MASK_ALL, NODE_MASK_NONE,\n    NODE_MASK_ALL to reduce stack requirements for large NR_CPUS\n    and MAXNODES counts.\n\n *  In some cases, the cpumask variable was initialized but then overwritten\n    with another value.  This is the case for changes like this:\n\n    -       cpumask_t oldmask \u003d CPU_MASK_ALL;\n    +       cpumask_t oldmask;\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9f0e738f492522a2f70ad9a2a0287e4e966c633a",
      "tree": "e586f800c807ab551754e0a978179b7a2f7f021e",
      "parents": [
        "0297b80339d545045490716fa8591b215fdd9458"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Tue Feb 12 13:30:05 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:58 2008 +0200"
      },
      "message": "sched: fix cpus_allowed settings\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nAcked-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0297b80339d545045490716fa8591b215fdd9458",
      "tree": "3a00c5bd83fc3f0493a2a26b95db0c4a7e4bb691",
      "parents": [
        "32cd756a80aaef657ac09c76e6eff3ba65567790"
      ],
      "author": {
        "name": "Dhaval Giani",
        "email": "dhaval@linux.vnet.ibm.com",
        "time": "Fri Feb 29 10:02:44 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:58 2008 +0200"
      },
      "message": "sched: allow cpuacct stats to be reset\n\nCurrently the schedstats implementation does not allow the statistics\nto be reset. This patch aims to allow that.\n\n  echo 0 \u003e cpuacct.usage\n\nresets the usage. Any other value is not allowed and returns -EINVAL.\n\nSigned-off-by: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "32cd756a80aaef657ac09c76e6eff3ba65567790",
      "tree": "96945c0d1ffb03694757d174ba5969bead89aa31",
      "parents": [
        "48f20a9a9488c432fc86df1ff4b7f4fa895d1183"
      ],
      "author": {
        "name": "Dhaval Giani",
        "email": "dhaval@linux.vnet.ibm.com",
        "time": "Fri Feb 29 10:02:43 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:58 2008 +0200"
      },
      "message": "sched: cleanup cpuacct variable names\n\nChange the variable names to the common convention for the cpuacct\nsubsystem.\n\nSigned-off-by: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "48f20a9a9488c432fc86df1ff4b7f4fa895d1183",
      "tree": "987a41075c8a6640968b6b2054306644e10e4933",
      "parents": [
        "ac086bc22997a2be24fc40fc8d46522fe7e03d11"
      ],
      "author": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Tue Mar 04 15:23:25 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:58 2008 +0200"
      },
      "message": "tasklets: execute tasklets in the same order they were queued\n\nI noticed this when looking at an openswan issue.  Openswan (ab?)uses the\ntasklet API to defer processing of packets in some situations, with one\npacket per tasklet_action().  I started noticing sequences of\nbackwards-ordered sequence numbers coming over the wire, since new tasklets\nare always queued at the head of the list but processed sequentially.\n\nConvert it to instead append new entries to the tail of the list.  As an\nextra bonus, the splicing code in takeover_tasklets() no longer has to\niterate over the list.\n\nSigned-off-by: Olof Johansson \u003colof@lixom.net\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ac086bc22997a2be24fc40fc8d46522fe7e03d11",
      "tree": "7a484ba13acbdf0fa98c896ce58e807b4b5b1af9",
      "parents": [
        "d0b27fa77854b149ad4af08b0fe47fe712a47ade"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:44:58 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:58 2008 +0200"
      },
      "message": "sched: rt-group: smp balancing\n\nCurrently the rt group scheduling does a per cpu runtime limit, however\nthe rt load balancer makes no guarantees about an equal spread of real-\ntime tasks, just that at any one time, the highest priority tasks run.\n\nSolve this by making the runtime limit a global property by borrowing\nexcessive runtime from the other cpus once the local limit runs out.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d0b27fa77854b149ad4af08b0fe47fe712a47ade",
      "tree": "2f4487c108a5132e8d52456567b4a67e78fbb4a6",
      "parents": [
        "57d3da2911787a101a384532f4519f9640bae883"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "message": "sched: rt-group: synchonised bandwidth period\n\nVarious SMP balancing algorithms require that the bandwidth period\nrun in sync.\n\nPossible improvements are moving the rt_bandwidth thing into root_domain\nand keeping a span per rt_bandwidth which marks throttled cpus.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "79b3feffb10417f197d2ab48dd4fa3c0c9e7d788",
      "tree": "78b754d36beddd15f43723faa861e06b239ca47b",
      "parents": [
        "19fb518c2a0c5d88ed22bba7083b7e7bc2a9c231"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Feb 18 13:39:37 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "message": "sched: fix regression with sched yield\n\nBalbir Singh reported:\n\n\u003e 1:mon\u003e t\n\u003e [c0000000e7677da0] c000000000067de0 .sys_sched_yield+0x6c/0xbc\n\u003e [c0000000e7677e30] c000000000008748 syscall_exit+0x0/0x40\n\u003e --- Exception: c01 (System Call) at 00000400001d09e4\n\u003e SP (4000664cb10) is in userspace\n\u003e 1:mon\u003e r\n\u003e cpu 0x1: Vector: 300 (Data Access) at [c0000000e7677aa0]\n\u003e     pc: c000000000068e50: .yield_task_fair+0x94/0xc4\n\u003e     lr: c000000000067de0: .sys_sched_yield+0x6c/0xbc\n\nthe check that should have avoided that is:\n\n        /*\n         * Are we the only task in the tree?\n         */\n        if (unlikely(rq-\u003eload.weight \u003d\u003d curr-\u003ese.load.weight))\n                return;\n\nBut I guess that overlooks rt tasks, they also increase the load.\nSo I guess something like this ought to fix it..\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "19fb518c2a0c5d88ed22bba7083b7e7bc2a9c231",
      "tree": "4233d31e9124110fe73aa83cb3ec4c390924d448",
      "parents": [
        "50df5d6aea6694ca481b8005900401e8c95c2603"
      ],
      "author": {
        "name": "Dmitry Adamushko",
        "email": "dmitry.adamushko@gmail.com",
        "time": "Sun Feb 17 22:34:07 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "message": "latencytop: optimize LT_BACKTRACEDEPTH loops a bit\n\nThere is no need to loop any longer when \u0027same \u003d\u003d 0\u0027.\n\nSigned-off-by: Dmitry Adamushko \u003cdmitry.adamushko@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "50df5d6aea6694ca481b8005900401e8c95c2603",
      "tree": "3b2e2955aceed795f5d54220ee37a859e83c12c6",
      "parents": [
        "02e2b83bd25bb05ac2e69cb31458b7d1b3c70707"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 14 16:09:59 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "message": "sched: remove sysctl_sched_batch_wakeup_granularity\n\nit\u0027s unused.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "02e2b83bd25bb05ac2e69cb31458b7d1b3c70707",
      "tree": "f902ed65b94929aa78509150f52a26661974fac6",
      "parents": [
        "d25ce4cd499a21aab89ff8755f8c4a2800eae25f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 19 01:37:10 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "message": "sched: reenable sync wakeups\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d25ce4cd499a21aab89ff8755f8c4a2800eae25f",
      "tree": "a70f58303a4b1fabfffbf097188a6c67a888ee0e",
      "parents": [
        "1fc8afa4c820fcde3658238eab5c010476ede521"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 17 09:36:53 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "message": "sched: cache hot buddy\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1fc8afa4c820fcde3658238eab5c010476ede521",
      "tree": "6a434a569bb8158e89d071c6d87a42f0fde3f697",
      "parents": [
        "b85d0667268320072ccdeb07c27c25b300ab3724"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 19 01:39:19 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "message": "sched: feat affine wakeups\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b85d0667268320072ccdeb07c27c25b300ab3724",
      "tree": "34bc3926e6524d82d450df5531744fff6b4df560",
      "parents": [
        "0bbd3336eee1e712a290e0dfd1a64cbbdd63a508"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Mar 16 20:03:22 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "message": "sched: introduce SCHED_FEAT_SYNC_WAKEUPS, turn it off\n\nturn off sync wakeups by default. They are not needed anymore - the\nbuddy logic should be smart enough to keep the system from\noverscheduling.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0bbd3336eee1e712a290e0dfd1a64cbbdd63a508",
      "tree": "a44ea1d2a5bf1e9f2975bc55a88167b3fc2104fe",
      "parents": [
        "15934a37324f32e0fda633dc7984a671ea81cd75"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "message": "sched: fix wakeup granularity for buddies\n\nThe wakeup buddy logic didn\u0027t use the same wakeup granularity logic as the\nwakeup preemption did, this might cause the -\u003enext buddy to be selected past\nthe point where we would have preempted had the task been a single running\ninstance.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "15934a37324f32e0fda633dc7984a671ea81cd75",
      "tree": "1f65ac7d910e76b65d0cfcd1c72e156b0a8bd273",
      "parents": [
        "30914a58af9d21c5f1831adabb5d7a800a378675"
      ],
      "author": {
        "name": "Guillaume Chazarain",
        "email": "guichaz@yahoo.fr",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "message": "sched: fix rq-\u003eclock overflows detection with CONFIG_NO_HZ\n\nWhen using CONFIG_NO_HZ, rq-\u003etick_timestamp is not updated every TICK_NSEC.\nWe check that the number of skipped ticks matches the clock jump seen in\n__update_rq_clock().\n\nSigned-off-by: Guillaume Chazarain \u003cguichaz@yahoo.fr\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "30914a58af9d21c5f1831adabb5d7a800a378675",
      "tree": "8e63c0974c94a7e7106160274995f89717991722",
      "parents": [
        "27ec4407790d075c325e1f4da0a19c56953cce23"
      ],
      "author": {
        "name": "Reynes Philippe",
        "email": "tremyfr@yahoo.fr",
        "time": "Mon Mar 17 16:19:05 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "message": "sched: sched.c needs tick.h\n\nkernel/sched.c:506: erreur: implicit declaration of function tick_get_tick_sched\nkernel/sched.c:506: erreur: invalid type argument of -\u003e\nkernel/sched.c:506: erreur: NOHZ_MODE_INACTIVE undeclared (first use in this function)\nkernel/sched.c:506: erreur: (Each undeclared identifier is reported only once\nkernel/sched.c:506: erreur: for each function it appears in.)\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "27ec4407790d075c325e1f4da0a19c56953cce23",
      "tree": "d8c068c4743394eab173995bf085a99dfec257c7",
      "parents": [
        "018d6db4cb5bbdcd65424a16f2dcca692ed32ae4"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 28 21:00:21 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "message": "sched: make cpu_clock() globally synchronous\n\nAlexey Zaytsev reported (and bisected) that the introduction of\ncpu_clock() in printk made the timestamps jump back and forth.\n\nMake cpu_clock() more reliable while still keeping it fast when it\u0027s\ncalled frequently.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "018d6db4cb5bbdcd65424a16f2dcca692ed32ae4",
      "tree": "aee5a5ae44ba3f345c26acf91d419dae1ba6d1e1",
      "parents": [
        "3925e6fc1f774048404fdd910b0345b06c699eb4"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 14 08:53:32 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "message": "sched: re-do \"sched: fix fair sleepers\"\n\nre-apply:\n\n| commit e22ecef1d2658ba54ed7d3fdb5d60829fb434c23\n| Author: Ingo Molnar \u003cmingo@elte.hu\u003e\n| Date:   Fri Mar 14 22:16:08 2008 +0100\n|\n|     sched: fix fair sleepers\n|\n|     Fair sleepers need to scale their latency target down by runqueue\n|     weight. Otherwise busy systems will gain ever larger sleep bonus.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "04305e4aff8b0533dc05f9f6f1a34d0796bd985f",
      "tree": "9938264917b4b9e6e147b883d88fca94c6788b76",
      "parents": [
        "9d57a7f9e23dc30783d245280fc9907cf2c87837"
      ],
      "author": {
        "name": "Ahmed S. Darwish",
        "email": "darwish.07@gmail.com",
        "time": "Sat Apr 19 09:59:43 2008 +1000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sat Apr 19 09:59:43 2008 +1000"
      },
      "message": "Audit: Final renamings and cleanup\n\nRename the se_str and se_rule audit fields elements to\nlsm_str and lsm_rule to avoid confusion.\n\nSigned-off-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Ahmed S. Darwish \u003cdarwish.07@gmail.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "9d57a7f9e23dc30783d245280fc9907cf2c87837",
      "tree": "508b81e213f5dca1097ccf0ece8ba092b168607b",
      "parents": [
        "d7a96f3a1ae279a2129653d6cb18d722f2f00f91"
      ],
      "author": {
        "name": "Ahmed S. Darwish",
        "email": "darwish.07@gmail.com",
        "time": "Sat Mar 01 22:03:14 2008 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sat Apr 19 09:53:46 2008 +1000"
      },
      "message": "SELinux: use new audit hooks, remove redundant exports\n\nSetup the new Audit LSM hooks for SELinux.\nRemove the now redundant exported SELinux Audit interface.\n\nAudit: Export \u0027audit_krule\u0027 and \u0027audit_field\u0027 to the public\nsince their internals are needed by the implementation of the\nnew LSM hook \u0027audit_rule_known\u0027.\n\nSigned-off-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Ahmed S. Darwish \u003cdarwish.07@gmail.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "d7a96f3a1ae279a2129653d6cb18d722f2f00f91",
      "tree": "fc38736f303133f80912f1640f2d4fac0027fe04",
      "parents": [
        "03d37d25e0f91b28c4b6d002be6221f1af4b19d8"
      ],
      "author": {
        "name": "Ahmed S. Darwish",
        "email": "darwish.07@gmail.com",
        "time": "Sat Mar 01 22:01:11 2008 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sat Apr 19 09:52:37 2008 +1000"
      },
      "message": "Audit: internally use the new LSM audit hooks\n\nConvert Audit to use the new LSM Audit hooks instead of\nthe exported SELinux interface.\n\nBasically, use:\nsecurity_audit_rule_init\nsecuirty_audit_rule_free\nsecurity_audit_rule_known\nsecurity_audit_rule_match\n\ninstad of (respectively) :\nselinux_audit_rule_init\nselinux_audit_rule_free\naudit_rule_has_selinux\nselinux_audit_rule_match\n\nSigned-off-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Ahmed S. Darwish \u003cdarwish.07@gmail.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "2a862b32f3da5a2120043921ad301322ad526084",
      "tree": "bb97054b2f648504f670e3eaed2626b547c4d081",
      "parents": [
        "713a04aeaba35bb95d442cdeb52055498519be25"
      ],
      "author": {
        "name": "Ahmed S. Darwish",
        "email": "darwish.07@gmail.com",
        "time": "Sat Mar 01 21:54:38 2008 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sat Apr 19 09:52:34 2008 +1000"
      },
      "message": "Audit: use new LSM hooks instead of SELinux exports\n\nStop using the following exported SELinux interfaces:\nselinux_get_inode_sid(inode, sid)\nselinux_get_ipc_sid(ipcp, sid)\nselinux_get_task_sid(tsk, sid)\nselinux_sid_to_string(sid, ctx, len)\nkfree(ctx)\n\nand use following generic LSM equivalents respectively:\nsecurity_inode_getsecid(inode, secid)\nsecurity_ipc_getsecid*(ipcp, secid)\nsecurity_task_getsecid(tsk, secid)\nsecurity_sid_to_secctx(sid, ctx, len)\nsecurity_release_secctx(ctx, len)\n\nCall security_release_secctx only if security_secid_to_secctx\nsucceeded.\n\nSigned-off-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Ahmed S. Darwish \u003cdarwish.07@gmail.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nReviewed-by: Paul Moore \u003cpaul.moore@hp.com\u003e\n"
    },
    {
      "commit": "73e3e6481f56b3b5b618671a8d32b19a35f84316",
      "tree": "44addba339ca1279a82d6d702e92e6cc2c183810",
      "parents": [
        "4adeaaf51ebcc3f629f5512b96aebb5089388bca",
        "6993fc5bbc5d63ccd55985b39c34417e430e75e9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:37:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:37:41 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt:\n  clocksource: make clocksource watchdog cycle through online CPUs\n  Documentation: move timer related documentation to a single place\n  clockevents: optimise tick_nohz_stop_sched_tick() a bit\n  locking: remove unused double_spin_lock()\n  hrtimers: simplify lockdep handling\n  timers: simplify lockdep handling\n  posix-timers: fix shadowed variables\n  timer_list: add annotations to workqueue.c\n  hrtimer: use nanosleep specific restart_block fields\n  hrtimer: add nanosleep specific restart_block member\n"
    },
    {
      "commit": "9732b6112343df2872518ec6701c8ef729310a05",
      "tree": "9e3dcc461845038da4730c2062eee546348ca445",
      "parents": [
        "9e9abecfc0ff3a9ad2ead954b37bbfcb863c775e",
        "1a9a3e76dde191f82f7a8a66059dcbb4a9f63ff3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:37:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:37:01 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-kgdb\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-kgdb:\n  kgdb: always use icache flush for sw breakpoints\n  kgdb: fix SMP NMI kgdb_handle_exception exit race\n  kgdb: documentation fixes\n  kgdb: allow static kgdbts boot configuration\n  kgdb: add documentation\n  kgdb: Kconfig fix\n  kgdb: add kgdb internal test suite\n  kgdb: fix several kgdb regressions\n  kgdb: kgdboc pl011 I/O module\n  kgdb: fix optional arch functions and probe_kernel_*\n  kgdb: add x86 HW breakpoints\n  kgdb: print breakpoint removed on exception\n  kgdb: clocksource watchdog\n  kgdb: fix NMI hangs\n  kgdb: fix kgdboc dynamic module configuration\n  kgdb: document parameters\n  x86: kgdb support\n  consoles: polling support, kgdboc\n  kgdb: core\n  uaccess: add probe_kernel_write()\n"
    },
    {
      "commit": "d7bb545d86825e635cab33a1dd81ca0ad7b92887",
      "tree": "34da4139ef06ceab6549aea3906639c7413978c8",
      "parents": [
        "75e98b34155264d943aa53edce465e87f3ccbadf",
        "2342e51ba2b52a7f5b78227e6faa4603ed3632a0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:25:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:25:29 2008 -0700"
      },
      "message": "Merge branch \u0027semaphore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc\n\n* \u0027semaphore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc:\n  Remove DEBUG_SEMAPHORE from Kconfig\n  Improve semaphore documentation\n  Simplify semaphore implementation\n  Add down_timeout and change ACPI to use it\n  Introduce down_killable()\n  Generic semaphore implementation\n  Add semaphore.h to kernel_lock.c\n  Fix quota.h includes\n"
    },
    {
      "commit": "4cba84b5d61af81f1f329f4d05170427a9819c39",
      "tree": "aa6f917cd82ff524dc27b2c628ac6d4b88b0fcf6",
      "parents": [
        "7d939fbdfee49e5c06bd27214d25f726fb87a25a",
        "ca68305bf3c76c4a7cd1c77d5423219f39164df8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:19:15 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:19:15 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git390.osdl.marist.edu/pub/scm/linux-2.6\n\n* \u0027for-linus\u0027 of git://git390.osdl.marist.edu/pub/scm/linux-2.6: (36 commits)\n  [S390] Remove code duplication from monreader / dcssblk.\n  [S390] kernel: show last breaking-event-address on oops\n  [S390] lowcore: Change type of lowcores softirq_pending to __u32.\n  [S390] zcrypt: Comments and kernel-doc cleanup\n  [S390] uaccess: Always access the correct address space.\n  [S390] Fix a lot of sparse warnings.\n  [S390] Convert s390 to GENERIC_CLOCKEVENTS.\n  [S390] genirq/clockevents: move irq affinity prototypes/inlines to interrupt.h\n  [S390] Convert monitor calls to function calls.\n  [S390] qdio (new feature): enhancing info-retrieval from QDIO-adapters\n  [S390] replace remaining __FUNCTION__ occurrences\n  [S390] remove redundant display of free swap space in show_mem()\n  [S390] qdio: remove outdated developerworks link.\n  [S390] Add debug_register_mode() function to debug feature API\n  [S390] crypto: use more descriptive function names for init/exit routines.\n  [S390] switch sched_clock to store-clock-extended.\n  [S390] zcrypt: add support for large random numbers\n  [S390] hw_random: allow rng_dev_read() to return hardware errors.\n  [S390] Vertical cpu management.\n  [S390] cpu topology support for s390.\n  ...\n"
    },
    {
      "commit": "18c98b65279c00c3c983a4525161207f1aa6a04b",
      "tree": "21ddeaf029407a08a81843bf35aeb338b2d67dd7",
      "parents": [
        "0e04388f0189fa1f6812a8e1cb6172136eada87e"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Thu Apr 17 18:44:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:17:57 2008 -0700"
      },
      "message": "ptrace_signal subroutine\n\nThis breaks out the ptrace handling from get_signal_to_deliver into a\nnew subroutine.  The actual code there doesn\u0027t change, and it gets\ninlined into nearly identical compiled code.  This makes the function\nsubstantially shorter and thus easier to read, and it nicely isolates\nthe ptrace magic.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nAcked-by: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0e04388f0189fa1f6812a8e1cb6172136eada87e",
      "tree": "4e0bf422e8ed6b61b840ac45dadaca84b954f7ad",
      "parents": [
        "4b119e21d0c66c22e8ca03df05d9de623d0eb50f"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Apr 17 11:37:15 2008 +0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:17:57 2008 -0700"
      },
      "message": "cgroup: fix a race condition in manipulating tsk-\u003ecg_list\n\nWhen I ran a test program to fork mass processes and at the same time\n\u0027cat /cgroup/tasks\u0027, I got the following oops:\n\n  ------------[ cut here ]------------\n  kernel BUG at lib/list_debug.c:72!\n  invalid opcode: 0000 [#1] SMP\n  Pid: 4178, comm: a.out Not tainted (2.6.25-rc9 #72)\n  ...\n  Call Trace:\n   [\u003cc044a5f9\u003e] ? cgroup_exit+0x55/0x94\n   [\u003cc0427acf\u003e] ? do_exit+0x217/0x5ba\n   [\u003cc0427ed7\u003e] ? do_group_exit+0.65/0x7c\n   [\u003cc0427efd\u003e] ? sys_exit_group+0xf/0x11\n   [\u003cc0404842\u003e] ? syscall_call+0x7/0xb\n   [\u003cc05e0000\u003e] ? init_cyrix+0x2fa/0x479\n  ...\n  EIP: [\u003cc04df671\u003e] list_del+0x35/0x53 SS:ESP 0068:ebc7df4\n  ---[ end trace caffb7332252612b ]---\n  Fixing recursive fault but reboot is needed!\n\nAfter digging into the code and debugging, I finlly found out a race\nsituation:\n\n\t\t\t\tdo_exit()\n\t\t\t\t  -\u003ecgroup_exit()\n\t\t\t\t    -\u003eif (!list_empty(\u0026tsk-\u003ecg_list))\n\t\t\t\t        list_del(\u0026tsk-\u003ecg_list);\n\n  cgroup_iter_start()\n    -\u003ecgroup_enable_task_cg_list()\n      -\u003elist_add(\u0026tsk-\u003ecg_list, ..);\n\nIn this case the list won\u0027t be deleted though the process has exited.\n\nWe got two bug reports in the past, which seem to be the same bug as\nthis one:\n\thttp://lkml.org/lkml/2008/3/5/332\n\thttp://lkml.org/lkml/2007/10/17/224\n\nActually sometimes I got oops on list_del, sometimes oops on list_add.\nAnd I can change my test program a bit to trigger other oops.\n\nThe patch has been tested both on x86_32 and x86_64.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1a9a3e76dde191f82f7a8a66059dcbb4a9f63ff3",
      "tree": "d1bfaca84bf03dc79caf70747f7c289558e3c7e9",
      "parents": [
        "56fb70932964927597ce30bbd820471633c72adc"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Tue Apr 01 16:55:28 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 20:05:43 2008 +0200"
      },
      "message": "kgdb: always use icache flush for sw breakpoints\n\nOn the ppc 4xx architecture the instruction cache must be flushed as\nwell as the data cache.  This patch just makes it generic for all\narchitectures where CACHE_FLUSH_IS_SAFE is set to 1.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "56fb70932964927597ce30bbd820471633c72adc",
      "tree": "72654913a07cbc83f174234d4fa0f91b79a2164c",
      "parents": [
        "225a4424ade24e913c081d5a4c4bd71a0fe2e0ac"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Tue Apr 01 16:55:27 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 20:05:43 2008 +0200"
      },
      "message": "kgdb: fix SMP NMI kgdb_handle_exception exit race\n\nFix the problem of protecting the kgdb handle_exception exit\nwhich had an NMI race condition, while trying to restore\nnormal system operation.\n\nThere was a small window after the master processor sets cpu_in_debug\nto zero but before it has set kgdb_active to zero where a\nnon-master processor in an SMP system could receive an NMI and\nre-enter the kgdb_wait() loop.\n\nAs long as the master processor sets the cpu_in_debug before sending\nthe cpu roundup the cpu_in_debug variable can also be used to guard\nagainst the race condition.\n\nThe kgdb_wait() function no longer needs to check\nkgdb_active because it is done in the arch specific code\nand handled along with the nmi traps at the low level.\nThis also allows kgdb_wait() to exit correctly if it was\nentered for some unknown reason due to a spurious NMI that\ncould not be handled by the arch specific code.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "737a460f21febe551ff1d2299b63bae9b154078f",
      "tree": "7a2d9440222c22446e283f6fbc959b4a44270989",
      "parents": [
        "84b5ae15216aa3ea0314f395536ef9829af21e14"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Mar 07 16:34:16 2008 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 20:05:40 2008 +0200"
      },
      "message": "kgdb: fix several kgdb regressions\n\nkgdb core fixes:\n- Check to see that mm-\u003emmap_cache is not null before calling\n  flush_cache_range(), else on arch\u003dARM it will cause a fatal\n  fault.\n\n- Breakpoints should only be restored if they are in the BP_ACTIVE\n  state.\n\n- Fix a typo in comments to \"kgdb_register_io_module\"\n\nx86 kgdb fixes:\n- Fix the x86 arch handler such that on a kill or detach that the\n  appropriate cleanup on the single stepping flags gets run.\n\n- Add in the DIE_NMIWATCHDOG call for x86_64\n\n- Touch the nmi watchdog before returning the system to normal\n  operation after performing any kind of kgdb operation, else\n  the possibility exists to trigger the watchdog.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b4b8ac524d9b6ed7229017145afa1d7afbea4a48",
      "tree": "c1b8ef7b22ebc956c0effd0ad6b5a37290f86bda",
      "parents": [
        "64e9ee3095b61d0300ea548216a57d2536611309"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed Feb 20 13:33:38 2008 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 20:05:39 2008 +0200"
      },
      "message": "kgdb: fix optional arch functions and probe_kernel_*\n\nFix two regressions dealing with the kgdb core.\n\n1) kgdb_skipexception and kgdb_post_primary_code are optional\nfunctions that are only required on archs that need special exception\nfixups.\n\n2) The kernel address space scope must be set on any probe_kernel_*\nfunction or archs such as ARCH\u003darm will not allow access to the kernel\nmemory space.  As an example, it is required to allow the full kernel\naddress space is when you the kernel debugger to inspect a system\ncall.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "64e9ee3095b61d0300ea548216a57d2536611309",
      "tree": "21cf21caafa18b5661ceeaeb4d29e2ed784d0345",
      "parents": [
        "67baf94cd260dc37504dbd15ba3faa2d8cf8a444"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Feb 15 14:55:56 2008 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 20:05:39 2008 +0200"
      },
      "message": "kgdb: add x86 HW breakpoints\n\nAdd HW breakpoints into the arch specific portion of x86 kgdb.  In the\ncurrent x86 kernel.org kernels HW breakpoints are changed out in lazy\nfashion because there is no infrastructure around changing them when\nchanging to a kernel task or entering the kernel mode via a system\ncall.  This lazy approach means that if a user process uses HW\nbreakpoints the kgdb will loose out.  This is an acceptable trade off\nbecause the developer debugging the kernel is assumed to know what is\ngoing on system wide and would be aware of this trade off.\n\nThere is a minor bug fix to the kgdb core so as to correctly call the\nhw breakpoint functions with a valid value from the enum.\n\nThere is also a minor change to the x86_64 startup code when using\nearly HW breakpoints.  When the debugger is connected, the cpu startup\ncode must not zero out the HW breakpoint registers or you cannot hit\nthe breakpoints you are interested in, in the first place.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "67baf94cd260dc37504dbd15ba3faa2d8cf8a444",
      "tree": "0a162e5ddb4166862bb2ba002efa18a0bcb83a57",
      "parents": [
        "7c3078b637882303b1dcf6a16229d0e35f6b60a5"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Feb 15 14:55:55 2008 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 20:05:39 2008 +0200"
      },
      "message": "kgdb: print breakpoint removed on exception\n\nIf kgdb does remove a breakpoint that had a problem on the recursion\ncheck, it should also print the address of the breakpoint.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7c3078b637882303b1dcf6a16229d0e35f6b60a5",
      "tree": "4b1456f81627056eff8750e42481c0b00ac84cf0",
      "parents": [
        "d359752407f8916c29ad53a5c30ac73e338f2797"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Feb 15 14:55:54 2008 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 20:05:38 2008 +0200"
      },
      "message": "kgdb: clocksource watchdog\n\nIn order to not trip the clocksource watchdog, kgdb must touch the\nclocksource watchdog on the return to normal system run state.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dc7d552705215ac50a0617fcf51bb9c736255b8e",
      "tree": "3ca376bdf4e6996edd9e2dabd569a791f050dae8",
      "parents": [
        "c33fa9f5609e918824446ef9a75319d4a802f1f4"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Apr 17 20:05:37 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 20:05:37 2008 +0200"
      },
      "message": "kgdb: core\n\nkgdb core code. Handles the protocol and the arch details.\n\n[ mingo@elte.hu: heavily modified, simplified and cleaned up. ]\n[ xemul@openvz.org: use find_task_by_pid_ns ]\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@web.de\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "714493cd5468f42ca3c4f730a9c17c203abd5059",
      "tree": "9d087ad3b74cb1bd6fbd9be486fc2b361c6407dd",
      "parents": [
        "b17170b2fac96705db3188f093f89e8e838418e4"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Apr 11 15:23:52 2008 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Apr 17 10:43:01 2008 -0400"
      },
      "message": "Improve semaphore documentation\n\nMove documentation from semaphore.h to semaphore.c as requested by\nAndrew Morton.  Also reformat to kernel-doc style and add some more\nnotes about the implementation.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "b17170b2fac96705db3188f093f89e8e838418e4",
      "tree": "3264d8a297cff20338b606559274c36fbf663f04",
      "parents": [
        "f1241c87a16c4fe9f4f51d6ed3589f031c505e8d"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Mar 14 14:35:22 2008 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Apr 17 10:42:54 2008 -0400"
      },
      "message": "Simplify semaphore implementation\n\nBy removing the negative values of \u0027count\u0027 and relying on the wait_list to\nindicate whether we have any waiters, we can simplify the implementation\nby removing the protection against an unlikely race condition.  Thanks to\nDavid Howells for his suggestions.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "f1241c87a16c4fe9f4f51d6ed3589f031c505e8d",
      "tree": "2e0ee0f2b864c89eda9067bda0d8a98596e022e7",
      "parents": [
        "f06d96865861c3dd01520f47e2e61c899db1631f"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Mar 14 13:43:13 2008 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Apr 17 10:42:46 2008 -0400"
      },
      "message": "Add down_timeout and change ACPI to use it\n\nACPI currently emulates a timeout for semaphores with calls to\ndown_trylock and sleep.  This produces horrible behaviour in terms of\nfairness and excessive wakeups.  Now that we have a unified semaphore\nimplementation, adding a real down_trylock is almost trivial.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "f06d96865861c3dd01520f47e2e61c899db1631f",
      "tree": "d2fbd08af06a96b10192f7b27dd3ea2df1bb93d8",
      "parents": [
        "64ac24e738823161693bf791f87adc802cf529ff"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Mar 14 13:19:33 2008 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Apr 17 10:42:40 2008 -0400"
      },
      "message": "Introduce down_killable()\n\ndown_killable() is the functional counterpart of mutex_lock_killable.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "64ac24e738823161693bf791f87adc802cf529ff",
      "tree": "19c0b0cf314d4394ca580c05b86cdf874ce0a167",
      "parents": [
        "e48b3deee475134585eed03e7afebe4bf9e0dba9"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Mar 07 21:55:58 2008 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Apr 17 10:42:34 2008 -0400"
      },
      "message": "Generic semaphore implementation\n\nSemaphores are no longer performance-critical, so a generic C\nimplementation is better for maintainability, debuggability and\nextensibility.  Thanks to Peter Zijlstra for fixing the lockdep\nwarning.  Thanks to Harvey Harrison for pointing out that the\nunlikely() was unnecessary.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6993fc5bbc5d63ccd55985b39c34417e430e75e9",
      "tree": "6a1ea13d3f27a8063a9375689b729479c4e63e22",
      "parents": [
        "3833eecc183ce052e9ac96b39b45121a2d11ac16"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Jan 30 13:30:02 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 17 12:22:31 2008 +0200"
      },
      "message": "clocksource: make clocksource watchdog cycle through online CPUs\n\nThis way it checks if the clocks are synchronized between CPUs too.\nThis might be able to detect slowly drifting TSCs which only\ngo wrong over longer time.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "903b8a8d4835a796f582033802c83283886f4a3d",
      "tree": "11837b4da0000633f90000bb47aaa4fa82a029be",
      "parents": [
        "3f3eafc921e2378954c28cfd0eb10910449f4c11"
      ],
      "author": {
        "name": "Karsten Wiese",
        "email": "fzu@wemgehoertderstaat.de",
        "time": "Thu Feb 28 15:10:50 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 17 12:22:31 2008 +0200"
      },
      "message": "clockevents: optimise tick_nohz_stop_sched_tick() a bit\n\nCall\n\tts \u003d \u0026per_cpu(tick_cpu_sched, cpu);\nand\n\tcpu \u003d smp_processor_id();\nonce instead of twice.\n\nNo functional change done, as changed code runs with local irq off.\nReduces source lines and text size (20bytes on x86_64).\n\n[ akpm@linux-foundation.org: Build fix ]\n\nSigned-off-by: Karsten Wiese \u003cfzu@wemgehoertderstaat.de\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "8e60e05fdc7344415fa69a3883b11f65db967b47",
      "tree": "a0b13c31670221906e8d48cb7bf47dc8f8043918",
      "parents": [
        "0d180406f2914aea3a78ddb880e2fe9ac78a9372"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Apr 04 20:54:10 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 17 12:22:31 2008 +0200"
      },
      "message": "hrtimers: simplify lockdep handling\n\nIn order to avoid the false positive from lockdep, each per-cpu base-\u003elock has\nthe separate lock class and migrate_hrtimers() uses double_spin_lock().\n\nThis is overcomplicated: except for migrate_hrtimers() we never take 2 locks\nat once, and migrate_hrtimers() can use spin_lock_nested().\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "0d180406f2914aea3a78ddb880e2fe9ac78a9372",
      "tree": "deb1f21d29a3ba8e7bdcc186ea78594599fce409",
      "parents": [
        "ee7dd205b5cdbc3231d48e38641efd05f572c52a"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Apr 04 20:54:10 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 17 12:22:31 2008 +0200"
      },
      "message": "timers: simplify lockdep handling\n\nIn order to avoid the false positive from lockdep, each per-cpu base-\u003elock has\nthe separate lock class and migrate_timers() uses double_spin_lock().\n\nThis all is overcomplicated: except for migrate_timers() we never take 2 locks\nat once, and migrate_timers() can use spin_lock_nested().\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "ee7dd205b5cdbc3231d48e38641efd05f572c52a",
      "tree": "050a76fce97dbbfa8097d974140f441113226b3d",
      "parents": [
        "d59b949f771eb3cbe50865c72e13e2a0a8d4d781"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Fri Apr 04 20:54:10 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 17 12:22:30 2008 +0200"
      },
      "message": "posix-timers: fix shadowed variables\n\nFix sparse warnings like this:\nkernel/posix-cpu-timers.c:1090:25: warning: symbol \u0027t\u0027 shadows an earlier one\nkernel/posix-cpu-timers.c:1058:21: originally declared here\n\nSigned-off-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "d59b949f771eb3cbe50865c72e13e2a0a8d4d781",
      "tree": "cf0ca4406e2e82a3c7b7aaaf791a1f4296d1b126",
      "parents": [
        "029a07e0311c7fef968d44b50beca53969cee40b"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Tue Feb 05 00:48:13 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 17 12:22:30 2008 +0200"
      },
      "message": "timer_list: add annotations to workqueue.c\n\nAdd timer list annotations to workqueue.c so we can see the call site\nin the timer stats.\n\nSigned-off-by: Pavel Machek \u003cPavel@suse.cz\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "029a07e0311c7fef968d44b50beca53969cee40b",
      "tree": "a062017b78508e5d91d7063e24f374c21215ff02",
      "parents": [
        "a332d86d3c262cddd3de0bfa90e1910de60b4f95"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Feb 10 09:17:43 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 17 12:22:30 2008 +0200"
      },
      "message": "hrtimer: use nanosleep specific restart_block fields\n\nConvert all the nanosleep related users of restart_block to the\nnew nanosleep specific restart_block fields.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "d7b906897e9caae452947e33674df0a2d6f7e10f",
      "tree": "5df31094a1b24a46369bda89cdf54d5403b1caa9",
      "parents": [
        "43ca5c3a1cefdaa09231d64485b8f676118bf1e0"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+lkml@arm.linux.org.uk",
        "time": "Thu Apr 17 07:46:24 2008 +0200"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Thu Apr 17 07:47:05 2008 +0200"
      },
      "message": "[S390] genirq/clockevents: move irq affinity prototypes/inlines to interrupt.h\n\n\u003e Generic code is not supposed to include irq.h. Replace this include\n\u003e by linux/hardirq.h instead and add/replace an include of linux/irq.h\n\u003e in asm header files where necessary.\n\u003e This change should only matter for architectures that make use of\n\u003e GENERIC_CLOCKEVENTS.\n\u003e Architectures in question are mips, x86, arm, sh, powerpc, uml and sparc64.\n\u003e\n\u003e I did some cross compile tests for mips, x86_64, arm, powerpc and sparc64.\n\u003e This patch fixes also build breakages caused by the include replacement in\n\u003e tick-common.h.\n\nI generally dislike adding optional linux/* includes in asm/* includes -\nI\u0027m nervous about this causing include loops.\n\nHowever, there\u0027s a separate point to be discussed here.\n\nThat is, what interfaces are expected of every architecture in the kernel.\nIf generic code wants to be able to set the affinity of interrupts, then\nthat needs to become part of the interfaces listed in linux/interrupt.h\nrather than linux/irq.h.\n\nSo what I suggest is this approach instead (against Linus\u0027 tree of a\ncouple of days ago) - we move irq_set_affinity() and irq_can_set_affinity()\nto linux/interrupt.h, change the linux/irq.h includes to linux/interrupt.h\nand include asm/irq_regs.h where needed (asm/irq_regs.h is supposed to be\nrarely used include since not much touches the stacked parent context\nregisters.)\n\nBuild tested on ARM PXA family kernels and ARM\u0027s Realview platform\nkernels which both use genirq.\n\n[ tglx@linutronix.de: add GENERIC_HARDIRQ dependencies ]\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "093a07e2fdfaddab7fc7d4adc76cc569c86603d7",
      "tree": "baaa4d86680347a0687ebfbe133d7b253b88102c",
      "parents": [
        "0de19a456cb59106420864927fdec152310f70b6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 15 13:09:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 15 13:09:54 2008 -0700"
      },
      "message": "Fix locking bug in \"acquire_console_semaphore_for_printk()\"\n\nWhen I cleaned up printk() and split up the printk locking logic in\ncommit 266c2e0abeca649fa6667a1a427ad1da507c6375 (\"Make printk() console\nsemaphore accesses sensible\") I had incorrectly moved the call to\nhave_callable_console() outside of the console semaphore.\n\nThat was buggy.  The console semaphore protects the console_drivers list\nthat is used by have_callable_console().\n\nThanks go to Bongani Hlope who saw this as a hang on shutdown and reboot\nand bisected the bug to the right commit, and tested this patch. See\n\n\thttp://lkml.org/lkml/2008/4/11/315\n\nBisected-and-tested-by: Bongani Hlope \u003cbonganilinux@mweb.co.za\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e2df9e0905136eebeca66eb9a994ca48d0fa7990",
      "tree": "a349fbb43871b173703f14bf325545e491de7bff",
      "parents": [
        "120dd64cacd4fb796bca0acba3665553f1d9ecaa"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 14 08:50:02 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 14 14:26:23 2008 +0200"
      },
      "message": "revert \"sched: fix fair sleepers\"\n\nrevert \"sched: fix fair sleepers\" (e22ecef1d2658ba54ed7d3fdb5d60829fb434c23),\nbecause it is causing audio skipping, see:\n\n   http://bugzilla.kernel.org/show_bug.cgi?id\u003d10428\n\nthe patch is correct and the real cause of the skipping is not\nunderstood (tracing makes it go away), but time has run out so we\u0027ll\nrevert it and re-try in 2.6.26.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b6c3006d204a0b86e1ebe02ca38f9f071a03c7ef",
      "tree": "f8f4487b8fe5dedb804c876c3e6f7df90f6b209d",
      "parents": [
        "d10d89ec78114f925f63c5126a2b2490f501a462"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Thu Apr 10 21:29:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 11 08:06:43 2008 -0700"
      },
      "message": "cgroups: include hierarchy ids in /proc/\u003cpid\u003e/cgroup\n\nExtend the /proc/\u003cpid\u003e/cgroup file to include the appropriate hierarchy ID on\neach line.\n\nCurrently this ID isn\u0027t really needed since a hierarchy can be completely\nidentified by the set of subsystems bound to it, but this is likely to change\nin the near future in order to support stateless subsystems and\nmerging/rebinding of subsystems.  Getting this change into 2.6.25 reduces the\nneed for an API change later.\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "54a015104136974262afa4b8ddd943ea70dec8a2",
      "tree": "713f0c1f4d0afe62e5c568a424e309f70388cf7f",
      "parents": [
        "783e391b7b5b273cd20856d8f6f4878da8ec31b3"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Thu Apr 10 15:37:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 10 17:28:26 2008 -0700"
      },
      "message": "asmlinkage_protect replaces prevent_tail_call\n\nThe prevent_tail_call() macro works around the problem of the compiler\nclobbering argument words on the stack, which for asmlinkage functions\nis the caller\u0027s (user\u0027s) struct pt_regs.  The tail/sibling-call\noptimization is not the only way that the compiler can decide to use\nstack argument words as scratch space, which we have to prevent.\nOther optimizations can do it too.\n\nUntil we have new compiler support to make \"asmlinkage\" binding on the\ncompiler\u0027s own use of the stack argument frame, we have work around all\nthe manifestations of this issue that crop up.\n\nMore cases seem to be prevented by also keeping the incoming argument\nvariables live at the end of the function.  This makes their original\nstack slots attractive places to leave those variables, so the compiler\ntends not clobber them for something else.  It\u0027s still no guarantee, but\nit handles some observed cases that prevent_tail_call() did not.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8bab8dded67d026c39367bbd5e27d2f6c556c38e",
      "tree": "d80f8f85f1da496c56bfa8575f0b59eba7c2ef55",
      "parents": [
        "3a143125ddc4e2e0ca1e67fb4bedd45c36e59cc7"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Fri Apr 04 14:29:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 04 14:46:26 2008 -0700"
      },
      "message": "cgroups: add cgroup support for enabling controllers at boot time\n\nThe effects of cgroup_disable\u003dfoo are:\n\n- foo isn\u0027t auto-mounted if you mount all cgroups in a single hierarchy\n- foo isn\u0027t visible as an individually mountable subsystem\n\nAs a result there will only ever be one call to foo-\u003ecreate(), at init time;\nall processes will stay in this group, and the group will never be mounted on\na visible hierarchy.  Any additional effects (e.g.  not allocating metadata)\nare up to the foo subsystem.\n\nThis doesn\u0027t handle early_init subsystems (their \"disabled\" bit isn\u0027t set be,\nbut it could easily be extended to do so if any of the early_init systems\nwanted it - I think it would just involve some nastier parameter processing\nsince it would occur before the command-line argument parser had been run.\n\nHugh said:\n\n  Ballpark figures, I\u0027m trying to get this question out rather than\n  processing the exact numbers: CONFIG_CGROUP_MEM_RES_CTLR adds 15% overhead\n  to the affected paths, booting with cgroup_disable\u003dmemory cuts that back to\n  1% overhead (due to slightly bigger struct page).\n\n  I\u0027m no expert on distros, they may have no interest whatever in\n  CONFIG_CGROUP_MEM_RES_CTLR\u003dy; and the rest of us can easily build with or\n  without it, or apply the cgroup_disable\u003dmemory patches.\n\nUnix bench\u0027s execl test result on x86_64 was\n\n\u003d\u003d just after boot without mounting any cgroup fs.\u003d\u003d\nmem_cgorup\u003doff : Execl Throughput       43.0     3150.1      732.6\nmem_cgroup\u003don  : Execl Throughput       43.0     2932.6      682.0\n\u003d\u003d\n\n[lizf@cn.fujitsu.com: fix boot option parsing]\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Sudhir Kumar \u003cskumar@linux.vnet.ibm.com\u003e\nCc: YAMAMOTO Takashi \u003cyamamoto@valinux.co.jp\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6496968e6cc3f01faafa63a5a28549a708539ac0",
      "tree": "de0af9ad6750690d6815f3e263fe2bc188591fa8",
      "parents": [
        "629c8b4cdb354518308663aff2f719e02f69ffbe"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Wed Apr 02 13:04:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 02 15:28:19 2008 -0700"
      },
      "message": "markers: use synchronize_sched()\n\nMarkers do not mix well with CONFIG_PREEMPT_RCU because it uses\npreempt_disable/enable() and not rcu_read_lock/unlock for minimal\nintrusiveness.  We would need call_sched and sched_barrier primitives.\n\nCurrently, the modification (connection and disconnection) of probes\nfrom markers requires changes to the data structure done in RCU-style :\na new data structure is created, the pointer is changed atomically, a\nquiescent state is reached and then the old data structure is freed.\n\nThe quiescent state is reached once all the currently running\npreempt_disable regions are done running.  We use the call_rcu mechanism\nto execute kfree() after such quiescent state has been reached.\nHowever, the new CONFIG_PREEMPT_RCU version of call_rcu and rcu_barrier\ndoes not guarantee that all preempt_disable code regions have finished,\nhence the race.\n\nThe \"proper\" way to do this is to use rcu_read_lock/unlock, but we don\u0027t\nwant to use it to minimize intrusiveness on the traced system.  (we do\nnot want the marker code to call into much of the OS code, because it\nwould quickly restrict what can and cannot be instrumented, such as the\nscheduler).\n\nThe temporary fix, until we get call_rcu_sched and rcu_barrier_sched in\nmainline, is to use synchronize_sched before each call_rcu calls, so we\nwait for the quiescent state in the system call code path.  It will slow\ndown batch marker enable/disable, but will make sure the race is gone.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8481664d373e7e2cea3ea0c2d7a06c9e939b19ee",
      "tree": "83b81b68e453d8880ae92c811e4f138eb8140038",
      "parents": [
        "9dce07f1a441b77a15631cf0ed0238e0baa7ed64"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sat Mar 29 03:07:58 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 30 14:18:41 2008 -0700"
      },
      "message": "futex_compat __user annotation\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9dce07f1a441b77a15631cf0ed0238e0baa7ed64",
      "tree": "2131d670d31ae4727b4234e3e0ad176ae103d571",
      "parents": [
        "1076d17ac70d1bb28fadc6f4bd96977b56897025"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sat Mar 29 03:07:28 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 30 14:18:41 2008 -0700"
      },
      "message": "NULL noise: fs/*, mm/*, kernel/*\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f706d5d22c35e18ed13a4b2b4991aac75bf39df5",
      "tree": "89de67dd7ea1a72cbf6147bbb8a3b7cfb6e746ae",
      "parents": [
        "5214b729e1c2dc3af8f55e6c4c548844c3bea0f5"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@codemonkey.org.uk",
        "time": "Fri Mar 28 14:15:56 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 28 14:45:21 2008 -0700"
      },
      "message": "audit: silence two kerneldoc warnings in kernel/audit.c\n\nSilence two kerneldoc warnings.\n\nWarning(kernel/audit.c:1276): No description found for parameter \u0027string\u0027\nWarning(kernel/audit.c:1276): No description found for parameter \u0027len\u0027\n\n[also fix a typo for bonus points]\n\nSigned-off-by: Dave Jones \u003cdavej@codemonkey.org.uk\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1d4a788f15302877ff2cb08f22009e290a36a209",
      "tree": "51d2733fb81a75903e4b0f8a5d2ce9f903361ff0",
      "parents": [
        "8c703d35fa91911dd92a18c31a718853f483ad80"
      ],
      "author": {
        "name": "YAMAMOTO Takashi",
        "email": "yamamoto@valinux.co.jp",
        "time": "Fri Mar 28 14:15:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 28 14:45:21 2008 -0700"
      },
      "message": "memcgroup: fix spurious EBUSY on memory cgroup removal\n\nCall mm_free_cgroup earlier.  Otherwise a reference due to lazy mm switching\ncan prevent cgroup removal.\n\nSigned-off-by: YAMAMOTO Takashi \u003cyamamoto@valinux.co.jp\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f6d107fb10def502522b10bfb7af9533afbb8274",
      "tree": "7fcf68e80a964a71b642d2bc1886c8060ae78fd3",
      "parents": [
        "ee20a0dd5400e771ff93eb7f2bcc731eab1f377e"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@ozlabs.org",
        "time": "Thu Mar 27 14:52:15 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 27 08:02:13 2008 -0700"
      },
      "message": "Give futex init a proper name\n\nThe futex init function is called init(). This is a pain in the neck\nwhen debugging when you code dies in ... init :-)\n\nThis renames it to futex_init().\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8f404faa72f4e458e7bd81ac75ce55ae829e953d",
      "tree": "46b70d6d86fc619343b4986160bda5e46b86bb18",
      "parents": [
        "729eb528c7e10a4828fece102872ec5255946f64",
        "06d8308c61e54346585b2691c13ee3f90cb6fb2f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 26 11:29:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 26 11:29:35 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt\n\n* \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt:\n  NOHZ: reevaluate idle sleep length after add_timer_on()\n  clocksource: revert: use init_timer_deferrable for clocksource_watchdog\n"
    },
    {
      "commit": "5eb7f9fa847b8ab6e4864bfb8cb45f370844a47c",
      "tree": "6d84d9441eaf31bf471fb98996bb6e5b5ecd875f",
      "parents": [
        "37529fe9f62835e1c11895a1895064748b032dc1"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Mar 26 12:04:09 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Mar 26 12:04:09 2008 +0100"
      },
      "message": "relay: set an spd_release() hook for splice\n\nrelay doesn\u0027t reference the pages it adds, however we need a non-NULL\nhook or splice_to_pipe() can oops.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "37529fe9f62835e1c11895a1895064748b032dc1",
      "tree": "961853665601ae08f85008cae589798bdf8f940d",
      "parents": [
        "05dda977f2574c3341abef9b74c27d2b362e1e3a"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Wed Mar 26 12:01:28 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Mar 26 12:01:28 2008 +0100"
      },
      "message": "set relay file can not be read by pread(2)\n\nI found that relay files can be read by pread(2). I fix it,\nfor relay files are not capable of seeking.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "06d8308c61e54346585b2691c13ee3f90cb6fb2f",
      "tree": "d522e285525964706e7ec112bca23d407a540a8e",
      "parents": [
        "898a19de1502649877091b398229026b4142c0e2"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Mar 22 09:20:24 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 26 08:28:55 2008 +0100"
      },
      "message": "NOHZ: reevaluate idle sleep length after add_timer_on()\n\nadd_timer_on() can add a timer on a CPU which is currently in a long\nidle sleep, but the timer wheel is not reevaluated by the nohz code on\nthat CPU. So a timer can be delayed for quite a long time. This\ntriggered a false positive in the clocksource watchdog code.\n\nTo avoid this we need to wake up the idle CPU and enforce the\nreevaluation of the timer wheel for the next timer event.\n\nAdd a function, which checks a given CPU for idle state, marks the\nidle task with NEED_RESCHED and sends a reschedule IPI to notify the\nother CPU of the change in the timer wheel.\n\nCall this function from add_timer_on().\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: stable@kernel.org\n\n--\n include/linux/sched.h |    6 ++++++\n kernel/sched.c        |   43 +++++++++++++++++++++++++++++++++++++++++++\n kernel/timer.c        |   10 +++++++++-\n 3 files changed, 58 insertions(+), 1 deletion(-)\n\n"
    },
    {
      "commit": "898a19de1502649877091b398229026b4142c0e2",
      "tree": "14bb8190db30d356cb1da9e7467898e12bf26a29",
      "parents": [
        "a4083c9271e0a697278e089f2c0b9a95363ada0a"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 25 09:01:51 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 25 20:13:25 2008 +0100"
      },
      "message": "clocksource: revert: use init_timer_deferrable for clocksource_watchdog\n\nRevert\n\ncommit 1077f5a917b7c630231037826b344b2f7f5b903f\nAuthor: Parag Warudkar \u003cparag.warudkar@gmail.com\u003e\nDate:   Wed Jan 30 13:30:01 2008 +0100\n\n    clocksource.c: use init_timer_deferrable for clocksource_watchdog\n    \n    clocksource_watchdog can use a deferrable timer - reduces wakeups from\n    idle per second.\n\nThe watchdog timer needs to run with the specified interval. Otherwise\nit will miss the possible wrap of the watchdog clocksource.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@kernel.org\n\n"
    },
    {
      "commit": "266c2e0abeca649fa6667a1a427ad1da507c6375",
      "tree": "9eb832b4c5de234cc789eae00a36a1337cefe451",
      "parents": [
        "5f7b703fe2be40db5a2bf136ac9e44cf5db267cc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 24 19:25:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 24 19:25:08 2008 -0700"
      },
      "message": "Make printk() console semaphore accesses sensible\n\nThe printk() logic on when/how to get the console semaphore was\nunreadable, this splits the code up into a few helper functions and\nmakes it easier to follow what is going on.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5f7b703fe2be40db5a2bf136ac9e44cf5db267cc",
      "tree": "aa7da3bcd7a1e50cf2be75f633ce19ae3bf0ae9c",
      "parents": [
        "a846a1954b6397e844fe1e258af7598897ec6159"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Mar 24 12:29:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 24 19:22:20 2008 -0700"
      },
      "message": "bsd_acct: using task_struct-\u003etgid is not right in pid-namespaces\n\nIn case we\u0027re accounting from a sub-namespace, the tgids reported will not\nrefer to the right namespace.\n\nSave the pid_namespace we\u0027re accounting in on the acct_glbs and use it in\ndo_acct_process.\n\nTwo less :) places using the task_struct.tgid member.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a846a1954b6397e844fe1e258af7598897ec6159",
      "tree": "a90b3a593d528c299fd90e9e84fe17a7cdb23733",
      "parents": [
        "4dd4b920218326231156c7991ce5b94afad841c3"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Mar 24 12:29:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 24 19:22:19 2008 -0700"
      },
      "message": "bsd_acct: plain current-\u003ereal_parent access is not always safe\n\nThis is minor, but dereferencing even current real_parent is not safe on debug\nkernels, since the memory, this points to, can be unmapped - RCU protection is\nrequired.\n\nBesides, the tgid field is deprecated and is to be replaced with task_tgid_xxx\ncall (the 2nd patch), so RCU will be required anyway.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "58336114af4d2cce830201aae49e50b93ede6c5c",
      "tree": "e3df187b38657b86953a5ead5b022572c35c8288",
      "parents": [
        "fd3c36f8b527d13cf311d15e0702bc0390956970"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Mon Mar 24 12:29:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 24 19:22:19 2008 -0700"
      },
      "message": "markers: remove ACCESS_ONCE\n\nAs Paul pointed out, the ACCESS_ONCE are not needed because we already have\nthe explicit surrounding memory barriers.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Mike Mason \u003cmmlnx@us.ibm.com\u003e\nCc: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nCc: David Smith \u003cdsmith@redhat.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Adrian Bunk \u003cadrian.bunk@movial.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fd3c36f8b527d13cf311d15e0702bc0390956970",
      "tree": "7eb9426b914e21e92a7016a54ccc74cc132057ae",
      "parents": [
        "5a982cbc7b3fe6cf72266f319286f29963c71b9e"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Mon Mar 24 12:29:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 24 19:22:19 2008 -0700"
      },
      "message": "markers: update preempt_disable. call_rcu, rcu_barrier comments\n\nAdd comments requested by Andrew.\n\nUpdated comments about synchronize_sched().  Since we use call_rcu and\nrcu_barrier now, these comments were out of sync with the code.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Mike Mason \u003cmmlnx@us.ibm.com\u003e\nCc: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nCc: David Smith \u003cdsmith@redhat.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Adrian Bunk \u003cadrian.bunk@movial.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "92896bd9fd75b1c993b92874d339a8088bb75560",
      "tree": "2bd8bc5a8c8ee10a4b1fd62804281d2b486067f0",
      "parents": [
        "d2532dd20a126020de407c1c2476a75b53fce7ac"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 24 11:07:15 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 24 11:07:15 2008 -0700"
      },
      "message": "Don\u0027t \u0027printk()\u0027 while holding xtime lock for writing\n\nThe printk() can deadlock because it can wake up klogd(), and\ntask enqueueing will try to read the time in order to set a hrtimer.\n\nReported-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nDebugged-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "22e52b072dd87faa9b2559fe89d4e8f2370f81ca",
      "tree": "79e71d0aad3c9ea9f326977c3a3ff1dceaec81b5",
      "parents": [
        "9aefd0abd8610e8f3bb097debf3afb73f8b7b210"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Mar 12 18:31:59 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 21 16:43:48 2008 +0100"
      },
      "message": "sched: add arch_update_cpu_topology hook.\n\nWill be called each time the scheduling domains are rebuild.\nNeeded for architectures that don\u0027t have a static cpu topology.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9aefd0abd8610e8f3bb097debf3afb73f8b7b210",
      "tree": "3456c6949cd8b9c926aa9beef7c9bf99d0a84caa",
      "parents": [
        "23e3c3cd2e39a3c9d07ee07d882c8cf6ddd61c86"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Mar 12 18:31:58 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 21 16:43:47 2008 +0100"
      },
      "message": "sched: add exported arch_reinit_sched_domains() to header file.\n\nNeeded so it can be called from outside of sched.c.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "23e3c3cd2e39a3c9d07ee07d882c8cf6ddd61c86",
      "tree": "a728df75b68d5648ea6d6627125c48f6d56fe1a8",
      "parents": [
        "2070ee01d314ecec8a570c07647ccf4ced6340bb"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "12o3l@tiscali.nl",
        "time": "Thu Mar 13 17:41:59 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 21 16:43:47 2008 +0100"
      },
      "message": "sched: remove double unlikely from schedule()\n\nCombine two unlikely\u0027s\n\nSigned-off-by: Roel Kluin \u003c12o3l@tiscali.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2070ee01d314ecec8a570c07647ccf4ced6340bb",
      "tree": "e7a3c95e9c8ae06917e00a40fcb6cae1c4a9c924",
      "parents": [
        "ae51801ba5ca27c2c571eb508daa99b392e79bd4"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Mar 21 16:43:47 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 21 16:43:47 2008 +0100"
      },
      "message": "sched: cleanup old and rarely used \u0027debug\u0027 features.\n\nTREE_AVG and APPROX_AVG are initial task placement policies that have been\ndisabled for a long while.. time to remove them.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCC: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7d3628b230ecbdc29566c18bc7800ff8ed66a71f",
      "tree": "eac1bff40bdb655fdfdeaf1e22ce12a81296f1fb",
      "parents": [
        "2c7871982cf27caaddbaeb7e2121ce1374b520ff",
        "94833dfb8c98ed4ca1944dd2c1339d88a2d1c758"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 21 07:57:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 21 07:57:45 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (46 commits)\n  [NET] ifb: set separate lockdep classes for queue locks\n  [IPV6] KCONFIG: Fix description about IPV6_TUNNEL.\n  [TCP]: Fix shrinking windows with window scaling\n  netpoll: zap_completion_queue: adjust skb-\u003eusers counter\n  bridge: use time_before() in br_fdb_cleanup()\n  [TG3]: Fix build warning on sparc32.\n  MAINTAINERS: bluez-devel is subscribers-only\n  audit: netlink socket can be auto-bound to pid other than current-\u003epid (v2)\n  [NET]: Fix permissions of /proc/net\n  [SCTP]: Fix a race between module load and protosw access\n  [NETFILTER]: ipt_recent: sanity check hit count\n  [NETFILTER]: nf_conntrack_h323: logical-bitwise \u0026 confusion in process_setup()\n  [RT2X00] drivers/net/wireless/rt2x00/rt2x00dev.c: remove dead code, fix warning\n  [IPV4]: esp_output() misannotations\n  [8021Q]: vlan_dev misannotations\n  xfrm: -\u003eeth_proto is __be16\n  [IPV4]: ipv4_is_lbcast() misannotations\n  [SUNRPC]: net/* NULL noise\n  [SCTP]: fix misannotated __sctp_rcv_asconf_lookup()\n  [PKT_SCHED]: annotate cls_u32\n  ...\n"
    },
    {
      "commit": "75c0371a2d385ecbd6e1f854d9dce20889f06736",
      "tree": "34a9988cfb3077c88a44b904f466d129b01caae9",
      "parents": [
        "4f42c288e66a3395e94158badbd182b2dae8eccb"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Mar 20 15:39:41 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 20 15:39:41 2008 -0700"
      },
      "message": "audit: netlink socket can be auto-bound to pid other than current-\u003epid (v2)\n\nFrom:\tPavel Emelyanov \u003cxemul@openvz.org\u003e\n\nThis patch is based on the one from Thomas.\n\nThe kauditd_thread() calls the netlink_unicast() and passes \nthe audit_pid to it. The audit_pid, in turn, is received from \nthe user space and the tool (I\u0027ve checked the audit v1.6.9) \nuses getpid() to pass one in the kernel. Besides, this tool \ndoesn\u0027t bind the netlink socket to this id, but simply creates \nit allowing the kernel to auto-bind one.\n\nThat\u0027s the preamble.\n\nThe problem is that netlink_autobind() _does_not_ guarantees\nthat the socket will be auto-bound to the current pid. Instead\nit uses the current pid as a hint to start looking for a free\nid. So, in case of conflict, the audit messages can be sent\nto a wrong socket. This can happen (it\u0027s unlikely, but can be)\nin case some task opens more than one netlink sockets and then\nthe audit one starts - in this case the audit\u0027s pid can be busy\nand its socket will be bound to another id.\n\nThe proposal is to introduce an audit_nlk_pid in audit subsys,\nthat will point to the netlink socket to send packets to. It\nwill most often be equal to audit_pid. The socket id can be \ngot from the skb\u0027s netlink CB right in the audit_receive_msg.\nThe audit_nlk_pid reset to 0 is not required, since all the\ndecisions are taken based on audit_pid value only.\n\nLater, if the audit tools will bind the socket themselves, the\nkernel will have to provide a way to setup the audit_nlk_pid\nas well.\n\nA good side effect of this patch is that audit_pid can later \nbe converted to struct pid, as it is not longer safe to use \npid_t-s in the presence of pid namespaces. But audit code still \nuses the tgid from task_struct in the audit_signal_info and in\nthe audit_filter_syscall.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "3150e63df41450a795bbd0bd98a8e70da74e0285"
}
