)]}'
{
  "log": [
    {
      "commit": "6e7c402590b75b6b45138792445ee0f0315a8473",
      "tree": "94db814d496502932ab55acc560a728925f87540",
      "parents": [
        "b02aae9cf52956dfe1bec73f77f81a3d05d3902b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:05 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:05 2008 +0100"
      },
      "message": "x86: various changes and cleanups to in_p/out_p delay details\n\nvarious changes to the in_p/out_p delay details:\n\n- add the io_delay\u003dnone method\n- make each method selectable from the kernel config\n- simplify the delay code a bit by getting rid of an indirect function call\n- add the /proc/sys/kernel/io_delay_type sysctl\n- change \u0027io_delay\u003dstandard|alternate\u0027 to io_delay\u003d0x80 and io_delay\u003d0xed\n- make the io delay config not depend on CONFIG_DEBUG_KERNEL\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nTested-by: \"David P. Reed\" \u003cdpreed@reed.com\u003e\n"
    },
    {
      "commit": "6378ddb592158db4b42197f1bc8666228800e379",
      "tree": "f9b1e671dfd12fb221f6140dd231ccb14cd9f27e",
      "parents": [
        "bbe4d18ac2e058c56adb0cd71f49d9ed3216a405"
      ],
      "author": {
        "name": "Venki Pallipadi",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Wed Jan 30 13:30:04 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:04 2008 +0100"
      },
      "message": "time: track accurate idle time with tick_sched.idle_sleeptime\n\nCurrent idle time in kstat is based on jiffies and is coarse grained.\ntick_sched.idle_sleeptime is making some attempt to keep track of idle time\nin a fine grained manner.  But, it is not handling the time spent in\ninterrupts fully.\n\nMake tick_sched.idle_sleeptime accurate with respect to time spent on\nhandling interrupts and also add tick_sched.idle_lastupdate, which keeps\ntrack of last time when idle_sleeptime was updated.\n\nThis statistics will be crucial for cpufreq-ondemand governor, which can\nshed some conservative gaurd band that is uses today while setting the\nfrequency.  The ondemand changes that uses the exact idle time is coming\nsoon.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "bbe4d18ac2e058c56adb0cd71f49d9ed3216a405",
      "tree": "bc81b3a04cc01fed11ac47673475bf4019cc013f",
      "parents": [
        "37a47db8d7f0f38dac5acf5a13abbc8f401707fa"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Wed Jan 30 13:30:03 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:03 2008 +0100"
      },
      "message": "NTP: correct inconsistent ntp interval/tick_length usage\n\nI recently noticed on one of my boxes that when synched with an NTP\nserver, the drift value reported for the system was ~283ppm. While in\nsome cases, clock hardware can be that bad, it struck me as unusual as\nthe system was using the acpi_pm clocksource, which is one of the more\ntrustworthy and accurate clocksources on x86 hardware.\n\nI brought up another system and let it sync to the same NTP server, and\nI noticed a similar 280some ppm drift.\n\nIn looking at the code, I found that the acpi_pm\u0027s constant frequency\nwas being computed correctly at boot-up, however once the system was up,\neven without the ntp daemon running, the clocksource\u0027s frequency was\nbeing modified by the clocksource_adjust() function.\n\nDigging deeper, I realized that in the code that keeps track of how much\nthe clocksource is skewing from the ntp desired time, we were using\ndifferent lengths to establish how long an time interval was.\n\nThe clocksource was being setup with the following interval:\n\tNTP_INTERVAL_LENGTH \u003d NSEC_PER_SEC/NTP_INTERVAL_FREQ\n\nWhile the ntp code was using the tick_length_base value:\n\ttick_length_base ~\u003d (tick_usec * NSEC_PER_USEC * USER_HZ)\n\t\t\t\t\t/NTP_INTERVAL_FREQ\n\nThe subtle difference is:\n\t(tick_usec * NSEC_PER_USEC * USER_HZ) !\u003d NSEC_PER_SEC\n\nThis difference in calculation was causing the clocksource correction\ncode to apply a correction factor to the clocksource so the two\nintervals were the same, however this results in the actual frequency of\nthe clocksource to be made incorrect. I believe this difference would\naffect all clocksources, although to differing degrees depending on the\nclocksource resolution.\n\nThe issue was introduced when my HZ free ntp patch landed in 2.6.21-rc1,\nso my apologies for the mistake, and for not noticing it until now.\n\nThe following patch, corrects the clocksource\u0027s initialization code so\nit uses the same interval length as the code in ntp.c. After applying\nthis patch, the drift value for the same system went from ~283ppm to\nonly 2.635ppm.\n\nI believe this patch to be good, however it does affect all arches and\nI\u0027ve only tested on x86, so some caution is advised. I do think it would\nbe a likely candidate for a stable 2.6.24.x release.\n\nAny thoughts or feedback would be appreciated.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "45fe4fe19120a22f7339f5bb110447170c25fca9",
      "tree": "06639135ca5bc60e952670dd7df40e195edb2ad9",
      "parents": [
        "1a0c009ac53de4a7664a1239936f0bc258133156"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:03 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:03 2008 +0100"
      },
      "message": "x86: make clockevents more robust\n\ndetect zero event-device multiplicators - they then cause\ndivision-by-zero crashes if a clockevent has been initialized\nincorrectly.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4713e22ce81eb8b3353e16435362eb3d0ec95640",
      "tree": "6f96151bd9b182d6b9d706d3ad3b4fe8c99e7f7e",
      "parents": [
        "316da3b3fc8efa9a5d2c99e0d449f01ff38c6aba"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jan 30 13:30:02 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:02 2008 +0100"
      },
      "message": "clocksource: add unregister function to disable unusable clocksources\n\nOn x86 the PIT might become an unusable clocksource. Add an unregister\nfunction to provide a possibilty to remove the PIT from the list of\navailable clock sources.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1ada5cba6a0318f90e45b38557e7b5206a9cba38",
      "tree": "262886af88fe55e2de6fb1e878f68bd6b452a3aa",
      "parents": [
        "1077f5a917b7c630231037826b344b2f7f5b903f"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Jan 30 13:30:02 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:02 2008 +0100"
      },
      "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": "1077f5a917b7c630231037826b344b2f7f5b903f",
      "tree": "e0083b73450d513b16d0f5c0704ad49961dce401",
      "parents": [
        "efd9ac8630e89b9ee7ce64008bd7783952374f37"
      ],
      "author": {
        "name": "Parag Warudkar",
        "email": "parag.warudkar@gmail.com",
        "time": "Wed Jan 30 13:30:01 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:01 2008 +0100"
      },
      "message": "clocksource.c: use init_timer_deferrable for clocksource_watchdog\n\nclocksource_watchdog can use a deferrable timer - reduces wakeups from\nidle per second.\n\nSigned-off-by: Parag Warudkar \u003cparag.warudkar@gmail.com\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "efd9ac8630e89b9ee7ce64008bd7783952374f37",
      "tree": "2b06184b9241770aff309a9940f6e400371003a4",
      "parents": [
        "1d76c2622813fbc692b0d323028cfef9ee36051a"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "Geert.Uytterhoeven@sonycom.com",
        "time": "Wed Jan 30 13:30:01 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:01 2008 +0100"
      },
      "message": "time: fold __get_realtime_clock_ts() into getnstimeofday()\n\n  - getnstimeofday() was just a wrapper around __get_realtime_clock_ts()\n  - Replace calls to __get_realtime_clock_ts() by calls to getnstimeofday()\n  - Fix bogus reference to get_realtime_clock_ts(), which never existed\n\nSigned-off-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "186e3cb8a465bac010ee3b020768d2fa2b505aef",
      "tree": "c45dd774f91cf9095915c7e4bbec9084fcd06026",
      "parents": [
        "b10db7f0d2b589a7f88dc3026e150756cb437a28"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jan 30 13:30:01 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:01 2008 +0100"
      },
      "message": "timer: clean up tick-broadcast.c\n\nclean up tick-broadcast.c\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b10db7f0d2b589a7f88dc3026e150756cb437a28",
      "tree": "92942041770257c78f7271b79d9860eec10bd77c",
      "parents": [
        "4c9dc6412247abf4972080c51cd16a58c4009c19"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Wed Jan 30 13:30:00 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:00 2008 +0100"
      },
      "message": "time: more timer related cleanups\n\nI was confused by FSEC \u003d 10^15 NSEC statement, plus small whitespace\nfixes. When there\u0027s copyright, there should be GPL.\n\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4c9dc6412247abf4972080c51cd16a58c4009c19",
      "tree": "a6c9b22da4ff5537219c03fbbfc919b95a27df2a",
      "parents": [
        "a6fa8e5a6172a5a5bc06ed04f34e50b36c978127"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Wed Jan 30 13:30:00 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:00 2008 +0100"
      },
      "message": "time: timer cleanups\n\nSmall cleanups to tick-related code. Wrong preempt count is followed\nby BUG(), so it is hardly KERN_WARNING.\n\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a6fa8e5a6172a5a5bc06ed04f34e50b36c978127",
      "tree": "ec7750ea6438f85e2a1a94722962c7dbc3767100",
      "parents": [
        "213eca7f4888e9817e8076cdab6b9f7295c181f6"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Wed Jan 30 13:30:00 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:00 2008 +0100"
      },
      "message": "time: clean hungarian notation from timers\n\nClean up hungarian notation from timer code.\n\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "0ba6c33bcddc64a54b5f1c25a696c4767dc76292",
      "tree": "62e616f97a4762d8e75bf732e4827af2d15d52c5",
      "parents": [
        "21af0297c7e56024a5ccc4d8ad2a590f9ec371ba",
        "85040bcb4643cba578839e953f25e2d1965d83d0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 29 22:54:01 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 29 22:54:01 2008 +1100"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.25\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.25: (1470 commits)\n  [IPV6] ADDRLABEL: Fix double free on label deletion.\n  [PPP]: Sparse warning fixes.\n  [IPV4] fib_trie: remove unneeded NULL check\n  [IPV4] fib_trie: More whitespace cleanup.\n  [NET_SCHED]: Use nla_policy for attribute validation in ematches\n  [NET_SCHED]: Use nla_policy for attribute validation in actions\n  [NET_SCHED]: Use nla_policy for attribute validation in classifiers\n  [NET_SCHED]: Use nla_policy for attribute validation in packet schedulers\n  [NET_SCHED]: sch_api: introduce constant for rate table size\n  [NET_SCHED]: Use typeful attribute parsing helpers\n  [NET_SCHED]: Use typeful attribute construction helpers\n  [NET_SCHED]: Use NLA_PUT_STRING for string dumping\n  [NET_SCHED]: Use nla_nest_start/nla_nest_end\n  [NET_SCHED]: Propagate nla_parse return value\n  [NET_SCHED]: act_api: use PTR_ERR in tcf_action_init/tcf_action_get\n  [NET_SCHED]: act_api: use nlmsg_parse\n  [NET_SCHED]: act_api: fix netlink API conversion bug\n  [NET_SCHED]: sch_netem: use nla_parse_nested_compat\n  [NET_SCHED]: sch_atm: fix format string warning\n  [NETNS]: Add namespace for ICMP replying code.\n  ...\n"
    },
    {
      "commit": "6494a93d55fad586238cc1940e846c6d03e1aaf6",
      "tree": "8f930c1064753ab478b879b5598952f1ae87e52e",
      "parents": [
        "0aa5bd52d0c49ca56d24584c646e6544ccbb3dc9"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jan 27 15:38:40 2008 -0800"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:27 2008 +1100"
      },
      "message": "Module: check to see if we have a built in module with the same name\n\nWhen trying to load a module with the same name as a built-in one, a\nscary kobject backtrace comes up.  Prevent that from checking for this\ncondition and warning the user as to what exactly is going on.\n\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "0aa5bd52d0c49ca56d24584c646e6544ccbb3dc9",
      "tree": "abce9de5d47992e5ccdfd052df022374d99f81a1",
      "parents": [
        "8686c99875f3849047660a5b6d02438443f22ce7"
      ],
      "author": {
        "name": "Jon Masters",
        "email": "jonathan@jonmasters.org",
        "time": "Mon Jan 21 20:43:41 2008 +0000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:26 2008 +1100"
      },
      "message": "module: add module taint on ndiswrapper\n\nThe struct module taints member is supposed to store per-module taint\ndata. The kernel knows about certain specific external modules that will\ntaint the kernel, such as ndiswrapper. Use of ndiswrapper possibly\nshould set the per-module taint in addition to the global kernel\ntaint flag, unless we\u0027re arguing not because wrapper module itself\nis not what actually causes the kernel to be tainted as such?\n\nSigned-off-by: Jon Masters \u003cjcm@jonmasters.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "8686c99875f3849047660a5b6d02438443f22ce7",
      "tree": "42eca5ce8533f973553376e4afbe7362608bf01d",
      "parents": [
        "6dd06c9fbe025f542bce4cdb91790c0f91962722"
      ],
      "author": {
        "name": "Denis Cheng",
        "email": "crquan@gmail.com",
        "time": "Mon Jan 21 17:08:25 2008 +0800"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:24 2008 +1100"
      },
      "message": "module: fix the module name length in param_sysfs_builtin\n\nthe original code use KOBJ_NAME_LEN for built-in module name length,\nthat\u0027s defined to 20 in linux/kobject.h, but this is not enough appearntly,\nmany module names are longer than this;\n #define KOBJ_NAME_LEN                   20\n\nanother macro is MODULE_NAME_LEN defined in linux/module.h, I think this is\nenough for module names:\n #define MODULE_NAME_LEN (64 - sizeof(unsigned long))\n\nSigned-off-by: Denis Cheng \u003ccrquan@gmail.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "6dd06c9fbe025f542bce4cdb91790c0f91962722",
      "tree": "5c946eb93f30c64fd435bdd6d1064880ef21557a",
      "parents": [
        "bb9d3d56e792d2619cc0903df4ac01d86ac1261d"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:22 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:23 2008 +1100"
      },
      "message": "module: make module_address_lookup safe\n\nmodule_address_lookup releases preemption then returns a pointer into\nthe module space.  The only user (kallsyms) copies the result, so just\ndo that under the preempt disable.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "bb9d3d56e792d2619cc0903df4ac01d86ac1261d",
      "tree": "25ff54c8402b6dedf45a3145b5d9904e14983bf4",
      "parents": [
        "efa5345e39d01deef349c120f55ac6b6eabe7457"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:21 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:22 2008 +1100"
      },
      "message": "module: better OOPS and lockdep coverage for loading modules\n\nIf we put the module in the linked list *before* calling into to, we\nget the module name and functions in the OOPS (is_module_address can\nfind the module).  It also helps lockdep in a similar way.\n\nAcked-and-tested-by: Joern Engel \u003cjoern@lazybastard.org\u003e\nTested-by: Erez Zadok \u003cezk@cs.sunysb.edu\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "efa5345e39d01deef349c120f55ac6b6eabe7457",
      "tree": "7c8d0919aa380a0db7ac748d6c4571c00aa5c639",
      "parents": [
        "c9a3ba55bb5da03fc7d707709a7fe078fe1aa0a0"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:20 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:21 2008 +1100"
      },
      "message": "module: Fix gratuitous sprintf in module.c\n\nAndrew sent an older version of this patch: we shouldn\u0027t use sprintf\nto copy a string.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "c9a3ba55bb5da03fc7d707709a7fe078fe1aa0a0",
      "tree": "3d25d1783ad794b7bc64f5f36f5289f7f51a56fc",
      "parents": [
        "a2da4052f1df6bc77749f84496fe731ab8b458f7"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:18 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:20 2008 +1100"
      },
      "message": "module: wait for dependent modules doing init.\n\nThere have been reports of modules failing to load because the modules\nthey depend on are still loading.  This changes the modules to wait\nfor a reasonable length of time in that case.  We time out eventually,\nbecause there can be module loops or broken modules.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "a2da4052f1df6bc77749f84496fe731ab8b458f7",
      "tree": "d80b32de264a9929cc5746022a11674a5619bed6",
      "parents": [
        "8561b089afbaed2651591e5a4574fdca451d82f2"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:17 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:18 2008 +1100"
      },
      "message": "module: Don\u0027t report discarded init pages as kernel text.\n\nCurrent code could cause a bug in symbol_put_addr() if an arch used\nkmalloc module text: we might think the symbol belongs to the core\nkernel.\n\nThe downside is that this might make backtraces through (discarded)\ninit functions harder to read on some archs, but we already have that\nissue for modules and noone has complained.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "08913681e484f3f0db949dd0809012e089846216",
      "tree": "5fd37f75f1de49d21fb49bb4e51f2bd4f1dcf849",
      "parents": [
        "36f0bebd9865dc7e327777fca34b75e65cbfd1a6"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Dec 05 01:42:49 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:56:29 2008 -0800"
      },
      "message": "[NET]: Remove the empty net_table\n\nI have removed all the entries from this table (core_table,\nipv4_table and tr_table), so now we can safely drop it.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e51b6ba077791f2f8c876022b37419be7a2ceec3",
      "tree": "9d8ca18f3239eff84cad5b79b715c332970fa89d",
      "parents": [
        "23eb06de7d2d333a0f7ebba2da663e00c9c9483e"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Nov 30 23:54:00 2007 +1100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:55:17 2008 -0800"
      },
      "message": "sysctl: Infrastructure for per namespace sysctls\n\nThis patch implements the basic infrastructure for per namespace sysctls.\n\nA list of lists of sysctl headers is added, allowing each namespace to have\nit\u0027s own list of sysctl headers.\n\nEach list of sysctl headers has a lookup function to find the first\nsysctl header in the list, allowing the lists to have a per namespace\ninstance.\n\nregister_sysct_root is added to tell sysctl.c about additional\nlists of sysctl_headers.  As all of the users are expected to be in\nkernel no unregister function is provided.\n\nsysctl_head_next is updated to walk through the list of lists.\n\n__register_sysctl_paths is added to add a new sysctl table on\na non-default sysctl list.\n\nThe only intrusive part of this patch is propagating the information\nto decided which list of sysctls to use for sysctl_check_table.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "23eb06de7d2d333a0f7ebba2da663e00c9c9483e",
      "tree": "2958ebaacc8d8fd4b1a4d1966c31e6395b5b634a",
      "parents": [
        "29e796fd4de54b8f5bc30d897611210ece4fd0f2"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Nov 30 23:52:10 2007 +1100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:55:17 2008 -0800"
      },
      "message": "sysctl: Remember the ctl_table we passed to register_sysctl_paths\n\nBy doing this we allow users of register_sysctl_paths that build\nand dynamically allocate their ctl_table to be simpler.  This allows\nthem to just remember the ctl_table_header returned from\nregister_sysctl_paths from which they can now find the\nctl_table array they need to free.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "29e796fd4de54b8f5bc30d897611210ece4fd0f2",
      "tree": "a05b5e87e7b6c4d1820d892c4aabc438ccee58e5",
      "parents": [
        "be0ea7d5da3d99140bde7e5cea328eb111731700"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Nov 30 23:50:18 2007 +1100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:55:16 2008 -0800"
      },
      "message": "sysctl: Add register_sysctl_paths function\n\nThere are a number of modules that register a sysctl table\nsomewhere deeply nested in the sysctl hierarchy, such as\nfs/nfs, fs/xfs, dev/cdrom, etc.\n\nThey all specify several dummy ctl_tables for the path name.\nThis patch implements register_sysctl_path that takes\nan additional path name, and makes up dummy sysctl nodes\nfor each component.\n\nThis patch was originally written by Olaf Kirch and\nbrought to my attention and reworked some by Olaf Hering.\nI have changed a few additional things so the bugs are mine.\n\nAfter converting all of the easy callers Olaf Hering observed\nallyesconfig ARCH\u003di386, the patch reduces the final binary size by 9369 bytes.\n\n.text +897\n.data -7008\n\n   text    data     bss     dec     hex filename\n   26959310        4045899 4718592 35723801        2211a19 ../vmlinux-vanilla\n   26960207        4038891 4718592 35717690        221023a ../O-allyesconfig/vmlinux\n\nSo this change is both a space savings and a code simplification.\n\nCC: Olaf Kirch \u003cokir@suse.de\u003e\nCC: Olaf Hering \u003colaf@aepfle.de\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fadad878cc0640cc9cd5569998bf54b693f7b38b",
      "tree": "9ad8c65d458d45f970f7e78cd1512c0e7da58def",
      "parents": [
        "521f3bbdba6b92582ef8047df01b156668343542"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jan 24 08:54:47 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:50:36 2008 +0100"
      },
      "message": "kernel: add CLONE_IO to specifically request sharing of IO contexts\n\nsyslets (or other threads/processes that want io context sharing) can\nset this to enforce sharing of io context.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d38ecf935fcb10264a6bc190855d9595165e6eeb",
      "tree": "64e3146ef76678ad3ae8f75c32df9f25ea470953",
      "parents": [
        "fd0928df98b9578be8a786ac0cb78a47a5e17a20"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jan 24 08:53:35 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:50:31 2008 +0100"
      },
      "message": "io context sharing: preliminary support\n\nDetach task state from ioc, instead keep track of how many processes\nare accessing the ioc.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "fd0928df98b9578be8a786ac0cb78a47a5e17a20",
      "tree": "70a34cf207bea1bec28e59cf0dba7d20e7f8b0f1",
      "parents": [
        "91525300baf162e83e923b09ca286f9205e21522"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jan 24 08:52:45 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:50:29 2008 +0100"
      },
      "message": "ioprio: move io priority from task_struct to io_context\n\nThis is where it belongs and then it doesn\u0027t take up space for a\nprocess that doesn\u0027t do IO.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "326e96b92306b7af24a3608ec01156cba17a3fc1",
      "tree": "a70525568e34cc8c49e726435e9055ceab6e67dc",
      "parents": [
        "ef3f2de2b5496f721b12f21a157e19eac816394b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 27 08:03:54 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 27 08:03:54 2008 +0100"
      },
      "message": "printk: revert ktime_get() timestamps\n\nrevert 19ef9309273d26cb005cb23e6a370353dca91099.\n\nKevin Winchester reported a lockup during X startup an bisected\nit to this commit.\n\nReported-by: Kevin Winchester \u003ckjwinchester@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "81ef16e763bb899053e06f6050603a305456a085",
      "tree": "4f6ba85240f8c57a089e9762fff44749410100a8",
      "parents": [
        "48483b3290988952a593c6e66ca354c19f1a4350"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Sat Jan 26 14:11:06 2008 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Sat Jan 26 14:11:16 2008 +0100"
      },
      "message": "[S390] Remove appldata include from sysctl_check.c\n\nForgot to remove this when removing the appldata binary sysctls.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "9b73e76f3cf63379dcf45fcd4f112f5812418d0a",
      "tree": "4e6bef87cd0cd6d848fc39a5ae25b981dbbe035b",
      "parents": [
        "50d9a126240f9961cfdd063336bbeb91f77a7dce",
        "23c3e290fb9ce38cabc2822b47583fc8702411bf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 17:19:08 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 17:19:08 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (200 commits)\n  [SCSI] usbstorage: use last_sector_bug flag universally\n  [SCSI] libsas: abstract STP task status into a function\n  [SCSI] ultrastor: clean up inline asm warnings\n  [SCSI] aic7xxx: fix firmware build\n  [SCSI] aacraid: fib context lock for management ioctls\n  [SCSI] ch: remove forward declarations\n  [SCSI] ch: fix device minor number management bug\n  [SCSI] ch: handle class_device_create failure properly\n  [SCSI] NCR5380: fix section mismatch\n  [SCSI] sg: fix /proc/scsi/sg/devices when no SCSI devices\n  [SCSI] IB/iSER: add logical unit reset support\n  [SCSI] don\u0027t use __GFP_DMA for sense buffers if not required\n  [SCSI] use dynamically allocated sense buffer\n  [SCSI] scsi.h: add macro for enclosure bit of inquiry data\n  [SCSI] sd: add fix for devices with last sector access problems\n  [SCSI] fix pcmcia compile problem\n  [SCSI] aacraid: add Voodoo Lite class of cards.\n  [SCSI] aacraid: add new driver features flags\n  [SCSI] qla2xxx: Update version number to 8.02.00-k7.\n  [SCSI] qla2xxx: Issue correct MBC_INITIALIZE_FIRMWARE command.\n  ...\n"
    },
    {
      "commit": "6d082592b62689fb91578d0338d04a9f50991990",
      "tree": "facef621798752724be64c3ded31a3c3fded1643",
      "parents": [
        "286100a6cf1c1f692e5f81d14b364ff12b7662f5"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Jan 25 21:08:35 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:35 2008 +0100"
      },
      "message": "sched: keep total / count stats in addition to the max for\n\nRight now, the linux kernel (with scheduler statistics enabled) keeps track\nof the maximum time a process is waiting to be scheduled. While the maximum\nis a very useful metric, tracking average and total is equally useful\n(at least for latencytop) to figure out the accumulated effect of scheduler\ndelays. The accumulated effect is important to judge the performance impact\nof scheduler tuning/behavior.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5973e5b954848c63855a357ad4ff39882e3904f7",
      "tree": "e88c2d900a228401cefc7e144bf5628434df18ac",
      "parents": [
        "5fb5e6de55860a99c2d8fe7e0c8222d5c53d8464"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jan 25 21:08:34 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:34 2008 +0100"
      },
      "message": "sched: fix: don\u0027t take a mutex from interrupt context\n\nprint_cfs_stats is callable from interrupt context (sysrq), hence it should\nnot take mutexes. Change it to use RCU since the task group data is RCU\nfreed anyway.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5fb5e6de55860a99c2d8fe7e0c8222d5c53d8464",
      "tree": "7a9935bfa8b20c56ddc865c130f17d2f42444ce8",
      "parents": [
        "19ef9309273d26cb005cb23e6a370353dca91099"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Fri Jan 25 21:08:34 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:34 2008 +0100"
      },
      "message": "sched: print backtrace of running tasks too\n\nThe attached patch is something really simple that can sometimes help\nin getting more info out of a hung system.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "19ef9309273d26cb005cb23e6a370353dca91099",
      "tree": "5ca31fef94ed523c3df867ba3472e70d215ffb84",
      "parents": [
        "90739081ef8d5495d50abba9c5d333be9acd872a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:34 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:34 2008 +0100"
      },
      "message": "printk: use ktime_get()\n\nprintk timestamps: use ktime_get().\n\nSome platforms have a functioning clocksource function only after\nthey are done with early bootup, so delay this until out of\nSYSTEM_BOOTING state.\n\nit\u0027s also inherently safe now, as any bugs in this area will be\ncaught by the printk recursion checks.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "90739081ef8d5495d50abba9c5d333be9acd872a",
      "tree": "37dc5c626940a4bad6d9ffad81b7be12dc44f054",
      "parents": [
        "9745512ce79de686df354dc70a8d1a74d801892d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:34 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:34 2008 +0100"
      },
      "message": "softlockup: fix signedness\n\nfix softlockup tunables signedness.\n\nmark tunables read-mostly.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9745512ce79de686df354dc70a8d1a74d801892d",
      "tree": "9b64e2b2e6d2ae534beef136922082f21701c7b9",
      "parents": [
        "326587b840785c60f5dc18557235a23bafefd620"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Jan 25 21:08:34 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:34 2008 +0100"
      },
      "message": "sched: latencytop support\n\nLatencyTOP kernel infrastructure; it measures latencies in the\nscheduler and tracks it system wide and per process.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "326587b840785c60f5dc18557235a23bafefd620",
      "tree": "d96bfb249ca234298a4f2e40a56bce7041523ea6",
      "parents": [
        "e118adef232e637a8f091c1ded2fbf44fcf3ecc8"
      ],
      "author": {
        "name": "Dmitry Adamushko",
        "email": "dmitry.adamushko@gmail.com",
        "time": "Fri Jan 25 21:08:34 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:34 2008 +0100"
      },
      "message": "sched: fix goto retry in pick_next_task_rt()\n\nlooking at it one more time:\n\n(1) it looks to me that there is no need to call\nsched_rt_ratio_exceeded() from pick_next_rt_entity()\n\n- [ for CONFIG_FAIR_GROUP_SCHED ] queues with rt_rq-\u003ert_throttled are\nnot within this \u0027tree-like hierarchy\u0027 (or whatever we should call it\n:-)\n\n- there is also no need to re-check \u0027rt_rq-\u003ert_time \u003e ratio\u0027 at this\npoint as \u0027rt_rq-\u003ert_time\u0027 couldn\u0027t have been increased since the last\ncall to update_curr_rt() (which obviously calls\nsched_rt_ratio_esceeded())\nwell, it might be that \u0027ratio\u0027 for this rt_rq has been re-configured\n(and the period over which this rt_rq was active has not yet been\nfinished)... but I don\u0027t think we should really take this into\naccount.\n\n(2) now pick_next_rt_entity() must never return NULL, so let\u0027s change\npick_next_task_rt() accordingly.\n\nSigned-off-by: Dmitry Adamushko \u003cdmitry.adamushko@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cc203d2422004498909c4886d1b94a2e388d973e",
      "tree": "10fd9f364bda783b7354cf0e7d04ba319899c079",
      "parents": [
        "782daeee3d596282bfee4cd9e976c86be0e194a8"
      ],
      "author": {
        "name": "Guillaume Chazarain",
        "email": "guichaz@yahoo.fr",
        "time": "Fri Jan 25 21:08:34 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:34 2008 +0100"
      },
      "message": "sched: monitor clock underflows in /proc/sched_debug\n\nWe monitor clock overflows, let\u0027s also monitor clock underflows.\n\nSigned-off-by: Guillaume Chazarain \u003cguichaz@yahoo.fr\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "782daeee3d596282bfee4cd9e976c86be0e194a8",
      "tree": "7f831f365ba3f9f9b8f10572b858eb231864dde0",
      "parents": [
        "4f05b98d54b140ed3c5851d5d5156e9918c6305d"
      ],
      "author": {
        "name": "Guillaume Chazarain",
        "email": "guichaz@yahoo.fr",
        "time": "Fri Jan 25 21:08:33 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:33 2008 +0100"
      },
      "message": "sched: fix rq-\u003eclock warps on frequency changes\n\nsched: fix rq-\u003eclock warps on frequency changes\n\nFix 2bacec8c318ca0418c0ee9ac662ee44207765dd4\n(sched: touch softlockup watchdog after idling) that reintroduced warps\non frequency changes. touch_softlockup_watchdog() calls __update_rq_clock\nthat checks rq-\u003eclock for warps, so call it after adjusting rq-\u003eclock.\n\nSigned-off-by: Guillaume Chazarain \u003cguichaz@yahoo.fr\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4f05b98d54b140ed3c5851d5d5156e9918c6305d",
      "tree": "f12f09c1e54e72adf4724b94733cb5b08e0879f7",
      "parents": [
        "1ad82fd547c716f96e544b477e0bdbfa2d647529"
      ],
      "author": {
        "name": "Michal Schmidt",
        "email": "mschmidt@redhat.com",
        "time": "Fri Jan 25 21:08:33 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:33 2008 +0100"
      },
      "message": "sched: fix, always create kernel threads with normal priority\n\nEnsure that the kernel threads are created with the usual nice level\nand affinity even if kthreadd\u0027s properties were changed from the\ndefault by root.\n\nSigned-off-by: Michal Schmidt \u003cmschmidt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1ad82fd547c716f96e544b477e0bdbfa2d647529",
      "tree": "ef865aa630836e4761eef7526a7e121f1672cea2",
      "parents": [
        "6478d8800b75253b2a934ddcb734e13ade023ad0"
      ],
      "author": {
        "name": "Paolo Ciarrocchi",
        "email": "paolo.ciarrocchi@gmail.com",
        "time": "Fri Jan 25 21:08:33 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:33 2008 +0100"
      },
      "message": "debug: clean up kernel/profile.c\n\n Before:\n total: 25 errors, 13 warnings, 602 lines checked\n\n After:\n total: 0 errors, 2 warnings, 601 lines checked\n\nNo code changed:\n\nkernel/profile.o:\n   text    data     bss     dec     hex filename\n   3048     236      24    3308     cec profile.o.before\n   3048     236      24    3308     cec profile.o.after\n md5:\n   2501d64748a4d350dffb11203e2a5182  profile.o.before.asm\n   2501d64748a4d350dffb11203e2a5182  profile.o.after.asm\n\nSigned-off-by: Paolo Ciarrocchi \u003cpaolo.ciarrocchi@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6478d8800b75253b2a934ddcb734e13ade023ad0",
      "tree": "df4017269b8755735578445c0a8a9e8b3b2615e9",
      "parents": [
        "58b8a73ab8becfcaea84abc2a06038281efa4c8a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:33 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:33 2008 +0100"
      },
      "message": "sched: remove the !PREEMPT_BKL code\n\nremove the !PREEMPT_BKL code.\n\nthis removes 160 lines of legacy code.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "58b8a73ab8becfcaea84abc2a06038281efa4c8a",
      "tree": "d70f675ff0ab23ceb9ce2fc48ec9ae099964301b",
      "parents": [
        "e14af7eeb47ea96c52741c5e5fa010d33daf6973"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:33 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:33 2008 +0100"
      },
      "message": "sched: make PREEMPT_BKL the default\n\nmake PREEMPT_BKL the default.\n\nprecursor to removal of the !PREEMPT_BKL code.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e14af7eeb47ea96c52741c5e5fa010d33daf6973",
      "tree": "0b4c1af86e766726ba75873812715706e4044086",
      "parents": [
        "21aa9280b9f4e9e68d3fa8990df6c9d7fd71f994"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Jan 25 21:08:33 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:33 2008 +0100"
      },
      "message": "debug: track and print last unloaded module in the oops trace\n\nBased on a suggestion from Andi:\n\n In various cases, the unload of a module may leave some bad state around\n that causes a kernel crash AFTER a module is unloaded; and it\u0027s then hard\n to find which module caused that.\n\nThis patch tracks the last unloaded module, and prints this as part of the\nmodule list in the oops trace.\n\nRight now, only the last 1 module is tracked; I expect that this is enough\nfor the vast majority of cases where this information matters; if it turns\nout that tracking more is important, we can always extend it to that.\n\n[ mingo@elte.hu: build fix ]\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "21aa9280b9f4e9e68d3fa8990df6c9d7fd71f994",
      "tree": "dbf9011a8ba89037dc7807d50daa645bf1b2e2b7",
      "parents": [
        "5a52dd50091b6a6e710a1293db741028f8cc5aac"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Jan 25 21:08:33 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:33 2008 +0100"
      },
      "message": "debug: show being-loaded/being-unloaded indicator for modules\n\nIt\u0027s rather common that an oops/WARN_ON/BUG happens during the load or\nunload of a module. Unfortunatly, it\u0027s not always easy to see directly\nwhich module is being loaded/unloaded from the oops itself. Worse,\nit\u0027s not even always possible to ask the bug reporter, since there\nare so many components (udev etc) that auto-load modules that there\u0027s\na good chance that even the reporter doesn\u0027t know which module this is.\n\nThis patch extends the existing \"show if it\u0027s tainting\" print code,\nwhich is used as part of printing the modules in the oops/BUG/WARN_ON\nto include a \"+\" for \"being loaded\" and a \"-\" for \"being unloaded\".\n\nAs a result this extension, the \"taint_flags()\" function gets renamed to\n\"module_flags()\" (and takes a module struct as argument, not a taint\nflags int).\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5a52dd50091b6a6e710a1293db741028f8cc5aac",
      "tree": "ea2b361909e431c458c26208e501ea3cf10edd85",
      "parents": [
        "1020387f5f3b52929b387103cf976321981f8e26"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jan 25 21:08:32 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:32 2008 +0100"
      },
      "message": "sched: rt-watchdog: fix .rlim_max \u003d RLIM_INFINITY\n\nRemove the curious logic to set it_sched_expires in the future. It useless\nbecause rt.timeout wouldn\u0027t be incremented anyway.\n\nExplicity check for RLIM_INFINITY as a test programm that had a 1s soft limit\nand a inf hard limit would SIGKILL at 1s. This is because RLIM_INFINITY+d-1\nis d-2.\n\nSigned-off-by: Peter Zijlsta \u003ca.p.zijlstra@chello.nl\u003e\nCC: Michal Schmidt \u003cmschmidt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1020387f5f3b52929b387103cf976321981f8e26",
      "tree": "201f6c44cc09c57dc936cc804971d37178007687",
      "parents": [
        "37bb6cb4097e29ffee970065b74499cbf10603a3"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jan 25 21:08:32 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:32 2008 +0100"
      },
      "message": "sched: rt-group: reduce rescheduling\n\nOnly reschedule if the new group has a higher prio task.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "37bb6cb4097e29ffee970065b74499cbf10603a3",
      "tree": "406de8e53a02244d9f8998bf5e583d3923b4e5c0",
      "parents": [
        "d3d74453c34f8fd87674a8cf5b8a327c68f22e99"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jan 25 21:08:32 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:32 2008 +0100"
      },
      "message": "hrtimer: unlock hrtimer_wakeup\n\nhrtimer_wakeup creates a\n\n  base-\u003elock\n    rq-\u003elock\n\nlock dependancy. Avoid this by switching to HRTIMER_CB_IRQSAFE_NO_SOFTIRQ\nwhich doesn\u0027t hold base-\u003elock.\n\nThis fully untangles hrtimer locks from the scheduler locks, and allows\nhrtimer usage in the scheduler proper.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d3d74453c34f8fd87674a8cf5b8a327c68f22e99",
      "tree": "cbbd46eb7b81f5c9d39a93604a206ac775084858",
      "parents": [
        "2d44ae4d7135b9aee26439b3523b43473381bc5f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jan 25 21:08:31 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:31 2008 +0100"
      },
      "message": "hrtimer: fixup the HRTIMER_CB_IRQSAFE_NO_SOFTIRQ fallback\n\nCurrently all highres\u003doff timers are run from softirq context, but\nHRTIMER_CB_IRQSAFE_NO_SOFTIRQ timers expect to run from irq context.\n\nFix this up by splitting it similar to the highres\u003don case.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2d44ae4d7135b9aee26439b3523b43473381bc5f",
      "tree": "ba3afc0f03142d26f9238974dab5b99bf1dca1db",
      "parents": [
        "48d5e258216f1c7713633439beb98a38c7290649"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jan 25 21:08:31 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:31 2008 +0100"
      },
      "message": "hrtimer: clean up cpu-\u003ebase locking tricks\n\nIn order to more easily allow for the scheduler to use timers, clean up\nthe locking a bit.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "48d5e258216f1c7713633439beb98a38c7290649",
      "tree": "6f8c98785015d56337e87ed56b23d39feeeaf846",
      "parents": [
        "614ee1f61f667b02165c1ae0c1357048dc6d94a0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jan 25 21:08:31 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:31 2008 +0100"
      },
      "message": "sched: rt throttling vs no_hz\n\nWe need to teach no_hz about the rt throttling because its tick driven.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "614ee1f61f667b02165c1ae0c1357048dc6d94a0",
      "tree": "0f2e6389d045a4046f2fed14f3c9527a95467ecb",
      "parents": [
        "6f505b16425a51270058e4a93441fe64de3dd435"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Fri Jan 25 21:08:30 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:30 2008 +0100"
      },
      "message": "sched: pull_rt_task() cleanup\n\n\"goto out\" is an odd way to spell \"skip\".\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6f505b16425a51270058e4a93441fe64de3dd435",
      "tree": "be21e711d93bc4d088b97c4a4f585a5044dbaa7d",
      "parents": [
        "fa85ae2418e6843953107cd6a06f645752829bc0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jan 25 21:08:30 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:30 2008 +0100"
      },
      "message": "sched: rt group scheduling\n\nExtend group scheduling to also cover the realtime classes. It uses the time\nlimiting introduced by the previous patch to allow multiple realtime groups.\n\nThe hard time limit is required to keep behaviour deterministic.\n\nThe algorithms used make the realtime scheduler O(tg), linear scaling wrt the\nnumber of task groups. This is the worst case behaviour I can\u0027t seem to get out\nof, the avg. case of the algorithms can be improved, I focused on correctness\nand worst case.\n\n[ akpm@linux-foundation.org: move side-effects out of BUG_ON(). ]\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fa85ae2418e6843953107cd6a06f645752829bc0",
      "tree": "004130ac471247a29d3f6adfbfe61c474e725779",
      "parents": [
        "8f4d37ec073c17e2d4aa8851df5837d798606d6f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jan 25 21:08:29 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:29 2008 +0100"
      },
      "message": "sched: rt time limit\n\nVery simple time limit on the realtime scheduling classes.\nAllow the rq\u0027s realtime class to consume sched_rt_ratio of every\nsched_rt_period slice. If the class exceeds this quota the fair class\nwill preempt the realtime class.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8f4d37ec073c17e2d4aa8851df5837d798606d6f",
      "tree": "a9ac9063eca53e4d0110e8086f55241ea70ba993",
      "parents": [
        "02b67cc3ba36bdba351d6c3a00593f4ec550d9d3"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jan 25 21:08:29 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:29 2008 +0100"
      },
      "message": "sched: high-res preemption tick\n\nUse HR-timers (when available) to deliver an accurate preemption tick.\n\nThe regular scheduler tick that runs at 1/HZ can be too coarse when nice\nlevel are used. The fairness system will still keep the cpu utilisation \u0027fair\u0027\nby then delaying the task that got an excessive amount of CPU time but try to\nminimize this by delivering preemption points spot-on.\n\nThe average frequency of this extra interrupt is sched_latency / nr_latency.\nWhich need not be higher than 1/HZ, its just that the distribution within the\nsched_latency period is important.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "02b67cc3ba36bdba351d6c3a00593f4ec550d9d3",
      "tree": "5185ad2d780974dc864f12d81d6c8b9fec73097b",
      "parents": [
        "03319ec8b06849051747a17aa2a0f9aba9277980"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 25 21:08:28 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:28 2008 +0100"
      },
      "message": "sched: do not do cond_resched() when CONFIG_PREEMPT\n\nWhy do we even have cond_resched when real preemption\nis on? It seems to be a waste of space and time.\n\nremove cond_resched with CONFIG_PREEMPT on.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "03319ec8b06849051747a17aa2a0f9aba9277980",
      "tree": "085d1b072b95e91061d27cb3bab965ff83b6b04a",
      "parents": [
        "78f2c7db6068fd6ef75b8c120f04a388848eacb5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:28 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:28 2008 +0100"
      },
      "message": "sched: documentation, whitespace fixes\n\nwhitespace fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "78f2c7db6068fd6ef75b8c120f04a388848eacb5",
      "tree": "994e8082a01c78e691bacb90c0f8368823c87767",
      "parents": [
        "fa717060f1ab7eb6570f2fb49136f838fc9195a9"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jan 25 21:08:27 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:27 2008 +0100"
      },
      "message": "sched: SCHED_FIFO/SCHED_RR watchdog timer\n\nIntroduce a new rlimit that allows the user to set a runtime timeout on\nreal-time tasks their slice. Once this limit is exceeded the task will receive\nSIGXCPU.\n\nSo it measures runtime since the last sleep.\n\nInput and ideas by Thomas Gleixner and Lennart Poettering.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCC: Lennart Poettering \u003cmzxreary@0pointer.de\u003e\nCC: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCC: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fa717060f1ab7eb6570f2fb49136f838fc9195a9",
      "tree": "0338460dae3116563645e3bfa1ff5100d39826f8",
      "parents": [
        "8eb703e4f33488bf75829564d51d427e17f7cd4c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jan 25 21:08:27 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:27 2008 +0100"
      },
      "message": "sched: sched_rt_entity\n\nMove the task_struct members specific to rt scheduling together.\nA future optimization could be to put sched_entity and sched_rt_entity\ninto a union.\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": "8eb703e4f33488bf75829564d51d427e17f7cd4c",
      "tree": "ee520bf5f1b6c5b61f3b2b6b950ecb4108fc22fc",
      "parents": [
        "dc938520d2bf343b239795cfa24e4f44649358dc"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jan 25 21:08:26 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:26 2008 +0100"
      },
      "message": "uids: merge multiple error paths in alloc_uid() into one\n\nThere are already 4 error paths in alloc_uid() that do incremental rollbacks.\nI think it\u0027s time to merge them.  This costs us 8 lines of code :)\n\nMaybe it would be better to merge this patch with the previous one, but I\nremember that some time ago I sent a similar patch (fixing the error path and\ncleaning it), but I was told to make two patches in such cases.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dc938520d2bf343b239795cfa24e4f44649358dc",
      "tree": "576a88bdc234cf663e649c058392478cf24e1f62",
      "parents": [
        "f85d6c7168887e6659f4d00fa5f34fa23dbde1bb"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Fri Jan 25 21:08:26 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:26 2008 +0100"
      },
      "message": "sched: dynamically update the root-domain span/online maps\n\nThe baseline code statically builds the span maps when the domain is formed.\nPrevious attempts at dynamically updating the maps caused a suspend-to-ram\nregression, which should now be fixed.\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nCC: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "eaf649e9fe6685f4c5a392cd0e16df5fd6660b7c",
      "tree": "05fb08fc2e8bf9e87e9892130f4bd6e147d5a69d",
      "parents": [
        "e260be673a15b6125068270e0216a3bfbfc12f87"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Jan 25 21:08:25 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:25 2008 +0100"
      },
      "message": "Preempt-RCU: CPU Hotplug handling\n\nThis patch allows preemptible RCU to tolerate CPU-hotplug operations.\nIt accomplishes this by maintaining a local copy of a map of online\nCPUs, which it accesses under its own lock.\n\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e260be673a15b6125068270e0216a3bfbfc12f87",
      "tree": "f50760606d395bf6faa9e865f814761a3c88d32c",
      "parents": [
        "e0ecfa7917cafe72f4a75f87e8bb5d8d51dc534f"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Jan 25 21:08:24 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:24 2008 +0100"
      },
      "message": "Preempt-RCU: implementation\n\nThis patch implements a new version of RCU which allows its read-side\ncritical sections to be preempted. It uses a set of counter pairs\nto keep track of the read-side critical sections and flips them\nwhen all tasks exit read-side critical section. The details\nof this implementation can be found in this paper -\n\n\thttp://www.rdrop.com/users/paulmck/RCU/OLSrtRCU.2006.08.11a.pdf\n\nand the article-\n\n\thttp://lwn.net/Articles/253651/\n\nThis patch was developed as a part of the -rt kernel development and\nmeant to provide better latencies when read-side critical sections of\nRCU don\u0027t disable preemption.  As a consequence of keeping track of RCU\nreaders, the readers have a slight overhead (optimizations in the paper).\nThis implementation co-exists with the \"classic\" RCU implementations\nand can be switched to at compiler.\n\nAlso includes RCU tracing summarized in debugfs.\n\n[ akpm@linux-foundation.org: build fixes on non-preempt architectures ]\n\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nReviewed-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e0ecfa7917cafe72f4a75f87e8bb5d8d51dc534f",
      "tree": "92106dbd88530d3884bc6c4d1c088cba1ad8630e",
      "parents": [
        "01c1c660f4b8086cad7a62345fd04290f3d82c8f"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Jan 25 21:08:24 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:24 2008 +0100"
      },
      "message": "Preempt-RCU: fix rcu_barrier for preemptive environment.\n\nFix rcu_barrier() to work properly in preemptive kernel environment.\nAlso, the ordering of callback must be preserved while moving\ncallbacks to another CPU during CPU hotplug.\n\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "01c1c660f4b8086cad7a62345fd04290f3d82c8f",
      "tree": "bd09ab1fc3f9e267b1ea78f1a41b121175e1585a",
      "parents": [
        "c2d727aa2ff17a1c8e5ed1e5e231bb8579b27e82"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Jan 25 21:08:24 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:24 2008 +0100"
      },
      "message": "Preempt-RCU: reorganize RCU code into rcuclassic.c and rcupdate.c\n\nThis patch re-organizes the RCU code to enable multiple implementations\nof RCU. Users of RCU continues to include rcupdate.h and the\nRCU interfaces remain the same. This is in preparation for\nsubsequently merging the preemptible RCU implementation.\n\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c2d727aa2ff17a1c8e5ed1e5e231bb8579b27e82",
      "tree": "76b570288a72c1337920c5e60682316c554f00ee",
      "parents": [
        "c49443c538c1bbf50eda27e4a3711e9fc15176b0"
      ],
      "author": {
        "name": "Dipankar Sarma",
        "email": "dipankar@in.ibm.com",
        "time": "Fri Jan 25 21:08:23 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:23 2008 +0100"
      },
      "message": "Preempt-RCU: Use softirq instead of tasklets for\n\nThis patch makes RCU use softirq instead of tasklets.\n\nIt also adds a memory barrier after raising the softirq\ninorder to ensure that the cpu sees the most recently updated\nvalue of rcu-\u003ecur while processing callbacks.\nThe discussion of the related theoretical race pointed out\nby James Huang can be found here --\u003e http://lkml.org/lkml/2007/11/20/603\n\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nReviewed-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c49443c538c1bbf50eda27e4a3711e9fc15176b0",
      "tree": "8dece13f1f5c48422359c981a4ef8bba92136597",
      "parents": [
        "cdc8eb984ce47a7c90a049f45229f7b0d59ba781"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Fri Jan 25 21:08:23 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:23 2008 +0100"
      },
      "message": "sched: remove some old cpuset logic\n\nWe had support for overlapping cpuset based rto logic in early\nprototypes that is no longer used, so remove it.\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cdc8eb984ce47a7c90a049f45229f7b0d59ba781",
      "tree": "cebcaf9d854b843a5381cae18cffa6fd836a20ab",
      "parents": [
        "cb46984504048db946cd551c261df4e70d59a8ea"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Fri Jan 25 21:08:23 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:23 2008 +0100"
      },
      "message": "sched: RT-balance, only adjust overload state when changing\n\nThe overload set/clears were originally idempotent when this logic was first\nimplemented.  But that is no longer true due to the addition of the atomic\ncounter and this logic was never updated to work properly with that change.\nSo only adjust the overload state if it is actually changing to avoid\ngetting out of sync.\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cb46984504048db946cd551c261df4e70d59a8ea",
      "tree": "e07343cc5967f74370c6b0290b67a225d868a99d",
      "parents": [
        "9a897c5a6701bcb6f099f7ca20194999102729fd"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jan 25 21:08:22 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:22 2008 +0100"
      },
      "message": "sched: RT-balance, add new methods to sched_class\n\nDmitry Adamushko found that the current implementation of the RT\nbalancing code left out changes to the sched_setscheduler and\nrt_mutex_setprio.\n\nThis patch addresses this issue by adding methods to the schedule classes\nto handle being switched out of (switched_from) and being switched into\n(switched_to) a sched_class. Also a method for changing of priorities\nis also added (prio_changed).\n\nThis patch also removes some duplicate logic between rt_mutex_setprio and\nsched_setscheduler.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9a897c5a6701bcb6f099f7ca20194999102729fd",
      "tree": "9c5415d5e2dd115660200cbd246fe1343cd5cd5c",
      "parents": [
        "4bf0b77158d581c952af237aec79d0604b78fe27"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jan 25 21:08:22 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:22 2008 +0100"
      },
      "message": "sched: RT-balance, replace hooks with pre/post schedule and wakeup methods\n\nTo make the main sched.c code more agnostic to the schedule classes.\nInstead of having specific hooks in the schedule code for the RT class\nbalancing. They are replaced with a pre_schedule, post_schedule\nand task_wake_up methods. These methods may be used by any of the classes\nbut currently, only the sched_rt class implements them.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4bf0b77158d581c952af237aec79d0604b78fe27",
      "tree": "d2500b882a4ed7e9a97e8633120a6e6aeccfa0c3",
      "parents": [
        "5d2f5a616d65e3c08acde3195694c4ab8afbc1b7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jan 25 21:08:21 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:21 2008 +0100"
      },
      "message": "sched: remove do_div() from __sched_slice()\n\nYanmin Zhang noticed a nice optimization:\n\n  p \u003d l * nr / nl, nl \u003d l/g -\u003e p \u003d g * nr\n\nwhich eliminates a do_div() from __sched_period().\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5d2f5a616d65e3c08acde3195694c4ab8afbc1b7",
      "tree": "df44c641af4cd66160f6296e86833c568070ae76",
      "parents": [
        "9ec3b77e11b9398ab40b492c4fde7d8aac04a718"
      ],
      "author": {
        "name": "Dmitry Adamushko",
        "email": "dmitry.adamushko@gmail.com",
        "time": "Fri Jan 25 21:08:21 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:21 2008 +0100"
      },
      "message": "sched: get rid of \u0027new_cpu\u0027 in try_to_wake_up()\n\nClean-up try_to_wake_up().\n\nGet rid of the \u0027new_cpu\u0027 variable in try_to_wake_up() [ that\u0027s, one\n#ifdef section less ].  Also remove a few redundant blank lines.\n\nSigned-off-by: Dmitry Adamushko \u003cdmitry.adamushko@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9ec3b77e11b9398ab40b492c4fde7d8aac04a718",
      "tree": "50045d0ddae170feea69e097e54b8c019aa81681",
      "parents": [
        "32525d022ad52a5c14e80e130260431e16e294b6"
      ],
      "author": {
        "name": "Dmitry Adamushko",
        "email": "dmitry.adamushko@gmail.com",
        "time": "Fri Jan 25 21:08:21 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:21 2008 +0100"
      },
      "message": "sched: no need for \u0027affine wakeup\u0027 balancing\n\nNo need to do a check for \u0027affine wakeup and passive balancing possibilities\u0027\nin select_task_rq_fair() when task_cpu(p) \u003d\u003d this_cpu.\n\nI guess, this part got missed upon introduction of per-sched_class\nselect_task_rq() in try_to_wake_up().\n\nSigned-off-by: Dmitry Adamushko \u003cdmitry.adamushko@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b913176917399e92e6f741672038c73d7ce93be5",
      "tree": "23e91c24e606fbff9d90253b03685f62069fcae1",
      "parents": [
        "0eab9146571dfa9b50ea952ec2ab27d591f26b63"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:19 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:19 2008 +0100"
      },
      "message": "sched: add credits for RT balancing improvements\n\nadd credits for RT balancing improvements.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0eab9146571dfa9b50ea952ec2ab27d591f26b63",
      "tree": "690e7a3588e914fea1dd3891b04e4c20d1159349",
      "parents": [
        "d7876a08db50895ed9808ede4a259cccf65eba47"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:19 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:19 2008 +0100"
      },
      "message": "sched: style cleanup, #2\n\nstyle cleanup of various changes that were done recently.\n\nno code changed:\n\n      text    data     bss     dec     hex filename\n     26399    2578      48   29025    7161 sched.o.before\n     26399    2578      48   29025    7161 sched.o.after\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d7876a08db50895ed9808ede4a259cccf65eba47",
      "tree": "c1459fb0b369cbebe60cde3f6248b67278ad6816",
      "parents": [
        "bdd7c81b4973e72b670eff6b5725bab189b723d6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:19 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:19 2008 +0100"
      },
      "message": "sched: remove unused JIFFIES_TO_NS() macro\n\nremove unused JIFFIES_TO_NS() macro.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bdd7c81b4973e72b670eff6b5725bab189b723d6",
      "tree": "5660b7ee8b2e9bc295053901112f70d5e784c183",
      "parents": [
        "637f50851b57a32f7ec67c50fc16f1601ab1a87a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:18 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:18 2008 +0100"
      },
      "message": "sched: fix sched_rt.c:join/leave_domain\n\nfix build bug in sched_rt.c:join/leave_domain and make them only\nbe included on SMP builds.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "637f50851b57a32f7ec67c50fc16f1601ab1a87a",
      "tree": "ee8a4bc19fda1783bff8aa44abdcb6d8596aa7f1",
      "parents": [
        "57d885fea0da0e9541d7730a9e1dcf734981a173"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Fri Jan 25 21:08:18 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:18 2008 +0100"
      },
      "message": "sched: only balance our RT tasks within our domain\n\nWe move the rt-overload data as the first global to per-domain\nreclassification.  This limits the scope of overload related cache-line\nbouncing to stay with a specified partition instead of affecting all\ncpus in the system.\n\nFinally, we limit the scope of find_lowest_cpu searches to the domain\ninstead of the entire system.  Note that we would always respect domain\nboundaries even without this patch, but we first would scan potentially\nall cpus before whittling the list down.  Now we can avoid looking at\nRQs that are out of scope, again reducing cache-line hits.\n\nNote: In some cases, task-\u003ecpus_allowed will effectively reduce our search\nto within our domain.  However, I believe there are cases where the\ncpus_allowed mask may be all ones and therefore we err on the side of\ncaution.  If it can be optimized later, so be it.\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nCC: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "57d885fea0da0e9541d7730a9e1dcf734981a173",
      "tree": "80f08ea6ed506e2aac30c89b8ae1eee7f008a378",
      "parents": [
        "7f51f298204ec0528422cd9b23feac12612c5665"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Fri Jan 25 21:08:18 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:18 2008 +0100"
      },
      "message": "sched: add sched-domain roots\n\nWe add the notion of a root-domain which will be used later to rescope\nglobal variables to per-domain variables.  Each exclusive cpuset\nessentially defines an island domain by fully partitioning the member cpus\nfrom any other cpuset.  However, we currently still maintain some\npolicy/state as global variables which transcend all cpusets.  Consider,\nfor instance, rt-overload state.\n\nWhenever a new exclusive cpuset is created, we also create a new\nroot-domain object and move each cpu member to the root-domain\u0027s span.\nBy default the system creates a single root-domain with all cpus as\nmembers (mimicking the global state we have today).\n\nWe add some plumbing for storing class specific data in our root-domain.\nWhenever a RQ is switching root-domains (because of repartitioning) we\ngive each sched_class the opportunity to remove any state from its old\ndomain and add state to the new one.  This logic doesn\u0027t have any clients\nyet but it will later in the series.\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nCC: Christoph Lameter \u003cclameter@sgi.com\u003e\nCC: Paul Jackson \u003cpj@sgi.com\u003e\nCC: Simon Derr \u003csimon.derr@bull.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7f51f298204ec0528422cd9b23feac12612c5665",
      "tree": "542837841201a765114320042edbbd574010bd7a",
      "parents": [
        "80bf3171dcdf0f5d236e2e48afe2a95c7ce23879"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:17 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:17 2008 +0100"
      },
      "message": "sched: clean up schedule_balance_rt()\n\nclean up schedule_balance_rt().\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "80bf3171dcdf0f5d236e2e48afe2a95c7ce23879",
      "tree": "91cc16d8b91fd669ef234ab231895779907c1a31",
      "parents": [
        "00597c3ed78e424bdafff123565c078d8b6088cf"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:17 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:17 2008 +0100"
      },
      "message": "sched: clean up pull_rt_task()\n\nclean up pull_rt_task().\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "00597c3ed78e424bdafff123565c078d8b6088cf",
      "tree": "9aa1df064152008969f6fa6eacec7f2b15110f75",
      "parents": [
        "6e1938d3ad58c940ec4119d387dd92a787cb238c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:16 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:16 2008 +0100"
      },
      "message": "sched: remove leftover debugging\n\nremove leftover debugging.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6e1938d3ad58c940ec4119d387dd92a787cb238c",
      "tree": "c879b423cb18a7961fd99e577b2ef3dfc8539179",
      "parents": [
        "84de4274893691aa8c471a1f7336d51e555d23a0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:16 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:16 2008 +0100"
      },
      "message": "sched: remove rt_overload()\n\nremove rt_overload() - it\u0027s an unnecessary indirection.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "84de4274893691aa8c471a1f7336d51e555d23a0",
      "tree": "59f9a3029089d1f36adda93f96ba1ce2daa9cc76",
      "parents": [
        "deeeccd41bd94a9db133d7b923f9a7479a47305d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:15 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:15 2008 +0100"
      },
      "message": "sched: clean up kernel/sched_rt.c\n\nclean up whitespace damage and missing comments in kernel/sched_rt.c.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "deeeccd41bd94a9db133d7b923f9a7479a47305d",
      "tree": "add251ffa08f134e60d1e174914d6e511105c173",
      "parents": [
        "4df64c0bfb7e0e260d10ebc005f7d0ba1308eed7"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:15 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:15 2008 +0100"
      },
      "message": "sched: clean up overlong line in kernel/sched_debug.c\n\nclean up overlong line in kernel/sched_debug.c.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4df64c0bfb7e0e260d10ebc005f7d0ba1308eed7",
      "tree": "51ffd9e80f38e6c918e57f33373ac400bd403c53",
      "parents": [
        "79064fbf75796c4c6a53e40729dbe52f789a91fd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:15 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:15 2008 +0100"
      },
      "message": "sched: clean up find_lock_lowest_rq()\n\nclean up find_lock_lowest_rq().\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "79064fbf75796c4c6a53e40729dbe52f789a91fd",
      "tree": "a54667418d6623cd84c566544930c99c608a42f8",
      "parents": [
        "0d1311a536a0face6267e7346223f2e68b002018"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:14 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:14 2008 +0100"
      },
      "message": "sched: clean up pick_next_highest_task_rt()\n\nclean up pick_next_highest_task_rt().\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0d1311a536a0face6267e7346223f2e68b002018",
      "tree": "20fff118911799b902647a8cb50cc9d2c0f0bd6f",
      "parents": [
        "610bf05645a7ac6ea104a474e328eeaaea148870"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Jan 25 21:08:14 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:14 2008 +0100"
      },
      "message": "sched: RT-balance on new task\n\nrt-balance when creating new tasks.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "610bf05645a7ac6ea104a474e328eeaaea148870",
      "tree": "fb0a1b2969e0cdfb466f362d0a3bd636b0ec5ba0",
      "parents": [
        "06f90dbd7610d51549004ea9c2ada337831eb292"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Jan 25 21:08:13 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:13 2008 +0100"
      },
      "message": "sched: RT-balance, optimize cpu search\n\nThis patch removes several cpumask operations by keeping track\nof the first of the CPUS that is of the lowest priority. When\nthe search for the lowest priority runqueue is completed, all\nthe bits up to the first CPU with the lowest priority runqueue\nis cleared.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "06f90dbd7610d51549004ea9c2ada337831eb292",
      "tree": "952ce91bf158cee7fc3df0553496be524bc38b78",
      "parents": [
        "17b3279b48835eb522d842eae16f541da3729c8a"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Fri Jan 25 21:08:13 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:13 2008 +0100"
      },
      "message": "sched: RT-balance, optimize\n\nWe can cheaply track the number of bits set in the cpumask for the lowest\npriority CPUs.  Therefore, compute the mask\u0027s weight and use it to skip\nthe optimal domain search logic when there is only one CPU available.\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "17b3279b48835eb522d842eae16f541da3729c8a",
      "tree": "c94c7da732fbefda4a938bb6479ebb3b6d8d0c82",
      "parents": [
        "e1f47d891c0f00769d6d40ac5740f943e998d089"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Fri Jan 25 21:08:13 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:13 2008 +0100"
      },
      "message": "sched: break out early if RT task cannot be migrated\n\nWe don\u0027t need to bother searching if the task cannot be migrated\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e1f47d891c0f00769d6d40ac5740f943e998d089",
      "tree": "ccf402b5b5a8377af811afb288c39e2e136f1700",
      "parents": [
        "a22d7fc187ed996b66d8439db27b2303f79a8e7b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Jan 25 21:08:12 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:12 2008 +0100"
      },
      "message": "sched: RT-balance, avoid overloading\n\nThis patch changes the searching for a run queue by a waking RT task\nto try to pick another runqueue if the currently running task\nis an RT task.\n\nThe reason is that RT tasks behave different than normal\ntasks. Preempting a normal task to run a RT task to keep\nits cache hot is fine, because the preempted non-RT task\nmay wait on that same runqueue to run again unless the\nmigration thread comes along and pulls it off.\n\nRT tasks behave differently. If one is preempted, it makes\nan active effort to continue to run. So by having a high\npriority task preempt a lower priority RT task, that lower\nRT task will then quickly try to run on another runqueue.\nThis will cause that lower RT task to replace its nice\nhot cache (and TLB) with a completely cold one. This is\nfor the hope that the new high priority RT task will keep\n its cache hot.\n\nRemeber that this high priority RT task was just woken up.\nSo it may likely have been sleeping for several milliseconds,\nand will end up with a cold cache anyway. RT tasks run till\nthey voluntarily stop, or are preempted by a higher priority\ntask. This means that it is unlikely that the woken RT task\nwill have a hot cache to wake up to. So pushing off a lower\nRT task is just killing its cache for no good reason.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a22d7fc187ed996b66d8439db27b2303f79a8e7b",
      "tree": "44845eaac2aa44b185d0663d689fea29d94ea5ff",
      "parents": [
        "6e1254d2c41215da27025add8900ed187bca121d"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Fri Jan 25 21:08:12 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:12 2008 +0100"
      },
      "message": "sched: wake-balance fixes\n\nWe have logic to detect whether the system has migratable tasks, but we are\nnot using it when deciding whether to push tasks away.  So we add support\nfor considering this new information.\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6e1254d2c41215da27025add8900ed187bca121d",
      "tree": "f68081e3b87d44c20a1b2739cf0119d8624208b0",
      "parents": [
        "318e0893ce3f524ca045f9fd9dfd567c0a6f9446"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Fri Jan 25 21:08:11 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:11 2008 +0100"
      },
      "message": "sched: optimize RT affinity\n\nThe current code base assumes a relatively flat CPU/core topology and will\nroute RT tasks to any CPU fairly equally.  In the real world, there are\nvarious toplogies and affinities that govern where a task is best suited to\nrun with the smallest amount of overhead.  NUMA and multi-core CPUs are\nprime examples of topologies that can impact cache performance.\n\nFortunately, linux is already structured to represent these topologies via\nthe sched_domains interface.  So we change our RT router to consult a\ncombination of topology and affinity policy to best place tasks during\nmigration.\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "318e0893ce3f524ca045f9fd9dfd567c0a6f9446",
      "tree": "94eb9b03fc51033e87bc222861a5906233abae67",
      "parents": [
        "2de0b4639f4b1b6bfe31f795e5855f041f177170"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Fri Jan 25 21:08:10 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:10 2008 +0100"
      },
      "message": "sched: pre-route RT tasks on wakeup\n\nIn the original patch series that Steven Rostedt and I worked on together,\nwe both took different approaches to low-priority wakeup path.  I utilized\n\"pre-routing\" (push the task away to a less important RQ before activating)\napproach, while Steve utilized a \"post-routing\" approach.  The advantage of\nmy approach is that you avoid the overhead of a wasted activate/deactivate\ncycle and peripherally related burdens.  The advantage of Steve\u0027s method is\nthat it neatly solves an issue preventing a \"pull\" optimization from being\ndeployed.\n\nIn the end, we ended up deploying Steve\u0027s idea.  But it later dawned on me\nthat we could get the best of both worlds by deploying both ideas together,\nalbeit slightly modified.\n\nThe idea is simple:  Use a \"light-weight\" lookup for pre-routing, since we\nonly need to approximate a good home for the task.  And we also retain the\npost-routing push logic to clean up any inaccuracies caused by a condition\nof \"priority mistargeting\" caused by the lightweight lookup.  Most of the\ntime, the pre-routing should work and yield lower overhead.  In the cases\nwhere it doesnt, the post-router will bat cleanup.\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2de0b4639f4b1b6bfe31f795e5855f041f177170",
      "tree": "18f7647cb785e3aa450aacbb11150bea2da7ce22",
      "parents": [
        "07b4032c9e505e2a1fbe7703aff64a153c3249be"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Fri Jan 25 21:08:10 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:10 2008 +0100"
      },
      "message": "sched: RT balancing: include current CPU\n\nIt doesn\u0027t hurt if we allow the current CPU to be included in the\nsearch.  We will just simply skip it later if the current CPU turns out\nto be the lowest.\n\nWe will use this later in the series\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "07b4032c9e505e2a1fbe7703aff64a153c3249be",
      "tree": "8b797b9cf80bc4f683a75557ff85ff385544cd74",
      "parents": [
        "e7693a362ec84bb5b6fd441d8a8b4b9d568a7a0c"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Fri Jan 25 21:08:10 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:10 2008 +0100"
      },
      "message": "sched: break out search for RT tasks\n\nIsolate the search logic into a function so that it can be used later\nin places other than find_locked_lowest_rq().\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e7693a362ec84bb5b6fd441d8a8b4b9d568a7a0c",
      "tree": "078940540641a59aaf199695bfc6de3f062a987b",
      "parents": [
        "697f0a487f294e634a342764472b79375bb3158a"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Fri Jan 25 21:08:09 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:09 2008 +0100"
      },
      "message": "sched: de-SCHED_OTHER-ize the RT path\n\nThe current wake-up code path tries to determine if it can optimize the\nwake-up to \"this_cpu\" by computing load calculations.  The problem is that\nthese calculations are only relevant to SCHED_OTHER tasks where load is king.\nFor RT tasks, priority is king.  So the load calculation is completely wasted\nbandwidth.\n\nTherefore, we create a new sched_class interface to help with\npre-wakeup routing decisions and move the load calculation as a function\nof CFS task\u0027s class.\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "697f0a487f294e634a342764472b79375bb3158a",
      "tree": "edfee23b36eef33027368bf488a731d5373765aa",
      "parents": [
        "73fe6aae84400e2b475e2a1dc4e8592cd3ed6e69"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Fri Jan 25 21:08:09 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:09 2008 +0100"
      },
      "message": "sched: clean up this_rq use in kernel/sched_rt.c\n\n\"this_rq\" is normally used to denote the RQ on the current cpu\n(i.e. \"cpu_rq(this_cpu)\").  So clean up the usage of this_rq to be\nmore consistent with the rest of the code.\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ],
  "next": "73fe6aae84400e2b475e2a1dc4e8592cd3ed6e69"
}
