)]}'
{
  "log": [
    {
      "commit": "ac8825ec6d941b6899331b84c7d6bf027c3bb4f1",
      "tree": "3c8673f34f88e9438405216416ad22af8b9e4998",
      "parents": [
        "2d7da80f7138c4276ef4fa0334be400b805d0fbf"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 25 08:12:04 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:36:09 2008 +0200"
      },
      "message": "ftrace: clean up macro usage\n\nenclose the argument in parenthesis. (especially since we cast it,\nwhich is a high prio operation)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2d7da80f7138c4276ef4fa0334be400b805d0fbf",
      "tree": "2c2c21758498c989cf22414bf66bff1093edd263",
      "parents": [
        "6f93fc076a464bfe24e8d4c5fea3f6ca5bdb264d"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Mon Aug 25 13:08:44 2008 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:36:06 2008 +0200"
      },
      "message": "ftrace: fix build failure\n\nAfter disabling FTRACE_MCOUNT_RECORD via a patch, a dormant build\nfailure surfaced:\n\n kernel/trace/ftrace.c: In function \u0027ftrace_record_ip\u0027:\n kernel/trace/ftrace.c:416: error: incompatible type for argument 1 of \u0027_spin_lock_irqsave\u0027\n kernel/trace/ftrace.c:433: error: incompatible type for argument 1 of \u0027_spin_lock_irqsave\u0027\n\nIntroduced by commit 6dad8e07f4c10b17b038e84d29f3ca41c2e55cd0 (\"ftrace:\nadd necessary locking for ftrace records\").\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "99ecdc43bc17faf5fa571db8569df171ecd0e5b8",
      "tree": "aedefb2859247aefe7538e479ab71bcd3a1717c8",
      "parents": [
        "00fd61aee10533e003f2f00ab7163207660a4051"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Aug 15 21:40:05 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:47 2008 +0200"
      },
      "message": "ftrace: add necessary locking for ftrace records\n\nThe new design of pre-recorded mcounts and updating the code outside of\nkstop_machine has changed the way the records themselves are protected.\n\nThis patch uses the ftrace_lock to protect the records. Note, the lock\nstill does not need to be taken within calls that are only called via\nkstop_machine, since the that code can not run while the spin lock is held.\n\nAlso removed the hash_lock needed for the daemon when MCOUNT_RECORD is\nconfigured. Also did a slight cleanup of an unused variable.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "00fd61aee10533e003f2f00ab7163207660a4051",
      "tree": "72f42d3a4b238d84e3697c53b31b1ba9f8d022cb",
      "parents": [
        "98a983aad2e5b3dc83a8a761675445cdd8f3e6bd"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Aug 15 21:40:04 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:43 2008 +0200"
      },
      "message": "ftrace: do not init module on ftrace disabled\n\nIf one of the self tests of ftrace has disabled the function tracer,\ndo not run the code to convert the mcount calls in modules.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "98a983aad2e5b3dc83a8a761675445cdd8f3e6bd",
      "tree": "f207a80453ff556fa1ddcb7eef4f17485a647161",
      "parents": [
        "3989cce82b272bd6312555fcc47c11715c157102"
      ],
      "author": {
        "name": "Frédéric Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Aug 15 21:08:22 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:40 2008 +0200"
      },
      "message": "ftrace: fix some mistakes in error messages\n\nThis patch fixes some mistakes on the tracer in warning messages when\ndebugfs fails to create tracing files.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: srostedt@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3f5a54e371ca20b119b73704f6c01b71295c1714",
      "tree": "1453315564a19e967f11e612e264d4d2989afbe5",
      "parents": [
        "2f2c99dba2398ef7d9c21f7c793180a50e68b1f0"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jul 30 22:36:46 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:26 2008 +0200"
      },
      "message": "ftrace: dump out ftrace buffers to console on panic\n\nAt OLS I had a lot of interest to be able to have the ftrace buffers\ndumped on panic.  Usually one would expect to uses kexec and examine\nthe buffers after a new kernel is loaded. But sometimes the resources\ndo not permit kdump and kexec, so having an option to still see the\nsequence of events up to the crash is very advantageous.\n\nThis patch adds the option to have the ftrace buffers dumped to the\nconsole in the latency_trace format on a panic. When the option is set,\nthe default entries per CPU buffer are lowered to 16384, since the writing\nto the serial (if that is the console) may take an awful long time\notherwise.\n\n[\n Changes since -v1:\n  Got alpine to send correctly (as well as spell check working).\n  Removed config option.\n  Moved the static variables into ftrace_dump itself.\n  Gave printk a log level.\n]\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2f2c99dba2398ef7d9c21f7c793180a50e68b1f0",
      "tree": "4948b0cd7b9828aa19f6862b10173cbc9f59ea68",
      "parents": [
        "dd0e545f061f90099a3dcc13aa77e29c6295cf23"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Aug 01 16:45:49 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:22 2008 +0200"
      },
      "message": "ftrace: ftrace_printk doc moved\n\nBased on Randy Dunlap\u0027s suggestion, the ftrace_printk kernel-doc belongs\nwith the ftrace_printk macro that should be used. Not with the\n__ftrace_printk internal function.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dd0e545f061f90099a3dcc13aa77e29c6295cf23",
      "tree": "91842e81cacd2ae785bf14b96f3f65af96985658",
      "parents": [
        "2e2ca155cd2213b4f398031180fb3d399d5b7db9"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Aug 01 12:26:41 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:19 2008 +0200"
      },
      "message": "ftrace: printk formatting infrastructure\n\nThis patch adds a feature that can help kernel developers debug their\ncode using ftrace.\n\n  int ftrace_printk(const char *fmt, ...);\n\nThis records into the ftrace buffer using printf formatting. The entry\nsize in the buffers are still a fixed length. A new type has been added\nthat allows for more entries to be used for a single recording.\n\nThe start of the print is still the same as the other entries.\n\nIt returns the number of characters written to the ftrace buffer.\n\nFor example:\n\nHaving a module with the following code:\n\nstatic int __init ftrace_print_test(void)\n{\n        ftrace_printk(\"jiffies are %ld\\n\", jiffies);\n        return 0;\n}\n\nGives me:\n\n  insmod-5441  3...1 7569us : ftrace_print_test: jiffies are 4296626666\n\nfor the latency_trace file and:\n\n          insmod-5441  [03]  1959.370498: ftrace_print_test jiffies are 4296626666\n\nfor the trace file.\n\nNote: Only the infrastructure should go into the kernel. It is to help\nfacilitate debugging for other kernel developers. Calls to ftrace_printk\nis not intended to be left in the kernel, and should be frowned upon just\nlike scattering printks around in the code.\n\nBut having this easily at your fingertips helps the debugging go faster\nand bugs be solved quicker.\n\nMaybe later on, we can hook this with markers and have their printf format\nbe sucked into ftrace output.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2e2ca155cd2213b4f398031180fb3d399d5b7db9",
      "tree": "027295832950e23ac4edc84e43550d02e9a1acc6",
      "parents": [
        "fed1939c64d2288938fdc1c367d49082da65e195"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Aug 01 12:26:40 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:15 2008 +0200"
      },
      "message": "ftrace: new continue entry - separate out from trace_entry\n\nSome tracers will need to work with more than one entry. In order to do this\nthe trace_entry structure was split into two fields. One for the start of\nall entries, and one to continue an existing entry.\n\nThe trace_entry structure now has a \"field\" entry that consists of the previous\ncontent of the trace_entry, and a \"cont\" entry that is just a string buffer\nthe size of the \"field\" entry.\n\nThanks to Andrew Morton for suggesting this idea.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fed1939c64d2288938fdc1c367d49082da65e195",
      "tree": "a4592352d28efcfe82379c71d061b9127e49a115",
      "parents": [
        "28614889bcb2558a47d02d52394b7fd9795a9547"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Aug 14 22:47:19 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:12 2008 +0200"
      },
      "message": "ftrace: remove old pointers to mcount\n\nWhen a mcount pointer is recorded into a table, it is used to add or\nremove calls to mcount (replacing them with nops). If the code is removed\nvia removing a module, the pointers still exist.  At modifying the code\na check is always made to make sure the code being replaced is the code\nexpected. In-other-words, the code being replaced is compared to what\nit is expected to be before being replaced.\n\nThere is a very small chance that the code being replaced just happens\nto look like code that calls mcount (very small since the call to mcount\nis relative). To remove this chance, this patch adds ftrace_release to\nallow module unloading to remove the pointers to mcount within the module.\n\nAnother change for init calls is made to not trace calls marked with\n__init. The tracing can not be started until after init is done anyway.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a9fdda33cd7c7519b082e37538fe790f9ff684bb",
      "tree": "56d16d69e519e127a2090df6a16aa9029e8c0e05",
      "parents": [
        "732f3ca7d4ba3c1be8d051d52302ef441ee7748b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Aug 14 22:47:17 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:05 2008 +0200"
      },
      "message": "ftrace: do not show freed records in available_filter_functions\n\nSeems that freed records can appear in the available_filter_functions list.\nThis patch fixes that.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "90d595fe5ca4b685465c068907e6e554760abea8",
      "tree": "03f98454af8c6756177aa053ae7440373007f67d",
      "parents": [
        "68bf21aa15c85d2e9b623dcda2b1ed8893275fa1"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Aug 14 15:45:09 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:34:47 2008 +0200"
      },
      "message": "ftrace: enable mcount recording for modules\n\nThis patch enables the loading of the __mcount_section of modules and\nchanging all the callers of mcount into nops.\n\nThe modification is done before the init_module function is called, so\nagain, we do not need to use kstop_machine to make these changes.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "68bf21aa15c85d2e9b623dcda2b1ed8893275fa1",
      "tree": "54d4d4f7e8311b77f3166a8807a635347d479081",
      "parents": [
        "8da3821ba5634497da63d58a69e24a97697c4a2b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Aug 14 15:45:08 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:34:44 2008 +0200"
      },
      "message": "ftrace: mcount call site on boot nops core\n\nThis is the infrastructure to the converting the mcount call sites\nrecorded by the __mcount_loc section into nops on boot. It also allows\nfor using these sites to enable tracing as normal. When the __mcount_loc\nsection is used, the \"ftraced\" kernel thread is disabled.\n\nThis uses the current infrastructure to record the mcount call sites\nas well as convert them to nops. The mcount function is kept as a stub\non boot up and not converted to the ftrace_record_ip function. We use the\nftrace_record_ip to only record from the table.\n\nThis patch does not handle modules. That comes with a later patch.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8da3821ba5634497da63d58a69e24a97697c4a2b",
      "tree": "47d4d097b1cd2aafae2e3596a9ae0d1293228782",
      "parents": [
        "8b1fa1d7b22f386747c7b78b918d4c680c16066f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Aug 14 15:45:07 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:34:40 2008 +0200"
      },
      "message": "ftrace: create __mcount_loc section\n\nThis patch creates a section in the kernel called \"__mcount_loc\".\nThis will hold a list of pointers to the mcount relocation for\neach call site of mcount.\n\nFor example:\n\nobjdump -dr init/main.o\n[...]\nDisassembly of section .text:\n\n0000000000000000 \u003cdo_one_initcall\u003e:\n   0:   55                      push   %rbp\n[...]\n000000000000017b \u003cinit_post\u003e:\n 17b:   55                      push   %rbp\n 17c:   48 89 e5                mov    %rsp,%rbp\n 17f:   53                      push   %rbx\n 180:   48 83 ec 08             sub    $0x8,%rsp\n 184:   e8 00 00 00 00          callq  189 \u003cinit_post+0xe\u003e\n                        185: R_X86_64_PC32      mcount+0xfffffffffffffffc\n[...]\n\nWe will add a section to point to each function call.\n\n   .section __mcount_loc,\"a\",@progbits\n[...]\n   .quad .text + 0x185\n[...]\n\nThe offset to of the mcount call site in init_post is an offset from\nthe start of the section, and not the start of the function init_post.\nThe mcount relocation is at the call site 0x185 from the start of the\n.text section.\n\n  .text + 0x185  \u003d\u003d init_post + 0xa\n\nWe need a way to add this __mcount_loc section in a way that we do not\nlose the relocations after final link.  The .text section here will\nbe attached to all other .text sections after final link and the\noffsets will be meaningless.  We need to keep track of where these\n.text sections are.\n\nTo do this, we use the start of the first function in the section.\ndo_one_initcall.  We can make a tmp.s file with this function as a reference\nto the start of the .text section.\n\n   .section __mcount_loc,\"a\",@progbits\n[...]\n   .quad do_one_initcall + 0x185\n[...]\n\nThen we can compile the tmp.s into a tmp.o\n\n  gcc -c tmp.s -o tmp.o\n\nAnd link it into back into main.o.\n\n  ld -r main.o tmp.o -o tmp_main.o\n  mv tmp_main.o main.o\n\nBut we have a problem.  What happens if the first function in a section\nis not exported, and is a static function. The linker will not let\nthe tmp.o use it.  This case exists in main.o as well.\n\nDisassembly of section .init.text:\n\n0000000000000000 \u003cset_reset_devices\u003e:\n   0:   55                      push   %rbp\n   1:   48 89 e5                mov    %rsp,%rbp\n   4:   e8 00 00 00 00          callq  9 \u003cset_reset_devices+0x9\u003e\n                        5: R_X86_64_PC32        mcount+0xfffffffffffffffc\n\nThe first function in .init.text is a static function.\n\n00000000000000a8 t __setup_set_reset_devices\n000000000000105f t __setup_str_set_reset_devices\n0000000000000000 t set_reset_devices\n\nThe lowercase \u0027t\u0027 means that set_reset_devices is local and is not exported.\nIf we simply try to link the tmp.o with the set_reset_devices we end\nup with two symbols: one local and one global.\n\n .section __mcount_loc,\"a\",@progbits\n .quad set_reset_devices + 0x10\n\n00000000000000a8 t __setup_set_reset_devices\n000000000000105f t __setup_str_set_reset_devices\n0000000000000000 t set_reset_devices\n                 U set_reset_devices\n\nWe still have an undefined reference to set_reset_devices, and if we try\nto compile the kernel, we will end up with an undefined reference to\nset_reset_devices, or even worst, it could be exported someplace else,\nand then we will have a reference to the wrong location.\n\nTo handle this case, we make an intermediate step using objcopy.\nWe convert set_reset_devices into a global exported symbol before linking\nit with tmp.o and set it back afterwards.\n\n00000000000000a8 t __setup_set_reset_devices\n000000000000105f t __setup_str_set_reset_devices\n0000000000000000 T set_reset_devices\n\n00000000000000a8 t __setup_set_reset_devices\n000000000000105f t __setup_str_set_reset_devices\n0000000000000000 T set_reset_devices\n\n00000000000000a8 t __setup_set_reset_devices\n000000000000105f t __setup_str_set_reset_devices\n0000000000000000 t set_reset_devices\n\nNow we have a section in main.o called __mcount_loc that we can place\nsomewhere in the kernel using vmlinux.ld.S and access it to convert\nall these locations that call mcount into nops before starting SMP\nand thus, eliminating the need to do this with kstop_machine.\n\nNote, A well documented perl script (scripts/recordmcount.pl) is used\nto do all this in one location.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "36dcd67ae994fece615b7c700958d215e884b9ae",
      "tree": "2a4bed0cb9de673b7760b81f9fe03fd5f262c77e",
      "parents": [
        "9795302acf2817d0842e56d23df6008e43df0970"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 29 12:00:59 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:34:22 2008 +0200"
      },
      "message": "ftrace: ignore functions that cannot be kprobe-ed\n\nkprobes already has an extensive list of annotations for functions\nthat should not be instrumented. Add notrace annotations to these\nfunctions as well.\n\nThis is particularly useful for functions called by the NMI path.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9795302acf2817d0842e56d23df6008e43df0970",
      "tree": "de2219d52413770567e656b8e6e6b4da7fbf6fca",
      "parents": [
        "611b1597680dd4a57896bcca1af0484be463c55e"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Jul 24 16:37:23 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:34:07 2008 +0200"
      },
      "message": "tracepoints: use TABLE_SIZE macro\n\nSteven Rostedt suggested:\n\n| Wouldn\u0027t it look nicer to have: (TRACEPOINT_TABLE_SIZE - 1) ?\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5f87f1121895dc09d2d1c1db5f14af6aa4ce3e94",
      "tree": "4b8354ab2dc0890d0d4c91d42ff9e13db50ebeab",
      "parents": [
        "cf569a932217b97e2fc2c48aa597fe29519a0cff"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 23 14:15:22 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:33:32 2008 +0200"
      },
      "message": "tracing: clean up tracepoints kconfig structure\n\ndo not expose users to CONFIG_TRACEPOINTS - tracers can select it\njust fine.\n\nupdate ftrace to select CONFIG_TRACEPOINTS.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b07c3f193a8074aa4afe43cfa8ae38ec4c7ccfa9",
      "tree": "7d2b1d9efc5a8e24cb07c8d7f0b3e056fec8f150",
      "parents": [
        "0a16b6075843325dc402edf80c1662838b929aff"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Fri Jul 18 12:16:17 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:32:26 2008 +0200"
      },
      "message": "ftrace: port to tracepoints\n\nPorting the trace_mark() used by ftrace to tracepoints. (cleanup)\n\nChangelog :\n- Change error messages : marker -\u003e tracepoint\n\n[ mingo@elte.hu: conflict resolutions ]\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: \u0027Peter Zijlstra\u0027 \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0a16b6075843325dc402edf80c1662838b929aff",
      "tree": "124e49d8c0196f3c6eb7aa09a7c4c3c3157fff7a",
      "parents": [
        "4a0897526bbc5c6ac0df80b16b8c60339e717ae2"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Fri Jul 18 12:16:17 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:30:52 2008 +0200"
      },
      "message": "tracing, sched: LTTng instrumentation - scheduler\n\nInstrument the scheduler activity (sched_switch, migration, wakeups,\nwait for a task, signal delivery) and process/thread\ncreation/destruction (fork, exit, kthread stop). Actually, kthread\ncreation is not instrumented in this patch because it is architecture\ndependent. It allows to connect tracers such as ftrace which detects\nscheduling latencies, good/bad scheduler decisions. Tools like LTTng can\nexport this scheduler information along with instrumentation of the rest\nof the kernel activity to perform post-mortem analysis on the scheduler\nactivity.\n\nAbout the performance impact of tracepoints (which is comparable to\nmarkers), even without immediate values optimizations, tests done by\nHideo Aoki on ia64 show no regression. His test case was using hackbench\non a kernel where scheduler instrumentation (about 5 events in code\nscheduler code) was added. See the \"Tracepoints\" patch header for\nperformance result detail.\n\nChangelog :\n\n- Change instrumentation location and parameter to match ftrace\n  instrumentation, previously done with kernel markers.\n\n[ mingo@elte.hu: conflict resolutions ]\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: \u0027Peter Zijlstra\u0027 \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "97e1c18e8d17bd87e1e383b2e9d9fc740332c8e2",
      "tree": "5c6bfce8bacf04c2993a0029788a1370a483afa6",
      "parents": [
        "e7f2f9918c0e97aa98ba147ca387e2c7238f0711"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Fri Jul 18 12:16:16 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:28:28 2008 +0200"
      },
      "message": "tracing: Kernel Tracepoints\n\nImplementation of kernel tracepoints. Inspired from the Linux Kernel\nMarkers. Allows complete typing verification by declaring both tracing\nstatement inline functions and probe registration/unregistration static\ninline functions within the same macro \"DEFINE_TRACE\". No format string\nis required. See the tracepoint Documentation and Samples patches for\nusage examples.\n\nTaken from the documentation patch :\n\n\"A tracepoint placed in code provides a hook to call a function (probe)\nthat you can provide at runtime. A tracepoint can be \"on\" (a probe is\nconnected to it) or \"off\" (no probe is attached). When a tracepoint is\n\"off\" it has no effect, except for adding a tiny time penalty (checking\na condition for a branch) and space penalty (adding a few bytes for the\nfunction call at the end of the instrumented function and adds a data\nstructure in a separate section).  When a tracepoint is \"on\", the\nfunction you provide is called each time the tracepoint is executed, in\nthe execution context of the caller. When the function provided ends its\nexecution, it returns to the caller (continuing from the tracepoint\nsite).\n\nYou can put tracepoints at important locations in the code. They are\nlightweight hooks that can pass an arbitrary number of parameters, which\nprototypes are described in a tracepoint declaration placed in a header\nfile.\"\n\nAddition and removal of tracepoints is synchronized by RCU using the\nscheduler (and preempt_disable) as guarantees to find a quiescent state\n(this is really RCU \"classic\"). The update side uses rcu_barrier_sched()\nwith call_rcu_sched() and the read/execute side uses\n\"preempt_disable()/preempt_enable()\".\n\nWe make sure the previous array containing probes, which has been\nscheduled for deletion by the rcu callback, is indeed freed before we\nproceed to the next update. It therefore limits the rate of modification\nof a single tracepoint to one update per RCU period. The objective here\nis to permit fast batch add/removal of probes on _different_\ntracepoints.\n\nChangelog :\n- Use #name \":\" #proto as string to identify the tracepoint in the\n  tracepoint table. This will make sure not type mismatch happens due to\n  connexion of a probe with the wrong type to a tracepoint declared with\n  the same name in a different header.\n- Add tracepoint_entry_free_old.\n- Change __TO_TRACE to get rid of the \u0027i\u0027 iterator.\n\nMasami Hiramatsu \u003cmhiramat@redhat.com\u003e :\nTested on x86-64.\n\nPerformance impact of a tracepoint : same as markers, except that it\nadds about 70 bytes of instructions in an unlikely branch of each\ninstrumented function (the for loop, the stack setup and the function\ncall). It currently adds a memory read, a test and a conditional branch\nat the instrumentation site (in the hot path). Immediate values will\neventually change this into a load immediate, test and branch, which\nremoves the memory read which will make the i-cache impact smaller\n(changing the memory read for a load immediate removes 3-4 bytes per\nsite on x86_32 (depending on mov prefixes), or 7-8 bytes on x86_64, it\nalso saves the d-cache hit).\n\nAbout the performance impact of tracepoints (which is comparable to\nmarkers), even without immediate values optimizations, tests done by\nHideo Aoki on ia64 show no regression. His test case was using hackbench\non a kernel where scheduler instrumentation (about 5 events in code\nscheduler code) was added.\n\nQuoting Hideo Aoki about Markers :\n\nI evaluated overhead of kernel marker using linux-2.6-sched-fixes git\ntree, which includes several markers for LTTng, using an ia64 server.\n\nWhile the immediate trace mark feature isn\u0027t implemented on ia64, there\nis no major performance regression. So, I think that we don\u0027t have any\nissues to propose merging marker point patches into Linus\u0027s tree from\nthe viewpoint of performance impact.\n\nI prepared two kernels to evaluate. The first one was compiled without\nCONFIG_MARKERS. The second one was enabled CONFIG_MARKERS.\n\nI downloaded the original hackbench from the following URL:\nhttp://devresources.linux-foundation.org/craiger/hackbench/src/hackbench.c\n\nI ran hackbench 5 times in each condition and calculated the average and\ndifference between the kernels.\n\n    The parameter of hackbench: every 50 from 50 to 800\n    The number of CPUs of the server: 2, 4, and 8\n\nBelow is the results. As you can see, major performance regression\nwasn\u0027t found in any case. Even if number of processes increases,\ndifferences between marker-enabled kernel and marker- disabled kernel\ndoesn\u0027t increase. Moreover, if number of CPUs increases, the differences\ndoesn\u0027t increase either.\n\nCuriously, marker-enabled kernel is better than marker-disabled kernel\nin more than half cases, although I guess it comes from the difference\nof memory access pattern.\n\n* 2 CPUs\n\nNumber of | without      | with         | diff     | diff    |\nprocesses | Marker [Sec] | Marker [Sec] |   [Sec]  |   [%]   |\n--------------------------------------------------------------\n       50 |      4.811   |       4.872  |  +0.061  |  +1.27  |\n      100 |      9.854   |      10.309  |  +0.454  |  +4.61  |\n      150 |     15.602   |      15.040  |  -0.562  |  -3.6   |\n      200 |     20.489   |      20.380  |  -0.109  |  -0.53  |\n      250 |     25.798   |      25.652  |  -0.146  |  -0.56  |\n      300 |     31.260   |      30.797  |  -0.463  |  -1.48  |\n      350 |     36.121   |      35.770  |  -0.351  |  -0.97  |\n      400 |     42.288   |      42.102  |  -0.186  |  -0.44  |\n      450 |     47.778   |      47.253  |  -0.526  |  -1.1   |\n      500 |     51.953   |      52.278  |  +0.325  |  +0.63  |\n      550 |     58.401   |      57.700  |  -0.701  |  -1.2   |\n      600 |     63.334   |      63.222  |  -0.112  |  -0.18  |\n      650 |     68.816   |      68.511  |  -0.306  |  -0.44  |\n      700 |     74.667   |      74.088  |  -0.579  |  -0.78  |\n      750 |     78.612   |      79.582  |  +0.970  |  +1.23  |\n      800 |     85.431   |      85.263  |  -0.168  |  -0.2   |\n--------------------------------------------------------------\n\n* 4 CPUs\n\nNumber of | without      | with         | diff     | diff    |\nprocesses | Marker [Sec] | Marker [Sec] |   [Sec]  |   [%]   |\n--------------------------------------------------------------\n       50 |      2.586   |       2.584  |  -0.003  |  -0.1   |\n      100 |      5.254   |       5.283  |  +0.030  |  +0.56  |\n      150 |      8.012   |       8.074  |  +0.061  |  +0.76  |\n      200 |     11.172   |      11.000  |  -0.172  |  -1.54  |\n      250 |     13.917   |      14.036  |  +0.119  |  +0.86  |\n      300 |     16.905   |      16.543  |  -0.362  |  -2.14  |\n      350 |     19.901   |      20.036  |  +0.135  |  +0.68  |\n      400 |     22.908   |      23.094  |  +0.186  |  +0.81  |\n      450 |     26.273   |      26.101  |  -0.172  |  -0.66  |\n      500 |     29.554   |      29.092  |  -0.461  |  -1.56  |\n      550 |     32.377   |      32.274  |  -0.103  |  -0.32  |\n      600 |     35.855   |      35.322  |  -0.533  |  -1.49  |\n      650 |     39.192   |      38.388  |  -0.804  |  -2.05  |\n      700 |     41.744   |      41.719  |  -0.025  |  -0.06  |\n      750 |     45.016   |      44.496  |  -0.520  |  -1.16  |\n      800 |     48.212   |      47.603  |  -0.609  |  -1.26  |\n--------------------------------------------------------------\n\n* 8 CPUs\n\nNumber of | without      | with         | diff     | diff    |\nprocesses | Marker [Sec] | Marker [Sec] |   [Sec]  |   [%]   |\n--------------------------------------------------------------\n       50 |      2.094   |       2.072  |  -0.022  |  -1.07  |\n      100 |      4.162   |       4.273  |  +0.111  |  +2.66  |\n      150 |      6.485   |       6.540  |  +0.055  |  +0.84  |\n      200 |      8.556   |       8.478  |  -0.078  |  -0.91  |\n      250 |     10.458   |      10.258  |  -0.200  |  -1.91  |\n      300 |     12.425   |      12.750  |  +0.325  |  +2.62  |\n      350 |     14.807   |      14.839  |  +0.032  |  +0.22  |\n      400 |     16.801   |      16.959  |  +0.158  |  +0.94  |\n      450 |     19.478   |      19.009  |  -0.470  |  -2.41  |\n      500 |     21.296   |      21.504  |  +0.208  |  +0.98  |\n      550 |     23.842   |      23.979  |  +0.137  |  +0.57  |\n      600 |     26.309   |      26.111  |  -0.198  |  -0.75  |\n      650 |     28.705   |      28.446  |  -0.259  |  -0.9   |\n      700 |     31.233   |      31.394  |  +0.161  |  +0.52  |\n      750 |     34.064   |      33.720  |  -0.344  |  -1.01  |\n      800 |     36.320   |      36.114  |  -0.206  |  -0.57  |\n--------------------------------------------------------------\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: \u0027Peter Zijlstra\u0027 \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dbda4c0b97b18fd59b3964548361b4f92357f730",
      "tree": "ca7e2827541aec01762f2a9c0e3155aaf49bf0ca",
      "parents": [
        "934e6ebf96e8c1a0f299e64129fdaebc1132a427"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:40:53 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:42 2008 -0700"
      },
      "message": "tty: Fix abusers of current-\u003esighand-\u003etty\n\nVarious people outside the tty layer still stick their noses in behind the\nscenes. We need to make sure they also obey the locking and referencing rules.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "95f9bfc6b76e862265a2d70ae061eec18fe14140",
      "tree": "88e72e0d31b9f368d5c9dcb3e0d92994effe5edc",
      "parents": [
        "452a00d2ee288f2cbc36f676edd06cb14d2878c1"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:39:23 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:41 2008 -0700"
      },
      "message": "tty: Move tty_write_message out of kernel/printk\n\nThis is pure tty code so put it in the tty layer where it can be with the\nlocking relevant material it uses\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9c9f4ded90a59eee84e15f5fd38c03d60184e112",
      "tree": "925a7f7c30136477b3f8551123fd86b355fd60fb",
      "parents": [
        "348eb12e5598be97400c749d3d93a71856ae0b2b"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:37:26 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:40 2008 -0700"
      },
      "message": "tty: Add a kref count\n\nIntroduce a kref to the tty structure and use it to protect the tty-\u003esignal\ntty references. For now we don\u0027t introduce it for anything else.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "56c5d900dbb8e042bfad035d18433476931d8f93",
      "tree": "00b793965beeef10db03e0ff021d2d965c410759",
      "parents": [
        "4dd95b63ae25c5cad6986829b5e8788e9faa0330",
        "ead9d23d803ea3a73766c3cb27bf7563ac8d7266"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Oct 11 12:39:35 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Oct 11 12:39:35 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tsound/core/memalloc.c\n"
    },
    {
      "commit": "ead9d23d803ea3a73766c3cb27bf7563ac8d7266",
      "tree": "42225fadd0d5388bf21d1658e56879e14f23e013",
      "parents": [
        "bf6f51e3a46f6a602853d3cbacd05864bc6e2a37",
        "0afe2db21394820d32646a695eccf3fbfe6ab5c7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 11 11:47:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 11 11:51:16 2008 -0700"
      },
      "message": "Merge phase #4 (X2APIC, APIC unification, CPU identification unification) of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-v28-for-linus-phase4-D\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (186 commits)\n  x86, debug: print more information about unknown CPUs\n  x86 setup: handle more than 8 CPU flag words\n  x86: cpuid, fix typo\n  x86: move transmeta cap read to early_init_transmeta()\n  x86: identify_cpu_without_cpuid v2\n  x86: extended \"flags\" to show virtualization HW feature in /proc/cpuinfo\n  x86: move VMX MSRs to msr-index.h\n  x86: centaur_64.c remove duplicated setting of CONSTANT_TSC\n  x86: intel.c put workaround for old cpus together\n  x86: let intel 64-bit use intel.c\n  x86: make intel_64.c the same as intel.c\n  x86: make intel.c have 64-bit support code\n  x86: little clean up of intel.c/intel_64.c\n  x86: make 64 bit to use amd.c\n  x86: make amd_64 have 32 bit code\n  x86: make amd.c have 64bit support code\n  x86: merge header in amd_64.c\n  x86: add srat_detect_node for amd64\n  x86: remove duplicated force_mwait\n  x86: cpu make amd.c more like amd_64.c v2\n  ...\n"
    },
    {
      "commit": "0afe2db21394820d32646a695eccf3fbfe6ab5c7",
      "tree": "6d925383f444a242ebc77d167420efb7e6ad8d99",
      "parents": [
        "d84705969f898f294bc3fc32eca33580f14105bd",
        "43603c8df97f246e8be7b9cc92a8f968a85108bd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 11 20:23:20 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 11 20:23:20 2008 +0200"
      },
      "message": "Merge branch \u0027x86/unify-cpu-detect\u0027 into x86-v28-for-linus-phase4-D\n\nConflicts:\n\tarch/x86/kernel/cpu/common.c\n\tarch/x86/kernel/signal_64.c\n\tinclude/asm-x86/cpufeature.h\n"
    },
    {
      "commit": "d84705969f898f294bc3fc32eca33580f14105bd",
      "tree": "c59c7e835820c6bfb5a957f70e58fee1699a6b38",
      "parents": [
        "725c25819e4a0dafdcf42a5f31bc569341919c7c",
        "11494547b1754c4f3bd7f707ab869e2adf54d52f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 10 19:50:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 11 20:17:36 2008 +0200"
      },
      "message": "Merge branch \u0027x86/apic\u0027 into x86-v28-for-linus-phase4-B\n\nConflicts:\n\tarch/x86/kernel/apic_32.c\n\tarch/x86/kernel/apic_64.c\n\tarch/x86/kernel/setup.c\n\tdrivers/pci/intel-iommu.c\n\tinclude/asm-x86/cpufeature.h\n\tinclude/asm-x86/dma-mapping.h\n"
    },
    {
      "commit": "bf6f51e3a46f6a602853d3cbacd05864bc6e2a37",
      "tree": "72ae3563c8a6703e276f005fce5b3f1a3daca08c",
      "parents": [
        "ec8deffa33757286ba59e71d3d98173c37638b37",
        "725c25819e4a0dafdcf42a5f31bc569341919c7c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 11 11:03:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 11 11:03:12 2008 -0700"
      },
      "message": "Merge phase #3 (IOMMU) of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-v28-for-linus-phase3-B\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (74 commits)\n  AMD IOMMU: use iommu_device_max_index, fix\n  AMD IOMMU: use iommu_device_max_index\n  x86: add PCI IDs for AMD Barcelona PCI devices\n  x86/iommu: use __GFP_ZERO instead of memset for GART\n  x86/iommu: convert GART need_flush to bool\n  x86/iommu: make GART driver checkpatch clean\n  x86 gart: remove unnecessary initialization\n  x86: restore old GART alloc_coherent behavior\n  revert \"x86: make GART to respect device\u0027s dma_mask about virtual mappings\"\n  x86: export pci-nommu\u0027s alloc_coherent\n  iommu: remove fullflush and nofullflush in IOMMU generic option\n  x86: remove set_bit_string()\n  iommu: export iommu_area_reserve helper function\n  AMD IOMMU: use coherent_dma_mask in alloc_coherent\n  add AMD IOMMU tree to MAINTAINERS file\n  AMD IOMMU: use cmd_buf_size when freeing the command buffer\n  AMD IOMMU: calculate IVHD size with a function\n  AMD IOMMU: remove unnecessary cast to u64 in the init code\n  AMD IOMMU: free domain bitmap with its allocation order\n  AMD IOMMU: simplify dma_mask_to_pages\n  ...\n"
    },
    {
      "commit": "098ef215b1e87cff51f983bae4e4e1358b932ec9",
      "tree": "2f906ac44e65ce463bbdfa7291773c012663b2c8",
      "parents": [
        "b922df7383749a1c0b7ea64c50fa839263d3816b",
        "4f6e6b9f97b0ce98a8d1da65adbaf743bd0486a9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 11 08:49:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 11 08:49:34 2008 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:\n  [CPUFREQ] Fix BUG: using smp_processor_id() in preemptible code\n  [CPUFREQ] Don\u0027t export governors for default governor\n  [CPUFREQ][6/6] cpufreq: Add idle microaccounting in ondemand governor\n  [CPUFREQ][5/6] cpufreq: Changes to get_cpu_idle_time_us(), used by ondemand governor\n  [CPUFREQ][4/6] cpufreq_ondemand: Parameterize down differential\n  [CPUFREQ][3/6] cpufreq: get_cpu_idle_time() changes in ondemand for idle-microaccounting\n  [CPUFREQ][2/6] cpufreq: Change load calculation in ondemand for software coordination\n  [CPUFREQ][1/6] cpufreq: Add cpu number parameter to __cpufreq_driver_getavg()\n  [CPUFREQ] use deferrable delayed work init in conservative governor\n  [CPUFREQ] drivers/cpufreq/cpufreq.c: Adjust error handling code involving cpufreq_cpu_put\n  [CPUFREQ] add error handling for cpufreq_register_governor() error\n  [CPUFREQ] acpi-cpufreq: add error handling for cpufreq_register_driver() error\n  [CPUFREQ] Coding style fixes to arch/x86/kernel/cpu/cpufreq/powernow-k6.c\n  [CPUFREQ] Coding style fixes to arch/x86/kernel/cpu/cpufreq/elanfreq.c\n"
    },
    {
      "commit": "b922df7383749a1c0b7ea64c50fa839263d3816b",
      "tree": "dd72306ac173753649eb049d6d2734f4e2b95ff6",
      "parents": [
        "c54dcd8ec9f05c8951d1e622e90904aef95379f9",
        "cdbb92b31d3c465aa96bd09f2d42c39b87b32bee"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 10 13:10:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 10 13:10:51 2008 -0700"
      },
      "message": "Merge branch \u0027rcu-v28-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027rcu-v28-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (21 commits)\n  rcu: RCU-based detection of stalled CPUs for Classic RCU, fix\n  rcu: RCU-based detection of stalled CPUs for Classic RCU\n  rcu: add rcu_read_lock_sched() / rcu_read_unlock_sched()\n  rcu: fix sparse shadowed variable warning\n  doc/RCU: fix pseudocode in rcuref.txt\n  rcuclassic: fix compiler warning\n  rcu: use irq-safe locks\n  rcuclassic: fix compilation NG\n  rcu: fix locking cleanup fallout\n  rcu: remove redundant ACCESS_ONCE definition from rcupreempt.c\n  rcu: fix classic RCU locking cleanup lockdep problem\n  rcu: trace fix possible mem-leak\n  rcu: just rename call_rcu_bh instead of making it a macro\n  rcu: remove list_for_each_rcu()\n  rcu: fixes to include/linux/rcupreempt.h\n  rcu: classic RCU locking and memory-barrier cleanups\n  rcu: prevent console flood when one CPU sees another AWOL via RCU\n  rcu, debug: detect stalled grace periods, cleanups\n  rcu, debug: detect stalled grace periods\n  rcu classic: new algorithm for callbacks-processing(v2)\n  ...\n"
    },
    {
      "commit": "725c25819e4a0dafdcf42a5f31bc569341919c7c",
      "tree": "cd2f3d763848dc550c19daf42f6146425aff058c",
      "parents": [
        "3dd392a407d15250a501fa109cc1f93fee95ef85",
        "72d31053f62c4bc464c2783974926969614a8649",
        "129d6aba444d1e99d4cbfb9866a4652912426b65",
        "1e19b16a30c34c042f1eaa23db4c99bfad1dac0e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 10 19:47:12 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 10 19:47:12 2008 +0200"
      },
      "message": "Merge branches \u0027core/iommu\u0027, \u0027x86/amd-iommu\u0027 and \u0027x86/iommu\u0027 into x86-v28-for-linus-phase3-B\n\nConflicts:\n\tarch/x86/kernel/pci-gart_64.c\n\tinclude/asm-x86/dma-mapping.h\n"
    },
    {
      "commit": "8083e4ad970e4eb567e31037060cdd4ba346f0c0",
      "tree": "330e6dc1dbb7c7db13d14f3681d4a51f62708329",
      "parents": [
        "e9d95bf7eb929b9ddc9af9f4327b76c77ed4c7d6"
      ],
      "author": {
        "name": "venkatesh.pallipadi@intel.com",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Mon Aug 04 11:59:11 2008 -0700"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Thu Oct 09 13:52:44 2008 -0400"
      },
      "message": "[CPUFREQ][5/6] cpufreq: Changes to get_cpu_idle_time_us(), used by ondemand governor\n\nexport get_cpu_idle_time_us() for it to be used in ondemand governor.\nLast update time can be current time when the CPU is currently non-idle,\naccounting for the busy time since last idle.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "a5d8c3483a6e19aca95ef6a2c5890e33bfa5b293",
      "tree": "7ace24573f220d799815fe7ad344ca11c262a8ba",
      "parents": [
        "2fb7635c4cea310992a39580133099dd99ad151c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 09 11:35:51 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 09 17:13:06 2008 +0200"
      },
      "message": "sched debug: add name to sched_domain sysctl entries\n\nadd /proc/sys/kernel/sched_domain/cpu0/domain0/name, to make\nit easier to see which specific scheduler domain remained at\nthat entry.\n\nSince we process the scheduler domain tree and\nsimplify it, it\u0027s not always immediately clear during debugging\nwhich domain came from where.\n\ndepends on CONFIG_SCHED_DEBUG\u003dy.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cdbb92b31d3c465aa96bd09f2d42c39b87b32bee",
      "tree": "370e29681529882d7e4c766a19f0612885583464",
      "parents": [
        "2ec2b482b10a1ed3493c224f1893cddd3d33833b",
        "69849375d6b13e94d08cdc94b49b11fbab454a0e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 09 00:17:25 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 09 00:17:25 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into core/rcu\n"
    },
    {
      "commit": "2fb7635c4cea310992a39580133099dd99ad151c",
      "tree": "e898c690d05c3dfeaa733fb3472eff400669be3a",
      "parents": [
        "990d0f2ced23052abc7efa09bd05bff34e00cf73"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Wed Oct 08 09:16:04 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 08 12:20:26 2008 +0200"
      },
      "message": "sched: sync wakeups vs avg_overlap\n\nWhile looking at the code I wondered why we always do:\n\n  sync \u0026\u0026 avg_overlap \u003c migration_cost\n\nWhich is a bit odd, since the overlap test was meant to detect sync wakeups\nso using it to specialize sync wakeups doesn\u0027t make much sense.\n\nHence change the code to do:\n\n  sync || avg_overlap \u003c migration_cost\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "990d0f2ced23052abc7efa09bd05bff34e00cf73",
      "tree": "df9f3fe5c0417102586087cec63e1d813a8f29cb",
      "parents": [
        "85ba94ba0592296053f7f2846812173424afe1cb",
        "34b3ede2353604ec9861c1d900b2a835ff85de47",
        "e545a6140b698b2494daf0b32107bdcc5e901390",
        "d294eb83d8d39a29f01dad391f15fc3a29aa04f9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 08 11:31:02 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 08 11:31:02 2008 +0200"
      },
      "message": "Merge branches \u0027sched/devel\u0027, \u0027sched/cpu-hotplug\u0027, \u0027sched/cpusets\u0027 and \u0027sched/urgent\u0027 into sched/core\n"
    },
    {
      "commit": "cc1e0f4f7ad95a9eb81e1904cb16068af226180d",
      "tree": "e236d87c949e9697514a6362f86391f37c6341bd",
      "parents": [
        "e85ceae9102f6e3c1d707e7ac88fa48d252e9cfa"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon Oct 06 13:50:59 2008 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon Oct 06 13:50:59 2008 -0500"
      },
      "message": "kgdb: call touch_softlockup_watchdog on resume\n\nThe softlockup watchdog needs to be touched when resuming the from the\nkgdb stopped state to avoid the printk that a CPU is stuck if the\ndebugger was active for longer than the softlockup threshold.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "34b3ede2353604ec9861c1d900b2a835ff85de47",
      "tree": "c7661ffe4143f5df331b6b2e4813aa48fdd91ca5",
      "parents": [
        "2c10c22af088ab5d94fae93ce3fe6436b2a208b4"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon Oct 06 09:27:00 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 06 08:13:34 2008 +0200"
      },
      "message": "sched: remove redundant code in cpu_cgroup_create()\n\ncss will be initialized by cgroup core.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2c10c22af088ab5d94fae93ce3fe6436b2a208b4",
      "tree": "db27721001f194327ddbdcd6c983c4ec68b77c00",
      "parents": [
        "f6121f4f8708195e88cbdf8dd8d171b226b3f858",
        "fec6ed1d1f9b78a6acb4a3eb2c46c812ac2e96f0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 06 08:13:18 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 06 08:13:18 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/devel\n"
    },
    {
      "commit": "f6121f4f8708195e88cbdf8dd8d171b226b3f858",
      "tree": "81d44c76e74e8ebdf6fdf7469b4825ee18f8e864",
      "parents": [
        "64b9e0294d24a4204232e13e01630b0690e48d61"
      ],
      "author": {
        "name": "Dario Faggioli",
        "email": "raistlin@linux.it",
        "time": "Fri Oct 03 17:40:46 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 04 14:31:54 2008 +0200"
      },
      "message": "sched_rt.c: resch needed in rt_rq_enqueue() for the root rt_rq\n\nWhile working on the new version of the code for SCHED_SPORADIC I\nnoticed something strange in the present throttling mechanism. More\nspecifically in the throttling timer handler in sched_rt.c\n(do_sched_rt_period_timer()) and in rt_rq_enqueue().\n\nThe problem is that, when unthrottling a runqueue, rt_rq_enqueue() only\nasks for rescheduling if the runqueue has a sched_entity associated to\nit (i.e., rt_rq-\u003ert_se !\u003d NULL).\nNow, if the runqueue is the root rq (which has a rt_se \u003d NULL)\nrescheduling does not take place, and it is delayed to some undefined\ninstant in the future.\n\nThis imply some random bandwidth usage by the RT tasks under throttling.\nFor instance, setting rt_runtime_us/rt_period_us \u003d 950ms/1000ms an RT\ntask will get less than 95%. In our tests we got something varying\nbetween 70% to 95%.\nUsing smaller time values, e.g., 95ms/100ms, things are even worse, and\nI can see values also going down to 20-25%!!\n\nThe tests we performed are simply running \u0027yes\u0027 as a SCHED_FIFO task,\nand checking the CPU usage with top, but we can investigate thoroughly\nif you think it is needed.\n\nThings go much better, for us, with the attached patch... Don\u0027t know if\nit is the best approach, but it solved the issue for us.\n\nSigned-off-by: Dario Faggioli \u003craistlin@linux.it\u003e\nSigned-off-by: Michael Trimarchi \u003ctrimarchimichael@yahoo.it\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "07454bfff151d2465ada809bbaddf3548cc1097c",
      "tree": "fae1802b291e57c0376f9deddcbd8bf539587940",
      "parents": [
        "2165f631f0e1d4e9a1ee425ef05cb727352285e0"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Oct 04 10:51:07 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Oct 04 10:51:07 2008 +0200"
      },
      "message": "clockevents: check broadcast tick device not the clock events device\n\nImpact: jiffies increment too fast.\n\nHugh Dickins noted that with NOHZ\u003dn and HIGHRES\u003dn jiffies get\nincremented too fast. The reason is a wrong check in the broadcast\nenter/exit code, which keeps the local apic timer in periodic mode\nwhen the switch happens.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "d294eb83d8d39a29f01dad391f15fc3a29aa04f9",
      "tree": "39e8bbcf4f4778e7aa29ef2df66e0b10d1097bbe",
      "parents": [
        "b5ff7df3df9efab511244d5a299fce706c71af48"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Oct 03 12:10:10 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 03 13:39:50 2008 +0200"
      },
      "message": "cpusets: scan_for_empty_cpusets(), cpuset doesn\u0027t seem to be so const\n\nThis fixes a warning on latest -tip:\n\n kernel/cpuset.c: Dans la fonction «scan_for_empty_cpusets» :\n kernel/cpuset.c:1932: attention : passing argument 1 of «list_add_tail» discards qualifiers from pointer target type\n\nActually the struct cpuset *root passed in parameter to scan_for_empty_cpusets\nis not supposed to be const since an entry is added on the tail of its list.\nJust correct the qualifier.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2ec2b482b10a1ed3493c224f1893cddd3d33833b",
      "tree": "a190d40ef92925fb1e6e55ffe777dd038fc27433",
      "parents": [
        "2133b5d7ff531bc15a923db4a6a50bf96c561be9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 03 10:41:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 03 10:41:00 2008 +0200"
      },
      "message": "rcu: RCU-based detection of stalled CPUs for Classic RCU, fix\n\nfix the !CONFIG_RCU_CPU_STALL_DETECTOR path:\n\n kernel/rcuclassic.c: In function \u0027__rcu_pending\u0027:\n kernel/rcuclassic.c:609: error: too few arguments to function \u0027check_cpu_stall\u0027\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2133b5d7ff531bc15a923db4a6a50bf96c561be9",
      "tree": "5917515eaec573fbc3d4a734769d6184beb83dbb",
      "parents": [
        "b5259d944279d0b7e78a83849a352d8ba0447c4c"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Oct 02 16:06:39 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 03 10:36:08 2008 +0200"
      },
      "message": "rcu: RCU-based detection of stalled CPUs for Classic RCU\n\nThis patch adds stalled-CPU detection to Classic RCU.  This capability\nis enabled by a new config variable CONFIG_RCU_CPU_STALL_DETECTOR, which\ndefaults disabled.\n\nThis is a debugging feature to detect infinite loops in kernel code, not\nsomething that non-kernel-hackers would be expected to care about.\n\nThis feature can detect looping CPUs in !PREEMPT builds and looping CPUs\nwith preemption disabled in PREEMPT builds.  This is essentially a port of\nthis functionality from the treercu patch, replacing the stall debug patch\nthat is already in tip/core/rcu (commit 67182ae1c4).\n\nThe changes from the patch in tip/core/rcu include making the config\nvariable name match that in treercu, changing from seconds to jiffies to\navoid spurious warnings, and printing a boot message when this feature\nis enabled.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b5259d944279d0b7e78a83849a352d8ba0447c4c",
      "tree": "42f0e7dc404bc776f9a736c17f52c121da166fc1",
      "parents": [
        "1c50b728c3e734150b8a4a8310ce3e01bc5c70be",
        "94aca1dac6f6d21f4b07e4864baf7768cabcc6e7"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 03 10:34:36 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 03 10:34:36 2008 +0200"
      },
      "message": "Merge commit \u0027v2.6.27-rc8\u0027 into core/rcu\n"
    },
    {
      "commit": "aa94fbd5ccd840c8ab26d02439ec799b03a72547",
      "tree": "37ebc732cc75d827e5779f2297b6a28c0f0eadaa",
      "parents": [
        "c0c9209ddd96bc4f1d70a8b9958710671e076080"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Thu Oct 02 14:50:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 02 15:53:13 2008 -0700"
      },
      "message": "fix error-path NULL deref in alloc_posix_timer()\n\nFound by static checker (http://repo.or.cz/w/smatch.git).\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cf4b0b2c9520728e170f7a3061e24dbae0b56ed4",
      "tree": "84b014876a95340c66755bbbf6e943478bc4419a",
      "parents": [
        "94aca1dac6f6d21f4b07e4864baf7768cabcc6e7",
        "ccc7dadf736639da86f3e0c86832c11a66fc8221"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 30 08:39:18 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 30 08:39:28 2008 -0700"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  hrtimer: prevent migration of per CPU hrtimers\n  hrtimer: mark migration state\n  hrtimer: fix migration of CB_IRQSAFE_NO_SOFTIRQ hrtimers\n  hrtimer: migrate pending list on cpu offline\n\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nTested-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "64b9e0294d24a4204232e13e01630b0690e48d61",
      "tree": "a8399f65354ffe0777f78e169fd7be763148c121",
      "parents": [
        "b87f17242da6b2ac6db2d179b2f93fb84cff2fbe"
      ],
      "author": {
        "name": "Amit K. Arora",
        "email": "aarora@linux.vnet.ibm.com",
        "time": "Tue Sep 30 17:15:39 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 30 15:25:44 2008 +0200"
      },
      "message": "sched: minor optimizations in wake_affine and select_task_rq_fair\n\nThis patch does following:\no Removes unused variable and argument \"rq\".\no Optimizes one of the \"if\" conditions in wake_affine() - i.e.  if\n  \"balanced\" is true, we need not do rest of the calculations in the\n  condition.\no If this cpu is same as the previous cpu (on which woken up task\n  was running when it went to sleep), no need to call wake_affine at all.\n\nSigned-off-by: Amit K Arora \u003caarora@linux.vnet.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "31a78f23bac0069004e69f98808b6988baccb6b6",
      "tree": "edca8cffb4682de6be2e79b0b8d381dbb1b70964",
      "parents": [
        "bf5cb66447e7d9f7f111c1d0ebb6d7c90ec24b4d"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Sun Sep 28 23:09:31 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 29 08:41:47 2008 -0700"
      },
      "message": "mm owner: fix race between swapoff and exit\n\nThere\u0027s a race between mm-\u003eowner assignment and swapoff, more easily\nseen when task slab poisoning is turned on.  The condition occurs when\ntry_to_unuse() runs in parallel with an exiting task.  A similar race\ncan occur with callers of get_task_mm(), such as /proc/\u003cpid\u003e/\u003cmmstats\u003e\nor ptrace or page migration.\n\nCPU0                                    CPU1\n                                        try_to_unuse\n                                        looks at mm \u003d task0-\u003emm\n                                        increments mm-\u003emm_users\ntask 0 exits\nmm-\u003eowner needs to be updated, but no\nnew owner is found (mm_users \u003e 1, but\nno other task has task-\u003emm \u003d task0-\u003emm)\nmm_update_next_owner() leaves\n                                        mmput(mm) decrements mm-\u003emm_users\ntask0 freed\n                                        dereferencing mm-\u003eowner fails\n\nThe fix is to notify the subsystem via mm_owner_changed callback(),\nif no new owner is found, by specifying the new task as NULL.\n\nJiri Slaby:\nmm-\u003eowner was set to NULL prior to calling cgroup_mm_owner_callbacks(), but\nmust be set after that, so as not to pass NULL as old owner causing oops.\n\nDaisuke Nishimura:\nmm_update_next_owner() may set mm-\u003eowner to NULL, but mem_cgroup_from_task()\nand its callers need to take account of this situation to avoid oops.\n\nHugh Dickins:\nLockdep warning and hang below exec_mmap() when testing these patches.\nexit_mm() up_reads mmap_sem before calling mm_update_next_owner(),\nso exec_mmap() now needs to do the same.  And with that repositioning,\nthere\u0027s now no point in mm_need_new_owner() allowing for NULL mm.\n\nReported-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ccc7dadf736639da86f3e0c86832c11a66fc8221",
      "tree": "3f1c0df0a291fec4a10d72cc1ab278ad81e697c5",
      "parents": [
        "b00c1a99e7758f794923c61e5cd55268d61c9469"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 29 15:47:42 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 29 17:09:14 2008 +0200"
      },
      "message": "hrtimer: prevent migration of per CPU hrtimers\n\nImpact: per CPU hrtimers can be migrated from a dead CPU\n\nThe hrtimer code has no knowledge about per CPU timers, but we need to\nprevent the migration of such timers and warn when such a timer is\nactive at migration time.\n\nExplicitely mark the timers as per CPU and use a more understandable\nmode descriptor for the interrupts safe unlocked callback mode, which\nis used by hrtimer_sleeper and the scheduler code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b00c1a99e7758f794923c61e5cd55268d61c9469",
      "tree": "aace17598caf3dfaa01f8f2f4c6e587bb1f9a2f8",
      "parents": [
        "41e1022eae71707f1ce6801a746f70b1e57b7567"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 29 15:44:46 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 29 17:09:14 2008 +0200"
      },
      "message": "hrtimer: mark migration state\n\nImpact: during migration active hrtimers can be seen as inactive\n\nThe migration code removes the hrtimers from the queues of the dead\nCPU and sets the state temporary to INACTIVE. The enqueue code sets it\nto ACTIVE/PENDING again.\n\nPrevent that the wrong state can be seen by using a separate migration\nstate bit.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "41e1022eae71707f1ce6801a746f70b1e57b7567",
      "tree": "97f8a258adcaa0123f143c1f5c53f178d96d76e8",
      "parents": [
        "7659e349672bb0d378ef8d7d62bae4c53d2bdd18"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 29 14:09:39 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 29 17:09:14 2008 +0200"
      },
      "message": "hrtimer: fix migration of CB_IRQSAFE_NO_SOFTIRQ hrtimers\n\nImpact: Stale timers after a CPU went offline.\n\ncommit 37bb6cb4097e29ffee970065b74499cbf10603a3\n       hrtimer: unlock hrtimer_wakeup\n\nchanged the hrtimer sleeper callback mode to CB_IRQSAFE_NO_SOFTIRQ due\nto locking problems. A result of this change is that when enqueue is\ncalled for an already expired hrtimer the callback function is not\nlonger called directly from the enqueue code. The normal callers have\nbeen fixed in the code, but the migration code which moves hrtimers\nfrom a dead CPU to a live CPU was not made aware of this.\n\nThis can be fixed by checking the timer state after the call to\nenqueue in the migration code.\n\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "7659e349672bb0d378ef8d7d62bae4c53d2bdd18",
      "tree": "d1cf1862c214dc9eb93b46cbc3d123a465ce7b4f",
      "parents": [
        "6ef190cc92e33565accff6a320f0e7d90480bfe7"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 29 14:06:45 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 29 17:09:13 2008 +0200"
      },
      "message": "hrtimer: migrate pending list on cpu offline\n\nImpact: hrtimers which are on the pending list are not migrated at cpu\n\toffline and can be stale forever\n\nAdd the pending list migration when CONFIG_HIGH_RES_TIMERS is enabled\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "d7161a65341556bacb5e6654e133803f46f51063",
      "tree": "b2933dc2ce1435956c193c37fd53a3d5530fe9d7",
      "parents": [
        "18d6522b86d21a04c8ac1ea79747e2e434a956d9"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Sep 26 10:36:41 2008 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Sep 26 10:36:41 2008 -0500"
      },
      "message": "kgdb, x86, arm, mips, powerpc: ignore user space single stepping\n\nOn the x86 arch, user space single step exceptions should be ignored\nif they occur in the kernel space, such as ptrace stepping through a\nsystem call.\n\nFirst check if it is kgdb that is executing a single step, then ensure\nit is not an accidental traversal into the user space, while in kgdb,\nany other time the TIF_SINGLESTEP is set, kgdb should ignore the\nexception.\n\nOn x86, arm, mips and powerpc, the kgdb_contthread usage was\ninconsistent with the way single stepping is implemented in the kgdb\ncore.  The arch specific stub should always set the\nkgdb_cpu_doing_single_step correctly if it is single stepping.  This\nallows kgdb to correctly process an instruction steps if ptrace\nhappens to be requesting an instruction step over a system call.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "18d6522b86d21a04c8ac1ea79747e2e434a956d9",
      "tree": "4df66d758f79eb7c71352e3de57d63df7156bac3",
      "parents": [
        "6ef190cc92e33565accff6a320f0e7d90480bfe7"
      ],
      "author": {
        "name": "Atsuo Igarashi",
        "email": "atsuo_igarashi@tripeaks.co.jp",
        "time": "Fri Sep 26 10:36:41 2008 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Sep 26 10:36:41 2008 -0500"
      },
      "message": "kgdb: could not write to the last of valid memory with kgdb\n\nOn the ARM architecture, kgdb will crash the kernel if the last byte\nof valid memory is written due to a flush_icache_range flushing\nbeyond the memory boundary.\n\nSigned-off-by: Atsuo Igarashi \u003catsuo_igarashi@tripeaks.co.jp\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "b87f17242da6b2ac6db2d179b2f93fb84cff2fbe",
      "tree": "7c90ccd5b3a307670f939b944a2bf32d523a3b15",
      "parents": [
        "57fdc26d4a734a3e00c6b2fc0e1e40ff8da4dc31"
      ],
      "author": {
        "name": "Bharata B Rao",
        "email": "bharata@linux.vnet.ibm.com",
        "time": "Thu Sep 25 09:53:54 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 25 11:24:11 2008 +0200"
      },
      "message": "sched: maintain only task entities in cfs_rq-\u003etasks list\n\ncfs_rq-\u003etasks list is used by the load balancer to iterate\nover all the tasks. Currently it holds all the entities\n(both task and group entities) because of which there is\na need to check for group entities explicitly during load\nbalancing. This patch changes the cfs_rq-\u003etasks list to\nhold only task entities.\n\nSigned-off-by: Bharata B Rao \u003cbharata@linux.vnet.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8553f321e0fd29821135ac4797b5f37bf80ae2e9",
      "tree": "fa64ef70c4e503f62a09b56b792bb63b791aa121",
      "parents": [
        "be3be8905854d2fcf6030f1da9ebc221e9e2c5f1",
        "f8e256c687eb53850685747757c8d75e58756e15"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 23 14:57:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 23 14:57:36 2008 -0700"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  timers: fix build error in !oneshot case\n  x86: c1e_idle: don\u0027t mark TSC unstable if CPU has invariant TSC\n  x86: prevent C-states hang on AMD C1E enabled machines\n  clockevents: prevent mode mismatch on cpu online\n  clockevents: check broadcast device not tick device\n  clockevents: prevent stale tick_next_period for onlining CPUs\n  x86: prevent stale state of c1e_mask across CPU offline/online\n  clockevents: prevent cpu online to interfere with nohz\n"
    },
    {
      "commit": "be3be8905854d2fcf6030f1da9ebc221e9e2c5f1",
      "tree": "6afd6b79d029702ef68ffd88a7c6f337f88a2f60",
      "parents": [
        "9c38c7e573ec44e4a10f735c048b40eb00ccc29c",
        "fa748203175de7c08f2df80e5a0eeca40329b5e2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 23 14:57:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 23 14:57:22 2008 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: fix init_hrtick() section mismatch warning\n"
    },
    {
      "commit": "f9092f358bc2ec5367621478811f046f82873376",
      "tree": "12c91aff3aa1d32b2f747470c160093aab6bdabe",
      "parents": [
        "39f00c087d31f668eb6eaf97508af22a32c5b1d9"
      ],
      "author": {
        "name": "Jonathan Steel",
        "email": "jon.steel@esentire.com",
        "time": "Mon Sep 22 13:57:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 23 08:09:14 2008 -0700"
      },
      "message": "kexec: fix segmentation fault in kimage_add_entry\n\nA segmentation fault can occur in kimage_add_entry in kexec.c when loading\na kernel image into memory.  The fault occurs because a page is requested\nby calling kimage_alloc_page with gfp_mask GFP_KERNEL and the function may\nactually return a page with gfp_mask GFP_HIGHUSER.  The high mem page is\nreturned because it was swapped with the kernel page due to the kernel\npage being a page that will shortly be copied to.\n\nThis patch ensures that kimage_alloc_page returns a page that was created\nwith the correct gfp flags.\n\nI have verified the change and fixed the whitespace damage of the original\npatch.  Jonathan did a great job of tracking this down after he hit the\nproblem.  -- Eric\n\nSigned-off-by: Jonathan Steel \u003cjon.steel@esentire.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "57fdc26d4a734a3e00c6b2fc0e1e40ff8da4dc31",
      "tree": "912951e86391fc23f33981f88dce7cf374f136e1",
      "parents": [
        "4653f803e6e0d970ffeac0efd2c01743eb6c5228"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Sep 23 15:33:45 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 23 16:23:17 2008 +0200"
      },
      "message": "sched: fixup buddy selection\n\nWe should set the buddy even though we might already have the\nTIF_RESCHED flag set.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4653f803e6e0d970ffeac0efd2c01743eb6c5228",
      "tree": "5de138ab4aa31c2df68062209f0b166a94739843",
      "parents": [
        "78333cdd0e472180743d35988e576d6ecc6f6ddb"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Sep 23 15:33:44 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 23 16:23:16 2008 +0200"
      },
      "message": "sched: more sanity checks on the bandwidth settings\n\nWhile playing around with it, I noticed we missed some sanity checks.\nAlso add some comments while we\u0027re there.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "78333cdd0e472180743d35988e576d6ecc6f6ddb",
      "tree": "e8fdb24dce820b62d96c368f20523b4eabc676be",
      "parents": [
        "940959e93949e839c14f8ddc3b9b0e34a2ab6e29"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Sep 23 15:33:43 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 23 16:23:16 2008 +0200"
      },
      "message": "sched: add some comments to the bandwidth code\n\nHopefully clarify some of this code a little.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "940959e93949e839c14f8ddc3b9b0e34a2ab6e29",
      "tree": "3566ce5a8bb8db206193377bca37f5877b70adf6",
      "parents": [
        "63e5c39859a41591662466028c4d1281c033c05a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Sep 23 15:33:42 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 23 16:23:15 2008 +0200"
      },
      "message": "sched: fixlet for group load balance\n\nWe should not only correct the increment for the initial group, but should\nbe consistent and do so for all the groups we encounter.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "63e5c39859a41591662466028c4d1281c033c05a",
      "tree": "1fbb0c2b76673e9557688ee607aa61d92855bebe",
      "parents": [
        "695698500912c4479ddf4723e492de3970ff8530",
        "fa748203175de7c08f2df80e5a0eeca40329b5e2",
        "c8bfff6dd4d41834f4952cbc49e28e31906a6188"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 23 16:23:05 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 23 16:23:05 2008 +0200"
      },
      "message": "Merge branches \u0027sched/urgent\u0027 and \u0027sched/rt\u0027 into sched/devel\n"
    },
    {
      "commit": "695698500912c4479ddf4723e492de3970ff8530",
      "tree": "b84c708843998d2124573b809b8618a4e304e253",
      "parents": [
        "1a73ef6ac3f4b44abc9d1875eb9240d7524a7cf7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Sep 23 14:54:23 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 23 14:54:23 2008 +0200"
      },
      "message": "sched: rework wakeup preemption\n\nRework the wakeup preemption to work on real runtime instead of\nthe virtual runtime. This greatly simplifies the code.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f8e256c687eb53850685747757c8d75e58756e15",
      "tree": "56a406943bb27888be8c814a44958b7314b46f29",
      "parents": [
        "09bfeea13cea843fb03eaa96b5d891fa0abdcc90"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 23 13:00:57 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 23 12:57:00 2008 +0200"
      },
      "message": "timers: fix build error in !oneshot case\n\n kernel/time/tick-common.c: In function ‘tick_setup_periodic’:\n kernel/time/tick-common.c:113: error: implicit declaration of function ‘tick_broadcast_oneshot_active’\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "27ce4cb4a0c7cf59b9a9952266883862f2e4c99f",
      "tree": "066245d42877d8535853e3199b33cdf1110eb8e4",
      "parents": [
        "302745699c1b675b5d2a1af87271de10e4d96b6a"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 22 19:04:02 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 23 11:38:53 2008 +0200"
      },
      "message": "clockevents: prevent mode mismatch on cpu online\n\nImpact: timer hang on CPU online observed on AMD C1E systems\n\nWhen a CPU is brought online then the broadcast machinery can\nbe in the one shot state already. Check this and setup the timer \ndevice of the new CPU in one shot mode so the broadcast code\ncan pick up the next_event value correctly.\n\nAnother AMD C1E oddity, as we switch to broadcast immediately and\nnot after the full bring up via the ACPI cpu idle code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "302745699c1b675b5d2a1af87271de10e4d96b6a",
      "tree": "4efc6c93c038e14021fa10b1eb358695f45f2130",
      "parents": [
        "49d670fb8dd62d3ed4e3ed2513538ea65b051aed"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 22 19:02:25 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 23 11:38:53 2008 +0200"
      },
      "message": "clockevents: check broadcast device not tick device\n\nImpact: Possible hang on CPU online observed on AMD C1E machines.\n\nThe broadcast setup code looks at the mode of the tick device to\ndetermine whether it needs to be shut down or setup. This is wrong\nwhen the broadcast mode is set to one shot already. This can happen\nwhen a CPU is brought online as it goes through the periodic setup\nfirst.\n\nThe problem went unnoticed as sane systems do not call into that code\nbefore the switch to one shot for the clock event device happens.\nThe AMD C1E idle routine switches over immediately and thereby shuts\ndown the just setup device before the first interrupt happens.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "49d670fb8dd62d3ed4e3ed2513538ea65b051aed",
      "tree": "7d571897b5407abc25b776d4738e4af3ea0a5940",
      "parents": [
        "4faac97d44ac27bdbb010a9c3597401a8f89341f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 22 18:56:01 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 23 11:38:53 2008 +0200"
      },
      "message": "clockevents: prevent stale tick_next_period for onlining CPUs\n\nImpact: possible hang on CPU onlining in timer one shot mode.\n\nThe tick_next_period variable is only used during boot on nohz/highres\nenabled systems, but for CPU onlining it needs to be maintained when\nthe per cpu clock events device operates in one shot mode.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6441402b1f173fa38e561d3cee7c01c32e5281ad",
      "tree": "fd7c81337354f39e44581530d499bcdda06d76c4",
      "parents": [
        "72d31053f62c4bc464c2783974926969614a8649"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 22 18:46:37 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 23 11:38:52 2008 +0200"
      },
      "message": "clockevents: prevent cpu online to interfere with nohz\n\nImpact: rare hang which can be triggered on CPU online.\n\ntick_do_timer_cpu keeps track of the CPU which updates jiffies\nvia do_timer. The value -1 is used to signal, that currently no\nCPU is doing this. There are two cases, where the variable can \nhave this state:\n\n boot:\n    necessary for systems where the boot cpu id can be !\u003d 0\n\n nohz long idle sleep:\n    When the CPU which did the jiffies update last goes into\n    a long idle sleep it drops the update jiffies duty so\n    another CPU which is not idle can pick it up and keep\n    jiffies going.\n\nUsing the same value for both situations is wrong, as the CPU online\ncode can see the -1 state when the timer of the newly onlined CPU is\nsetup. The setup for a newly onlined CPU goes through periodic mode\nand can pick up the do_timer duty without being aware of the nohz /\nhighres mode of the already running system.\n\nUse two separate states and make them constants to avoid magic\nnumbers confusion. \n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3a72dc8eb5a7122fff439a22bd22486a4fff505c",
      "tree": "ed7925a0f0fdb82ca6430a92b733a1e111bd0b9d",
      "parents": [
        "e8aed68614c81f24d8c4cbcb4923f848ece846e1"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Mon Sep 22 14:55:46 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 23 11:04:30 2008 +0200"
      },
      "message": "rcu: fix sparse shadowed variable warning\n\nkernel/rcuclassic.c:564:18: warning: symbol \u0027flags\u0027 shadows an earlier one\nkernel/rcuclassic.c:527:16: originally declared here\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "006c75f146e58e080d2b2725a6664f71886e112b",
      "tree": "63d4e651021422aa1b316568661c6a104aeb2ba1",
      "parents": [
        "caea8a03702c147e8ae90da0801e7ba8297b1d46"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Sep 22 14:55:46 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 23 11:02:31 2008 +0200"
      },
      "message": "sched: clarify ifdef tangle\n\n- Add some comments to try to make the ifdef puzzle a bit clearer\n\n- Explicitly inline one of the three init_hrtick() implementations.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fa748203175de7c08f2df80e5a0eeca40329b5e2",
      "tree": "bead1aac37160b8232218bd947188a6ff5df2596",
      "parents": [
        "cec5eb7be3a104fffd27ca967ee8e15a123050e2"
      ],
      "author": {
        "name": "Rakib Mullick",
        "email": "rakib.mullick@gmail.com",
        "time": "Mon Sep 22 14:55:45 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 23 11:02:13 2008 +0200"
      },
      "message": "sched: fix init_hrtick() section mismatch warning\n\nLD      kernel/built-in.o\nWARNING: kernel/built-in.o(.text+0x326): Section mismatch in reference\nfrom the function init_hrtick() to the variable\n.cpuinit.data:hotplug_hrtick_nb.8\nThe function init_hrtick() references\nthe variable __cpuinitdata hotplug_hrtick_nb.8.\nThis is often because init_hrtick lacks a __cpuinitdata\nannotation or the annotation of hotplug_hrtick_nb.8 is wrong.\n\nSigned-off-by: Md.Rakib H. Mullick \u003crakib.mullick@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "caea8a03702c147e8ae90da0801e7ba8297b1d46",
      "tree": "7ff0746c3dbcc73bc241957c2b3149bcf8901fb2",
      "parents": [
        "f681bbd656b01439be904250a1581ca9c27505a1"
      ],
      "author": {
        "name": "Chris Friesen",
        "email": "cfriesen@nortel.com",
        "time": "Mon Sep 22 11:06:09 2008 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 22 19:43:10 2008 +0200"
      },
      "message": "sched: fix list traversal to use _rcu variant\n\nload_balance_fair() calls rcu_read_lock() but then traverses the list\n using the regular list traversal routine.  This patch converts the\nlist traversal to use the _rcu version.\n\nSigned-off-by: Chris Friesen \u003ccfriesen@nortel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f681bbd656b01439be904250a1581ca9c27505a1",
      "tree": "4cf4690c4005c3f1c1f98020af62b03b69dcc85a",
      "parents": [
        "15afe09bf496ae10c989e1a375a6b5da7bd3e16e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 22 16:29:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 22 16:29:00 2008 +0200"
      },
      "message": "sched: turn off WAKEUP_OVERLAP\n\nWAKEUP_OVERLAP is not a winner on a 16way box, running psql+sysbench:\n\n       .27-rc7-NO_WAKEUP_OVERLAP  .27-rc7-WAKEUP_OVERLAP\n-------------------------------------------------\n    1:             694              811    +14.39%\n    2:            1454             1427    -1.86%\n    4:            3017             3070    +1.70%\n    8:            5694             5808    +1.96%\n   16:           10592            10612    +0.19%\n   32:            9693             9647    -0.48%\n   64:            8507             8262    -2.97%\n  128:            8402             7087    -18.55%\n  256:            8419             5124    -64.30%\n  512:            7990             3671    -117.62%\n-------------------------------------------------\n  SUM:           64466            55524    -16.11%\n\n... so turn it off by default.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "15afe09bf496ae10c989e1a375a6b5da7bd3e16e",
      "tree": "4565659d1084e357eea42e6321a4d304ac950faa",
      "parents": [
        "09b22a2f678ae733801b888c44756d0abd686b8a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Sep 20 23:38:02 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 22 16:28:32 2008 +0200"
      },
      "message": "sched: wakeup preempt when small overlap\n\nLin Ming reported a 10% OLTP regression against 2.6.27-rc4.\n\nThe difference seems to come from different preemption agressiveness,\nwhich affects the cache footprint of the workload and its effective\ncache trashing.\n\nAggresively preempt a task if its avg overlap is very small, this should\navoid the task going to sleep and find it still running when we schedule\nback to it - saving a wakeup.\n\nReported-by: Lin Ming \u003cming.m.lin@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b4df9d88a62c6db4cee0d96507a27527bf205dde",
      "tree": "ebd97fe13e070bff1f5b24d3de8b26ad3b7cf056",
      "parents": [
        "902f2ac9da7975a5a04fc835860f2a7096c481d3",
        "ec5d498991e87c74730509508b25c3959192b7e7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 19 16:17:12 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 19 16:17:12 2008 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: fix deadlock in setting scheduler parameter to zero\n  sched: fix 2.6.27-rc5 couldn\u0027t boot on tulsa machine randomly\n"
    },
    {
      "commit": "902f2ac9da7975a5a04fc835860f2a7096c481d3",
      "tree": "9197a23f5a94ed7e0987e40e8191a3652df10263",
      "parents": [
        "06d4a22be3af824cfcbf53ac84d95bd700a949c2",
        "2344abbcbdb82140050e8be29d3d55e4f6fe860b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 19 16:16:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 19 16:16:50 2008 -0700"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  clockevents: make device shutdown robust\n  clocksource, acpi_pm.c: fix check for monotonicity\n  clockevents: remove WARN_ON which was used to gather information\n"
    },
    {
      "commit": "2e57572a50a4de41c6cbc879a4866a312d4cd316",
      "tree": "c4f58ec96c06642c4b415b881d3f0a3b673d5b44",
      "parents": [
        "9b2e43ae4e9609f80034dfe8de895045cac52d77",
        "f948cc6ab9e61a8e88d70ee9aafc690e6d26f92c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 16 14:11:43 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 16 14:11:43 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6\n\nConflicts:\n\n\tarch/sparc64/kernel/pci_psycho.c\n"
    },
    {
      "commit": "2344abbcbdb82140050e8be29d3d55e4f6fe860b",
      "tree": "46c1842fc2a47aa4d7ee0c2c558f54bc50772b69",
      "parents": [
        "f1926ce63b996b42772b39e4b47bb4ef4ba748b4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 16 11:32:50 2008 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 16 13:47:02 2008 -0700"
      },
      "message": "clockevents: make device shutdown robust\n\nThe device shut down does not cleanup the next_event variable of the\nclock event device. So when the device is reactivated the possible\nstale next_event value can prevent the device to be reprogrammed as it\nclaims to wait on a event already.\n\nThis is the root cause of the resurfacing suspend/resume problem,\nwhere systems need key press to come back to life.\n\nFix this by setting next_event to KTIME_MAX when the device is shut\ndown. Use a separate function for shutdown which takes care of that\nand only keep the direct set mode call in the broadcast code, where we\ncan not touch the next_event value.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6e03f99803195e5aaf7f247db31b0d11857ccc35",
      "tree": "ffd4b1a140854977e984a4390105333845c0e90c",
      "parents": [
        "982162602b31041b426edec6480d327743abcbcc",
        "6bfb09a1005193be5c81ebac9f3ef85210142650"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 14 14:07:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 14 14:07:00 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into x86/iommu\n\nConflicts:\n\tlib/swiotlb.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4e74339af6a59c061cf02f1ac497766bca1de19a",
      "tree": "0903456d2aced7e2e9534b3b3d1c5f58e1056b53",
      "parents": [
        "dea420ce0e2973e8ef1fd11fde6804c8d03a82ad"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Sat Sep 13 02:33:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 13 14:41:50 2008 -0700"
      },
      "message": "cpuset: avoid changing cpuset\u0027s cpus when -errno returned\n\nAfter the patch:\n\ncommit 0b2f630a28d53b5a2082a5275bc3334b10373508\nAuthor: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nDate:   Fri Jul 25 01:47:21 2008 -0700\n\n    cpusets: restructure the function update_cpumask() and update_nodemask()\n\nIt might happen that \u0027echo 0 \u003e /cpuset/sub/cpus\u0027 returned failure but \u0027cpus\u0027\nhas been changed, because cpus was changed before calling heap_init() which\nmay return -ENOMEM.\n\nThis patch restores the orginal behavior.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "17f04fbb0f7153d95ec33da81189b113cc778157",
      "tree": "7f8f72195727d9d8b21040837996566bb4addf35",
      "parents": [
        "72c57ed50663dc04b0b329beaec39b557c8ac5a5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 11 23:33:53 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 11 23:33:53 2008 -0700"
      },
      "message": "sysctl: Use header file for sysctl knob declarations on sparc.\n\nThis also takes care of a sparse warning as scons_pwroff\u0027s definition\npoint.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "72c57ed50663dc04b0b329beaec39b557c8ac5a5",
      "tree": "ac740997d1e3093e698d18455aece0cc7b2bdf30",
      "parents": [
        "8f20b20de73eeabe3d35e67e0ce993eceef07492"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 11 23:29:54 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 11 23:29:54 2008 -0700"
      },
      "message": "sysctl: Use CONFIG_SPARC instead of __sparc__ for ifdef tests.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "09b22a2f678ae733801b888c44756d0abd686b8a",
      "tree": "6ca52d4011ce6b11c6450d3a574ea6a53cc0d339",
      "parents": [
        "3ba35573ad9a149a3af19625b502679283382f6b",
        "adee14b2e1557d0a8559f29681732d05a89dfc35"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 11 13:37:28 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 11 13:37:28 2008 +0200"
      },
      "message": "Merge commit \u0027v2.6.27-rc6\u0027 into sched/devel\n"
    },
    {
      "commit": "ec5d498991e87c74730509508b25c3959192b7e7",
      "tree": "fb5e9eb769ea7a6468f3c9de3c5d9865ba2d70de",
      "parents": [
        "baf25731e54d06eb13dc4eda78c6dc7da4ce84e8"
      ],
      "author": {
        "name": "Hiroshi Shimamoto",
        "email": "h-shimamoto@ct.jp.nec.com",
        "time": "Wed Sep 10 17:00:19 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 11 09:39:18 2008 +0200"
      },
      "message": "sched: fix deadlock in setting scheduler parameter to zero\n\nAndrei Gusev wrote:\n\n\u003e I played witch scheduler settings. After doing something like:\n\u003e echo -n 1000000 \u003esched_rt_period_us\n\u003e\n\u003e command is locked. I found in kernel.log:\n\u003e\n\u003e Sep 11 00:39:34 zaratustra\n\u003e Sep 11 00:39:34 zaratustra Pid: 4495, comm: bash Tainted: G        W\n\u003e (2.6.26.3 #12)\n\u003e Sep 11 00:39:34 zaratustra EIP: 0060:[\u003cc0213fc7\u003e] EFLAGS: 00210246 CPU: 0\n\u003e Sep 11 00:39:34 zaratustra EIP is at div64_u64+0x57/0x80\n\u003e Sep 11 00:39:34 zaratustra EAX: 0000389f EBX: 00000000 ECX: 00000000\n\u003e EDX: 00000000\n\u003e Sep 11 00:39:34 zaratustra ESI: d9800000 EDI: d9800000 EBP: 0000389f\n\u003e ESP: ea7a6edc\n\u003e Sep 11 00:39:34 zaratustra DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068\n\u003e Sep 11 00:39:34 zaratustra Process bash (pid: 4495, ti\u003dea7a6000\n\u003e task\u003dea744000 task.ti\u003dea7a6000)\n\u003e Sep 11 00:39:34 zaratustra Stack: 00000000 000003e8 d9800000 0000389f\n\u003e c0119042 00000000 00000000 00000001\n\u003e Sep 11 00:39:34 zaratustra 00000000 00000000 ea7a6f54 00010000 00000000\n\u003e c04d2e80 00000001 000e7ef0\n\u003e Sep 11 00:39:34 zaratustra c01191a3 00000000 00000000 ea7a6fa0 00000001\n\u003e ffffffff c04d2e80 ea5b2480\n\u003e Sep 11 00:39:34 zaratustra Call Trace:\n\u003e Sep 11 00:39:34 zaratustra [\u003cc0119042\u003e] __rt_schedulable+0x52/0x130\n\u003e Sep 11 00:39:34 zaratustra [\u003cc01191a3\u003e] sched_rt_handler+0x83/0x120\n\u003e Sep 11 00:39:34 zaratustra [\u003cc01a76a6\u003e] proc_sys_call_handler+0xb6/0xd0\n\u003e Sep 11 00:39:34 zaratustra [\u003cc01a76c0\u003e] proc_sys_write+0x0/0x20\n\u003e Sep 11 00:39:34 zaratustra [\u003cc01a76d9\u003e] proc_sys_write+0x19/0x20\n\u003e Sep 11 00:39:34 zaratustra [\u003cc016cc68\u003e] vfs_write+0xa8/0x140\n\u003e Sep 11 00:39:34 zaratustra [\u003cc016cdd1\u003e] sys_write+0x41/0x80\n\u003e Sep 11 00:39:34 zaratustra [\u003cc0103051\u003e] sysenter_past_esp+0x6a/0x91\n\u003e Sep 11 00:39:34 zaratustra \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\u003e Sep 11 00:39:34 zaratustra Code: c8 41 0f ad f3 d3 ee f6 c1 20 0f 45 de\n\u003e 31 f6 0f ad ef d3 ed f6 c1 20 0f 45 fd 0f 45 ee 31 c9 39 eb 89 fe 89 ea\n\u003e 77 08 89 e8 31 d2 \u003cf7\u003e f3 89 c1 89 f0 8b 7c 24 08 f7 f3 8b 74 24 04 89\n\u003e ca 8b 1c 24\n\u003e Sep 11 00:39:34 zaratustra EIP: [\u003cc0213fc7\u003e] div64_u64+0x57/0x80 SS:ESP\n\u003e 0068:ea7a6edc\n\u003e Sep 11 00:39:34 zaratustra ---[ end trace 4eaa2a86a8e2da22 ]---\n\nfix the boundary condition.\n\nsysctl_sched_rt_period\u003d0 makes exception at to_ratio().\n\nSigned-off-by: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "baf25731e54d06eb13dc4eda78c6dc7da4ce84e8",
      "tree": "af5cbd2b004a2258ebfd332d4871249d1c32f41f",
      "parents": [
        "291c54ff764d12ecc9a916cb478a0bbb45c5990e"
      ],
      "author": {
        "name": "Zhang, Yanmin",
        "email": "yanmin_zhang@linux.intel.com",
        "time": "Tue Sep 09 11:26:33 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 11 09:34:28 2008 +0200"
      },
      "message": "sched: fix 2.6.27-rc5 couldn\u0027t boot on tulsa machine randomly\n\nOn my tulsa x86-64 machine, kernel 2.6.25-rc5 couldn\u0027t boot randomly.\n\nBasically, function __enable_runtime forgets to reset rt_rq-\u003ert_throttled\nto 0. When every cpu is up, per-cpu migration_thread is created and it runs\nvery fast, sometimes to mark the corresponding rt_rq-\u003ert_throttled to 1 very\nquickly. After all cpus are up, with below calling chain:\n\n   sched_init_smp \u003d\u003e arch_init_sched_domains \u003d\u003e build_sched_domains \u003d\u003e ...\n\u003d\u003e cpu_attach_domain \u003d\u003e rq_attach_root \u003d\u003e set_rq_online \u003d\u003e ...\n\u003d\u003e _enable_runtime\n\n_enable_runtime is called against every rt_rq again, so rt_rq-\u003ert_time is\nreset to 0, but rt_rq-\u003ert_throttled might be still 1. Later on function\ndo_sched_rt_period_timer couldn\u0027t reset it, and all RT tasks couldn\u0027t be\nscheduled to run on that cpu. here is RT task migration_thread which is\nwoken up when a task is migrated to another cpu.\n\nBelow patch fixes it against 2.6.27-rc5.\n\nSigned-off-by: Zhang Yanmin \u003cyanmin_zhang@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "59c37bf8924c30fbac7ebb66a1d92dcb9f05f6b1",
      "tree": "2ffc3f2ce655806424d022f3a4daec7665ab888f",
      "parents": [
        "ec70cae8698632917f06110fdb70c6364281ecc6",
        "adee14b2e1557d0a8559f29681732d05a89dfc35"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 10 14:00:45 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 10 14:00:45 2008 +0200"
      },
      "message": "Merge commit \u0027v2.6.27-rc6\u0027 into x86/unify-cpu-detect\n\nConflicts:\n\tarch/x86/kernel/cpu/amd.c\n\tarch/x86/kernel/cpu/common.c\n\tarch/x86/kernel/cpu/common_64.c\n\tarch/x86/kernel/cpu/feature_names.c\n\tinclude/asm-x86/cpufeature.h\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e92b4fdacc6a7d8cc7895b81347671d5fcd6c5e1",
      "tree": "4f84567261682d8ec2ad4102bce1ff970a6eed1a",
      "parents": [
        "9fcaff0e660d886e9a766460adbe558dd25de31b",
        "adee14b2e1557d0a8559f29681732d05a89dfc35"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 10 11:32:52 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 10 11:32:52 2008 +0200"
      },
      "message": "Merge commit \u0027v2.6.27-rc6\u0027 into x86/iommu\n"
    },
    {
      "commit": "429b022af41108f6942d72547592b1d30e9a51f0",
      "tree": "7d68355529718018cdad1241285816c6f64620b2",
      "parents": [
        "0cd418ddb1ee88df7d16d5df06cb2da68eceb9e4",
        "adee14b2e1557d0a8559f29681732d05a89dfc35"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 10 08:35:40 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 10 08:35:40 2008 +0200"
      },
      "message": "Merge commit \u0027v2.6.27-rc6\u0027 into core/rcu\n"
    },
    {
      "commit": "61c22c34c6f80a8e89cff5ff717627c54cc14fd4",
      "tree": "33349263152d3ed4fd7d65e4c3d60340e6676b5c",
      "parents": [
        "82a28c794f27aac17d7a3ebd7f14d731a11a5532"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 09 21:38:57 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 09 22:20:01 2008 +0200"
      },
      "message": "clockevents: remove WARN_ON which was used to gather information\n\nThe issue of the endless reprogramming loop due to a too small\nmin_delta_ns was fixed with the previous updates of the clock events\ncode, but we had no information about the spread of this problem. I\nadded a WARN_ON to get automated information via kerneloops.org and to\nget some direct reports, which allowed me to analyse the affected\nmachines.\n\nThe WARN_ON has served its purpose and would be annoying for a release\nkernel. Remove it and just keep the information about the increase of\nthe min_delta_ns value.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e1d7bf14999469b16e86889ac71c94a9d0d2f5f4",
      "tree": "32d56c2faac08ac02730a46498183e7222744705",
      "parents": [
        "e228c1b51ef572843827630e643a682ef492b933",
        "291c54ff764d12ecc9a916cb478a0bbb45c5990e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 08 15:47:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 08 15:47:21 2008 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: arch_reinit_sched_domains() must destroy domains to force rebuild\n  sched, cpuset: rework sched domains and CPU hotplug handling (v4)\n"
    },
    {
      "commit": "e545a6140b698b2494daf0b32107bdcc5e901390",
      "tree": "63f302e25ba7a0705bbf051f3817fac8f8b98aba",
      "parents": [
        "7686ad5606f08d9dfb33a2087a36c8366366015b"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@colorfullife.com",
        "time": "Sun Sep 07 16:57:22 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 08 19:25:24 2008 +0200"
      },
      "message": "kernel/cpu.c: create a CPU_STARTING cpu_chain notifier\n\nRight now, there is no notifier that is called on a new cpu, before the new\ncpu begins processing interrupts/softirqs.\nVarious kernel function would need that notification, e.g. kvm works around\nby calling smp_call_function_single(), rcu polls cpu_online_map.\n\nThe patch adds a CPU_STARTING notification. It also adds a helper function\nthat sends the message to all cpu_chain handlers.\n\nTested on x86-64.\nAll other archs are untested. Especially on sparc, I\u0027m not sure if I got\nit right.\n\nSigned-off-by: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f5325225658737e6c9cb8e24373e2c281a90be2a",
      "tree": "f1daf00b394b543876b6ffbfd67c050c3bb1b114",
      "parents": [
        "4747832b56a95dbeb0cef4714e6fcc766eed0a95",
        "4ab6a219113197425ac112e35e1ec8062c69888e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 06 19:33:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 06 19:33:26 2008 -0700"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  clocksource, acpi_pm.c: check for monotonicity\n  clocksource, acpi_pm.c: use proper read function also in errata mode\n  ntp: fix calculation of the next jiffie to trigger RTC sync\n  x86: HPET: read back compare register before reading counter\n  x86: HPET fix moronic 32/64bit thinko\n  clockevents: broadcast fixup possible waiters\n  HPET: make minimum reprogramming delta useful\n  clockevents: prevent endless loop lockup\n  clockevents: prevent multiple init/shutdown\n  clockevents: enforce reprogram in oneshot setup\n  clockevents: prevent endless loop in periodic broadcast handler\n  clockevents: prevent clockevent event_handler ending up handler_noop\n"
    },
    {
      "commit": "291c54ff764d12ecc9a916cb478a0bbb45c5990e",
      "tree": "bb89231e59e51520d91f102663b793bd34125c41",
      "parents": [
        "49048622eae698e5c4ae61f7e71200f265ccc529",
        "dfb512ec4834116124da61d6c1ee10fd0aa32bd6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 06 21:03:16 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 06 21:03:16 2008 +0200"
      },
      "message": "Merge branch \u0027sched/cpuset\u0027 into sched/urgent\n"
    },
    {
      "commit": "dfb512ec4834116124da61d6c1ee10fd0aa32bd6",
      "tree": "ea4f847f2a29face1b5774c6d44ec41bf92e302b",
      "parents": [
        "cf417141cbb3a4ceb5cca15b2c1f099bd0a6603c"
      ],
      "author": {
        "name": "Max Krasnyansky",
        "email": "maxk@qualcomm.com",
        "time": "Fri Aug 29 13:11:41 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 06 19:22:15 2008 +0200"
      },
      "message": "sched: arch_reinit_sched_domains() must destroy domains to force rebuild\n\nWhat I realized recently is that calling rebuild_sched_domains() in\narch_reinit_sched_domains() by itself is not enough when cpusets are enabled.\npartition_sched_domains() code is trying to avoid unnecessary domain rebuilds\nand will not actually rebuild anything if new domain masks match the old ones.\n\nWhat this means is that doing\n     echo 1 \u003e /sys/devices/system/cpu/sched_mc_power_savings\non a system with cpusets enabled will not take affect untill something changes\nin the cpuset setup (ie new sets created or deleted).\n\nThis patch fixes restore correct behaviour where domains must be rebuilt in\norder to enable MC powersaving flags.\n\nTest on quad-core Core2 box with both CONFIG_CPUSETS and !CONFIG_CPUSETS.\nAlso tested on dual-core Core2 laptop. Lockdep is happy and things are working\nas expected.\n\nSigned-off-by: Max Krasnyansky \u003cmaxk@qualcomm.com\u003e\nTested-by: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3ba35573ad9a149a3af19625b502679283382f6b",
      "tree": "01e19ef5be3a247e310745c09134837b990dda77",
      "parents": [
        "38736f475071b80b66be28af7b44c854073699cc"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@colorfullife.com",
        "time": "Sun Aug 31 19:58:49 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 06 19:13:59 2008 +0200"
      },
      "message": "kernel/cpu.c: Move the CPU_DYING notifiers\n\nWhen a cpu is taken offline, the CPU_DYING notifiers are called on the\ndying cpu. According to \u003clinux/notifiers.h\u003e, the cpu should be \"not\nrunning any task, not handling interrupts, soon dead\".\n\nFor the current implementation, this is not true:\n- __cpu_disable can fail. If it fails, then the cpu will remain alive\n  and happy.\n- At least on x86, __cpu_disable() briefly enables the local interrupts\n  to handle any outstanding interrupts.\n\nWhat about moving CPU_DYING down a few lines, behind the __cpu_disable()\nline?\nThere are only two CPU_DYING handlers in the kernel right now: one in\nkvm, one in the scheduler. Both should work with the patch applied\n[and: I\u0027m not sure if either one handles a failing __cpu_disable()]\n\nThe patch survives simple offlining a cpu. kvm untested due to lack\nof a test setup.\n\nSigned-off-By: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "38736f475071b80b66be28af7b44c854073699cc",
      "tree": "853b00d9fcf27093f75dbfe7d38922792c2c1a04",
      "parents": [
        "7f79d852ed30a06eebf7497afe9334a726db3d40"
      ],
      "author": {
        "name": "Gautham R Shenoy",
        "email": "ego@in.ibm.com",
        "time": "Sat Sep 06 14:50:23 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 06 16:53:34 2008 +0200"
      },
      "message": "sched: fix __load_balance_iterator() for cfq with only one task\n\nThe __load_balance_iterator() returns a NULL when there\u0027s only one\nsched_entity which is a task. It is caused by the following code-path.\n\n\t/* Skip over entities that are not tasks */\n\tdo {\n\t\tse \u003d list_entry(next, struct sched_entity, group_node);\n\t\tnext \u003d next-\u003enext;\n\t} while (next !\u003d \u0026cfs_rq-\u003etasks \u0026\u0026 !entity_is_task(se));\n\n\tif (next \u003d\u003d \u0026cfs_rq-\u003etasks)\n\t\treturn NULL;\n\t^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n      This will return NULL even when se is a task.\n\nAs a side-effect, there was a regression in sched_mc behavior since 2.6.25,\nsince iter_move_one_task() when it calls load_balance_start_fair(),\nwould not get any tasks to move!\n\nFix this by checking if the last entity was a task or not.\n\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7f79d852ed30a06eebf7497afe9334a726db3d40",
      "tree": "0057281f17501b635d3d88cda9a14203706f5dcc",
      "parents": [
        "aef745fca016aea45adae5c98e8698904dd8ad51",
        "70bb08962ea9bd50797ae9f16b2493f5f7c65053"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 06 16:51:57 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 06 16:51:57 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/devel\n"
    },
    {
      "commit": "4ff4b9e19a80b73959ebeb28d1df40176686f0a8",
      "tree": "0b9068da53ae13d253d7c21a76a58be9cc5f7fc3",
      "parents": [
        "72d43d9bc9210d24d09202eaf219eac09e17b339"
      ],
      "author": {
        "name": "Maciej W. Rozycki",
        "email": "macro@linux-mips.org",
        "time": "Fri Sep 05 14:05:31 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 06 15:31:48 2008 +0200"
      },
      "message": "ntp: fix calculation of the next jiffie to trigger RTC sync\n\nWe have a bug in the calculation of the next jiffie to trigger the RTC\nsynchronisation.  The aim here is to run sync_cmos_clock() as close as\npossible to the middle of a second.  Which means we want this function to\nbe called less than or equal to half a jiffie away from when now.tv_nsec\nequals 5e8 (500000000).\n\nIf this is not the case for a given call to the function, for this purpose\ninstead of updating the RTC we calculate the offset in nanoseconds to the\nnext point in time where now.tv_nsec will be equal 5e8.  The calculated\noffset is then converted to jiffies as these are the unit used by the\ntimer.\n\nHovewer timespec_to_jiffies() used here uses a ceil()-type rounding mode,\nwhere the resulting value is rounded up.  As a result the range of\nnow.tv_nsec when the timer will trigger is from 5e8 to 5e8 + TICK_NSEC\nrather than the desired 5e8 - TICK_NSEC / 2 to 5e8 + TICK_NSEC / 2.\n\nAs a result if for example sync_cmos_clock() happens to be called at the\ntime when now.tv_nsec is between 5e8 + TICK_NSEC / 2 and 5e8 to 5e8 +\nTICK_NSEC, it will simply be rescheduled HZ jiffies later, falling in the\nsame range of now.tv_nsec again.  Similarly for cases offsetted by an\ninteger multiple of TICK_NSEC.\n\nThis change addresses the problem by subtracting TICK_NSEC / 2 from the\nnanosecond offset to the next point in time where now.tv_nsec will be\nequal 5e8, effectively shifting the following rounding in\ntimespec_to_jiffies() so that it produces a rounded-to-nearest result.\n\nSigned-off-by: Maciej W. Rozycki \u003cmacro@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ],
  "next": "c8bfff6dd4d41834f4952cbc49e28e31906a6188"
}
