)]}'
{
  "log": [
    {
      "commit": "fbb5b89eabea5ae7d621b7861863159560d8faa4",
      "tree": "51e3d877cb3457bcd801175fb455927fd52f2d2b",
      "parents": [
        "a9d3d2068064b7a6395871a49616d3784f802d50"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu Jun 16 15:36:40 2011 -0400"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Thu Jun 16 16:31:13 2011 -0400"
      },
      "message": "[CPUFREQ] powernow-k8: Don\u0027t try to transition if the pstate is incorrect\n\nThis patch augments the pstate transition code to error out\n(instead of returning 0) when an incorrect pstate is provided.\n\nSuggested-by: Borislav Petkov \u003cbp@alien8.de\u003e\nCC: andre.przywara@amd.com\nCC: Mark.Langsdorf@amd.com\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "a9d3d2068064b7a6395871a49616d3784f802d50",
      "tree": "ad523f8e5c941cc41819fb4fd8f8746fb1fe8499",
      "parents": [
        "46a310b80bc2c9ccc019649c9da91194cbc10944"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu Jun 16 15:36:39 2011 -0400"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Thu Jun 16 16:31:13 2011 -0400"
      },
      "message": "[CPUFREQ] powernow-k8: Don\u0027t notify of successful transition if we failed (vid case).\n\nBefore this patch if we failed the vid transition would still try to\nsubmit the \"new\" frequencies to cpufreq.\nThat is incorrect - also we could submit a non-existing frequency value\nwhich would cause cpufreq to crash. The ultimate fix is in cpufreq\nto deal with incorrect values, but this patch improves the error\nrecovery in the AMD powernowk8 driver.\n\nThe failure that was reported was as follows:\n\npowernow-k8: Found 1 AMD Athlon(tm) 64 Processor 3700+ (1 cpu cores) (version 2.20.00)\npowernow-k8: fid 0x2 (1000 MHz), vid 0x12\npowernow-k8: fid 0xa (1800 MHz), vid 0xa\npowernow-k8: fid 0xc (2000 MHz), vid 0x8\npowernow-k8: fid 0xe (2200 MHz), vid 0x8\nMarking TSC unstable due to cpufreq changes\npowernow-k8: fid trans failed, fid 0x2, curr 0x0\nBUG: unable to handle kernel paging request at ffff880807e07b78\nIP: [\u003cffffffff81479163\u003e] cpufreq_stats_update+0x46/0x5b\n...\n\nAnd transition fails and data-\u003ecurrfid ends up with 0. Since\nthe machine does not support 800Mhz value when the calculation is\ndone (\u0027find_khz_freq_from_fid(data-\u003ecurrfid);\u0027) it reports the\nnew frequency as 800000 which is bogus. This patch fixes\nthe issue during target setting.\n\nThe patch however does not fix the issue in \u0027powernowk8_cpu_init\u0027\nwhere the pol-\u003ecur can also be set with the 800000 value:\n\n          pol-\u003ecur \u003d find_khz_freq_from_fid(data-\u003ecurrfid);\n  dprintk(\"policy current frequency %d kHz\\n\", pol-\u003ecur);\n\n  /* min/max the cpu is capable of */\n  if (cpufreq_frequency_table_cpuinfo(pol, data-\u003epowernow_table)) {\n\nThe fix for that looks to update cpufreq_frequency_table_cpuinfo to\ncheck pol-\u003ecur.... but that would cause an regression in how the\nacpi-cpufreq driver works (it sets cpu-\u003ecur after calling\ncpufreq_frequency_table_cpuinfo). Instead the fix will be to let\ncpufreq gracefully handle bogus data (another patch).\n\nAcked-by: Borislav Petkov \u003cbp@alien8.de\u003e\nCC: andre.przywara@amd.com\nCC: Mark.Langsdorf@amd.com\nReported-by: Tobias Diedrich \u003cranma+xen@tdiedrich.de\u003e\nTested-by: Tobias Diedrich \u003cranma+xen@tdiedrich.de\u003e\n[v1: Rebased on v3.0-rc2, reduced patch to deal with vid case]\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "46a310b80bc2c9ccc019649c9da91194cbc10944",
      "tree": "ee83955c171f7fd491bf06d7c9592b589ae0c7d0",
      "parents": [
        "ada9c93312f7ec49514c68c211595ce2601cebae"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu Jun 16 15:36:38 2011 -0400"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Thu Jun 16 16:31:12 2011 -0400"
      },
      "message": "[CPUFREQ] Don\u0027t set stat-\u003elast_index to -1 if the pol-\u003ecur has incorrect value.\n\nIf the driver submitted an non-existing pol\u003ecur value (say it\nused the default initialized value of zero), when the cpufreq\nstats tries to setup its initial values it incorrectly sets\nstat-\u003elast_index to -1 (or 0xfffff...). And cpufreq_stats_update\ntries to update at that index location and fails.\n\nThis can be caused by:\n\nstat-\u003elast_index \u003d freq_table_get_index(stat, policy-\u003ecur);\n\nnot finding the appropiate frequency in the table (b/c the policy-\u003ecur\nis wrong) and we end up crashing. The fix however is\nconcentrated in the \u0027cpufreq_stats_update\u0027 as the last_index\n(and old_index) are updated there. Which means it can reset\nthe last_index to -1 again and on the next iteration cause a crash.\n\nWithout this patch, the following crash is observed:\n\npowernow-k8: Found 1 AMD Athlon(tm) 64 Processor 3700+ (1 cpu cores) (version 2.20.00)\npowernow-k8: fid 0x2 (1000 MHz), vid 0x12\npowernow-k8: fid 0xa (1800 MHz), vid 0xa\npowernow-k8: fid 0xc (2000 MHz), vid 0x8\npowernow-k8: fid 0xe (2200 MHz), vid 0x8\nMarking TSC unstable due to cpufreq changes\npowernow-k8: fid trans failed, fid 0x2, curr 0x0\nBUG: unable to handle kernel paging request at ffff880807e07b78\nIP: [\u003cffffffff81479163\u003e] cpufreq_stats_update+0x46/0x5b\n.. snip..\nPid: 1, comm: swapper Not tainted 3.0.0-rc2 #45 MICRO-STAR INTERNATIONAL CO., LTD MS-7094/MS-7094\n..snip..\nCall Trace:\n [\u003cffffffff81479248\u003e] cpufreq_stat_notifier_trans+0x48/0x7c\n [\u003cffffffff81095d68\u003e] notifier_call_chain+0x32/0x5e\n [\u003cffffffff81095e6b\u003e] __srcu_notifier_call_chain+0x47/0x63\n [\u003cffffffff81095e96\u003e] srcu_notifier_call_chain+0xf/0x11\n [\u003cffffffff81477e7a\u003e] cpufreq_notify_transition+0x111/0x134\n [\u003cffffffff8147b0d4\u003e] powernowk8_target+0x53b/0x617\n [\u003cffffffff8147723a\u003e] __cpufreq_driver_target+0x2e/0x30\n [\u003cffffffff8147a127\u003e] cpufreq_governor_dbs+0x339/0x356\n [\u003cffffffff81477394\u003e] __cpufreq_governor+0xa8/0xe9\n [\u003cffffffff81477525\u003e] __cpufreq_set_policy+0x132/0x13e\n [\u003cffffffff8147848d\u003e] cpufreq_add_dev_interface+0x272/0x28c\n\nReported-by: Tobias Diedrich \u003cranma+xen@tdiedrich.de\u003e\nTested-by: Tobias Diedrich \u003cranma+xen@tdiedrich.de\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "13f067537f34456443f61c950cd6dc37d1d5f3ee",
      "tree": "df339dc7614f51f2215087aaeed630652a7d0bb9",
      "parents": [
        "89b882a25e703b72c3e84c582357e3e864d8ccca"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Sun Jun 12 16:35:28 2011 -0400"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Sun Jun 12 16:36:52 2011 -0400"
      },
      "message": "[CPUFREQ] Remove cpufreq_stats sysfs entries on module unload.\n\ncpufreq_stats leaves behind its sysfs entries, which causes a panic\nwhen something stumbled across them.\n(Discovered by unloading cpufreq_stats while powertop was loaded).\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "f0e733f32e56ded9309a8b8da3a77d47beb3cbdd",
      "tree": "88bd05d0c1f149a1889df525f8ce4777477cb6b0",
      "parents": [
        "72b2fd5cb89933a5b0dba32735d9b22ae3fb866e"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Sun May 15 19:34:29 2011 +0200"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Tue May 24 22:20:14 2011 +0200"
      },
      "message": "cpufreq: make DB8500 cpufreq driver compile\n\nConcluding interface update and movement of the driver by making\nthe DB8500 cpufreq driver compile in the cpufreq subsystem.\n\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "72b2fd5cb89933a5b0dba32735d9b22ae3fb866e",
      "tree": "19d14ce721d8d070ebdb80707e4f5f200de1be5d",
      "parents": [
        "46936340c4e545f3be935b9d34e0554d16dbac30"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Sun May 15 19:19:51 2011 +0200"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Tue May 24 22:20:05 2011 +0200"
      },
      "message": "cpufreq: update DB8500 cpufreq driver\n\nThis updates the ux500 cpufreq driver to the new interface from the\nupdated DB8500 PRCMU\n\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "46936340c4e545f3be935b9d34e0554d16dbac30",
      "tree": "9c65f184d4dc3d07ee1c79f0e046cfd855fb48da",
      "parents": [
        "8317797ca657081ed81312ea3501f3a3d59d52e9"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Sun May 15 19:16:38 2011 +0200"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Tue May 24 22:19:55 2011 +0200"
      },
      "message": "mach-ux500: move CPUfreq driver to cpufreq subsystem\n\nAs part of the ARM arch subsystem migration, move the DB8500\ncpufreq driver to drivers/cpufreq as discussed with Dave Jones. The\nMakefile is not updated in order to avoid cross-subsystem conflicts\nfor this file in merges.\n\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "016281880439a8665ecf37514865742da58131d4",
      "tree": "2f6a757a581c71cfb8cd891e0583fbffb359830b",
      "parents": [
        "17b141803c6c6e27fbade3f97c1c9d8d66c72866",
        "865be7a81071a77014c83cd01536c989eed362b4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:55:12 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:55:12 2011 -0700"
      },
      "message": "Merge branch \u0027x86-cpu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-cpu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, cpu: Fix detection of Celeron Covington stepping A1 and B0\n  Documentation, ABI: Update L3 cache index disable text\n  x86, AMD, cacheinfo: Fix L3 cache index disable checks\n  x86, AMD, cacheinfo: Fix fallout caused by max3 conversion\n  x86, cpu: Change NOP selection for certain Intel CPUs\n  x86, cpu: Clean up and unify the NOP selection infrastructure\n  x86, percpu: Use ASM_NOP4 instead of hardcoding P6_NOP4\n  x86, cpu: Move AMD Elan Kconfig under \"Processor family\"\n\nFix up trivial conflicts in alternative handling (commit dc326fca2b64\n\"x86, cpu: Clean up and unify the NOP selection infrastructure\" removed\nsome hacky 5-byte instruction stuff, while commit d430d3d7e646 \"jump\nlabel: Introduce static_branch() interface\" renamed HAVE_JUMP_LABEL to\nCONFIG_JUMP_LABEL in the code that went away)\n"
    },
    {
      "commit": "bb0a56ecc4ba2a3db1b6ea6949c309886e3447d3",
      "tree": "680b1307d7d9c1a188b7483875f7a3287d8b51a0",
      "parents": [
        "1a8e1463a49aaa452da1cefe184a00d4df47f1ef"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Thu May 19 18:51:07 2011 -0400"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Thu May 19 18:51:07 2011 -0400"
      },
      "message": "[CPUFREQ] Move x86 drivers to drivers/cpufreq/\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "1a8e1463a49aaa452da1cefe184a00d4df47f1ef",
      "tree": "e6f5b1579d37c2255be9b6f83021e443b4a757a7",
      "parents": [
        "469057d587a9de2cd6087d71a008b908e785a5b6"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "kees.cook@canonical.com",
        "time": "Wed May 04 08:38:56 2011 -0700"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Wed May 04 11:50:58 2011 -0400"
      },
      "message": "[CPUFREQ] remove redundant sprintf from request_module call.\n\nSince format string handling is part of request_module, there is no\nneed to construct the module name. As such, drop the redundant sprintf\nand heap usage.\n\nSigned-off-by: Kees Cook \u003ckees.cook@canonical.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "469057d587a9de2cd6087d71a008b908e785a5b6",
      "tree": "1f3874bc36b95822c0ff4f3bd1546097234ebe3c",
      "parents": [
        "98586ed8b8878e10691203687e89a42fa3355300"
      ],
      "author": {
        "name": "Karthigan Srinivasan",
        "email": "karthigan.srinivasan@hp.com",
        "time": "Fri Apr 01 17:34:47 2011 -0500"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Wed May 04 11:50:58 2011 -0400"
      },
      "message": "[CPUFREQ] cpufreq_stats.c: Fixed brace coding style issue\n\nFixed brace coding style issue.\n\nSigned-off-by: Karthigan Srinivasan \u003ckarthigan.srinivasan@hp.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "98586ed8b8878e10691203687e89a42fa3355300",
      "tree": "728275611557268583bac0232c90b928151e3c66",
      "parents": [
        "335dc3335ff692173bc766b248f7a97f3a23b30a"
      ],
      "author": {
        "name": "steven finney",
        "email": "Steven.Finney@palm.com",
        "time": "Mon May 02 11:29:17 2011 -0700"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Wed May 04 11:50:57 2011 -0400"
      },
      "message": "[CPUFREQ] Fix memory leak in cpufreq_stat\n\nWhen a CPU is taken offline in an SMP system, cpufreq_remove_dev()\nnulls out the per-cpu policy before cpufreq_stats_free_table() can\nmake use of it.  cpufreq_stats_free_table() then skips the\ncall to sysfs_remove_group(), leaving about 100 bytes of sysfs-related\nmemory unclaimed each time a CPU-removal occurs. Break up\ncpu_stats_free_table into sysfs and table portions, and\ncall the sysfs portion early.\n\nSigned-off-by: Steven Finney \u003csteven.finney@palm.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "2d06d8c49afdcc9bb35a85039fa50f0fe35bd40e",
      "tree": "d933a68fc71f6e2c3b95b744a87fa1d817bea3d6",
      "parents": [
        "27ecddc2a9f99ce4ac9a59a0acd77f7100b6d034"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sun Mar 27 15:04:46 2011 +0200"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Wed May 04 11:50:57 2011 -0400"
      },
      "message": "[CPUFREQ] use dynamic debug instead of custom infrastructure\n\nWith dynamic debug having gained the capability to report debug messages\nalso during the boot process, it offers a far superior interface for\ndebug messages than the custom cpufreq infrastructure. As a first step,\nremove the old cpufreq_debug_printk() function and replace it with a call\nto the generic pr_debug() function.\n\nHow can dynamic debug be used on cpufreq? You need a kernel which has\nCONFIG_DYNAMIC_DEBUG enabled.\n\nTo enabled debugging during runtime, mount debugfs and\n\n$ echo -n \u0027module cpufreq +p\u0027 \u003e /sys/kernel/debug/dynamic_debug/control\n\nfor debugging the complete \"cpufreq\" module. To achieve the same goal during\nboot, append\n\n\tddebug_query\u003d\"module cpufreq +p\"\n\nas a boot parameter to the kernel of your choice.\n\nFor more detailled instructions, please see\nDocumentation/dynamic-debug-howto.txt\n\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "27ecddc2a9f99ce4ac9a59a0acd77f7100b6d034",
      "tree": "941daeb656c519deeb8e0bd853944536e34ab80e",
      "parents": [
        "904cc1e637a00dba1b58e7752f485f90ebf2a568"
      ],
      "author": {
        "name": "Jacob Shin",
        "email": "jacob.shin@amd.com",
        "time": "Wed Apr 27 13:32:11 2011 -0500"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Wed May 04 11:50:57 2011 -0400"
      },
      "message": "[CPUFREQ] CPU hotplug, re-create sysfs directory and symlinks\n\nWhen we discover CPUs that are affected by each other\u0027s\nfrequency/voltage transitions, the first CPU gets a sysfs directory\ncreated, and rest of the siblings get symlinks. Currently, when we\nhotplug off only the first CPU, all of the symlinks and the sysfs\ndirectory gets removed. Even though rest of the siblings are still\nonline and functional, they are orphaned, and no longer governed by\ncpufreq.\n\nThis patch, given the above scenario, creates a sysfs directory for\nthe first sibling and symlinks for the rest of the siblings.\n\nPlease note the recursive call, it was rather too ugly to roll it\nout. And the removal of redundant NULL setting (it is already taken\ncare of near the top of the function).\n\nSigned-off-by: Jacob Shin \u003cjacob.shin@amd.com\u003e\nAcked-by: Mark Langsdorf \u003cmark.langsdorf@amd.com\u003e\nReviewed-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "e00e56dfd3cf1d209ce630a2b440c91e4a30bbd3",
      "tree": "4d1329036e250db15411b21b15a158f9042945bd",
      "parents": [
        "fb3600cc50302c9577b76838fcac1ee78828007d"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 23 22:16:32 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 23 22:16:32 2011 +0100"
      },
      "message": "cpufreq: Use syscore_ops for boot CPU suspend/resume (v2)\n\nThe cpufreq subsystem uses sysdev suspend and resume for\nexecuting cpufreq_suspend() and cpufreq_resume(), respectively,\nduring system suspend, after interrupts have been switched off on the\nboot CPU, and during system resume, while interrupts are still off on\nthe boot CPU.  In both cases the other CPUs are off-line at the\nrelevant point (either they have been switched off via CPU hotplug\nduring suspend, or they haven\u0027t been switched on yet during resume).\nFor this reason, although it may seem that cpufreq_suspend() and\ncpufreq_resume() are executed for all CPUs in the system, they are\nonly called for the boot CPU in fact, which is quite confusing.\n\nTo remove the confusion and to prepare for elimiating sysdev\nsuspend and resume operations from the kernel enirely, convernt\ncpufreq to using a struct syscore_ops object for the boot CPU\nsuspend and resume and rename the callbacks so that their names\nreflect their purpose.  In addition, put some explanatory remarks\ninto their kerneldoc comments.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "7ca64e2d2859e96a325c28678b5fdb5e17a5764b",
      "tree": "8988c72fd55317e1c9f6b8da8f1d62f7ec1ecb8c",
      "parents": [
        "326c86deaed54ad1b364fcafe5073f563671eb58"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Mar 10 21:13:05 2011 +0100"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Wed Mar 16 17:54:33 2011 -0400"
      },
      "message": "[CPUFREQ] Remove the pm_message_t argument from driver suspend\n\nNone of the existing cpufreq drivers uses the second argument of\nits .suspend() callback (which isn\u0027t useful anyway), so remove it.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "326c86deaed54ad1b364fcafe5073f563671eb58",
      "tree": "fb0784c6450d3d618127df3823ffeeda400ac58f",
      "parents": [
        "e8951251b89440644a39f2512b4f265973926b41"
      ],
      "author": {
        "name": "Thomas Renninger",
        "email": "trenn@suse.de",
        "time": "Thu Mar 03 21:31:27 2011 +0100"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Wed Mar 16 17:54:32 2011 -0400"
      },
      "message": "[CPUFREQ] Remove unneeded locks\n\nThere cannot be any concurrent access to these through\ndifferent cpu sysfs files anymore, because these tunables\nare now all global (not per cpu).\n\nI still have some doubts whether some of these locks\nwere needed at all. Anyway, let\u0027s get rid of them.\n\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nCC: cpufreq@vger.kernel.org\n"
    },
    {
      "commit": "e8951251b89440644a39f2512b4f265973926b41",
      "tree": "f33ec13af306e2a8bdcbf6f62e34d450c1aa2bdc",
      "parents": [
        "ef598549b28014ec2ea7574d4e793728e0e33d02"
      ],
      "author": {
        "name": "Thomas Renninger",
        "email": "trenn@suse.de",
        "time": "Thu Mar 03 21:31:26 2011 +0100"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Wed Mar 16 17:54:32 2011 -0400"
      },
      "message": "[CPUFREQ] Remove old, deprecated per cpu ondemand/conservative sysfs files\n\nMarked deprecated for quite a whilte now...\n\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nCC: cpufreq@vger.kernel.org\n"
    },
    {
      "commit": "ef598549b28014ec2ea7574d4e793728e0e33d02",
      "tree": "c3ecb7f91f2130f4b9c0c7a602c3dd07e57106bd",
      "parents": [
        "9e91869544fc831d640cae1ffd0313b38657b593"
      ],
      "author": {
        "name": "Thomas Renninger",
        "email": "trenn@suse.de",
        "time": "Thu Mar 03 21:31:25 2011 +0100"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Wed Mar 16 17:54:32 2011 -0400"
      },
      "message": "[CPUFREQ] Remove deprecated sysfs file sampling_rate_max\n\nMarked deprecated for quite a while now...\n\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nCC: cpufreq@vger.kernel.org\n"
    },
    {
      "commit": "5cb2c3bd0c5e0f3ced63f250ec2ad59d7c5c626a",
      "tree": "148f10ad6586d0f6f0046f18bd5cd4720f3b3ed3",
      "parents": [
        "5b95364f6101d67a073a5ec18d726e94e02ca605"
      ],
      "author": {
        "name": "Vincent Guittot",
        "email": "vincent.guittot@linaro.org",
        "time": "Mon Feb 07 17:14:25 2011 +0100"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Wed Mar 16 17:54:31 2011 -0400"
      },
      "message": "[CPUFREQ] calculate delay after dbs_check_cpu\n\ncalculate ondemand delay after dbs_check_cpu call because it can\nmodify rate_mult value\n\nuse freq_lo_jiffies value for the sub sample period of powersave_bias mode\n\nSigned-off-by: Vincent Guittot \u003cvincent.guittot@linaro.org\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "2feb690c20d52e22c7874a1e090245e6a4344ce6",
      "tree": "b30255367bf15c9a174979a912a094c86bae4aef",
      "parents": [
        "2e270d84223262a38d4755c61d55f5c73ea89e56"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Nov 14 19:04:23 2010 -0800"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Wed Mar 16 17:54:31 2011 -0400"
      },
      "message": "[CPUFREQ] drivers/cpufreq: Remove unnecessary semicolons\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "bd2895eeade5f11f3e5906283c630bbdb4b57454",
      "tree": "4d98f4fcd80c7d062afce28823d08aee53e66f82",
      "parents": [
        "016aa2ed1cc9cf704cf76d8df07751b6daa9750f",
        "24d51add7438f9696a7205927bf9de3c5c787a58"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 08:20:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 08:20:19 2011 -0700"
      },
      "message": "Merge branch \u0027for-2.6.39\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\n* \u0027for-2.6.39\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  workqueue: fix build failure introduced by s/freezeable/freezable/\n  workqueue: add system_freezeable_wq\n  rds/ib: use system_wq instead of rds_ib_fmr_wq\n  net/9p: replace p9_poll_task with a work\n  net/9p: use system_wq instead of p9_mux_wq\n  xfs: convert to alloc_workqueue()\n  reiserfs: make commit_wq use the default concurrency level\n  ocfs2: use system_wq instead of ocfs2_quota_wq\n  ext4: convert to alloc_workqueue()\n  scsi/scsi_tgt_lib: scsi_tgtd isn\u0027t used in memory reclaim path\n  scsi/be2iscsi,qla2xxx: convert to alloc_workqueue()\n  misc/iwmc3200top: use system_wq instead of dedicated workqueues\n  i2o: use alloc_workqueue() instead of create_workqueue()\n  acpi: kacpi*_wq don\u0027t need WQ_MEM_RECLAIM\n  fs/aio: aio_wq isn\u0027t used in memory reclaim path\n  input/tps6507x-ts: use system_wq instead of dedicated workqueue\n  cpufreq: use system_wq instead of dedicated workqueues\n  wireless/ipw2x00: use system_wq instead of dedicated workqueues\n  arm/omap: use system_wq in mailbox\n  workqueue: use WQ_MEM_RECLAIM instead of WQ_RESCUER\n"
    },
    {
      "commit": "8f5bc2abfd4240b1f55425a3d36b6e6c391bc148",
      "tree": "6101e64f0d06ef59c2bd4080f227e1a7db38a5ce",
      "parents": [
        "a536b126f211bdf9a0eecce0d403a26900d2106c"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Tue Mar 01 17:41:10 2011 +0100"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Mar 01 18:49:44 2011 -0500"
      },
      "message": "[CPUFREQ] fix BUG on cpufreq policy init failure\n\ncpufreq_register_driver sets cpufreq_driver to a structure owned (and\nplaced) in the caller\u0027s memory. If cpufreq policy fails in its -\u003einit\nfunction, sysdev_driver_register returns nonzero in\ncpufreq_register_driver. Now, cpufreq_register_driver returns an error\nwithout setting cpufreq_driver back to NULL.\n\nUsually cpufreq policy modules are unloaded because they propagate the\nerror to the module init function and return that.\n\nSo a later access to any member of cpufreq_driver causes bugs like:\nBUG: unable to handle kernel paging request at ffffffffa00270a0\nIP: [\u003cffffffff8145eca3\u003e] cpufreq_cpu_get+0x53/0xe0\nPGD 1805067 PUD 1809063 PMD 1c3f90067 PTE 0\nOops: 0000 [#1] SMP\nlast sysfs file: /sys/devices/virtual/net/tun0/statistics/collisions\nCPU 0\nModules linked in: ...\nPid: 5677, comm: thunderbird-bin Tainted: G        W   2.6.38-rc4-mm1_64+ #1389 To be filled by O.E.M./To Be Filled By O.E.M.\nRIP: 0010:[\u003cffffffff8145eca3\u003e]  [\u003cffffffff8145eca3\u003e] cpufreq_cpu_get+0x53/0xe0\nRSP: 0018:ffff8801aec37d98  EFLAGS: 00010086\nRAX: 0000000000000202 RBX: 0000000000000000 RCX: 0000000000000001\nRDX: ffffffffa00270a0 RSI: 0000000000001000 RDI: ffffffff8199ece8\n...\nCall Trace:\n [\u003cffffffff8145f490\u003e] cpufreq_quick_get+0x10/0x30\n [\u003cffffffff8103f12b\u003e] show_cpuinfo+0x2ab/0x300\n [\u003cffffffff81136292\u003e] seq_read+0xf2/0x3f0\n [\u003cffffffff8126c5d3\u003e] ? __strncpy_from_user+0x33/0x60\n [\u003cffffffff8116850d\u003e] proc_reg_read+0x6d/0xa0\n [\u003cffffffff81116e53\u003e] vfs_read+0xc3/0x180\n [\u003cffffffff81116f5c\u003e] sys_read+0x4c/0x90\n [\u003cffffffff81030dbb\u003e] system_call_fastpath+0x16/0x1b\n...\n\nIt\u0027s all cause by weird fail path handling in cpufreq_register_driver.\nTo fix that, shuffle the code to do proper handling with gotos.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "57df5573a56322e6895451f759c19e875252817d",
      "tree": "d34ec0be43b4fa29831f949f7be126c78cfba706",
      "parents": [
        "bcb6d9161d1720cf68c7f4de0630e91cb95ee60c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Jan 26 12:12:50 2011 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Jan 26 12:12:50 2011 +0100"
      },
      "message": "cpufreq: use system_wq instead of dedicated workqueues\n\nWith cmwq, there\u0027s no reason for cpufreq drivers to use separate\nworkqueues.  Remove the dedicated workqueues from cpufreq_conservative\nand cpufreq_ondemand and use system_wq instead.  The work items are\nalready sync canceled on stop, so it\u0027s already guaranteed that no work\nis running on module exit.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Dave Jones \u003cdavej@redhat.com\u003e\nCc: cpufreq@vger.kernel.org\n"
    },
    {
      "commit": "6a108a14fa356ef607be308b68337939e56ea94e",
      "tree": "1bf260572bd8f95ed867307a2bcf5d881c8ae4a6",
      "parents": [
        "12fcdba1b7ae8b25696433f420b775aeb556d89b"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Thu Jan 20 14:44:16 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 17:02:05 2011 -0800"
      },
      "message": "kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT\n\nThe meaning of CONFIG_EMBEDDED has long since been obsoleted; the option\nis used to configure any non-standard kernel with a much larger scope than\nonly small devices.\n\nThis patch renames the option to CONFIG_EXPERT in init/Kconfig and fixes\nreferences to the option throughout the kernel.  A new CONFIG_EMBEDDED\noption is added that automatically selects CONFIG_EXPERT when enabled and\ncan be used in the future to isolate options that should only be\nconsidered for embedded systems (RISC architectures, SLOB, etc).\n\nCalling the option \"EXPERT\" more accurately represents its intention: only\nexpert users who understand the impact of the configuration changes they\nare making should enable it.\n\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: David Woodhouse \u003cdavid.woodhouse@intel.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Robin Holt \u003cholt@sgi.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "25e41933b58777f2d020c3b0186b430ea004ec28",
      "tree": "a4ea8bb52509139b52c35d540928c12b33098f40",
      "parents": [
        "61a0d49c33c7fd57c14895e5b0760bd02b65ac1f"
      ],
      "author": {
        "name": "Thomas Renninger",
        "email": "trenn@suse.de",
        "time": "Mon Jan 03 17:50:44 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 04 08:16:54 2011 +0100"
      },
      "message": "perf: Clean up power events by introducing new, more generic ones\n\nAdd these new power trace events:\n\n power:cpu_idle\n power:cpu_frequency\n power:machine_suspend\n\nThe old C-state/idle accounting events:\n  power:power_start\n  power:power_end\n\nHave now a replacement (but we are still keeping the old\ntracepoints for compatibility):\n\n  power:cpu_idle\n\nand\n  power:power_frequency\n\nis replaced with:\n  power:cpu_frequency\n\npower:machine_suspend is newly introduced.\n\nJean Pihet has a patch integrated into the generic layer\n(kernel/power/suspend.c) which will make use of it.\n\nthe type\u003d field got removed from both, it was never\nused and the type is differed by the event type itself.\n\nperf timechart userspace tool gets adjusted in a separate patch.\n\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nAcked-by: Jean Pihet \u003cjean.pihet@newoldbits.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: rjw@sisk.pl\nLKML-Reference: \u003c1294073445-14812-3-git-send-email-trenn@suse.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nLKML-Reference: \u003c1290072314-31155-2-git-send-email-trenn@suse.de\u003e\n"
    },
    {
      "commit": "3f78a9f7fcee0e9b44a15f39ac382664e301fad5",
      "tree": "c704a0f9e3f700f0b789b29c11646de90a565aff",
      "parents": [
        "b2a33c172890b231444803b0bb38c25ac5a0f274"
      ],
      "author": {
        "name": "David C Niemi",
        "email": "dniemi@verisign.com",
        "time": "Wed Oct 06 16:54:24 2010 -0400"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Fri Oct 22 11:44:47 2010 -0400"
      },
      "message": "[CPUFREQ] add sampling_down_factor tunable to improve ondemand performance\n\nAdds a new global tunable, sampling_down_factor.  Set to 1 it makes no\nchanges from existing behavior, but set to greater than 1 (e.g. 100)\nit acts as a multiplier for the scheduling interval for reevaluating\nload when the CPU is at its top speed due to high load.  This improves\nperformance by reducing the overhead of load evaluation and helping\nthe CPU stay at its top speed when truly busy, rather than shifting\nback and forth in speed.  This tunable has no effect on behavior at\nlower speeds/lower CPU loads.\n\nThis patch is against 2.6.36-rc6.\n\nThis patch should help solve kernel bug 19672 \"ondemand is slow\".\n\nSigned-off-by: David Niemi \u003cdniemi@verisign.com\u003e\nAcked-by: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nCC: Daniel Hollocher \u003cdanielhollocher@gmail.com\u003e\nCC: \u003ccpufreq-list@vger.kernel.org\u003e\nCC: \u003clinux-kernel@vger.kernel.org\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "bec037aa6ccb5d561c880e369c409a1b28da5eb4",
      "tree": "546cea29656d46b3ca6e315e1b937158946b1dce",
      "parents": [
        "320b2b8de12698082609ebbc1a17165727f4c893"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Thu Aug 05 22:23:00 2010 +0200"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Fri Oct 22 11:44:47 2010 -0400"
      },
      "message": "[CPUFREQ] drivers/cpufreq: Adjust confusing if indentation\n\nIndent the body of for_each_cpu.\n\nThe semantic match that finds this problem is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@r disable braces4@\nposition p1,p2;\nstatement S1,S2;\n@@\n\n(\nif (...) { ... }\n|\nif (...) S1@p1 S2@p2\n)\n\n@script:python@\np1 \u003c\u003c r.p1;\np2 \u003c\u003c r.p2;\n@@\n\nif (p1[0].column \u003d\u003d p2[0].column):\n  cocci.print_main(\"branch\",p1)\n  cocci.print_secs(\"after\",p2)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "9c36f746d7e191ad6f44f01859af843f0c4d3c5d",
      "tree": "1b7a4df9c99ec769f0219c3fe355b49326e977bc",
      "parents": [
        "6f4f2723d08534fd4e407e1ef8500b0f4d12c30c"
      ],
      "author": {
        "name": "Neal Buckendahl",
        "email": "nealb001@gmail.com",
        "time": "Tue Jun 22 22:02:44 2010 -0500"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Aug 03 13:47:05 2010 -0400"
      },
      "message": "[CPUFREQ] fix brace coding style issue.\n\nThis patch fixes up a brace warning found by the checkpatch.pl tool\n\nSigned-off-by: Neal Buckendahl \u003cnealb001@tbcnet.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "6f4f2723d08534fd4e407e1ef8500b0f4d12c30c",
      "tree": "3422ba34e7c6bde7e8d4ca1f1f1ed772efc5cc4c",
      "parents": [
        "6b72e3934b42930fd40fc42fe762d21be413301c"
      ],
      "author": {
        "name": "Thomas Renninger",
        "email": "trenn@suse.de",
        "time": "Tue Apr 20 13:17:36 2010 +0200"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Aug 03 13:47:05 2010 -0400"
      },
      "message": "[CPUFREQ] x86 cpufreq: Make trace_power_frequency cpufreq driver independent\n\nand fix the broken case if a core\u0027s frequency depends on others.\n\ntrace_power_frequency was only implemented in a rather ungeneric way\nin acpi-cpufreq driver\u0027s target() function only.\n-\u003e Move the call to trace_power_frequency to\n   cpufreq.c:cpufreq_notify_transition() where CPUFREQ_POSTCHANGE\n   notifier is triggered.\n   This will support power frequency tracing by all cpufreq drivers\n\ntrace_power_frequency did not trace frequency changes correctly when\nthe userspace governor was used or when CPU cores\u0027 frequency depend\non each other.\n-\u003e Moving this into the CPUFREQ_POSTCHANGE notifier and pass the cpu\n   which gets switched automatically fixes this.\n\nRobert Schoene provided some important fixes on top of my initial\nquick shot version which are integrated in this patch:\n- Forgot some changes in power_end trace (TP_printk/variable names)\n- Variable dummy in power_end must now be cpu_id\n- Use static 64 bit variable instead of unsigned int for cpu_id\n\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nCC: davej@redhat.com\nCC: arjan@infradead.org\nCC: linux-kernel@vger.kernel.org\nCC: robert.schoene@tu-dresden.de\nTested-by: robert.schoene@tu-dresden.de\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "a665df9d510bfd5bac5664f436411f921471264a",
      "tree": "0814b40d3cf1974f0b6c9ad844d38d278fd0e458",
      "parents": [
        "226528c6100e4191842e61997110c8ace40605f7"
      ],
      "author": {
        "name": "Jocelyn Falempe",
        "email": "jocelyn.falempe@motorola.com",
        "time": "Thu Mar 11 14:01:11 2010 -0800"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Aug 03 13:47:04 2010 -0400"
      },
      "message": "[CPUFREQ] ondemand: don\u0027t synchronize sample rate unless multiple cpus present\n\nFor UP systems this is not required, and results in a more consistent\nsample interval.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Jocelyn Falempe \u003cjocelyn.falempe@motorola.com\u003e\nSigned-off-by: Mike Chan \u003cmike@android.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "226528c6100e4191842e61997110c8ace40605f7",
      "tree": "a731b7e1755db2eeb4322e23ef7f9c8cff21dda6",
      "parents": [
        "00e299fff3cc2745847b03eebcc9e9362db9366d"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Thu Mar 04 03:23:36 2010 -0500"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Aug 03 13:47:04 2010 -0400"
      },
      "message": "[CPUFREQ] unexport (un)lock_policy_rwsem* functions\n\nlock_policy_rwsem_* and unlock_policy_rwsem_* functions are scheduled\nto be unexported when 2.6.33. Now there are no other callers of them\nout of cpufreq.c, unexport them and make them static.\n\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nCc: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "00e299fff3cc2745847b03eebcc9e9362db9366d",
      "tree": "a58558a9df98f3c42e132dabb73765e010655bb0",
      "parents": [
        "298decfbc44e9a4cb7862ae1b7dfc4e1ba3551b9"
      ],
      "author": {
        "name": "Mike Chan",
        "email": "mike@android.com",
        "time": "Tue Jan 26 17:06:47 2010 -0800"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Aug 03 13:47:04 2010 -0400"
      },
      "message": "[CPUFREQ] ondemand: Refactor frequency increase code\n\nMake simpler to read and call.\n\n*** v3 - Always call when powersave_bias is enabled.\n\nAcked-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Mike Chan \u003cmike@android.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "cad70a6ae5aaef4641a3efdfd536c30f13891afe",
      "tree": "91bdca69ce3a9c49d1e7978e44e4ae9171d4f0ca",
      "parents": [
        "ffe6275f90cc2ea77e6120a510903687be067b16"
      ],
      "author": {
        "name": "Xiaotian Feng",
        "email": "dfeng@redhat.com",
        "time": "Tue Jul 20 20:11:02 2010 +0800"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Aug 03 13:47:02 2010 -0400"
      },
      "message": "[CPUFREQ] fix memory leak in cpufreq_add_dev\n\nWe didn\u0027t free policy-\u003erelated_cpus in error path err_unlock_policy.\nThis is catched by following kmemleak report:\n\nunreferenced object 0xffff88022a0b96d0 (size 512):\n  comm \"modprobe\", pid 886, jiffies 4294689177 (age 780.694s)\n  hex dump (first 32 bytes):\n    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................\n    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................\n  backtrace:\n    [\u003cffffffff8111ebe5\u003e] create_object+0x186/0x281\n    [\u003cffffffff814fad4f\u003e] kmemleak_alloc+0x60/0xa7\n    [\u003cffffffff8111127a\u003e] kmem_cache_alloc_node_notrace+0x120/0x142\n    [\u003cffffffff81262e4f\u003e] alloc_cpumask_var_node+0x2c/0xd7\n    [\u003cffffffff81262f0b\u003e] alloc_cpumask_var+0x11/0x13\n    [\u003cffffffff81262f1c\u003e] zalloc_cpumask_var+0xf/0x11\n    [\u003cffffffff8140fac0\u003e] cpufreq_add_dev+0x11f/0x547\n    [\u003cffffffff81334bda\u003e] sysdev_driver_register+0xc2/0x11d\n    [\u003cffffffff8140e334\u003e] cpufreq_register_driver+0xcb/0x1b8\n    [\u003cffffffffa032e040\u003e] 0xffffffffa032e040\n    [\u003cffffffff810021ba\u003e] do_one_initcall+0x5e/0x15c\n    [\u003cffffffff81087f94\u003e] sys_init_module+0xa6/0x1e6\n    [\u003cffffffff81009bc2\u003e] system_call_fastpath+0x16/0x1b\n    [\u003cffffffffffffffff\u003e] 0xffffffffffffffff\n\nSigned-off-by: Xiaotian Feng \u003cdfeng@redhat.com\u003e\nCc: Thomas Renninger \u003ctrenn@suse.de\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "ffe6275f90cc2ea77e6120a510903687be067b16",
      "tree": "c76971857ceb6ca4661beee6b4922278a93d91a4",
      "parents": [
        "dbbe4649d683577de1063dbd9f6da7d4b8de2fed"
      ],
      "author": {
        "name": "Andrej Gelenberg",
        "email": "andrej.gelenberg@udo.edu",
        "time": "Fri May 14 15:15:58 2010 -0700"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Aug 03 13:47:01 2010 -0400"
      },
      "message": "[CPUFREQ] revert \"[CPUFREQ] remove rwsem lock from CPUFREQ_GOV_STOP call (second call site)\"\n\n395913d0b1db37092ea3d9d69b832183b1dd84c5 (\"[CPUFREQ] remove rwsem lock\nfrom CPUFREQ_GOV_STOP call (second call site)\") is not needed, because\nthere is no rwsem lock in cpufreq_ondemand and cpufreq_conservative\nanymore.  Lock should not be released until the work done.\n\nAddresses https://bugzilla.kernel.org/show_bug.cgi?id\u003d1594\n\nSigned-off-by: Andrej Gelenberg \u003candrej.gelenberg@udo.edu\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "07d77759c95d899b84f8e473a01cff001019dd5f",
      "tree": "d039fa6b38475868ebf2bd63ec14f49031d3f0b2",
      "parents": [
        "b7723f9d21d8d6043e63f5e3e412f321f5f1900c",
        "3998d095354d2a3062bdaa821ef07a1e1c82873c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 18 08:49:13 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 18 08:49:13 2010 -0700"
      },
      "message": "Merge branch \u0027x86-cpu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-cpu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, hypervisor: add missing \u003clinux/module.h\u003e\n  Modify the VMware balloon driver for the new x86_hyper API\n  x86, hypervisor: Export the x86_hyper* symbols\n  x86: Clean up the hypervisor layer\n  x86, HyperV: fix up the license to mshyperv.c\n  x86: Detect running on a Microsoft HyperV system\n  x86, cpu: Make APERF/MPERF a normal table-driven flag\n  x86, k8: Fix build error when K8_NB is disabled\n  x86, cacheinfo: Disable index in all four subcaches\n  x86, cacheinfo: Make L3 cache info per node\n  x86, cacheinfo: Reorganize AMD L3 cache structure\n  x86, cacheinfo: Turn off L3 cache index disable feature in virtualized environments\n  x86, cacheinfo: Unify AMD L3 cache index disable checking\n  cpufreq: Unify sysfs attribute definition macros\n  powernow-k8: Fix frequency reporting\n  x86, cpufreq: Add APERF/MPERF support for AMD processors\n  x86: Unify APERF/MPERF support\n  powernow-k8: Add core performance boost support\n  x86, cpu: Add AMD core boosting feature flag to /proc/cpuinfo\n\nFix up trivial conflicts in arch/x86/kernel/cpu/intel_cacheinfo.c and\ndrivers/cpufreq/cpufreq_ondemand.c\n"
    },
    {
      "commit": "19379b11819efc1fc3b602e64f7e7531050aaddb",
      "tree": "de312e679919620d9d245280d86aaf9a0a561d95",
      "parents": [
        "6b8fcd9029f217a9ecce822db645e19111c11080"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun May 09 08:26:51 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 09 19:35:27 2010 +0200"
      },
      "message": "ondemand: Make the iowait-is-busy time a sysfs tunable\n\nPavel Machek pointed out that not all CPUs have an efficient\nidle at high frequency. Specifically, older Intel and various\nAMD cpus would get a higher powerusage when copying files from\nUSB.\n\nMike Chan pointed out that the same is true for various ARM\nchips as well.\n\nThomas Renninger suggested to make this a sysfs tunable with a\nreasonable default.\n\nThis patch adds a sysfs tunable for the new behavior, and uses\na very simple function to determine a reasonable default,\ndepending on the CPU vendor/type.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: davej@redhat.com\nLKML-Reference: \u003c20100509082651.46914d04@infradead.org\u003e\n[ minor tidyup ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6b8fcd9029f217a9ecce822db645e19111c11080",
      "tree": "1754333ce16418b5ffffddc75bfa1f0bf486f09f",
      "parents": [
        "0224cf4c5ee0d7faec83956b8e21f7d89e3df3bd"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun May 09 08:26:06 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 09 19:35:27 2010 +0200"
      },
      "message": "ondemand: Solve a big performance issue by counting IOWAIT time as busy\n\nThe ondemand cpufreq governor uses CPU busy time (e.g. not-idle\ntime) as a measure for scaling the CPU frequency up or down.\nIf the CPU is busy, the CPU frequency scales up, if it\u0027s idle,\nthe CPU frequency scales down. Effectively, it uses the CPU busy\ntime as proxy variable for the more nebulous \"how critical is\nperformance right now\" question.\n\nThis algorithm falls flat on its face in the light of workloads\nwhere you\u0027re alternatingly disk and CPU bound, such as the ever\npopular \"git grep\", but also things like startup of programs and\nmaildir using email clients... much to the chagarin of Andrew\nMorton.\n\nThis patch changes the ondemand algorithm to count iowait time\nas busy, not idle, time. As shown in the breakdown cases above,\niowait is performance critical often, and by counting iowait,\nthe proxy variable becomes a more accurate representation of the\n\"how critical is performance\" question.\n\nThe problem and fix are both verified with the \"perf timechar\"\ntool.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20100509082606.3d9f00d0@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d7be0ce6afb1df60bc786f57410407ceae92b994",
      "tree": "5e91acfc12c833531ad3320f274e0cd96a129973",
      "parents": [
        "e08cae4181af9483b04ecfac48f01c8e5a5f27bf",
        "66f41d4c5c8a5deed66fdcc84509376c9a0bf9d8"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Sat May 08 14:59:58 2010 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Sat May 08 14:59:58 2010 -0700"
      },
      "message": "Merge commit \u0027v2.6.34-rc6\u0027 into x86/cpu\n"
    },
    {
      "commit": "ddc9b34c3b3bc063a7d9eb891ae09b8f49cfb27e",
      "tree": "e28d67d3872dce2516c039ccad08fabff076cead",
      "parents": [
        "8e500ff8df1223dfb42d6c39d3de1fc216fba1a2",
        "fd187aaf980c45f1d16a94a846faa68e24de03c8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 24 11:35:21 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 24 11:35:21 2010 -0700"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq\n\n* \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:\n  [CPUFREQ] use max load in conservative governor\n  [CPUFREQ] fix a lockdep warning\n"
    },
    {
      "commit": "6dad2a29646ce3792c40cfc52d77e9b65a7bb143",
      "tree": "85fce9bcdffe83c2b1f6487bf286f910ef7aba4d",
      "parents": [
        "679370641e3675633cad222449262abbe93a4a2a"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Wed Mar 31 21:56:46 2010 +0200"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Apr 09 14:07:56 2010 -0700"
      },
      "message": "cpufreq: Unify sysfs attribute definition macros\n\nMultiple modules used to define those which are with identical\nfunctionality and were needlessly replicated among the different cpufreq\ndrivers. Push them into the header and remove duplication.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\nLKML-Reference: \u003c1270065406-1814-7-git-send-email-bp@amd64.org\u003e\nReviewed-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "fd187aaf980c45f1d16a94a846faa68e24de03c8",
      "tree": "0236f74fbc3ae0acccba28c6045463f282ed7b46",
      "parents": [
        "499bca9b6d3243f9278a1f5a22d00e67acdd844d"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Fri Mar 26 10:01:34 2010 +0100"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Wed Mar 31 12:00:22 2010 -0400"
      },
      "message": "[CPUFREQ] use max load in conservative governor\n\nInstead of using the load of the last CPU in a package, use the\nmaximum load of all CPUs in a package.\n\nReported-by: Jean-Christian Goussard \u003cjeanchristian.goussard@sfr.fr\u003e\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "499bca9b6d3243f9278a1f5a22d00e67acdd844d",
      "tree": "860ef8e80c4b68a10f06eb8a2fa19b43e608fade",
      "parents": [
        "2eaa9cfdf33b8d7fb7aff27792192e0019ae8fc6"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Thu Mar 04 03:23:46 2010 -0500"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Wed Mar 31 12:00:21 2010 -0400"
      },
      "message": "[CPUFREQ] fix a lockdep warning\n\nThere is no need to do sysfs_remove_link() or kobject_put() etc.\nwhen policy_rwsem_write is held, move them after releasing the lock.\n\nThis fixes the lockdep warning:\n\nhalt/4071 is trying to acquire lock:\n (s_active){++++.+}, at: [\u003cc0000000001ef868\u003e] .sysfs_addrm_finish+0x58/0xc0\n\nbut task is already holding lock:\n (\u0026per_cpu(cpu_policy_rwsem, cpu)){+.+.+.}, at: [\u003cc0000000004cd6ac\u003e] .lock_policy_rwsem_write+0x84/0xf4\n\nReported-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nCc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "52cf25d0ab7f78eeecc59ac652ed5090f69b619e",
      "tree": "031d1ffb3890bd69c0260c864c512e0be62ac05c",
      "parents": [
        "6c1733aca0b48db4d0e660d54976a1cca25b5eaf"
      ],
      "author": {
        "name": "Emese Revfy",
        "email": "re.emese@gmail.com",
        "time": "Tue Jan 19 02:58:23 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:49 2010 -0800"
      },
      "message": "Driver core: Constify struct sysfs_ops in struct kobj_type\n\nConstify struct sysfs_ops.\n\nThis is part of the ops structure constification\neffort started by Arjan van de Ven et al.\n\nBenefits of this constification:\n\n * prevents modification of data that is shared\n   (referenced) by many other structure instances\n   at runtime\n\n * detects/prevents accidental (but not intentional)\n   modification attempts on archs that enforce\n   read-only kernel data at runtime\n\n * potentially better optimized code as the compiler\n   can assume that the const data cannot be changed\n\n * the compiler/linker move const data into .rodata\n   and therefore exclude them from false sharing\n\nSigned-off-by: Emese Revfy \u003cre.emese@gmail.com\u003e\nAcked-by: David Teigland \u003cteigland@redhat.com\u003e\nAcked-by: Matt Domsch \u003cMatt_Domsch@dell.com\u003e\nAcked-by: Maciej Sosnowski \u003cmaciej.sosnowski@intel.com\u003e\nAcked-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "1dbf58881f307e21a3df4b990a5bea401360d02e",
      "tree": "a79f9d4373c88a5451569f56d6b99952e982e832",
      "parents": [
        "557a701c16553b0b691dbb64ef30361115a80f64"
      ],
      "author": {
        "name": "Nagananda.Chumbalkar@hp.com",
        "email": "Nagananda.Chumbalkar@hp.com",
        "time": "Mon Dec 21 23:40:52 2009 +0100"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Wed Jan 13 10:55:16 2010 -0500"
      },
      "message": "[CPUFREQ] Fix ondemand to not request targets outside policy limits\n\nDominik said:\ntarget_freq cannot be below policy-\u003emin or above policy-\u003emax.\nIf it were, the whole cpufreq subsystem is broken.\n\nBut (answer):\nI think the \"ondemand\" governor can ask for a target frequency that is\nbelow policy-\u003emin.\n...\nA patch such as below may be needed to sanitize the target frequency\nrequested by \"ondemand\". The \"conservative\" governor already has this check:\n\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n\n# diff -bur x/drivers/cpufreq/cpufreq_ondemand.c.orig y/drivers/cpufreq/cpufreq_ondemand.c\n"
    },
    {
      "commit": "d0316554d3586cbea60592a41391b5def2553d6f",
      "tree": "5e7418f0bacbc68cec5dfd1541e03eb56870aa02",
      "parents": [
        "fb0bbb92d42d5bd0ab224605444efdfed06d6934",
        "51e99be00ce2713cbb841cedc997cafa6e26c7f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 09:58:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 09:58:24 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (34 commits)\n  m68k: rename global variable vmalloc_end to m68k_vmalloc_end\n  percpu: add missing per_cpu_ptr_to_phys() definition for UP\n  percpu: Fix kdump failure if booted with percpu_alloc\u003dpage\n  percpu: make misc percpu symbols unique\n  percpu: make percpu symbols in ia64 unique\n  percpu: make percpu symbols in powerpc unique\n  percpu: make percpu symbols in x86 unique\n  percpu: make percpu symbols in xen unique\n  percpu: make percpu symbols in cpufreq unique\n  percpu: make percpu symbols in oprofile unique\n  percpu: make percpu symbols in tracer unique\n  percpu: make percpu symbols under kernel/ and mm/ unique\n  percpu: remove some sparse warnings\n  percpu: make alloc_percpu() handle array types\n  vmalloc: fix use of non-existent percpu variable in put_cpu_var()\n  this_cpu: Use this_cpu_xx in trace_functions_graph.c\n  this_cpu: Use this_cpu_xx for ftrace\n  this_cpu: Use this_cpu_xx in nmi handling\n  this_cpu: Use this_cpu operations in RCU\n  this_cpu: Use this_cpu ops for VM statistics\n  ...\n\nFix up trivial (famous last words) global per-cpu naming conflicts in\n\tarch/x86/kvm/svm.c\n\tmm/slab.c\n"
    },
    {
      "commit": "e2f74f355e9e2914483db10c05d70e69e0b7ae04",
      "tree": "e17cae217151627c2c95aeeb2a43baf96d49ac91",
      "parents": [
        "cf3289d0e701b2f59123bf653c12722a7e32aedb"
      ],
      "author": {
        "name": "Thomas Renninger",
        "email": "trenn@suse.de",
        "time": "Thu Nov 19 12:31:01 2009 +0100"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Nov 24 13:33:34 2009 -0500"
      },
      "message": "[ACPI/CPUFREQ] Introduce bios_limit per cpu cpufreq sysfs interface\n\nThis interface is mainly intended (and implemented) for ACPI _PPC BIOS\nfrequency limitations, but other cpufreq drivers can also use it for\nsimilar use-cases.\n\nWhy is this needed:\n\nCurrently it\u0027s not obvious why cpufreq got limited.\nPeople see cpufreq/scaling_max_freq reduced, but this could have\nhappened by:\n  - any userspace prog writing to scaling_max_freq\n  - thermal limitations\n  - hardware (_PPC in ACPI case) limitiations\n\nTherefore export bios_limit (in kHz) to:\n  - Point the user that it\u0027s the BIOS (broken or intended) which limits\n    frequency\n  - Export it as a sysfs interface for userspace progs.\n    While this was a rarely used feature on laptops, there will appear\n    more and more server implemenations providing \"Green IT\" features like\n    allowing the service processor to limit the frequency. People want\n    to know about HW/BIOS frequency limitations.\n\nAll ACPI P-state driven cpufreq drivers are covered with this patch:\n  - powernow-k8\n  - powernow-k7\n  - acpi-cpufreq\n\nTested with a patched DSDT which limits the first two cores (_PPC returns 1)\nvia _PPC, exposed by bios_limit:\n# echo 2200000 \u003ecpu2/cpufreq/scaling_max_freq\n# cat cpu*/cpufreq/scaling_max_freq\n2600000\n2600000\n2200000\n2200000\n# #scaling_max_freq shows general user/thermal/BIOS limitations\n\n# cat cpu*/cpufreq/bios_limit\n2600000\n2600000\n2800000\n2800000\n# #bios_limit only shows the HW/BIOS limitation\n\nCC: Pallipadi Venkatesh \u003cvenkatesh.pallipadi@intel.com\u003e\nCC: Len Brown \u003clenb@kernel.org\u003e\nCC: davej@codemonkey.org.uk\nCC: linux@dominikbrodowski.net\n\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "cf3289d0e701b2f59123bf653c12722a7e32aedb",
      "tree": "0f9b06125502932f857346e4e72c201e8c2cd3bf",
      "parents": [
        "1cce76c2ac60df40b02bf747982fb3f00e68f50a"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Tue Nov 17 20:27:08 2009 -0700"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Nov 24 13:33:34 2009 -0500"
      },
      "message": "[CPUFREQ] make internal cpufreq_add_dev_* static\n\nNo need to export these symbols; make them static.\n\n\tcpufreq_add_dev_policy\n\tcpufreq_add_dev_symlink\n\tcpufreq_add_dev_interface\n\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "49b015ce38edeb484fb2efa09048c23e903f49d6",
      "tree": "e8a208ef45962afb3d953cf2e809540db0e40371",
      "parents": [
        "0cda8b91f2e096bbef1cb05f23c42e423eae7728"
      ],
      "author": {
        "name": "Thomas Renninger",
        "email": "trenn@suse.de",
        "time": "Thu Oct 01 19:49:28 2009 +0200"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Nov 24 13:33:34 2009 -0500"
      },
      "message": "[CPUFREQ] Use global sysfs cpufreq structure for conservative governor tunings\n\nSame adustments that have been added to the ondemand recently.\n\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "90e41bac100e34f955f48e7686c2fc685ac9aa30",
      "tree": "50ae248a292e85d3e784d12e2e6a37823048d98b",
      "parents": [
        "54c9a35d9faef06e00e2a941eb8fe674f1886901"
      ],
      "author": {
        "name": "Prarit Bhargava",
        "email": "prarit@redhat.com",
        "time": "Thu Nov 12 09:18:46 2009 -0500"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Nov 17 23:15:04 2009 -0500"
      },
      "message": "[CPUFREQ] Fix stale cpufreq_cpu_governor pointer\n\nDave,\n\nAttached is an update of my patch against the cpufreq fixes branch.\n\nBefore applying the patch I compiled and booted the tree to see if the panic\nwas still there -- to my surprise it was not.  This is because of the conversion\nof cpufreq_cpu_governor to a char[].\n\nWhile the panic is kaput, the problem of stale data continues and my patch is\nstill valid.  It is possible to end up with the wrong governor after hotplug\nevents because CPUFREQ_DEFAULT_GOVERNOR is statically linked to a default,\nwhile the cpu siblings may have had a different governor assigned by a user.\n\nie) the patch is still needed in order to keep the governors assigned\nproperly when hotplugging devices\n\nSigned-off-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "54c9a35d9faef06e00e2a941eb8fe674f1886901",
      "tree": "928bbd03871e60f79edd0dd522ac48a598d17cb6",
      "parents": [
        "8dca15e40889e5d5e9655b03ba79c26200f760ce"
      ],
      "author": {
        "name": "Pallipadi, Venkatesh",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Wed Nov 11 16:50:29 2009 -0800"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Nov 17 23:15:04 2009 -0500"
      },
      "message": "[CPUFREQ] Resolve time unit thinko in ondemand/conservative govs\n\nondemand and conservative governors are messing up time units in the\ncode path where NO_HZ is not enabled and ignore_nice is set. The walltime\nidletime stored is in jiffies and nice time calculation is happening in\nmicroseconds.\n\nThe problem was reported and diagnosed by Alexander here.\nhttp://marc.info/?l\u003dlinux-kernel\u0026m\u003d125752550404513\u0026w\u003d2\n\nThe patch below fixes this thinko.\n\nReported-by: Alexander Miller \u003cMiller@fmi.uni-stuttgart.de\u003e\nTested-by: Alexander Miller \u003cMiller@fmi.uni-stuttgart.de\u003e\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "e77b89f13a0d48aea70b69976e854f2a2444a519",
      "tree": "d78288fc4386e1613713fff8c13d28f7ec480d32",
      "parents": [
        "293afe44d75abce4252db76cbb303a7de4297ce1"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Mon Oct 05 00:38:55 2009 +0400"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Nov 17 23:15:04 2009 -0500"
      },
      "message": "[CPUFREQ] Fix use after free on governor restore\n\nCurrently on governer backup/restore path we storing governor\u0027s pointer.\nThis is wrong because one may unload governor\u0027s module after cpu goes\noffline. As result use-after-free will take place on restored cpu.\nIt is not easy to exploit this bug, but still we have to close this\nissue ASAP. Issue was introduced by following commit\n084f34939424161669467c19280dbcf637730314\n\n##TESTCASE##\n#!/bin/sh -x\nmodprobe acpi_cpufreq\n# Any non default governor, in may case it is \"ondemand\"\nmodprobe cpufreq_ondemand\necho ondemand \u003e /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor\nrmmod acpi_cpufreq\nrmmod cpufreq_ondemand\nmodprobe acpi_cpufreq  # \u003c\u003c use-after-free here.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "f16250669d78a32bdfb27cec4d791e85141e11e2",
      "tree": "fa0fbce8904437312101a9b36f888c7a462e8d1f",
      "parents": [
        "b3e9f672b6cd0f4c2982c1bcc0b3c3fb39d3b0fe"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Oct 29 22:34:13 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Oct 29 22:34:13 2009 +0900"
      },
      "message": "percpu: make percpu symbols in cpufreq unique\n\nThis patch updates percpu related symbols in cpufreq such that percpu\nsymbols are unique and don\u0027t clash with local symbols.  This serves\ntwo purposes of decreasing the possibility of global percpu symbol\ncollision and allowing dropping per_cpu__ prefix from percpu symbols.\n\n* drivers/cpufreq/cpufreq.c: s/policy_cpu/cpufreq_policy_cpu/\n* drivers/cpufreq/freq_table.c: s/show_table/cpufreq_show_table/\n* arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c: s/drv_data/acfreq_data/\n  \t\t\t\t\t      s/old_perf/acfreq_old_perf/\n\nPartly based on Rusty Russell\u0027s \"alloc_percpu: rename percpu vars\nwhich cause name clashes\" patch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "714af0693863dfb6f075f4465053976d2d076a21",
      "tree": "4da5efd5b229611cdee6a503dbae090adff3edf0",
      "parents": [
        "a03fdb7612874834d6847107198712d18b5242c7",
        "f0adb134d8dc9993a9998dc50845ec4f6ff4fadc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 18 09:16:57 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 18 09:16:57 2009 -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 NULL ptr regression in powernow-k8\n  [CPUFREQ] Create a blacklist for processors that should not load the acpi-cpufreq module.\n  [CPUFREQ] Powernow-k8: Enable more than 2 low P-states\n  [CPUFREQ] remove rwsem lock from CPUFREQ_GOV_STOP call (second call site)\n  [CPUFREQ] ondemand - Use global sysfs dir for tuning settings\n  [CPUFREQ] Introduce global, not per core: /sys/devices/system/cpu/cpufreq\n  [CPUFREQ] Bail out of cpufreq_add_dev if the link for a managed CPU got created\n  [CPUFREQ] Factor out policy setting from cpufreq_add_dev\n  [CPUFREQ] Factor out interface creation from cpufreq_add_dev\n  [CPUFREQ] Factor out symlink creation from cpufreq_add_dev\n  [CPUFREQ] cleanup up -ENOMEM handling in cpufreq_add_dev\n  [CPUFREQ] Reduce scope of cpu_sys_dev in cpufreq_add_dev\n  [CPUFREQ] update Doc for cpuinfo_cur_freq and scaling_cur_freq\n"
    },
    {
      "commit": "ada3fa15057205b7d3f727bba5cd26b5912e350f",
      "tree": "60962fc9e4021b92f484d1a58e72cd3906d4f3db",
      "parents": [
        "2f82af08fcc7dc01a7e98a49a5995a77e32a2925",
        "5579fd7e6aed8860ea0c8e3f11897493153b10ad"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 15 09:39:44 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 15 09:39:44 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (46 commits)\n  powerpc64: convert to dynamic percpu allocator\n  sparc64: use embedding percpu first chunk allocator\n  percpu: kill lpage first chunk allocator\n  x86,percpu: use embedding for 64bit NUMA and page for 32bit NUMA\n  percpu: update embedding first chunk allocator to handle sparse units\n  percpu: use group information to allocate vmap areas sparsely\n  vmalloc: implement pcpu_get_vm_areas()\n  vmalloc: separate out insert_vmalloc_vm()\n  percpu: add chunk-\u003ebase_addr\n  percpu: add pcpu_unit_offsets[]\n  percpu: introduce pcpu_alloc_info and pcpu_group_info\n  percpu: move pcpu_lpage_build_unit_map() and pcpul_lpage_dump_cfg() upward\n  percpu: add @align to pcpu_fc_alloc_fn_t\n  percpu: make @dyn_size mandatory for pcpu_setup_first_chunk()\n  percpu: drop @static_size from first chunk allocators\n  percpu: generalize first chunk allocator selection\n  percpu: build first chunk allocators selectively\n  percpu: rename 4k first chunk allocator to page\n  percpu: improve boot messages\n  percpu: fix pcpu_reclaim() locking\n  ...\n\nFix trivial conflict as by Tejun Heo in kernel/sched.c\n"
    },
    {
      "commit": "395913d0b1db37092ea3d9d69b832183b1dd84c5",
      "tree": "2b1aff8df27bfb02332ee4fe207a989244583c0a",
      "parents": [
        "0e625ac153126a0a62b7635fa9dc91f87ff39e38"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Mon Jun 08 13:17:31 2009 -0400"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Sep 01 12:45:18 2009 -0400"
      },
      "message": "[CPUFREQ] remove rwsem lock from CPUFREQ_GOV_STOP call (second call site)\n\nremove rwsem lock from CPUFREQ_GOV_STOP call (second call site)\n\ncommit\t42a06f2166f2f6f7bf04f32b4e823eacdceafdc9\n\nMissed a call site for CPUFREQ_GOV_STOP to remove the rwlock taken around the\nteardown. To make a long story short, the rwlock write-lock causes a circular\ndependency with cancel_delayed_work_sync(), because the timer handler takes the\nread lock.\n\nNote that all callers to __cpufreq_set_policy are taking the rwsem. All sysfs\ncallers (writers) hold the write rwsem at the earliest sysfs calling stage.\n\nHowever, the rwlock write-lock is not needed upon governor stop.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nCC: rjw@sisk.pl\nCC: mingo@elte.hu\nCC: Shaohua Li \u003cshaohua.li@intel.com\u003e\nCC: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCC: Dave Young \u003chidave.darkstar@gmail.com\u003e\nCC: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCC: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCC: trenn@suse.de\nCC: sven.wegener@stealer.net\nCC: cpufreq@vger.kernel.org\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "0e625ac153126a0a62b7635fa9dc91f87ff39e38",
      "tree": "121d8d681e1fc401f12c17d705de476739553002",
      "parents": [
        "8aa84ad8d6c740a04386f599694609ee4998e82e"
      ],
      "author": {
        "name": "Thomas Renninger",
        "email": "trenn@suse.de",
        "time": "Fri Jul 24 15:25:06 2009 +0200"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Sep 01 12:45:18 2009 -0400"
      },
      "message": "[CPUFREQ] ondemand - Use global sysfs dir for tuning settings\n\nOndemand has only global variables for userspace tunings via sysfs.\nBut they were exposed per CPU which wrongly implies to the user that\nhis settings are applied per cpu. Also locking sysfs against concurrent\naccess won\u0027t be necessary anymore after deprecation time.\n\nThis means the ondemand config dir is moved:\n/sys/devices/system/cpu/cpu*/cpufreq/ondemand -\u003e\n     /sys/devices/system/cpu/cpufreq/ondemand\n\nThe old files will still exist, but reading or writing to them will\nresult in one (printk_once) deprecation msg to syslog per file.\n\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "8aa84ad8d6c740a04386f599694609ee4998e82e",
      "tree": "b5bedf4203f038c0f624d3240d9d23dbc9e20e63",
      "parents": [
        "4bfa042cd304aa48cf05cd0a13c2d0794a675c0e"
      ],
      "author": {
        "name": "Thomas Renninger",
        "email": "trenn@suse.de",
        "time": "Fri Jul 24 15:25:05 2009 +0200"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Sep 01 12:45:14 2009 -0400"
      },
      "message": "[CPUFREQ] Introduce global, not per core: /sys/devices/system/cpu/cpufreq\n\nCurrently everything in the cpufreq layer is per core based.\nThis does not reflect reality, for example ondemand on conservative\ngovernors have global sysfs variables.\n\nIntroduce a global cpufreq directory and add the kobject to the governor\nstruct, so that governors can easily access it.\nThe directory is initialized in the cpufreq_core_init initcall and thus will\nalways be created if cpufreq is compiled in, even if no cpufreq driver is\nactive later.\n\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "4bfa042cd304aa48cf05cd0a13c2d0794a675c0e",
      "tree": "c2f1a8cfa8d34d7e364acde2a2391481beeee77e",
      "parents": [
        "ecf7e4611c89aba7c7fde1183f7e9357695fbcc5"
      ],
      "author": {
        "name": "Thomas Renninger",
        "email": "trenn@suse.de",
        "time": "Fri Jul 24 15:25:03 2009 +0200"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Sep 01 12:45:14 2009 -0400"
      },
      "message": "[CPUFREQ] Bail out of cpufreq_add_dev if the link for a managed CPU got created\n\nDoing:\necho 0 \u003ecpu1/online\necho 1 \u003ecpu1/online\n\non a managed CPU will result in:\nJul 22 15:15:37 linux kernel: [   80.013864] WARNING: at fs/sysfs/dir.c:487 sysfs_add_one+0xcf/0xe6()\nJul 22 15:15:37 linux kernel: [   80.013866] Hardware name: To Be Filled By O.E.M.\nJul 22 15:15:37 linux kernel: [   80.013868] sysfs: cannot create duplicate filename \u0027/devices/system/cpu/cpu1/cpufreq\u0027\nJul 22 15:15:37 linux kernel: [   80.013870] Modules linked in: powernow_k8\nJul 22 15:15:37 linux kernel: [   80.013874] Pid: 5750, comm: bash Not tainted 2.6.31-rc2 #40\nJul 22 15:15:37 linux kernel: [   80.013876] Call Trace:\nJul 22 15:15:37 linux kernel: [   80.013879]  [\u003cffffffff8112ebda\u003e] ? sysfs_add_one+0xcf/0xe6\nJul 22 15:15:37 linux kernel: [   80.013884]  [\u003cffffffff81041926\u003e] warn_slowpath_common+0x77/0xa4\nJul 22 15:15:37 linux kernel: [   80.013888]  [\u003cffffffff810419a0\u003e] warn_slowpath_fmt+0x3c/0x3e\nJul 22 15:15:37 linux kernel: [   80.013891]  [\u003cffffffff8112ebda\u003e] sysfs_add_one+0xcf/0xe6\nJul 22 15:15:37 linux kernel: [   80.013894]  [\u003cffffffff8112f213\u003e] create_dir+0x58/0x87\nJul 22 15:15:37 linux kernel: [   80.013898]  [\u003cffffffff8112f27a\u003e] sysfs_create_dir+0x38/0x4f\nJul 22 15:15:37 linux kernel: [   80.013902]  [\u003cffffffff811ffb8a\u003e] kobject_add_internal+0x11f/0x1de\nJul 22 15:15:37 linux kernel: [   80.013905]  [\u003cffffffff811ffd21\u003e] kobject_add_varg+0x41/0x4e\nJul 22 15:15:37 linux kernel: [   80.013908]  [\u003cffffffff811ffd7a\u003e] kobject_init_and_add+0x4c/0x57\nJul 22 15:15:37 linux kernel: [   80.013913]  [\u003cffffffff810667bc\u003e] ? mark_lock+0x22/0x228\nJul 22 15:15:37 linux kernel: [   80.013918]  [\u003cffffffff813e8a3b\u003e] cpufreq_add_dev_interface+0x40/0x1e4\n...\n\nThis bug slipped in by git commit:\n150b06f7f223cfd0f808737a5243cceca8ea47fa\n\nWhen splitting up cpufreq_add_dev, the whole cpufreq_add_dev function\nis not left anymore, only cpufreq_add_dev_policy.\nThis patch should reconstruct the identical functionality again as it\nwas before the split.\n\nCC: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "ecf7e4611c89aba7c7fde1183f7e9357695fbcc5",
      "tree": "607da9e440f53b43ee9186fbe8f5f6a882f55fbe",
      "parents": [
        "909a694e336bf3a6e48b5b51129887a1c5cae04c"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Wed Jul 08 18:48:47 2009 -0400"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Sep 01 12:45:14 2009 -0400"
      },
      "message": "[CPUFREQ] Factor out policy setting from cpufreq_add_dev\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "909a694e336bf3a6e48b5b51129887a1c5cae04c",
      "tree": "b0f5af649d60c703156574409e8813e8c88b84b8",
      "parents": [
        "19d6f7ec3eb1652fc89dd05ebcc2a21a95c60a5a"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Wed Jul 08 18:05:42 2009 -0400"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Sep 01 12:45:13 2009 -0400"
      },
      "message": "[CPUFREQ] Factor out interface creation from cpufreq_add_dev\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "19d6f7ec3eb1652fc89dd05ebcc2a21a95c60a5a",
      "tree": "b8b4c02ed6bb39928f60f7336dc60a53a40c25e1",
      "parents": [
        "059019a3c3353b15d8efac5301f72036cc408bd4"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Wed Jul 08 17:35:39 2009 -0400"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Sep 01 12:45:12 2009 -0400"
      },
      "message": "[CPUFREQ] Factor out symlink creation from cpufreq_add_dev\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "059019a3c3353b15d8efac5301f72036cc408bd4",
      "tree": "658b419d2fa088d8f6222cd3bd36a95394330954",
      "parents": [
        "54e6fe167b8787460ee39e7c333b96e3e2e6a196"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Wed Jul 08 16:30:03 2009 -0400"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Sep 01 12:45:09 2009 -0400"
      },
      "message": "[CPUFREQ] cleanup up -ENOMEM handling in cpufreq_add_dev\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "54e6fe167b8787460ee39e7c333b96e3e2e6a196",
      "tree": "f8aa48949e3b70a1e8887844741b3a9685c28047",
      "parents": [
        "da470db16c703d7f9617c366a36c6670f89a9830"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Wed Jul 08 16:28:05 2009 -0400"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Sep 01 12:45:09 2009 -0400"
      },
      "message": "[CPUFREQ] Reduce scope of cpu_sys_dev in cpufreq_add_dev\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "ce6c3997c2fce74d12e6d8887a1d8cdf024fa850",
      "tree": "047d8577b12e9c5dbcf147f4a76bca537d775b4a",
      "parents": [
        "37d0892c5a94e208cf863e3b7bac014edee4346d"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Fri Aug 07 22:58:51 2009 +0200"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Sep 01 12:45:08 2009 -0400"
      },
      "message": "[CPUFREQ] Re-enable cpufreq suspend and resume code\n\nCommit 4bc5d3413503 is broken and causes regressions:\n\n(1) cpufreq_driver-\u003eresume() and -\u003esuspend() were only called on\n__powerpc__, but you could set them on all architectures. In fact,\n-\u003eresume() was defined and used before the PPC-related commit\n42d4dc3f4e1e complained about in 4bc5d3413503.\n\n(2) Therfore, the resume functions in acpi_cpufreq and speedstep-smi\nwould never be called.\n\n(3) This means speedstep-smi would be unusuable after suspend or resume.\n\nThe _real_ problem was calling cpufreq_driver-\u003eget() with interrupts\noff, but it re-enabling interrupts on some platforms. Why is -\u003eget()\nnecessary?\n\nSome systems like to change the CPU frequency behind our\nback, especially during BIOS-intensive operations like suspend or\nresume. If such systems also use a CPU frequency-dependant timing loop,\ndelays might be off by large factors. Therefore, we need to ascertain\nas soon as possible that the CPU frequency is indeed at the speed we\nthink it is. You can do this two ways: either setting it anew, or trying\nto get it. The latter is what was done, the former also has the same IRQ\nissue.\n\nSo, let\u0027s try something different: defer the checking to after interrupts\nare re-enabled, by calling cpufreq_update_policy() (via schedule_work()).\nTimings may be off until this later stage, so let\u0027s watch out for\nresume regressions caused by the deferred handling of frequency changes\nbehind the kernel\u0027s back.\n\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "384be2b18a5f9475eab9ca2bdfa95cc1a04ef59c",
      "tree": "04c93f391a1b65c8bf8d7ba8643c07d26c26590a",
      "parents": [
        "a76761b621bcd8336065c4fe3a74f046858bc34c",
        "142d44b0dd6741a64a7bdbe029110e7c1dcf1d23"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Aug 14 14:41:02 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Aug 14 14:45:31 2009 +0900"
      },
      "message": "Merge branch \u0027percpu-for-linus\u0027 into percpu-for-next\n\nConflicts:\n\tarch/sparc/kernel/smp_64.c\n\tarch/x86/kernel/cpu/perf_counter.c\n\tarch/x86/kernel/setup_percpu.c\n\tdrivers/cpufreq/cpufreq_ondemand.c\n\tmm/percpu.c\n\nConflicts in core and arch percpu codes are mostly from commit\ned78e1e078dd44249f88b1dd8c76dafb39567161 which substituted many\nnum_possible_cpus() with nr_cpu_ids.  As for-next branch has moved all\nthe first chunk allocators into mm/percpu.c, the changes are moved\nfrom arch code to mm/percpu.c.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "4bc5d34135039566b8d6efa2de7515b2be505da8",
      "tree": "9405817331384c08569d87aee44c1a4160bad9d0",
      "parents": [
        "d5194decd0a6f792b2789eebd4ddf022a248f655"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Aug 04 14:03:25 2009 -0400"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Aug 04 14:32:11 2009 -0400"
      },
      "message": "[CPUFREQ] Make cpufreq suspend code conditional on powerpc.\n\nThe suspend code runs with interrupts disabled, and the powerpc workaround we\ndo in the cpufreq suspend hook calls the drivers -\u003eget method.\n\npowernow-k8\u0027s -\u003eget does an smp_call_function_single\nwhich needs interrupts enabled\n\ncpufreq\u0027s suspend/resume code was added in 42d4dc3f4e1e to work around\na hardware problem on ppc powerbooks.  If we make all this code\nconditional on powerpc, we avoid the issue above.\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "d5194decd0a6f792b2789eebd4ddf022a248f655",
      "tree": "3399a6a68b114690787f45a038c6e538f96f175a",
      "parents": [
        "42c74b84c64633dd3badbfc2abd2ef1728b64b30"
      ],
      "author": {
        "name": "Thomas Renninger",
        "email": "trenn@suse.de",
        "time": "Wed Jul 29 11:26:20 2009 +0200"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Aug 04 14:32:11 2009 -0400"
      },
      "message": "[CPUFREQ] Fix a kobject reference bug related to managed CPUs\n\nThe first offline/online cycle is successful, the second not.\nDoing:\necho 0 \u003ecpu1/online\necho 1 \u003ecpu1/online\necho 0 \u003ecpu1/online\n\nThe last command will trigger:\nJul 22 14:39:50 linux kernel: [  593.210125] ------------[ cut here ]------------\nJul 22 14:39:50 linux kernel: [  593.210139] WARNING: at lib/kref.c:43 kref_get+0x23/0x2b()\nJul 22 14:39:50 linux kernel: [  593.210144] Hardware name: To Be Filled By O.E.M.\nJul 22 14:39:50 linux kernel: [  593.210148] Modules linked in: powernow_k8\nJul 22 14:39:50 linux kernel: [  593.210158] Pid: 378, comm: kondemand/2 Tainted: G        W  2.6.31-rc2 #38\nJul 22 14:39:50 linux kernel: [  593.210163] Call Trace:\nJul 22 14:39:50 linux kernel: [  593.210171]  [\u003cffffffff812008e8\u003e] ? kref_get+0x23/0x2b\nJul 22 14:39:50 linux kernel: [  593.210181]  [\u003cffffffff81041926\u003e] warn_slowpath_common+0x77/0xa4\nJul 22 14:39:50 linux kernel: [  593.210190]  [\u003cffffffff81041962\u003e] warn_slowpath_null+0xf/0x11\nJul 22 14:39:50 linux kernel: [  593.210198]  [\u003cffffffff812008e8\u003e] kref_get+0x23/0x2b\nJul 22 14:39:50 linux kernel: [  593.210206]  [\u003cffffffff811ffa19\u003e] kobject_get+0x1a/0x22\nJul 22 14:39:50 linux kernel: [  593.210214]  [\u003cffffffff813e815d\u003e] cpufreq_cpu_get+0x8a/0xcb\nJul 22 14:39:50 linux kernel: [  593.210222]  [\u003cffffffff813e87d1\u003e] __cpufreq_driver_getavg+0x1d/0x67\nJul 22 14:39:50 linux kernel: [  593.210231]  [\u003cffffffff813ea18f\u003e] do_dbs_timer+0x158/0x27f\nJul 22 14:39:50 linux kernel: [  593.210240]  [\u003cffffffff810529ea\u003e] worker_thread+0x200/0x313\n...\n\nThe output continues on every do_dbs_timer ondemand freq checking poll.\nThis regression was introduced by git commit:\n3f4a782b5ce2698b1870b5a7b573cd721d4fce33\n\nThe policy is released when the cpufreq device is removed in:\n__cpufreq_remove_dev():\n\t/* if this isn\u0027t the CPU which is the parent of the kobj, we\n\t * only need to unlink, put and exit\n\t */\n\nNot creating the symlink is not sever at all.\nAs long as:\nsysfs_remove_link(\u0026sys_dev-\u003ekobj, \"cpufreq\");\nhandles it gracefully that the symlink did not exist.\nPossibly no error should be returned at all, because ondemand\ngovernor would still provide the same functionality.\nUserspace in userspace gov case might be confused if the link\nis missing.\n\nResolves http://bugzilla.kernel.org/show_bug.cgi?id\u003d13903\n\nCC: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCC: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "42c74b84c64633dd3badbfc2abd2ef1728b64b30",
      "tree": "16b9378a38cde51f50078a2d5d41353d346d0dc4",
      "parents": [
        "26d204afa18f7df177f21bdb3759e0098ca8f7d5"
      ],
      "author": {
        "name": "Prarit Bhargava",
        "email": "prarit@redhat.com",
        "time": "Mon Aug 03 10:58:11 2009 -0400"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Aug 04 14:32:10 2009 -0400"
      },
      "message": "[CPUFREQ] Do not set policy for offline cpus\n\nSuspend/Resume fails on multi socket, multi core systems because the cpufreq\ncode erroneously sets the per_cpu policy_cpu value when a logical cpu is\noffline.\n\nThis most notably results in missing sysfs files that are used to set the\ncpu frequencies of the various cpus.\n\nSigned-off-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "26d204afa18f7df177f21bdb3759e0098ca8f7d5",
      "tree": "5446fa9688d2df4608314ec6772a5d6da3e97438",
      "parents": [
        "a33a052f19a21d727847391c8c1aff3fb221c472"
      ],
      "author": {
        "name": "Pallipadi, Venkatesh",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Wed Jul 29 13:36:10 2009 -0700"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Aug 04 14:32:10 2009 -0400"
      },
      "message": "[CPUFREQ] Fix NULL pointer dereference regression in conservative governor\n\nCommit ee88415caf736b89500f16e0a545614541a45005\nintroduced this regression when it removed enable bit in cpu_dbs_info_s.\nThat added a possibility of dbs_cpufreq_notifier getting called for a\nCPU that is not yet managed by conservative governor. That will happen\nas the transition notifier is set as soon as one CPU switches to\nconservative governor and other CPUs can get a NULL pointer dereference\nwithout the enable bit check. Add the enable bit back again.\n\nReported-by: Lermytte Christophe \u003cChristophe.Lermytte@thomson.net\u003e\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "5e1596f75395e7a402e1059c518e633d2732dcf8",
      "tree": "38125e71bb4f67c4ad9693a638f507b249a4ded1",
      "parents": [
        "44b572809581d5a10dbe35aa6bf689f32b9c5ad6"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Wed Jul 08 16:14:23 2009 -0400"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Wed Jul 08 19:04:23 2009 -0400"
      },
      "message": "[CPUFREQ] Fix compile failure in cpufreq.c\n\nmanaged_policy is out of scope for the non-smp case.\nDeclare it locally where used (twice)\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "3f4a782b5ce2698b1870b5a7b573cd721d4fce33",
      "tree": "bed89982d8baa4d086ae6edbab92065d712a3793",
      "parents": [
        "ee88415caf736b89500f16e0a545614541a45005"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Fri Jul 03 11:25:16 2009 -0400"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Mon Jul 06 21:38:28 2009 -0400"
      },
      "message": "[CPUFREQ] fix (utter) cpufreq_add_dev mess\n\nOK, I\u0027ve tried to clean it up the best I could, but please test this with\nconcurrent cpu hotplug and cpufreq add/remove in loops. I\u0027m sure we will make\nother interesting findings.\n\nThis is step one of fixing the overall locking dependency mess in cpufreq.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCC: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nCC: rjw@sisk.pl\nCC: mingo@elte.hu\nCC: Shaohua Li \u003cshaohua.li@intel.com\u003e\nCC: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCC: Dave Young \u003chidave.darkstar@gmail.com\u003e\nCC: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCC: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCC: sven.wegener@stealer.net\nCC: cpufreq@vger.kernel.org\nCC: Thomas Renninger \u003ctrenn@suse.de\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "ee88415caf736b89500f16e0a545614541a45005",
      "tree": "b54b7d57e0886b042e55580627295677de75072c",
      "parents": [
        "5a75c82828e7c088ca6e7b4827911dc29cc8e774"
      ],
      "author": {
        "name": "venkatesh.pallipadi@intel.com",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Thu Jul 02 17:08:33 2009 -0700"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Mon Jul 06 21:38:28 2009 -0400"
      },
      "message": "[CPUFREQ] Cleanup locking in conservative governor\n\nRedesign the locking inside conservative driver. Make dbs_mutex handle all the\nglobal state changes inside the driver and invent a new percpu mutex\nto serialize percpu timer and frequency limit change.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "5a75c82828e7c088ca6e7b4827911dc29cc8e774",
      "tree": "65d155c6f277de757778eb8d91d1556f7198362c",
      "parents": [
        "37c90e8887efd218dc4af949b7f498ca2da4af9f"
      ],
      "author": {
        "name": "venkatesh.pallipadi@intel.com",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Thu Jul 02 17:08:32 2009 -0700"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Mon Jul 06 21:38:28 2009 -0400"
      },
      "message": "[CPUFREQ] Cleanup locking in ondemand governor\n\nRedesign the locking inside ondemand driver. Make dbs_mutex handle all the\nglobal state changes inside the driver and invent a new percpu mutex\nto serialize percpu timer and frequency limit change.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "7d26e2d5e2da37e92c6c7644b26b294dedd8c982",
      "tree": "44d1637ac603fad42cbbf28ba7a89c9e194c4d0f",
      "parents": [
        "faf80d62e44dc627efb741f48db50c1858d1667c"
      ],
      "author": {
        "name": "venkatesh.pallipadi@intel.com",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Thu Jul 02 17:08:30 2009 -0700"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Mon Jul 06 21:38:27 2009 -0400"
      },
      "message": "[CPUFREQ] Eliminate the recent lockdep warnings in cpufreq\n\nCommit b14893a62c73af0eca414cfed505b8c09efc613c although it was very\nmuch needed to properly cleanup ondemand timer, opened-up a can of worms\nrelated to locking dependencies in cpufreq.\n\nPatch here defines the need for dbs_mutex and cleans up its usage in\nondemand governor. This also resolves the lockdep warnings reported here\n\nhttp://lkml.indiana.edu/hypermail/linux/kernel/0906.1/01925.html\nhttp://lkml.indiana.edu/hypermail/linux/kernel/0907.0/00820.html\n\nand few others..\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "245b2e70eabd797932adb263a65da0bab3711753",
      "tree": "30f0b790dadd2b70bf06e534abcf66a76e97b05a",
      "parents": [
        "b9bf3121af348d9255f1c917830fe8c2df52efcb"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Jun 24 15:13:48 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Jun 24 15:13:48 2009 +0900"
      },
      "message": "percpu: clean up percpu variable definitions\n\nPercpu variable definition is about to be updated such that all percpu\nsymbols including the static ones must be unique.  Update percpu\nvariable definitions accordingly.\n\n* as,cfq: rename ioc_count uniquely\n\n* cpufreq: rename cpu_dbs_info uniquely\n\n* xen: move nesting_count out of xen_evtchn_do_upcall() and rename it\n\n* mm: move ratelimits out of balance_dirty_pages_ratelimited_nr() and\n  rename it\n\n* ipv4,6: rename cookie_scratch uniquely\n\n* x86 perf_counter: rename prev_left to pmc_prev_left, irq_entry to\n  pmc_irq_entry and nmi_entry to pmc_nmi_entry\n\n* perf_counter: rename disable_count to perf_disable_count\n\n* ftrace: rename test_event_disable to ftrace_test_event_disable\n\n* kmemleak: rename test_pointer to kmemleak_test_pointer\n\n* mce: rename next_interval to mce_next_interval\n\n[ Impact: percpu usage cleanups, no duplicate static percpu var names ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: linux-mm \u003clinux-mm@kvack.org\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\n"
    },
    {
      "commit": "4f4d1ad6ee69027f51f9d137f7e7d3c863cbc53d",
      "tree": "ce64f81a573ac07c78abb835a84bc59c31c9cb18",
      "parents": [
        "86e13684aa77f07c77db352f437d9e53a84dde90"
      ],
      "author": {
        "name": "Thomas Renninger",
        "email": "trenn@suse.de",
        "time": "Wed Apr 22 13:48:31 2009 +0200"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Mon Jun 15 11:49:41 2009 -0400"
      },
      "message": "[CPUFREQ] Only set sampling_rate_max deprecated, sampling_rate_min is useful\n\nUpdate the documentation accordingly.\nCleanup and use printk_once.\n\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "cef9615a853ebc4972084f7e70b52892557420ac",
      "tree": "9578c3371f57ab16be61e18aec307b450106106b",
      "parents": [
        "45e3e1935e2857c54783291107d33323b3ef33c8"
      ],
      "author": {
        "name": "Thomas Renninger",
        "email": "trenn@suse.de",
        "time": "Wed Apr 22 13:48:29 2009 +0200"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Mon Jun 15 11:49:41 2009 -0400"
      },
      "message": "[CPUFREQ] ondemand: Uncouple minimal sampling rate from HZ in NO_HZ case\n\nWith this patch you have following minimal sampling rate restrictions:\n\nKernel restrictions:\nIf CONFIG_NO_HZ is set, the limit is 10ms fixed.\nIf CONFIG_NO_HZ is not set or no_hz\u003doff boot parameter is used, the\nlimits depend on the CONFIG_HZ option:\nHZ\u003d1000: min\u003d20000us  (20ms)\nHZ\u003d250:  min\u003d80000us  (80ms)\nHZ\u003d100:  min\u003d200000us (200ms)\n\nHW restrictions:\nDo not sample/poll more often than HW latency * 100  exported by the low\nlevel cpufreq HW driver\n\nThe higher value of above restrictions is the minimal sampling rate\nthat can be set (and can be seen via ondemand/sampling_rate_min sysfs file)\n\nDefault sampling rate still is HW latency * 1000, but this will now end\nup in lower values on latest (Intel and AMD) hardware as these can switch\nreally fast and sampling rate mostly was limited to the 80ms or 200ms\n(depending on whether HZ\u003d250 or HZ\u003d1000 is used).\n\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nCc: Pallipadi Venkatesh \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "eaa958402ea40851097d051f52ba1bb7a885efe9",
      "tree": "9187f59ff0ee6ac138b5c81a2212bc10f46d04a5",
      "parents": [
        "0281b5dc0350cbf6dd21ed558a33cccce77abc02"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sat Jun 06 14:51:36 2009 -0700"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jun 09 22:30:27 2009 +0930"
      },
      "message": "cpumask: alloc zeroed cpumask for static cpumask_var_ts\n\nThese are defined as static cpumask_var_t so if MAXSMP is not used,\nthey are cleared already.  Avoid surprises when MAXSMP is enabled.\n\nSigned-off-by: Yinghai Lu \u003cyinghai.lu@kernel.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "b14893a62c73af0eca414cfed505b8c09efc613c",
      "tree": "26105543df4e1bcbebdfd04853c0e131f89d37c1",
      "parents": [
        "b253d2b2d28ead6fed012feb54694b3d0562839a"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Sun May 17 10:30:45 2009 -0400"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue May 26 12:04:50 2009 -0400"
      },
      "message": "[CPUFREQ] fix timer teardown in ondemand governor\n\n* Rafael J. Wysocki (rjw@sisk.pl) wrote:\n\u003e This message has been generated automatically as a part of a report\n\u003e of regressions introduced between 2.6.28 and 2.6.29.\n\u003e\n\u003e The following bug entry is on the current list of known regressions\n\u003e introduced between 2.6.28 and 2.6.29.  Please verify if it still should\n\u003e be listed and let me know (either way).\n\u003e\n\u003e\n\u003e Bug-Entry\t: http://bugzilla.kernel.org/show_bug.cgi?id\u003d13186\n\u003e Subject\t\t: cpufreq timer teardown problem\n\u003e Submitter\t: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\n\u003e Date\t\t: 2009-04-23 14:00 (24 days old)\n\u003e References\t: http://marc.info/?l\u003dlinux-kernel\u0026m\u003d124049523515036\u0026w\u003d4\n\u003e Handled-By\t: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\n\u003e Patch\t\t: http://patchwork.kernel.org/patch/19754/\n\u003e \t\t  http://patchwork.kernel.org/patch/19753/\n\u003e\n\n(updated changelog)\n\ncpufreq fix timer teardown in ondemand governor\n\nThe problem is that dbs_timer_exit() uses cancel_delayed_work() when it should\nuse cancel_delayed_work_sync(). cancel_delayed_work() does not wait for the\nworkqueue handler to exit.\n\nThe ondemand governor does not seem to be affected because the\n\"if (!dbs_info-\u003eenable)\" check at the beginning of the workqueue handler returns\nimmediately without rescheduling the work. The conservative governor in\n2.6.30-rc has the same check as the ondemand governor, which makes things\nusually run smoothly. However, if the governor is quickly stopped and then\nstarted, this could lead to the following race :\n\ndbs_enable could be reenabled and multiple do_dbs_timer handlers would run.\nThis is why a synchronized teardown is required.\n\nThe following patch applies to, at least, 2.6.28.x, 2.6.29.1, 2.6.30-rc2.\n\nDepends on patch\ncpufreq: remove rwsem lock from CPUFREQ_GOV_STOP call\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCC: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCC: gregkh@suse.de\nCC: stable@kernel.org\nCC: cpufreq@vger.kernel.org\nCC: Ingo Molnar \u003cmingo@elte.hu\u003e\nCC: rjw@sisk.pl\nCC: Ben Slusky \u003csluskyb@paranoiacs.org\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "b253d2b2d28ead6fed012feb54694b3d0562839a",
      "tree": "39e9cb09e6e72a3029696f9b04476bc62510a77d",
      "parents": [
        "42a06f2166f2f6f7bf04f32b4e823eacdceafdc9"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Sun May 17 10:29:33 2009 -0400"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue May 26 12:04:50 2009 -0400"
      },
      "message": "[CPUFREQ] fix timer teardown in conservative governor\n\n* Rafael J. Wysocki (rjw@sisk.pl) wrote:\n\u003e This message has been generated automatically as a part of a report\n\u003e of regressions introduced between 2.6.28 and 2.6.29.\n\u003e\n\u003e The following bug entry is on the current list of known regressions\n\u003e introduced between 2.6.28 and 2.6.29.  Please verify if it still should\n\u003e be listed and let me know (either way).\n\u003e\n\u003e\n\u003e Bug-Entry\t: http://bugzilla.kernel.org/show_bug.cgi?id\u003d13186\n\u003e Subject\t\t: cpufreq timer teardown problem\n\u003e Submitter\t: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\n\u003e Date\t\t: 2009-04-23 14:00 (24 days old)\n\u003e References\t: http://marc.info/?l\u003dlinux-kernel\u0026m\u003d124049523515036\u0026w\u003d4\n\u003e Handled-By\t: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\n\u003e Patch\t\t: http://patchwork.kernel.org/patch/19754/\n\u003e \t\t  http://patchwork.kernel.org/patch/19753/\n\u003e\n\n(re-send with updated changelog)\n\ncpufreq fix timer teardown in conservative governor\n\nThe problem is that dbs_timer_exit() uses cancel_delayed_work() when it should\nuse cancel_delayed_work_sync(). cancel_delayed_work() does not wait for the\nworkqueue handler to exit.\n\nThe ondemand governor does not seem to be affected because the\n\"if (!dbs_info-\u003eenable)\" check at the beginning of the workqueue handler returns\nimmediately without rescheduling the work. The conservative governor in\n2.6.30-rc has the same check as the ondemand governor, which makes things\nusually run smoothly. However, if the governor is quickly stopped and then\nstarted, this could lead to the following race :\n\ndbs_enable could be reenabled and multiple do_dbs_timer handlers would run.\nThis is why a synchronized teardown is required.\n\nDepends on patch\ncpufreq: remove rwsem lock from CPUFREQ_GOV_STOP call\n\nThe following patch applies to 2.6.30-rc2. Stable kernels have a similar\nissue which should also be fixed, but the code changed between 2.6.29\nand 2.6.30, so this patch only applies to 2.6.30-rc.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCC: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCC: gregkh@suse.de\nCC: stable@kernel.org\nCC: cpufreq@vger.kernel.org\nCC: Ingo Molnar \u003cmingo@elte.hu\u003e\nCC: rjw@sisk.pl\nCC: Ben Slusky \u003csluskyb@paranoiacs.org\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "42a06f2166f2f6f7bf04f32b4e823eacdceafdc9",
      "tree": "c5e08605fe4578bf1c35fab20eed520f505d767d",
      "parents": [
        "d38e73e8dad454a5916f446b0d3523c1161ae95a"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Sun May 17 10:23:52 2009 -0400"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue May 26 12:04:50 2009 -0400"
      },
      "message": "[CPUFREQ] remove rwsem lock from CPUFREQ_GOV_STOP call\n\n* Rafael J. Wysocki (rjw@sisk.pl) wrote:\n\u003e This message has been generated automatically as a part of a report\n\u003e of regressions introduced between 2.6.28 and 2.6.29.\n\u003e\n\u003e The following bug entry is on the current list of known regressions\n\u003e introduced between 2.6.28 and 2.6.29.  Please verify if it still should\n\u003e be listed and let me know (either way).\n\u003e\n\u003e\n\u003e Bug-Entry\t: http://bugzilla.kernel.org/show_bug.cgi?id\u003d13186\n\u003e Subject\t\t: cpufreq timer teardown problem\n\u003e Submitter\t: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\n\u003e Date\t\t: 2009-04-23 14:00 (24 days old)\n\u003e References\t: http://marc.info/?l\u003dlinux-kernel\u0026m\u003d124049523515036\u0026w\u003d4\n\u003e Handled-By\t: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\n\u003e Patch\t\t: http://patchwork.kernel.org/patch/19754/\n\u003e \t\t  http://patchwork.kernel.org/patch/19753/\n\nThe patches linked above depend on the following patch to remove\ncircular locking dependency :\n\ncpufreq: remove rwsem lock from CPUFREQ_GOV_STOP call\n\n(the following issue was faced when using cancel_delayed_work_sync() in the\ntimer teardown (which fixes a race).\n\n* KOSAKI Motohiro (kosaki.motohiro@jp.fujitsu.com) wrote:\n\u003e Hi\n\u003e\n\u003e my box output following warnings.\n\u003e it seems regression by commit 7ccc7608b836e58fbacf65ee4f8eefa288e86fac.\n\u003e\n\u003e A: work -\u003e do_dbs_timer()  -\u003e cpu_policy_rwsem\n\u003e B: store() -\u003e cpu_policy_rwsem -\u003e cpufreq_governor_dbs() -\u003e work\n\u003e\n\u003e\n\nHrm, I think it must be due to my attempt to fix the timer teardown race\nin ondemand governor mixed with new locking behavior in 2.6.30-rc.\n\nThe rwlock seems to be taken around the whole call to\ncpufreq_governor_dbs(), when it should be only taken around accesses to\nthe locked data, and especially *not* around the call to\ndbs_timer_exit().\n\nReverting my fix attempt would put the teardown race back in place\n(replacing the cancel_delayed_work_sync by cancel_delayed_work).\nInstead, a proper fix would imply modifying this critical section :\n\ncpufreq.c: __cpufreq_remove_dev()\n...\n        if (cpufreq_driver-\u003etarget)\n                __cpufreq_governor(data, CPUFREQ_GOV_STOP);\n\n        unlock_policy_rwsem_write(cpu);\n\nTo make sure the __cpufreq_governor() callback is not called with rwsem\nheld. This would allow execution of cancel_delayed_work_sync() without\nbeing nested within the rwsem.\n\nApplies on top of the 2.6.30-rc5 tree.\n\nRequired to remove circular dep in teardown of both conservative and\nondemande governors so they can use cancel_delayed_work_sync().\nCPUFREQ_GOV_STOP does not modify the policy, therefore this locking seemed\nunneeded.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCC: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCC: Ingo Molnar \u003cmingo@elte.hu\u003e\nCC: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCC: Ben Slusky \u003csluskyb@paranoiacs.org\u003e\nCC: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCC: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "ada19a31a90b4f46c040c25ef4ef8ffc203c7fc6",
      "tree": "7d523d2d90dbaa973c5843d6219ec149b5949243",
      "parents": [
        "8d80ce80e1d58ba9cd3e3972b112cccd6b4008f4",
        "36e8abf3edcd2d207193ec5741d1a2a645d470a5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 11:04:08 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 11:04:08 2009 -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: (35 commits)\n  [CPUFREQ] Prevent p4-clockmod from auto-binding to the ondemand governor.\n  [CPUFREQ] Make cpufreq-nforce2 less obnoxious\n  [CPUFREQ] p4-clockmod reports wrong frequency.\n  [CPUFREQ] powernow-k8: Use a common exit path.\n  [CPUFREQ] Change link order of x86 cpufreq modules\n  [CPUFREQ] conservative: remove 10x from def_sampling_rate\n  [CPUFREQ] conservative: fixup governor to function more like ondemand logic\n  [CPUFREQ] conservative: fix dbs_cpufreq_notifier so freq is not locked\n  [CPUFREQ] conservative: amend author\u0027s email address\n  [CPUFREQ] Use swap() in longhaul.c\n  [CPUFREQ] checkpatch cleanups for acpi-cpufreq\n  [CPUFREQ] powernow-k8: Only print error message once, not per core.\n  [CPUFREQ] ondemand/conservative: sanitize sampling_rate restrictions\n  [CPUFREQ] ondemand/conservative: deprecate sampling_rate{min,max}\n  [CPUFREQ] powernow-k8: Always compile powernow-k8 driver with ACPI support\n  [CPUFREQ] Introduce /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_transition_latency\n  [CPUFREQ] checkpatch cleanups for powernow-k8\n  [CPUFREQ] checkpatch cleanups for ondemand governor.\n  [CPUFREQ] checkpatch cleanups for powernow-k7\n  [CPUFREQ] checkpatch cleanups for speedstep related drivers.\n  ...\n"
    },
    {
      "commit": "129f8ae9b1b5be94517da76009ea956e89104ce8",
      "tree": "f79cbe8397dd2578349d3aefe25dc72f26eab291",
      "parents": [
        "694593e3374a67d95ece6a275a1f181644c2c4d8"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Mon Mar 09 15:07:33 2009 -0400"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Mon Mar 09 15:07:33 2009 -0400"
      },
      "message": "Revert \"[CPUFREQ] Disable sysfs ui for p4-clockmod.\"\n\nThis reverts commit e088e4c9cdb618675874becb91b2fd581ee707e6.\n\nRemoving the sysfs interface for p4-clockmod was flagged as a\nregression in bug 12826.\n\nCourse of action:\n - Find out the remaining causes of overheating, and fix them\n   if possible. ACPI should be doing the right thing automatically.\n   If it isn\u0027t, we need to fix that.\n - mark p4-clockmod ui as deprecated\n - try again with the removal in six months.\n\nIt\u0027s not really feasible to printk about the deprecation, because\nit needs to happen at all the sysfs entry points, which means adding\na lot of strcmp(\"p4-clockmod\".. calls to the core, which.. bleuch.\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "a75603a084f1dd9a9558c8af95fc2acfc54f1021",
      "tree": "6b8369d6a60c8eb21ba9686def3d73548cc27974",
      "parents": [
        "8e677ce83bf41ba9c74e5b6d9ee60b07d4e5ed93"
      ],
      "author": {
        "name": "Alexander Clouter",
        "email": "alex@digriz.org.uk",
        "time": "Fri Feb 13 19:03:26 2009 +0000"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Feb 24 22:47:32 2009 -0500"
      },
      "message": "[CPUFREQ] conservative: remove 10x from def_sampling_rate\n\nAMD users get particular hit by this issue (bug 8081) as it caps at\ntypically 90 seconds as the minimum period for a frequency change.\nHarsh eh?  Years ago I borked this buy puting the 10x in the wrong\nplace...I fix that by removing it altogether.\n\nSigned-off-by: Alexander Clouter \u003calex@digriz.org.uk\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "8e677ce83bf41ba9c74e5b6d9ee60b07d4e5ed93",
      "tree": "2c7cd15b18c89807464a794ffb319488f2938426",
      "parents": [
        "f407a08bb7eff5ddbe0d9173d8717794a910771f"
      ],
      "author": {
        "name": "Alexander Clouter",
        "email": "alex@digriz.org.uk",
        "time": "Fri Feb 13 19:02:34 2009 +0000"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Feb 24 22:47:32 2009 -0500"
      },
      "message": "[CPUFREQ] conservative: fixup governor to function more like ondemand logic\n\nAs conservative is based off ondemand the codebases occasionally need to be\nresync\u0027d.  This patch, although ugly, does this.\n\nSigned-off-by: Alexander Clouter \u003calex@digriz.org.uk\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "f407a08bb7eff5ddbe0d9173d8717794a910771f",
      "tree": "e5c4edd6dcbf993c985c9a510127f8bf3cb98f00",
      "parents": [
        "11a80a9c7668c40c40a03ae15bd2c6b215058b2e"
      ],
      "author": {
        "name": "Alexander Clouter",
        "email": "alex@digriz.org.uk",
        "time": "Fri Feb 13 19:01:51 2009 +0000"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Feb 24 22:47:32 2009 -0500"
      },
      "message": "[CPUFREQ] conservative: fix dbs_cpufreq_notifier so freq is not locked\n\nWhen someone added the dbs_cpufreq_notifier section to the governor the\ncode ended up causing the frequency to only fall.  This is because\nrequested_freq is tinkered with and that should only modified if it has\nan invlaid value due to changes in the available frequency ranges\n\nThis should fix #10055.\n\nSigned-off-by: Alexander Clouter \u003calex@digriz.org.uk\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "11a80a9c7668c40c40a03ae15bd2c6b215058b2e",
      "tree": "4d41ce310e64105002da29c0eb044eb418473fd8",
      "parents": [
        "91420220d278584693d11a800b78fdc20e8fe10e"
      ],
      "author": {
        "name": "Alexander Clouter",
        "email": "alex@digriz.org.uk",
        "time": "Fri Feb 13 19:01:01 2009 +0000"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Feb 24 22:47:31 2009 -0500"
      },
      "message": "[CPUFREQ] conservative: amend author\u0027s email address\n\nAmend author\u0027s email address.\n\nSigned-off-by: Alexander Clouter \u003calex@digriz.org.uk\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "112124ab0a9f507a0d7fdbb1e1ed2b9a24f8c4ea",
      "tree": "15512b608d8f8f58817c1053d22a39d8f45e8b6d",
      "parents": [
        "9411b4ef7fcb534fe1582fe02738254e398dd931"
      ],
      "author": {
        "name": "Thomas Renninger",
        "email": "trenn@suse.de",
        "time": "Wed Feb 04 11:55:12 2009 +0100"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Feb 24 22:47:31 2009 -0500"
      },
      "message": "[CPUFREQ] ondemand/conservative: sanitize sampling_rate restrictions\n\nLimit sampling rate to transition_latency * 100 or kernel limits.\nIf sampling_rate is tried to be set too low, set the lowest allowed value.\n\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "9411b4ef7fcb534fe1582fe02738254e398dd931",
      "tree": "86b7fcf2f085427fc3ea2b7f51527a0af7e6e1df",
      "parents": [
        "57f4fa699195b761cbea90db5e38b4bc15610c7c"
      ],
      "author": {
        "name": "Thomas Renninger",
        "email": "trenn@suse.de",
        "time": "Wed Feb 04 11:54:04 2009 +0100"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Feb 24 22:47:31 2009 -0500"
      },
      "message": "[CPUFREQ] ondemand/conservative: deprecate sampling_rate{min,max}\n\nThe same info can be obtained via the transition_latency sysfs file\n\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "ed12978453a3845c947695e7ad32bb3ede444813",
      "tree": "6fcec1eaa023fd2cadce8e82a17b9b890f59fd88",
      "parents": [
        "0e64a0c982c06a6b8f5e2a7f29eb108fdf257b2f"
      ],
      "author": {
        "name": "Thomas Renninger",
        "email": "trenn@suse.de",
        "time": "Wed Feb 04 01:17:41 2009 +0100"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Feb 24 22:47:31 2009 -0500"
      },
      "message": "[CPUFREQ] Introduce /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_transition_latency\n\nIt\u0027s not only useful for the ondemand and conservative governors, but\nalso for userspace daemons to know about the HW transition latency of\nthe CPU.\nIt is especially useful for userspace to know about this value when\nthe ondemand or conservative governors are run. The sampling rate\ncontrol value depends on it and for userspace being able to set sane\ntuning values there it has to know about the transition latency.\n\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "2b03f891ad3804dd3fa4dadfd33e5dcb200389c5",
      "tree": "66c5efcaabb0cd51dd959fd9f5e51b65274192f8",
      "parents": [
        "b9e7638a301b1245d4675087a05fa90fb4fa1845"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Sun Jan 18 01:43:44 2009 -0500"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Feb 24 22:47:30 2009 -0500"
      },
      "message": "[CPUFREQ] checkpatch cleanups for ondemand governor.\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "97acec55de8b168548665f267c9dd45ed863b179",
      "tree": "82620b8b47daa7ae05e403419c21a66ba03054f6",
      "parents": [
        "1bceb8d13907d681b7eac9ae0ae14f2eecae9801"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Sun Jan 18 01:56:41 2009 -0500"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Feb 24 22:47:30 2009 -0500"
      },
      "message": "[CPUFREQ] checkpatch cleanups for freq_table\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "1bceb8d13907d681b7eac9ae0ae14f2eecae9801",
      "tree": "db39bce7643fa3ebc2a1252d624bc0e96d798d6c",
      "parents": [
        "0a829c5afde8e9e9c33a3a5c231b04dcf253337d"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Sun Jan 18 01:51:46 2009 -0500"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Feb 24 22:47:30 2009 -0500"
      },
      "message": "[CPUFREQ] checkpatch cleanups for userspace governor\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "0a829c5afde8e9e9c33a3a5c231b04dcf253337d",
      "tree": "61f6ed839cb4a49c26f325c6301484f499c06be1",
      "parents": [
        "9acef4875695a7717734f2578666a64822ea6495"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Sun Jan 18 01:49:04 2009 -0500"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Feb 24 22:47:30 2009 -0500"
      },
      "message": "[CPUFREQ] checkpatch cleanups for cpufreq_stats\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "9acef4875695a7717734f2578666a64822ea6495",
      "tree": "a28764742190a657ed7c939319aa5619ed123083",
      "parents": [
        "29464f281389fd7e9adf969de7bbeb20b8596f82"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Sun Jan 18 01:39:51 2009 -0500"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Feb 24 22:47:29 2009 -0500"
      },
      "message": "[CPUFREQ] checkpatch cleanups for conservative governor\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "29464f281389fd7e9adf969de7bbeb20b8596f82",
      "tree": "7efe93cfa513898aa2144733aacb61ce8f9beee6",
      "parents": [
        "6072ace436800a011c3cb9a75ee49276bd90445a"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Sun Jan 18 01:37:11 2009 -0500"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Feb 24 22:47:29 2009 -0500"
      },
      "message": "[CPUFREQ] checkpatch cleanups for cpufreq core\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "1ca3abdb6a4b87246b00292f048acd344325fd12",
      "tree": "787f3d255676da7110b4e09b6fe91ce50286e888",
      "parents": [
        "eda58a85ec3fc05855a26654d97a2b53f0e715b9"
      ],
      "author": {
        "name": "Venkatesh Pallipadi",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Fri Jan 23 09:25:02 2009 -0500"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Thu Feb 05 12:25:26 2009 -0500"
      },
      "message": "[CPUFREQ] Make ignore_nice_load setting of ondemand work as expected.\n\nondemand micro-accounting of idle time changes broke ignore_nice_load\nsysfs setting due to a thinko in the code.\n\nThe bug entry:\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d12310\n\nReported-by: Jim Bray \u003cjimsantelmo@gmail.com\u003e\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    }
  ],
  "next": "4e9b1c184cadbece3694603de5f880b6e35bd7a7"
}
