)]}'
{
  "log": [
    {
      "commit": "57c44c5f6fb0a8002feb258c1af58e1a744b1fcb",
      "tree": "978bd46ca765a88e9c101cb705bbb0bf46015643",
      "parents": [
        "76052749143d03006271cc0ce8205ad756917062",
        "5a9e67b1a19e08a82387709f325d26e07b891d27"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 11:31:52 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 11:31:52 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (24 commits)\n  trivial: chack -\u003e check typo fix in main Makefile\n  trivial: Add a space (and a comma) to a printk in 8250 driver\n  trivial: Fix misspelling of \"firmware\" in docs for ncr53c8xx/sym53c8xx\n  trivial: Fix misspelling of \"firmware\" in powerpc Makefile\n  trivial: Fix misspelling of \"firmware\" in usb.c\n  trivial: Fix misspelling of \"firmware\" in qla1280.c\n  trivial: Fix misspelling of \"firmware\" in a100u2w.c\n  trivial: Fix misspelling of \"firmware\" in megaraid.c\n  trivial: Fix misspelling of \"firmware\" in ql4_mbx.c\n  trivial: Fix misspelling of \"firmware\" in acpi_memhotplug.c\n  trivial: Fix misspelling of \"firmware\" in ipw2100.c\n  trivial: Fix misspelling of \"firmware\" in atmel.c\n  trivial: Fix misspelled firmware in Kconfig\n  trivial: fix an -\u003e a typos in documentation and comments\n  trivial: fix then -\u003e than typos in comments and documentation\n  trivial: update Jesper Juhl CREDITS entry with new email\n  trivial: fix singal -\u003e signal typo\n  trivial: Fix incorrect use of \"loose\" in event.c\n  trivial: printk: fix indentation of new_text_line declaration\n  trivial: rtc-stk17ta8: fix sparse warning\n  ...\n"
    },
    {
      "commit": "025dfdafe77f20b3890981a394774baab7b9c827",
      "tree": "c4d514990d7a0673df5d32aa11fded95f9644ff0",
      "parents": [
        "0abb8b6a939b742f273edc68b64dba26c57331bc"
      ],
      "author": {
        "name": "Frederik Schwarzer",
        "email": "schwarzerf@gmail.com",
        "time": "Thu Oct 16 19:02:37 2008 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Jan 06 11:28:06 2009 +0100"
      },
      "message": "trivial: fix then -\u003e than typos in comments and documentation\n\n- (better, more, bigger ...) then -\u003e (...) than\n\nSigned-off-by: Frederik Schwarzer \u003cschwarzerf@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "d9be28ea9110c596a05bd2d56afa94251bd19818",
      "tree": "c23a960b9087694a880011a4a956cbcf8c3c5b72",
      "parents": [
        "c70f22d203fc02c805b6ed4a3483b740dc36786b",
        "1c5745aa380efb6417b5681104b007c8612fb496",
        "47fea2adfc9e16846bc57c2f64ff233b354fef39",
        "238c6d54830c624f34ac9cf123ac04aebfca5013"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 06 09:33:57 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 06 09:33:57 2009 +0100"
      },
      "message": "Merge branches \u0027sched/clock\u0027, \u0027sched/cleanups\u0027 and \u0027linus\u0027 into sched/urgent\n"
    },
    {
      "commit": "7d3b56ba37a95f1f370f50258ed3954c304c524b",
      "tree": "86102527b92f02450aa245f084ffb491c18d2e0a",
      "parents": [
        "269b012321f2f1f8e4648c43a93bf432b42c6668",
        "ab14398abd195af91a744c320a52a1bce814dd1e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 12:04:39 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 12:04:39 2009 -0800"
      },
      "message": "Merge branch \u0027cpus4096-for-linus-3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027cpus4096-for-linus-3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (77 commits)\n  x86: setup_per_cpu_areas() cleanup\n  cpumask: fix compile error when CONFIG_NR_CPUS is not defined\n  cpumask: use alloc_cpumask_var_node where appropriate\n  cpumask: convert shared_cpu_map in acpi_processor* structs to cpumask_var_t\n  x86: use cpumask_var_t in acpi/boot.c\n  x86: cleanup some remaining usages of NR_CPUS where s/b nr_cpu_ids\n  sched: put back some stack hog changes that were undone in kernel/sched.c\n  x86: enable cpus display of kernel_max and offlined cpus\n  ia64: cpumask fix for is_affinity_mask_valid()\n  cpumask: convert RCU implementations, fix\n  xtensa: define __fls\n  mn10300: define __fls\n  m32r: define __fls\n  h8300: define __fls\n  frv: define __fls\n  cris: define __fls\n  cpumask: CONFIG_DISABLE_OBSOLETE_CPUMASK_FUNCTIONS\n  cpumask: zero extra bits in alloc_cpumask_var_node\n  cpumask: replace for_each_cpu_mask_nr with for_each_cpu in kernel/time/\n  cpumask: convert mm/\n  ...\n"
    },
    {
      "commit": "61420f59a589c0668f70cbe725785837c78ece90",
      "tree": "79ae77d731cd2425677b9527d50079d8cf34c3b2",
      "parents": [
        "d97106ab53f812910a62d18afb9dbe882819c1ba",
        "c742b31c03f37c5c499178f09f57381aa6c70131"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 11:56:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 11:56:24 2009 -0800"
      },
      "message": "Merge branch \u0027cputime\u0027 of git://git390.osdl.marist.edu/pub/scm/linux-2.6\n\n* \u0027cputime\u0027 of git://git390.osdl.marist.edu/pub/scm/linux-2.6:\n  [PATCH] fast vdso implementation for CLOCK_THREAD_CPUTIME_ID\n  [PATCH] improve idle cputime accounting\n  [PATCH] improve precision of idle time detection.\n  [PATCH] improve precision of process accounting.\n  [PATCH] idle cputime accounting\n  [PATCH] fix scaled \u0026 unscaled cputime accounting\n"
    },
    {
      "commit": "7eb19553369c46cc1fa64caf120cbcab1b597f7c",
      "tree": "ef1a3beae706b9497c845d0a2557ceb4d2754998",
      "parents": [
        "6092848a2a23b660150a38bc06f59d75838d70c8",
        "8c384cdee3e04d6194a2c2b192b624754f990835"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Wed Dec 31 17:34:16 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jan 03 18:53:31 2009 +0100"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask into merge-rr-cpumask\n\nConflicts:\n\tarch/x86/kernel/io_apic.c\n\tkernel/rcuclassic.c\n\tkernel/sched.c\n\tkernel/time/tick-sched.c\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\n[ mingo@elte.hu: backmerged typo fix for io_apic.c ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b840d79631c882786925303c2b0f4fefc31845ed",
      "tree": "cda60a95d4507fe1321fc285af38982d7eb9693b",
      "parents": [
        "597b0d21626da4e6f09f132442caf0cc2b0eb47c",
        "c3d80000e3a812fe5a200d6bde755fbd7fa65481"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 11:44:09 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 11:44:09 2009 -0800"
      },
      "message": "Merge branch \u0027cpus4096-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027cpus4096-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (66 commits)\n  x86: export vector_used_by_percpu_irq\n  x86: use logical apicid in x2apic_cluster\u0027s x2apic_cpu_mask_to_apicid_and()\n  sched: nominate preferred wakeup cpu, fix\n  x86: fix lguest used_vectors breakage, -v2\n  x86: fix warning in arch/x86/kernel/io_apic.c\n  sched: fix warning in kernel/sched.c\n  sched: move test_sd_parent() to an SMP section of sched.h\n  sched: add SD_BALANCE_NEWIDLE at MC and CPU level for sched_mc\u003e0\n  sched: activate active load balancing in new idle cpus\n  sched: bias task wakeups to preferred semi-idle packages\n  sched: nominate preferred wakeup cpu\n  sched: favour lower logical cpu number for sched_mc balance\n  sched: framework for sched_mc/smt_power_savings\u003dN\n  sched: convert BALANCE_FOR_xx_POWER to inline functions\n  x86: use possible_cpus\u003dNUM to extend the possible cpus allowed\n  x86: fix cpu_mask_to_apicid_and to include cpu_online_mask\n  x86: update io_apic.c to the new cpumask code\n  x86: Introduce topology_core_cpumask()/topology_thread_cpumask()\n  x86: xen: use smp_call_function_many()\n  x86: use work_on_cpu in x86/kernel/cpu/mcheck/mce_amd_64.c\n  ...\n\nFixed up trivial conflict in kernel/time/tick-sched.c manually\n"
    },
    {
      "commit": "5db0e1e9e0f30f160b832a0b5cd1131954bf4f6e",
      "tree": "c49877290fcbebb6245429bc5d554bea438c4fe8",
      "parents": [
        "174596a0b9f21e8844d70566a6bb29bf48a87750"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 01 10:12:29 2009 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 01 10:12:29 2009 +1030"
      },
      "message": "cpumask: replace for_each_cpu_mask_nr with for_each_cpu in kernel/time/\n\nImpact: cleanup\n\nSimple replacement, now the _nr is redundant.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\n"
    },
    {
      "commit": "6b954823c24f04ed026a8517f6bab5abda279db8",
      "tree": "bc034346fa51ba63361e23a1631e163eeb52097e",
      "parents": [
        "e7577c50f2fb2d1c167e2c04a4b4c2cc042acb82"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 01 10:12:25 2009 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 01 10:12:25 2009 +1030"
      },
      "message": "cpumask: convert kernel time functions\n\nImpact: Use new APIs\n\nConvert kernel/time functions to use struct cpumask *.\n\nNote the ugly bitmap declarations in tick-broadcast.c.  These should\nbe cpumask_var_t, but there was no obvious initialization function to\nput the alloc_cpumask_var() calls in.  This was safe.\n\n(Eventually \u0027struct cpumask\u0027 will be undefined for CONFIG_CPUMASK_OFFSTACK,\nso we use a bitmap here to show we really mean it).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\n"
    },
    {
      "commit": "79741dd35713ff4f6fd0eafd59fa94e8a4ba922d",
      "tree": "73c6b503fbd274cb3fcca7a0a68c6f636e3a53ad",
      "parents": [
        "457533a7d3402d1d91fbc125c8bd1bd16dcd3cd4"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Wed Dec 31 15:11:38 2008 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Wed Dec 31 15:11:46 2008 +0100"
      },
      "message": "[PATCH] idle cputime accounting\n\nThe cpu time spent by the idle process actually doing something is\ncurrently accounted as idle time. This is plain wrong, the architectures\nthat support VIRT_CPU_ACCOUNTING\u003dy can do better: distinguish between the\ntime spent doing nothing and the time spent by idle doing work. The first\nis accounted with account_idle_time and the second with account_system_time.\nThe architectures that use the account_xxx_time interface directly and not\nthe account_xxx_ticks interface now need to do the check for the idle\nprocess in their arch code. In particular to improve the system vs true\nidle time accounting the arch code needs to measure the true idle time\ninstead of just testing for the idle process.\nTo improve the tick based accounting as well we would need an architecture\nprimitive that can tell us if the pt_regs of the interrupted context\npoints to the magic instruction that halts the cpu.\n\nIn addition idle time is no more added to the stime of the idle process.\nThis field now contains the system time of the idle process as it should\nbe. On systems without VIRT_CPU_ACCOUNTING this will always be zero as\nevery tick that occurs while idle is running will be accounted as idle\ntime.\n\nThis patch contains the necessary common code changes to be able to\ndistinguish idle system time and true idle time. The architectures with\nsupport for VIRT_CPU_ACCOUNTING need some changes to exploit this.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "457533a7d3402d1d91fbc125c8bd1bd16dcd3cd4",
      "tree": "cbe69310a66176dea2a9e7bd201db95efe4a2890",
      "parents": [
        "6a94cb73064c952255336cc57731904174b2c58f"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Wed Dec 31 15:11:37 2008 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Wed Dec 31 15:11:46 2008 +0100"
      },
      "message": "[PATCH] fix scaled \u0026 unscaled cputime accounting\n\nThe utimescaled / stimescaled fields in the task structure and the\nglobal cpustat should be set on all architectures. On s390 the calls\nto account_user_time_scaled and account_system_time_scaled never have\nbeen added. In addition system time that is accounted as guest time\nto the user time of a process is accounted to the scaled system time\ninstead of the scaled user time.\nTo fix the bugs and to prevent future forgetfulness this patch merges\naccount_system_time_scaled into account_system_time and\naccount_user_time_scaled into account_user_time.\n\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Michael Neuling \u003cmikey@neuling.org\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "2ca1a615835d9f4990f42102ab1f2ef434e7e89c",
      "tree": "726cf3d5f29a6c66c44e4bd68e7ebed2fd83d059",
      "parents": [
        "e12f0102ac81d660c9f801d0a0e10ccf4537a9de",
        "6a94cb73064c952255336cc57731904174b2c58f"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Dec 31 23:05:57 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Dec 31 23:05:57 2008 +1030"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tarch/x86/kernel/io_apic.c\n"
    },
    {
      "commit": "1c5745aa380efb6417b5681104b007c8612fb496",
      "tree": "263b81742f7973c0dd86efe414a79a324c0769e4",
      "parents": [
        "6a94cb73064c952255336cc57731904174b2c58f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 22 23:05:28 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 31 09:53:21 2008 +0100"
      },
      "message": "sched_clock: prevent scd-\u003eclock from moving backwards, take #2\n\nRedo:\n\n  5b7dba4: sched_clock: prevent scd-\u003eclock from moving backwards\n\nwhich had to be reverted due to s2ram hangs:\n\n  ca7e716: Revert \"sched_clock: prevent scd-\u003eclock from moving backwards\"\n\n... this time with resume restoring GTOD later in the sequence\ntaken into account as well.\n\nThe \"timekeeping_suspended\" flag is not very nice but we cannot call into\nGTOD before it has been properly resumed and the scheduler will run very\nearly in the resume sequence.\n\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "32e8d18683adb322c994d1a0fe02d66380991f45",
      "tree": "1c697f6d1c042dc560b096dca76680f4acf415b3",
      "parents": [
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91",
        "0a57b783018a77ca16097198844438bdff4d012e",
        "39c04b55240342d0742ac48538d3d8c71bfc0a94",
        "b2e3c0adec918ea22b6c9d7c76193dd3aaba9bd4",
        "001474491fabeca233168a8598f721c808040f90",
        "c29541b24fb2c6301021637229ae5347c877330a",
        "8187926bdae98648db24db3391c4efd21ec669b1",
        "a5a64498c194c82ecad3a2d67cff6231cda8d3dd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 18:02:25 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 18:02:25 2008 +0100"
      },
      "message": "Merge branches \u0027timers/clocksource\u0027, \u0027timers/hpet\u0027, \u0027timers/hrtimers\u0027, \u0027timers/nohz\u0027, \u0027timers/ntp\u0027, \u0027timers/posixtimers\u0027 and \u0027timers/rtc\u0027 into timers/core\n"
    },
    {
      "commit": "968ea6d80e395cf11a51143cfa1b9a14ada676df",
      "tree": "dc2acec8c9bdced33afe1e273ee5e0b0b93d2703",
      "parents": [
        "7be7585393d311866653564fbcd10a3232773c0b",
        "8299608f140ae321e4eb5d1306184265d2b9511e"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:55:51 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:55:51 2008 +1030"
      },
      "message": "Merge ../linux-2.6-x86\n\nConflicts:\n\n\tarch/x86/kernel/io_apic.c\n\tkernel/sched.c\n\tkernel/sched_stats.h\n"
    },
    {
      "commit": "320ab2b0b1e08e3805a3e1084a2f0eb1938d5d67",
      "tree": "1303d8ca53cca655425d512d65cc9ab043254b31",
      "parents": [
        "0de26520c7cabf36e1de090ea8092f011a6106ce"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:20:26 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:20:26 2008 +1030"
      },
      "message": "cpumask: convert struct clock_event_device to cpumask pointers.\n\nImpact: change calling convention of existing clock_event APIs\n\nstruct clock_event_timer\u0027s cpumask field gets changed to take pointer,\nas does the -\u003ebroadcast function.\n\nAnother single-patch change.  For safety, we BUG_ON() in\nclockevents_register_device() if it\u0027s not set.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0de26520c7cabf36e1de090ea8092f011a6106ce",
      "tree": "3d02e509b6315fdfd9cdb8c9e0b9ed0a30cf9384",
      "parents": [
        "29c0177e6a4ac094302bed54a1d4bbb6b740a9ef"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:20:26 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:20:26 2008 +1030"
      },
      "message": "cpumask: make irq_set_affinity() take a const struct cpumask\n\nImpact: change existing irq_chip API\n\nNot much point with gentle transition here: the struct irq_chip\u0027s\nsetaffinity method signature needs to change.\n\nFortunately, not widely used code, but hits a few architectures.\n\nNote: In irq_select_affinity() I save a temporary in by mangling\nirq_desc[irq].affinity directly.  Ingo, does this break anything?\n\n(Folded in fix from KOSAKI Motohiro)\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nReviewed-by: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: ralf@linux-mips.org\nCc: grundler@parisc-linux.org\nCc: jeremy@xensource.com\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\n"
    },
    {
      "commit": "001474491fabeca233168a8598f721c808040f90",
      "tree": "858467ce6aed38ba2bd1ea8682e12bbdb182d0f1",
      "parents": [
        "fa116ea35ec7f40e890972324409e99eed008d56"
      ],
      "author": {
        "name": "Woodruff, Richard",
        "email": "r-woodruff2@ti.com",
        "time": "Mon Dec 01 14:18:11 2008 -0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Dec 12 16:55:31 2008 +0100"
      },
      "message": "nohz: suppress needless timer reprogramming\n\nIn my device I get many interrupts from a high speed USB device in a very\nshort period of time.  The system spends a lot of time reprogramming the\nhardware timer which is in a slower timing domain as compared to the CPU. \nThis results in the CPU spending a huge amount of time waiting for the\ntimer posting to be done.  All of this reprogramming is useless as the\nwake up time has not changed.\n\nAs measured using ETM trace this drops my reprogramming penalty from\nalmost 60% CPU load down to 15% during high interrupt rate.  I can send\ntraces to show this.\n\nSuppress setting of duplicate timer event when timer already stopped. \nTimer programming can be very costly and can result in long cpu stall/wait\ntimes.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[tglx@linutronix.de: move the check to the right place and avoid raising\n\t\t     the softirq for nothing]\n\nSigned-off-by: Richard Woodruff \u003cr-woodruff2@ti.com\u003e\nCc: johnstul@us.ibm.com\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "45ab6b0c76d0e4cce5bd608ccf97b0f6b20f18df",
      "tree": "4d51c73533c386aee16fde1e74b5e3bc22eedc53",
      "parents": [
        "81444a799550214f549caf579cf65a0ca55e70b7",
        "d65bd5ecb2bd166cea4952a59b7e16cc3ad6ef6c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 12 13:48:57 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 12 13:48:57 2008 +0100"
      },
      "message": "Merge branch \u0027sched/core\u0027 into cpus4096\n\nConflicts:\n\tinclude/linux/ftrace.h\n\tkernel/sched.c\n"
    },
    {
      "commit": "fa116ea35ec7f40e890972324409e99eed008d56",
      "tree": "60747cb2e78fbd66abdce1f133816ab22a078d34",
      "parents": [
        "6c34bc2976b30dc8b56392c020e25bae1f363cab"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Thu Dec 11 17:04:11 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 12 07:27:01 2008 +0100"
      },
      "message": "nohz: no softirq pending warnings for offline cpus\n\nImpact: remove false positive warning\n\nAfter a cpu was taken down during cpu hotplug (read: disabled for interrupts)\nit still might have pending softirqs. However take_cpu_down makes sure\nthat the idle task will run next instead of ksoftirqd on the taken down cpu.\nThe idle task will call tick_nohz_stop_sched_tick which might warn about\npending softirqs just before the cpu kills itself completely.\n\nHowever the pending softirqs on the dead cpu aren\u0027t a problem because they\nwill be moved to an online cpu during CPU_DEAD handling.\n\nSo make sure we warn only for online cpus.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6c9bacb41c10ba84ff68f238e234d96f35fb64f7",
      "tree": "220e4bde083339abd25cb26b973585b9aa19ab80",
      "parents": [
        "eccdaeafaea3ed115068ba55d01f22e486e5437d"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Mon Dec 01 18:34:41 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 04 08:43:02 2008 +0100"
      },
      "message": "time: catch xtime_nsec underflows and fix them\n\nImpact: fix time warp bug\n\nAlex Shi, along with Yanmin Zhang have been noticing occasional time\ninconsistencies recently. Through their great diagnosis, they found that\nthe xtime_nsec value used in update_wall_time was occasionally going\nnegative. After looking through the code for awhile, I realized we have\nthe possibility for an underflow when three conditions are met in\nupdate_wall_time():\n\n  1) We have accumulated a second\u0027s worth of nanoseconds, so we\n     incremented xtime.tv_sec and appropriately decrement xtime_nsec.\n     (This doesn\u0027t cause xtime_nsec to go negative, but it can cause it\n      to be small).\n\n  2) The remaining offset value is large, but just slightly less then\n     cycle_interval.\n\n  3) clocksource_adjust() is speeding up the clock, causing a\n     corrective amount (compensating for the increase in the multiplier\n     being multiplied against the unaccumulated offset value) to be\n     subtracted from xtime_nsec.\n\nThis can cause xtime_nsec to underflow.\n\nUnfortunately, since we notify the NTP subsystem via second_overflow()\nwhenever we accumulate a full second, and this effects the error\naccumulation that has already occured, we cannot simply revert the\naccumulated second from xtime nor move the second accumulation to after\nthe clocksource_adjust call without a change in behavior.\n\nThis leaves us with (at least) two options:\n\n1) Simply return from clocksource_adjust() without making a change if we\n   notice the adjustment would cause xtime_nsec to go negative.\n\nThis would work, but I\u0027m concerned that if a large adjustment was needed\n(due to the error being large), it may be possible to get stuck with an\never increasing error that becomes too large to correct (since it may\nalways force xtime_nsec negative). This may just be paranoia on my part.\n\n2) Catch xtime_nsec if it is negative, then add back the amount its\n   negative to both xtime_nsec and the error.\n\nThis second method is consistent with how we\u0027ve handled earlier rounding\nissues, and also has the benefit that the error being added is always in\nthe oposite direction also always equal or smaller then the correction\nbeing applied. So the risk of a corner case where things get out of\ncontrol is lessened.\n\nThis patch fixes bug 11970, as tested by Yanmin Zhang\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d11970\n\nReported-by: alex.shi@intel.com\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nAcked-by: \"Zhang, Yanmin\" \u003cyanmin_zhang@linux.intel.com\u003e\nTested-by: \"Zhang, Yanmin\" \u003cyanmin_zhang@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ca109491f612aab5c8152207631c0444f63da97f",
      "tree": "46d0a90e79c75fc039bda7d01862062e0ac39900",
      "parents": [
        "ed313489badef16d700f5a3be50e8fd8f8294bc8"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue Nov 25 12:43:51 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 25 15:45:46 2008 +0100"
      },
      "message": "hrtimer: removing all ur callback modes\n\nImpact: cleanup, move all hrtimer processing into hardirq context\n\nThis is an attempt at removing some of the hrtimer complexity by\nreducing the number of callback modes to 1.\n\nThis means that all hrtimer callback functions will be ran from HARD-irq\ncontext.\n\nI went through all the 30 odd hrtimer callback functions in the kernel\nand saw only one that I\u0027m not quite sure of, which is the one in\nnet/can/bcm.c - hence I\u0027m CC-ing the folks responsible for that code.\n\nFurthermore, the hrtimer core now calls callbacks directly with IRQs\ndisabled in case you try to enqueue an expired timer. If this timer is a\nperiodic timer (which should use hrtimer_forward() to advance its time)\nthen it might be possible to end up in an inf. recursive loop due to the\nfact that hrtimer_forward() doesn\u0027t round up to the next timer\ngranularity, and therefore keeps on calling the callback - obviously\nthis needs a fix.\n\nAside from that, this seems to compile and actually boot on my dual core\ntest box - although I\u0027m sure there are some bugs in, me not hitting any\nmakes me certain :-)\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6a7b3dc3440f7b5a9b67594af01ed562cdeb41e4",
      "tree": "fdbe54d2c9cd665c6a76ed09e9e4b7c51fb4df20",
      "parents": [
        "6c99e9ad47d9c082bd096f42fb49e397b05d58a8"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Nov 25 02:35:04 2008 +1030"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:51:10 2008 +0100"
      },
      "message": "sched: convert nohz_cpu_mask to cpumask_var_t.\n\nImpact: (future) size reduction for large NR_CPUS.\n\nDynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves\nspace for small nr_cpu_ids but big CONFIG_NR_CPUS.  cpumask_var_t\nis just a struct cpumask for !CONFIG_CPUMASK_OFFSTACK.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ae99286b4f1be7788f2d6947c66a91dbd6351eec",
      "tree": "a403ffaeaad1cb38afa79e2cca40ecc00ea694ab",
      "parents": [
        "ee5f80a993539490a07477ff2526bf62c503fbb4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Nov 10 13:20:23 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@apollo.(none)",
        "time": "Mon Nov 10 22:39:27 2008 +0100"
      },
      "message": "nohz: disable tick_nohz_kick_tick() for now\n\nImpact: nohz powersavings and wakeup regression\n\ncommit fb02fbc14d17837b4b7b02dbb36142c16a7bf208 (NOHZ: restart tick\ndevice from irq_enter()) causes a serious wakeup regression.\n\nWhile the patch is correct it does not take into account that spurious\nwakeups happen on x86. A fix for this issue is available, but we just\nrevert to the .27 behaviour and let long running softirqs screw\nthemself.\n\nDisable it for now.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "268a3dcfea2077fca60d3715caa5c96f9b5e6ea7",
      "tree": "c2232774508424e677e27f296090a68c775e4669",
      "parents": [
        "c4bd822e7b12a9008241d76db45b665f2fef180c",
        "592aa999d6a272856c9bfbdaac0cfba1bb37c24c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Oct 22 09:48:06 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Oct 22 09:48:06 2008 +0200"
      },
      "message": "Merge branch \u0027timers/range-hrtimers\u0027 into v28-range-hrtimers-for-linus-v2\n\nConflicts:\n\n\tkernel/time/tick-sched.c\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c4bd822e7b12a9008241d76db45b665f2fef180c",
      "tree": "bd4b7b4e2e7db065c971eb264196f02e0b01ecff",
      "parents": [
        "2515ddc6db8eb49a79f0fe5e67ff09ac7c81eab4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 21 20:17:35 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 21 20:53:24 2008 +0200"
      },
      "message": "NOHZ: fix thinko in the timer restart code path\n\ncommit fb02fbc14d17837b4b7b02dbb36142c16a7bf208 (NOHZ: restart tick\ndevice from irq_enter())\n\nsolves the problem of stale jiffies when long running softirqs happen\nin a long idle sleep period, but it has a major thinko in it:\n\nWhen the interrupt which came in _is_ the timer interrupt which should\nexpire ts-\u003esched_timer then we cancel and rearm the timer _before_ it\ngets expired in hrtimer_interrupt() to the next period. That means the\ncall back function is not called. This game can go on for ever :(\n\nPrevent this by making sure to only rearm the timer when the expiry\ntime is more than one tick_period away. Otherwise keep it running as\nit is either already expired or will expiry at the right point to\nupdate jiffies.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nTested-by: Venkatesch Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\n"
    },
    {
      "commit": "c465a76af658b443075d6efee1c3131257643020",
      "tree": "63c28c9fab02dedec7f03cee4a3ef7fe4dc1c072",
      "parents": [
        "2d42244ae71d6c7b0884b5664cf2eda30fb2ae68",
        "1b02469088ac7a13d7e622b618b7410d0f1ce5ec",
        "fb02fbc14d17837b4b7b02dbb36142c16a7bf208",
        "d40e944c25fb4642adb2a4c580a48218a9f3f824",
        "1508487e7f16d992ad23cabd3712563ff912f413",
        "322acf6585f3c4e82ee32a246b0483ca0f6ad3f4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 20 13:14:06 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 20 13:14:06 2008 +0200"
      },
      "message": "Merge branches \u0027timers/clocksource\u0027, \u0027timers/hrtimers\u0027, \u0027timers/nohz\u0027, \u0027timers/ntp\u0027, \u0027timers/posixtimers\u0027 and \u0027timers/debug\u0027 into v28-timers-for-linus\n"
    },
    {
      "commit": "870e2a284567714335d125c390366dce882d726f",
      "tree": "9efbf834eccda9d06a7a16f6ee12b0cc2b627a1f",
      "parents": [
        "c5b77a3d3a716a5c61a1999d7f2a78e9c39fd1b0"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 29 17:41:55 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 20 11:51:30 2008 +0200"
      },
      "message": "timer_list: add base address to clock base\n\nThe base address of a (per cpu) clock base is a useful debug info.\nAdd it and bump the version number of timer_lists.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c5b77a3d3a716a5c61a1999d7f2a78e9c39fd1b0",
      "tree": "14e0c3d2c504fded2dd208c774a38c183f496183",
      "parents": [
        "e67ef25a35b949561a9bd77693523ec94ab4a278"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 29 17:31:41 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 20 11:51:30 2008 +0200"
      },
      "message": "timer_list: print cpu number of clockevents device\n\nThe per cpu clock events device output of timer_list lacks an\nassociation of the device to the cpu which is annoying when looking at\nthe output of /proc/timer_list from a 128 way system. \n\nAdd the CPU number info and mark the broadcast device in the device\nlist printout.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e67ef25a35b949561a9bd77693523ec94ab4a278",
      "tree": "225d5c1df4532c57698d081c39306f21181eb38d",
      "parents": [
        "0cfd81031a26717fe14380d18275f8e217571615"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Sep 25 23:50:23 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 20 11:51:30 2008 +0200"
      },
      "message": "timer_list: print real timer address\n\nThe current timer_list output prints the address of the on stack copy\nof the active hrtimer instead of the hrtimer itself.\n\nPrint the address of the real timer instead.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "651dab4264e4ba0e563f5ff56f748127246e9065",
      "tree": "016630974bdcb00fe529b673f96d389e0fd6dc94",
      "parents": [
        "40b8606253552109815786e5d4b0de98782d31f5",
        "2e532d68a2b3e2aa6b19731501222069735c741c"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Oct 17 09:20:26 2008 -0700"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Oct 17 09:20:26 2008 -0700"
      },
      "message": "Merge commit \u0027linus/master\u0027 into merge-linus\n\nConflicts:\n\n\tarch/x86/kvm/i8254.c\n"
    },
    {
      "commit": "fb02fbc14d17837b4b7b02dbb36142c16a7bf208",
      "tree": "9df1d069c5612047c38a9f6d6dc801ee0369ae3c",
      "parents": [
        "c34bec5a44e9486597d78e7a686b2f9088a0564c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Oct 17 10:01:23 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@apollo.(none)",
        "time": "Fri Oct 17 18:13:38 2008 +0200"
      },
      "message": "NOHZ: restart tick device from irq_enter()\n\nWe did not restart the tick device from irq_enter() to avoid double\nreprogramming and extra events in the return immediate to idle case.\n\nBut long lasting softirqs can lead to a situation where jiffies become\nstale:\n\nidle()\n  tick stopped (reprogrammed to next pending timer)\n  halt()\n   interrupt\n     jiffies updated from irq_enter()\n     interrupt handler\n     softirq function 1 runs 20ms\n     softirq function 2 arms a 10ms timer with a stale jiffies value\n     jiffies updated from irq_exit()\n     timer wheel has now an already expired timer\n     (the one added in function 2)\n     timer fires and timer softirq runs\n\nThis was discovered when debugging a timer problem which happend only\nwhen the ath5k driver is active. The debugging proved that there is a\nsoftirq function running for more than 20ms, which is a bug by itself.\n\nTo solve this we restart the tick timer right from irq_enter(), but do\nnot go through the other functions which are necessary to return from\nidle when need_resched() is set.\n\nReported-by: Elias Oltmanns \u003ceo@nebensachen.de\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nTested-by: Elias Oltmanns \u003ceo@nebensachen.de\u003e\n"
    },
    {
      "commit": "c34bec5a44e9486597d78e7a686b2f9088a0564c",
      "tree": "dd538560814ea54ce8d3f46b935dd24127fba04e",
      "parents": [
        "719254faa17ffedc87ba0fadb9b34e535c9758d5"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Oct 17 10:04:34 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@apollo.(none)",
        "time": "Fri Oct 17 18:13:38 2008 +0200"
      },
      "message": "NOHZ: split tick_nohz_restart_sched_tick()\n\nSplit out the clock event device reprogramming. Preparatory\npatch.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "719254faa17ffedc87ba0fadb9b34e535c9758d5",
      "tree": "6afe1e9f2175aa5394cf6e0fc7c84afef0be3e9b",
      "parents": [
        "2e532d68a2b3e2aa6b19731501222069735c741c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Oct 17 09:59:47 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@apollo.(none)",
        "time": "Fri Oct 17 18:13:38 2008 +0200"
      },
      "message": "NOHZ: unify the nohz function calls in irq_enter()\n\nWe have two separate nohz function calls in irq_enter() for no good\nreason. Just call a single NOHZ function from irq_enter() and call\nthe bits in the tick code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e533b227055598b1f7dc8503a3b4f36b14b9da8a",
      "tree": "28fec4125eac45c8e2fac75b3d10ff5cd987d2f6",
      "parents": [
        "0999d978dcdcf59350dafa25afd70def9f924eee",
        "6b2ada82101a08e2830fb29d7dc9b858be637dd4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 15:17:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 15:17:40 2008 -0700"
      },
      "message": "Merge branch \u0027core-v28-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-v28-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  do_generic_file_read: s/EINTR/EIO/ if lock_page_killable() fails\n  softirq, warning fix: correct a format to avoid a warning\n  softirqs, debug: preemption check\n  x86, pci-hotplug, calgary / rio: fix EBDA ioremap()\n  IO resources, x86: ioremap sanity check to catch mapping requests exceeding, fix\n  IO resources, x86: ioremap sanity check to catch mapping requests exceeding the BAR sizes\n  softlockup: Documentation/sysctl/kernel.txt: fix softlockup_thresh description\n  dmi scan: warn about too early calls to dmi_check_system()\n  generic: redefine resource_size_t as phys_addr_t\n  generic: make PFN_PHYS explicitly return phys_addr_t\n  generic: add phys_addr_t for holding physical addresses\n  softirq: allocate less vectors\n  IO resources: fix/remove printk\n  printk: robustify printk, update comment\n  printk: robustify printk, fix #2\n  printk: robustify printk, fix\n  printk: robustify printk\n\nFixed up conflicts in:\n\tarch/powerpc/include/asm/types.h\n\tarch/powerpc/platforms/Kconfig.cputype\nmanually.\n"
    },
    {
      "commit": "9ba16087d9f996a93ab6f4453a52a4b24bc1f25c",
      "tree": "98a292c556b646aec40ce137b1ec689b3469f120",
      "parents": [
        "a25d644fc0e232f242d1f3baa63c149c42536ff0"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Wed Oct 15 22:01:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:31 2008 -0700"
      },
      "message": "Kconfig: eliminate \"def_bool n\" constructs\n\nUsing \"def_bool n\" is pointless, simply using bool here appears more\nappropriate.\n\nFurther, retaining such options that don\u0027t have a prompt and aren\u0027t\nselected by anything seems also at least questionable.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6b2ada82101a08e2830fb29d7dc9b858be637dd4",
      "tree": "c0580c250211f8773674f3a4f7cd575818f153cc",
      "parents": [
        "278429cff8809958d25415ba0ed32b59866ab1a8",
        "3b7ecb5d2ffde82efd1b1bcc6780dc8a019acf02",
        "77af7e3403e7314c47b0c07fbc5e4ef21d939532",
        "15160716eea5591eb31f40fd4dba56d83bea4209",
        "1fa63a817d27af7dc0d5ed454eb8fe5dec65fac7",
        "85462323555dda749f1c5373a8d72679464c968d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 15 12:48:44 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 15 12:48:44 2008 +0200"
      },
      "message": "Merge branches \u0027core/softlockup\u0027, \u0027core/softirq\u0027, \u0027core/resources\u0027, \u0027core/printk\u0027 and \u0027core/misc\u0027 into core-v28-for-linus\n"
    },
    {
      "commit": "8083e4ad970e4eb567e31037060cdd4ba346f0c0",
      "tree": "330e6dc1dbb7c7db13d14f3681d4a51f62708329",
      "parents": [
        "e9d95bf7eb929b9ddc9af9f4327b76c77ed4c7d6"
      ],
      "author": {
        "name": "venkatesh.pallipadi@intel.com",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Mon Aug 04 11:59:11 2008 -0700"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Thu Oct 09 13:52:44 2008 -0400"
      },
      "message": "[CPUFREQ][5/6] cpufreq: Changes to get_cpu_idle_time_us(), used by ondemand governor\n\nexport get_cpu_idle_time_us() for it to be used in ondemand governor.\nLast update time can be current time when the CPU is currently non-idle,\naccounting for the busy time since last idle.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "07454bfff151d2465ada809bbaddf3548cc1097c",
      "tree": "fae1802b291e57c0376f9deddcbd8bf539587940",
      "parents": [
        "2165f631f0e1d4e9a1ee425ef05cb727352285e0"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Oct 04 10:51:07 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Oct 04 10:51:07 2008 +0200"
      },
      "message": "clockevents: check broadcast tick device not the clock events device\n\nImpact: jiffies increment too fast.\n\nHugh Dickins noted that with NOHZ\u003dn and HIGHRES\u003dn jiffies get\nincremented too fast. The reason is a wrong check in the broadcast\nenter/exit code, which keeps the local apic timer in periodic mode\nwhen the switch happens.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "ccc7dadf736639da86f3e0c86832c11a66fc8221",
      "tree": "3f1c0df0a291fec4a10d72cc1ab278ad81e697c5",
      "parents": [
        "b00c1a99e7758f794923c61e5cd55268d61c9469"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 29 15:47:42 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 29 17:09:14 2008 +0200"
      },
      "message": "hrtimer: prevent migration of per CPU hrtimers\n\nImpact: per CPU hrtimers can be migrated from a dead CPU\n\nThe hrtimer code has no knowledge about per CPU timers, but we need to\nprevent the migration of such timers and warn when such a timer is\nactive at migration time.\n\nExplicitely mark the timers as per CPU and use a more understandable\nmode descriptor for the interrupts safe unlocked callback mode, which\nis used by hrtimer_sleeper and the scheduler code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "d40e944c25fb4642adb2a4c580a48218a9f3f824",
      "tree": "9be7107440704a84d17f9dde12991915931c5279",
      "parents": [
        "5cd1c9c5cf30d4b33df3d3f74d8142f278d536b7"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Mon Sep 22 14:42:44 2008 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Sep 24 17:33:13 2008 +0200"
      },
      "message": "ntp: improve adjtimex frequency rounding\n\nChange PPM_SCALE_INV_SHIFT so that it doesn\u0027t throw away any input bits\n(19 is the amount of the factor 2 in PPM_SCALE), the output frequency\ncan then be calculated back to its input value, as the inverse divide\nproduce a slightly larger value, which is then correctly rounded by the\nfinal shift.\n\nReported-by: Martin Ziegler \u003cziegler@uni-freiburg.de\u003e\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "5cd1c9c5cf30d4b33df3d3f74d8142f278d536b7",
      "tree": "6d74ddeff7e9a044d961d36db13071c158f0557a",
      "parents": [
        "eb3f938fd6292dc79f43a5fe14784b044776e9f0"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Mon Sep 22 14:42:43 2008 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Sep 24 17:33:13 2008 +0200"
      },
      "message": "timekeeping: fix rounding problem during clock update\n\nDue to a rounding problem during a clock update it\u0027s possible for readers\nto observe the clock jumping back by 1nsec.  The following simplified\nexample demonstrates the problem:\n\ncycle\txtime\n0\t0\n1000\t999999.6\n2000\t1999999.2\n3000\t2999998.8\n...\n\n1500 \u003d\t1499999.4\n\u003d\t0.0 + 1499999.4\n\u003d\t999999.6 + 499999.8\n\nWhen reading the clock only the full nanosecond part is used, while\ntimekeeping internally keeps nanosecond fractions.  If the clock is now\nupdated at cycle 1500 here, a nanosecond is missing due to the truncation.\n\nThe simple fix is to round up the xtime value during the update, this also\nchanges the distance to the reference time, but the adjustment will\nautomatically take care that it stays under control.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "eb3f938fd6292dc79f43a5fe14784b044776e9f0",
      "tree": "eb0b485e95af3c6c15871992a9a6d0977869c9e7",
      "parents": [
        "77dd3b3bd23111040c504be6bd873a5ad09f02df"
      ],
      "author": {
        "name": "Maciej W. Rozycki",
        "email": "macro@linux-mips.org",
        "time": "Mon Sep 22 14:42:40 2008 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Sep 24 17:33:12 2008 +0200"
      },
      "message": "ntp: let update_persistent_clock() sleep\n\nThis is a change that makes the 11-minute RTC update be run in the process\ncontext.  This is so that update_persistent_clock() can sleep, which may\nbe required for certain types of RTC hardware -- most notably I2C devices.\n\nSigned-off-by: Maciej W. Rozycki \u003cmacro@linux-mips.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nAcked-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f8e256c687eb53850685747757c8d75e58756e15",
      "tree": "56a406943bb27888be8c814a44958b7314b46f29",
      "parents": [
        "09bfeea13cea843fb03eaa96b5d891fa0abdcc90"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 23 13:00:57 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 23 12:57:00 2008 +0200"
      },
      "message": "timers: fix build error in !oneshot case\n\n kernel/time/tick-common.c: In function ‘tick_setup_periodic’:\n kernel/time/tick-common.c:113: error: implicit declaration of function ‘tick_broadcast_oneshot_active’\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "27ce4cb4a0c7cf59b9a9952266883862f2e4c99f",
      "tree": "066245d42877d8535853e3199b33cdf1110eb8e4",
      "parents": [
        "302745699c1b675b5d2a1af87271de10e4d96b6a"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 22 19:04:02 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 23 11:38:53 2008 +0200"
      },
      "message": "clockevents: prevent mode mismatch on cpu online\n\nImpact: timer hang on CPU online observed on AMD C1E systems\n\nWhen a CPU is brought online then the broadcast machinery can\nbe in the one shot state already. Check this and setup the timer \ndevice of the new CPU in one shot mode so the broadcast code\ncan pick up the next_event value correctly.\n\nAnother AMD C1E oddity, as we switch to broadcast immediately and\nnot after the full bring up via the ACPI cpu idle code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "302745699c1b675b5d2a1af87271de10e4d96b6a",
      "tree": "4efc6c93c038e14021fa10b1eb358695f45f2130",
      "parents": [
        "49d670fb8dd62d3ed4e3ed2513538ea65b051aed"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 22 19:02:25 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 23 11:38:53 2008 +0200"
      },
      "message": "clockevents: check broadcast device not tick device\n\nImpact: Possible hang on CPU online observed on AMD C1E machines.\n\nThe broadcast setup code looks at the mode of the tick device to\ndetermine whether it needs to be shut down or setup. This is wrong\nwhen the broadcast mode is set to one shot already. This can happen\nwhen a CPU is brought online as it goes through the periodic setup\nfirst.\n\nThe problem went unnoticed as sane systems do not call into that code\nbefore the switch to one shot for the clock event device happens.\nThe AMD C1E idle routine switches over immediately and thereby shuts\ndown the just setup device before the first interrupt happens.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "49d670fb8dd62d3ed4e3ed2513538ea65b051aed",
      "tree": "7d571897b5407abc25b776d4738e4af3ea0a5940",
      "parents": [
        "4faac97d44ac27bdbb010a9c3597401a8f89341f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 22 18:56:01 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 23 11:38:53 2008 +0200"
      },
      "message": "clockevents: prevent stale tick_next_period for onlining CPUs\n\nImpact: possible hang on CPU onlining in timer one shot mode.\n\nThe tick_next_period variable is only used during boot on nohz/highres\nenabled systems, but for CPU onlining it needs to be maintained when\nthe per cpu clock events device operates in one shot mode.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6441402b1f173fa38e561d3cee7c01c32e5281ad",
      "tree": "fd7c81337354f39e44581530d499bcdda06d76c4",
      "parents": [
        "72d31053f62c4bc464c2783974926969614a8649"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 22 18:46:37 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 23 11:38:52 2008 +0200"
      },
      "message": "clockevents: prevent cpu online to interfere with nohz\n\nImpact: rare hang which can be triggered on CPU online.\n\ntick_do_timer_cpu keeps track of the CPU which updates jiffies\nvia do_timer. The value -1 is used to signal, that currently no\nCPU is doing this. There are two cases, where the variable can \nhave this state:\n\n boot:\n    necessary for systems where the boot cpu id can be !\u003d 0\n\n nohz long idle sleep:\n    When the CPU which did the jiffies update last goes into\n    a long idle sleep it drops the update jiffies duty so\n    another CPU which is not idle can pick it up and keep\n    jiffies going.\n\nUsing the same value for both situations is wrong, as the CPU online\ncode can see the -1 state when the timer of the newly onlined CPU is\nsetup. The setup for a newly onlined CPU goes through periodic mode\nand can pick up the do_timer duty without being aware of the nohz /\nhighres mode of the already running system.\n\nUse two separate states and make them constants to avoid magic\nnumbers confusion. \n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "2344abbcbdb82140050e8be29d3d55e4f6fe860b",
      "tree": "46c1842fc2a47aa4d7ee0c2c558f54bc50772b69",
      "parents": [
        "f1926ce63b996b42772b39e4b47bb4ef4ba748b4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 16 11:32:50 2008 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 16 13:47:02 2008 -0700"
      },
      "message": "clockevents: make device shutdown robust\n\nThe device shut down does not cleanup the next_event variable of the\nclock event device. So when the device is reactivated the possible\nstale next_event value can prevent the device to be reprogrammed as it\nclaims to wait on a event already.\n\nThis is the root cause of the resurfacing suspend/resume problem,\nwhere systems need key press to come back to life.\n\nFix this by setting next_event to KTIME_MAX when the device is shut\ndown. Use a separate function for shutdown which takes care of that\nand only keep the direct set mode call in the broadcast code, where we\ncan not touch the next_event value.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "61c22c34c6f80a8e89cff5ff717627c54cc14fd4",
      "tree": "33349263152d3ed4fd7d65e4c3d60340e6676b5c",
      "parents": [
        "82a28c794f27aac17d7a3ebd7f14d731a11a5532"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 09 21:38:57 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 09 22:20:01 2008 +0200"
      },
      "message": "clockevents: remove WARN_ON which was used to gather information\n\nThe issue of the endless reprogramming loop due to a too small\nmin_delta_ns was fixed with the previous updates of the clock events\ncode, but we had no information about the spread of this problem. I\nadded a WARN_ON to get automated information via kerneloops.org and to\nget some direct reports, which allowed me to analyse the affected\nmachines.\n\nThe WARN_ON has served its purpose and would be annoying for a release\nkernel. Remove it and just keep the information about the increase of\nthe min_delta_ns value.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "704af52bd13a5d9f3c60c496c68e752fafdfb434",
      "tree": "31ee65210e45b3991a184d3a6dda395a573e97eb",
      "parents": [
        "4ce105d30e08fb8a1783c55a0e48aa3fa200c455"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun Sep 07 16:10:20 2008 -0700"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun Sep 07 16:10:20 2008 -0700"
      },
      "message": "hrtimer: show the timer ranges in /proc/timer_list\n\nto help debugging and visibility of timer ranges, show them\nin the existing timer list in /proc/timer_list\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "f5325225658737e6c9cb8e24373e2c281a90be2a",
      "tree": "f1daf00b394b543876b6ffbfd67c050c3bb1b114",
      "parents": [
        "4747832b56a95dbeb0cef4714e6fcc766eed0a95",
        "4ab6a219113197425ac112e35e1ec8062c69888e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 06 19:33:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 06 19:33:26 2008 -0700"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  clocksource, acpi_pm.c: check for monotonicity\n  clocksource, acpi_pm.c: use proper read function also in errata mode\n  ntp: fix calculation of the next jiffie to trigger RTC sync\n  x86: HPET: read back compare register before reading counter\n  x86: HPET fix moronic 32/64bit thinko\n  clockevents: broadcast fixup possible waiters\n  HPET: make minimum reprogramming delta useful\n  clockevents: prevent endless loop lockup\n  clockevents: prevent multiple init/shutdown\n  clockevents: enforce reprogram in oneshot setup\n  clockevents: prevent endless loop in periodic broadcast handler\n  clockevents: prevent clockevent event_handler ending up handler_noop\n"
    },
    {
      "commit": "4ff4b9e19a80b73959ebeb28d1df40176686f0a8",
      "tree": "0b9068da53ae13d253d7c21a76a58be9cc5f7fc3",
      "parents": [
        "72d43d9bc9210d24d09202eaf219eac09e17b339"
      ],
      "author": {
        "name": "Maciej W. Rozycki",
        "email": "macro@linux-mips.org",
        "time": "Fri Sep 05 14:05:31 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 06 15:31:48 2008 +0200"
      },
      "message": "ntp: fix calculation of the next jiffie to trigger RTC sync\n\nWe have a bug in the calculation of the next jiffie to trigger the RTC\nsynchronisation.  The aim here is to run sync_cmos_clock() as close as\npossible to the middle of a second.  Which means we want this function to\nbe called less than or equal to half a jiffie away from when now.tv_nsec\nequals 5e8 (500000000).\n\nIf this is not the case for a given call to the function, for this purpose\ninstead of updating the RTC we calculate the offset in nanoseconds to the\nnext point in time where now.tv_nsec will be equal 5e8.  The calculated\noffset is then converted to jiffies as these are the unit used by the\ntimer.\n\nHovewer timespec_to_jiffies() used here uses a ceil()-type rounding mode,\nwhere the resulting value is rounded up.  As a result the range of\nnow.tv_nsec when the timer will trigger is from 5e8 to 5e8 + TICK_NSEC\nrather than the desired 5e8 - TICK_NSEC / 2 to 5e8 + TICK_NSEC / 2.\n\nAs a result if for example sync_cmos_clock() happens to be called at the\ntime when now.tv_nsec is between 5e8 + TICK_NSEC / 2 and 5e8 to 5e8 +\nTICK_NSEC, it will simply be rescheduled HZ jiffies later, falling in the\nsame range of now.tv_nsec again.  Similarly for cases offsetted by an\ninteger multiple of TICK_NSEC.\n\nThis change addresses the problem by subtracting TICK_NSEC / 2 from the\nnanosecond offset to the next point in time where now.tv_nsec will be\nequal 5e8, effectively shifting the following rounding in\ntimespec_to_jiffies() so that it produces a rounded-to-nearest result.\n\nSigned-off-by: Maciej W. Rozycki \u003cmacro@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "77dd3b3bd23111040c504be6bd873a5ad09f02df",
      "tree": "119ddcdf89d6a593a8fefea530249084559eeb44",
      "parents": [
        "916c7a855174e3b53d182b97a26b2e27a29726a1",
        "70bb08962ea9bd50797ae9f16b2493f5f7c65053"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 06 15:31:03 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 06 15:31:03 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into timers/ntp\n"
    },
    {
      "commit": "7300711e8c6824fcfbd42a126980ff50439d8dd0",
      "tree": "20183d1ce4fa8237042644b2a79fbf01471da18d",
      "parents": [
        "7cfb0435330364f90f274a26ecdc5f47f738498c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Sep 06 03:01:45 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Sep 06 07:21:17 2008 +0200"
      },
      "message": "clockevents: broadcast fixup possible waiters\n\nUntil the C1E patches arrived there where no users of periodic broadcast\nbefore switching to oneshot mode. Now we need to trigger a possible\nwaiter for a periodic broadcast when switching to oneshot mode.\nOtherwise we can starve them for ever.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "cc584b213f252bf698849cf4be2377cd3ec7501a",
      "tree": "621ba11da6a2ab8598f9ed453836cd2c44192260",
      "parents": [
        "23dd7bb09bd8d7efd8a602aed97b93d52f85e675"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Sep 01 15:02:30 2008 -0700"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Sep 05 21:35:13 2008 -0700"
      },
      "message": "hrtimer: convert kernel/* to the new hrtimer apis\n\nIn order to be able to do range hrtimers we need to use accessor functions\nto the \"expire\" member of the hrtimer struct.\nThis patch converts kernel/* to these accessors.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "56c7426b3951e4f35a71d695f1c982989399d6fd",
      "tree": "26001a24308baceab1ff36eb8ab1ed43fb831a4f",
      "parents": [
        "b380b0d4f7dffcc235c0facefa537d4655619101"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Sep 01 16:44:23 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 05 18:14:08 2008 +0200"
      },
      "message": "sched_clock: fix NOHZ interaction\n\nIf HLT stops the TSC, we\u0027ll fail to account idle time, thereby inflating the\nactual process times. Fix this by re-calibrating the clock against GTOD when\nleaving nohz mode.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Avi Kivity \u003cavi@qumranet.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1fb9b7d29d8e85ba3196eaa7ab871bf76fc98d36",
      "tree": "1fbefa54e16e76f76616202d8abf9607725afeff",
      "parents": [
        "9c17bcda991000351cb2373f78be7e4b1c44caa3"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Sep 03 21:37:14 2008 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Sep 05 11:11:53 2008 +0200"
      },
      "message": "clockevents: prevent endless loop lockup\n\nThe C1E/HPET bug reports on AMDX2/RS690 systems where tracked down to a\ntoo small value of the HPET minumum delta for programming an event.\n\nThe clockevents code needs to enforce an interrupt event on the clock event\ndevice in some cases. The enforcement code was stupid and naive, as it just\nadded the minimum delta to the current time and tried to reprogram the device.\nWhen the minimum delta is too small, then this loops forever.\n\nAdd a sanity check. Allow reprogramming to fail 3 times, then print a warning\nand double the minimum delta value to make sure, that this does not happen again.\nUse the same function for both tick-oneshot and tick-broadcast code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9c17bcda991000351cb2373f78be7e4b1c44caa3",
      "tree": "769385b50e512a3aafa8735be23c199bf83c56e7",
      "parents": [
        "7205656ab48da29a95d7f55e43a81db755d3cb3a"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Sep 03 21:37:08 2008 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Sep 05 11:11:52 2008 +0200"
      },
      "message": "clockevents: prevent multiple init/shutdown\n\nWhile chasing the C1E/HPET bugreports I went through the clock events\ncode inch by inch and found that the broadcast device can be initialized\nand shutdown multiple times. Multiple shutdowns are not critical, but\nuseless waste of time. Multiple initializations are simply broken. Another\nCPU might have the device in use already after the first initialization and\nthe second init could just render it unusable again.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7205656ab48da29a95d7f55e43a81db755d3cb3a",
      "tree": "7721904e6912a9dcd09fc4041dfb07807c2ef4b7",
      "parents": [
        "d4496b39559c6d43f83e4c08b899984f8b8089b5"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Sep 03 21:37:03 2008 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Sep 05 11:11:52 2008 +0200"
      },
      "message": "clockevents: enforce reprogram in oneshot setup\n\nIn tick_oneshot_setup we program the device to the given next_event,\nbut we do not check the return value. We need to make sure that the\ndevice is programmed enforced so the interrupt handler engine starts\nworking. Split out the reprogramming function from tick_program_event()\nand call it with the device, which was handed in to tick_setup_oneshot().\nSet the force argument, so the devices is firing an interrupt.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d4496b39559c6d43f83e4c08b899984f8b8089b5",
      "tree": "2d2007eab7942fef1c4dee43f7be24e3bfbcfe62",
      "parents": [
        "7c1e76897492d92b6a1c2d6892494d39ded9680c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Sep 03 21:36:57 2008 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Sep 05 11:11:51 2008 +0200"
      },
      "message": "clockevents: prevent endless loop in periodic broadcast handler\n\nThe reprogramming of the periodic broadcast handler was broken,\nwhen the first programming returned -ETIME. The clockevents code\nstores the new expiry value in the clock events device next_event field\nonly when the programming time has not been elapsed yet. The loop in\nquestion calculates the new expiry value from the next_event value\nand therefor never increases.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7c1e76897492d92b6a1c2d6892494d39ded9680c",
      "tree": "ea04e1be252e176fe5a665a28fd1c26a562cb1fa",
      "parents": [
        "d210baf53b699fc61aa891c177b71d7082d3b957"
      ],
      "author": {
        "name": "Venkatesh Pallipadi",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Wed Sep 03 21:36:50 2008 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Sep 05 11:11:51 2008 +0200"
      },
      "message": "clockevents: prevent clockevent event_handler ending up handler_noop\n\nThere is a ordering related problem with clockevents code, due to which\nclockevents_register_device() called after tickless/highres switch\nwill not work. The new clockevent ends up with clockevents_handle_noop as\nevent handler, resulting in no timer activity.\n\nThe problematic path seems to be\n\n* old device already has hrtimer_interrupt as the event_handler\n* new clockevent device registers with a higher rating\n* tick_check_new_device() is called\n  * clockevents_exchange_device() gets called\n    * old-\u003eevent_handler is set to clockevents_handle_noop\n  * tick_setup_device() is called for the new device\n    * which sets new-\u003eevent_handler using the old-\u003eevent_handler which is noop.\n\nChange the ordering so that new device inherits the proper handler.\n\nThis does not have any issue in normal case as most likely all the clockevent\ndevices are setup before the highres switch. But, can potentially be affecting\nsome corner case where HPET force detect happens after the highres switch.\nThis was a problem with HPET in MSI mode code that we have been experimenting\nwith.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "916c7a855174e3b53d182b97a26b2e27a29726a1",
      "tree": "791b9975b6de18f0120d962b08f74f088386b44d",
      "parents": [
        "6a55617ed5d1aa62b850de2cf66f5ede2eef4825"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Wed Aug 20 16:46:08 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 22 06:40:18 2008 +0200"
      },
      "message": "ntp: fix ADJ_OFFSET_SS_READ bug and do_adjtimex() cleanup\n\nThanks to the review by Michael Kerrisk a bug in the recent\nADJ_OFFSET_SS_READ option was discovered, where the ntp time_offset was\ninadvertently set by it.  This fixes this by making the adjtime code\nmore separate from the ntp_adjtime code (both of which really want to\nbe separate syscalls).\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3c4fbe5e01d7e5309be5045e7ae0db20a049e6dc",
      "tree": "550195cb1a2ed58bc343e9a4f54d773e8abd5f90",
      "parents": [
        "6a55617ed5d1aa62b850de2cf66f5ede2eef4825"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Wed Aug 20 16:37:38 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 21 09:54:06 2008 +0200"
      },
      "message": "nohz: fix wrong event handler after online an offlined cpu\n\nOn the tickless system(CONFIG_NO_HZ\u003dy and CONFIG_HIGH_RES_TIMERS\u003dn), after\nI made an offlined cpu online, I found this cpu\u0027s event handler was\ntick_handle_periodic, not tick_nohz_handler.\n\nAfter debuging, I found this bug was caused by the wrong tick mode.  the\ntick mode is not changed to NOHZ_MODE_INACTIVE when the cpu is offline.\n\nThis patch fixes this bug.\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2d42244ae71d6c7b0884b5664cf2eda30fb2ae68",
      "tree": "947e86ec6e2d7362daa9a170a352c035f3618d64",
      "parents": [
        "9a055117d3d9cb562f83f8d4cd88772761f4cab0"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Wed Aug 20 16:37:30 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 21 09:50:24 2008 +0200"
      },
      "message": "clocksource: introduce CLOCK_MONOTONIC_RAW\n\nIn talking with Josip Loncaric, and his work on clock synchronization (see\nbtime.sf.net), he mentioned that for really close synchronization, it is\nuseful to have access to \"hardware time\", that is a notion of time that is\nnot in any way adjusted by the clock slewing done to keep close time sync.\n\nPart of the issue is if we are using the kernel\u0027s ntp adjusted\nrepresentation of time in order to measure how we should correct time, we\ncan run into what Paul McKenney aptly described as \"Painting a road using\nthe lines we\u0027re painting as the guide\".\n\nI had been thinking of a similar problem, and was trying to come up with a\nway to give users access to a purely hardware based time representation\nthat avoided users having to know the underlying frequency and mask values\nneeded to deal with the wide variety of possible underlying hardware\ncounters.\n\nMy solution is to introduce CLOCK_MONOTONIC_RAW.  This exposes a\nnanosecond based time value, that increments starting at bootup and has no\nfrequency adjustments made to it what so ever.\n\nThe time is accessed from userspace via the posix_clock_gettime() syscall,\npassing CLOCK_MONOTONIC_RAW as the clock_id.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9a055117d3d9cb562f83f8d4cd88772761f4cab0",
      "tree": "a822607ebb46491e3b480d11c136c5bc8585e38c",
      "parents": [
        "1aa5dfb751d275ae7117d3b73ac423b4a46f2a73"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Wed Aug 20 16:37:28 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 21 09:50:24 2008 +0200"
      },
      "message": "clocksource: introduce clocksource_forward_now()\n\nTo keep the raw monotonic patch simple first introduce\nclocksource_forward_now(), which takes care of the offset since the last\nupdate_wall_time() call and adds it to the clock, so there is no need\nanymore to deal with it explicitly at various places, which need to make\nsignificant changes to the clock.\n\nThis is also gets rid of the timekeeping_suspend_nsecs, instead of\nwaiting until resume, the value is accumulated during suspend. In the end\nthere is only a single user of __get_nsec_offset() left, so I integrated\nit back to getnstimeofday().\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1aa5dfb751d275ae7117d3b73ac423b4a46f2a73",
      "tree": "dde8d56d000c7885c43df0e61f72f4a75d5759fe",
      "parents": [
        "ee974e01e5ef2914036f08c8e41d1a3fa8bfc9d9"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Wed Aug 20 16:37:28 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 21 09:50:23 2008 +0200"
      },
      "message": "clocksource: keep track of original clocksource frequency\n\nThe clocksource frequency is represented by\nclocksource-\u003emult/2^(clocksource-\u003eshift).  Currently, when NTP makes\nadjustments to the clock frequency, they are made directly to the mult\nvalue.\n\nThis has the drawback that once changed, we cannot know what the orignal\nmult value was, or how much adjustment has been applied.\n\nThis property causes problems in calculating proper ntp intervals when\nswitching back and forth between clocksources.\n\nThis patch separates the current mult value into a mult and mult_orig\npair.  The mult_orig value stays constant, while the ntp clocksource\nadjustments are done only to the mult value.\n\nThis allows for correct ntp interval calculation and additionally lays the\ngroundwork for a new notion of time, what I\u0027m calling the monotonic-raw\ntime, which is introduced in a following patch.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b845b517b5e3706a3729f6ea83b88ab85f0725b0",
      "tree": "4311e4c2e6c3fdbdbe89149d1501944294186455",
      "parents": [
        "796aadeb1b2db9b5d463946766c5bbfd7717158c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Aug 08 21:47:09 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 13:46:53 2008 +0200"
      },
      "message": "printk: robustify printk\n\nAvoid deadlocks against rq-\u003elock and xtime_lock by deferring the klogd\nwakeup by polling from the timer tick.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e4e4e534faa3c2be4e165ce414f44b76ada7208c",
      "tree": "615280ce53bdba4f99c95616d2a1527c3b863c39",
      "parents": [
        "39675e89fb472c1b9c8e740e00acb1df2bbc6be7"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 14 08:50:02 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 31 17:20:29 2008 +0200"
      },
      "message": "sched clock: revert various sched_clock() changes\n\nFound an interactivity problem on a quad core test-system - simple\nCPU loops would occasionally delay the system un an unacceptable way.\n\nAfter much debugging with Peter Zijlstra it turned out that the problem\nis caused by the string of sched_clock() changes - they caused the CPU\nclock to jump backwards a bit - which confuses the scheduler arithmetics.\n\n(which is unsigned for performance reasons)\n\nSo revert:\n\n # c300ba2: sched_clock: and multiplier for TSC to gtod drift\n # c0c8773: sched_clock: only update deltas with local reads.\n # af52a90: sched_clock: stop maximum check on NO HZ\n # f7cce27: sched_clock: widen the max and min time\n\nThis solves the interactivity problems.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\n"
    },
    {
      "commit": "0bc3cc03fa6e1c20aecb5a33356bcaae410640b9",
      "tree": "7dab4b0002298b45e31053fe0f37e5ff745682b7",
      "parents": [
        "6524d938b3360504b43a1278b5a8403e85383d1a"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Thu Jul 24 18:21:31 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 26 16:40:33 2008 +0200"
      },
      "message": "cpumask: change cpumask_of_cpu_ptr to use new cpumask_of_cpu\n\n  * Replace previous instances of the cpumask_of_cpu_ptr* macros\n    with a the new (lvalue capable) generic cpumask_of_cpu().\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ecc8b655b38a880b578146895e0e1e2d477ca2c0",
      "tree": "4acce96bac00909fa9472f0c0669714243ea5bee",
      "parents": [
        "2528ce3237be4e900f5eaa455490146e1422e424",
        "e338125b8a886923ba8367207c144764dc352584"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:55:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:55:01 2008 -0700"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  nohz: adjust tick_nohz_stop_sched_tick() call of s390 as well\n  nohz: prevent tick stop outside of the idle loop\n"
    },
    {
      "commit": "26dcce0fabbef75ae426461edf21b5030bad60f3",
      "tree": "56c64fa47dc29f7ea5a8fd0cab0459fb0a05a2bc",
      "parents": [
        "d7b6de14a0ef8a376f9d57b867545b47302b7bfb",
        "eb6a12c2428d21a9f3e0f1a50e927d5fd80fc3d0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 18:37:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 18:37:44 2008 -0700"
      },
      "message": "Merge branch \u0027cpus4096-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027cpus4096-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (31 commits)\n  NR_CPUS: Replace NR_CPUS in speedstep-centrino.c\n  cpumask: Provide a generic set of CPUMASK_ALLOC macros, FIXUP\n  NR_CPUS: Replace NR_CPUS in cpufreq userspace routines\n  NR_CPUS: Replace per_cpu(..., smp_processor_id()) with __get_cpu_var\n  NR_CPUS: Replace NR_CPUS in arch/x86/kernel/genapic_flat_64.c\n  NR_CPUS: Replace NR_CPUS in arch/x86/kernel/genx2apic_uv_x.c\n  NR_CPUS: Replace NR_CPUS in arch/x86/kernel/cpu/proc.c\n  NR_CPUS: Replace NR_CPUS in arch/x86/kernel/cpu/mcheck/mce_64.c\n  cpumask: Optimize cpumask_of_cpu in lib/smp_processor_id.c, fix\n  cpumask: Use optimized CPUMASK_ALLOC macros in the centrino_target\n  cpumask: Provide a generic set of CPUMASK_ALLOC macros\n  cpumask: Optimize cpumask_of_cpu in lib/smp_processor_id.c\n  cpumask: Optimize cpumask_of_cpu in kernel/time/tick-common.c\n  cpumask: Optimize cpumask_of_cpu in drivers/misc/sgi-xp/xpc_main.c\n  cpumask: Optimize cpumask_of_cpu in arch/x86/kernel/ldt.c\n  cpumask: Optimize cpumask_of_cpu in arch/x86/kernel/io_apic_64.c\n  cpumask: Replace cpumask_of_cpu with cpumask_of_cpu_ptr\n  Revert \"cpumask: introduce new APIs\"\n  cpumask: make for_each_cpu_mask a bit smaller\n  net: Pass reference to cpumask variable in net/sunrpc/svc.c\n  ...\n\nFix up trivial conflicts in drivers/cpufreq/cpufreq.c manually\n"
    },
    {
      "commit": "d7b6de14a0ef8a376f9d57b867545b47302b7bfb",
      "tree": "46904d68a5a68f22e6c6baf3472edd4c37a39481",
      "parents": [
        "30d38542ec777468bb6a31829076a2dbc5690e35",
        "4dca10a96041f78bed11ce9e4a5cfde813ec4ccb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 18:34:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 18:34:13 2008 -0700"
      },
      "message": "Merge branch \u0027core/softlockup-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core/softlockup-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  softlockup: fix invalid proc_handler for softlockup_panic\n  softlockup: fix watchdog task wakeup frequency\n  softlockup: fix watchdog task wakeup frequency\n  softlockup: show irqtrace\n  softlockup: print a module list on being stuck\n  softlockup: fix NMI hangs due to lock race - 2.6.26-rc regression\n  softlockup: fix false positives on nohz if CPU is 100% idle for more than 60 seconds\n  softlockup: fix softlockup_thresh fix\n  softlockup: fix softlockup_thresh unaligned access and disable detection at runtime\n  softlockup: allow panic on lockup\n"
    },
    {
      "commit": "4a0b2b4dbe1335b8b9886ba3dc85a145d5d938ed",
      "tree": "c2d3a0f86ade5061a1bb9a14aa702323d729fd54",
      "parents": [
        "36ce6dad6e3cb3f050ed41e0beac0070d2062b25"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Tue Jul 01 18:48:41 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:55:02 2008 -0700"
      },
      "message": "sysdev: Pass the attribute to the low level sysdev show/store function\n\nThis allow to dynamically generate attributes and share show/store\nfunctions between attributes. Right now most attributes are generated\nby special macros and lots of duplicated code. With the attribute\npassed it\u0027s instead possible to attach some data to the attribute\nand then use that in shared low level functions to do different things.\n\nI need this for the dynamically generated bank attributes in the x86\nmachine check code, but it\u0027ll allow some further cleanups.\n\nI converted all users in tree to the new show/store prototype. It\u0027s a single\nhuge patch to avoid unbisectable sections.\n\nRuntime tested: x86-32, x86-64\nCompiled only: ia64, powerpc\nNot compile tested/only grep converted: sh, arm, avr32\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c18a41fbbc500ac0307ffd2b0ae73c2af9d0b0ab",
      "tree": "4242e1bdd8200ef00b5ae5da5d717231fa90a430",
      "parents": [
        "333cdd1f0e5e0aad6b7f8992291563bc7b14670b"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Tue Jul 15 14:14:34 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 18 22:02:59 2008 +0200"
      },
      "message": "cpumask: Optimize cpumask_of_cpu in kernel/time/tick-common.c\n\n  * Optimize various places where a pointer to the cpumask_of_cpu value\n    will result in reducing stack pressure.\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9b610fda0df5d0f0b0c64242e37441ad1b384aac",
      "tree": "0ea14b15f2e6546f37fe18d8ac3dc83077ec0e55",
      "parents": [
        "b8f8c3cf0a4ac0632ec3f0e15e9dc0c29de917af",
        "5b664cb235e97afbf34db9c4d77f08ebd725335e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 18 19:53:16 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 18 19:53:16 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into timers/nohz\n"
    },
    {
      "commit": "b8f8c3cf0a4ac0632ec3f0e15e9dc0c29de917af",
      "tree": "183825db00f4e9252603a51a1be6f8874a963dbc",
      "parents": [
        "857f3fd7a496ddf4329345af65a4a2b16dd25fe8"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jul 18 17:27:28 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jul 18 18:10:28 2008 +0200"
      },
      "message": "nohz: prevent tick stop outside of the idle loop\n\nJack Ren and Eric Miao tracked down the following long standing\nproblem in the NOHZ code:\n\n\tscheduler switch to idle task\n\tenable interrupts\n\nWindow starts here\n\n\t----\u003e interrupt happens (does not set NEED_RESCHED)\n\t      \tirq_exit() stops the tick\n\n\t----\u003e interrupt happens (does set NEED_RESCHED)\n\n\treturn from schedule()\n\t\n\tcpu_idle(): preempt_disable();\n\nWindow ends here\n\nThe interrupts can happen at any point inside the race window. The\nfirst interrupt stops the tick, the second one causes the scheduler to\nrerun and switch away from idle again and we end up with the tick\ndisabled.\n\nThe fact that it needs two interrupts where the first one does not set\nNEED_RESCHED and the second one does made the bug obscure and extremly\nhard to reproduce and analyse. Kudos to Jack and Eric.\n\nSolution: Limit the NOHZ functionality to the idle loop to make sure\nthat we can not run into such a situation ever again.\n\ncpu_idle()\n{\n\tpreempt_disable();\n\n\twhile(1) {\n\t\t tick_nohz_stop_sched_tick(1); \u003c- tell NOHZ code that we\n\t\t \t\t\t          are in the idle loop\n\n\t\t while (!need_resched())\n\t\t       halt();\n\n\t\t tick_nohz_restart_sched_tick(); \u003c- disables NOHZ mode\n\t\t preempt_enable_no_resched();\n\t\t schedule();\n\t\t preempt_disable();\n\t}\n}\n\nIn hindsight we should have done this forever, but ... \n\n/me grabs a large brown paperbag.\n\nDebugged-by: Jack Ren \u003cjack.ren@marvell.com\u003e, \nDebugged-by: eric miao \u003ceric.y.miao@gmail.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "82638844d9a8581bbf33201cc209a14876eca167",
      "tree": "961d7f9360194421a71aa644a9d0c176a960ce49",
      "parents": [
        "9982fbface82893e77d211fbabfbd229da6bdde6",
        "63cf13b77ab785e87c867defa8545e6d4a989774"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 16 00:29:07 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 16 00:29:07 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into cpus4096\n\nConflicts:\n\n\tarch/x86/xen/smp.c\n\tkernel/sched_rt.c\n\tnet/iucv/iucv.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1e09481365ce248dbb4eb06dad70129bb5807037",
      "tree": "c0cff5bef95c8b5e7486f144718ade9a06c284dc",
      "parents": [
        "3e2f69fdd1b00166e7d589bce56b2d36a9e74374",
        "b9d2252c1e44fa83a4e65fdc9eb93db6297c55af"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 15 23:12:58 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 15 23:12:58 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into core/softlockup\n\nConflicts:\n\n\tkernel/softlockup.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1a781a777b2f6ac46523fe92396215762ced624d",
      "tree": "4f34bb4aade85c0eb364b53d664ec7f6ab959006",
      "parents": [
        "b9d2252c1e44fa83a4e65fdc9eb93db6297c55af",
        "42a2f217a5e324ed5f2373ab1b7a0a15187c4d6c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 15 21:55:59 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 15 21:55:59 2008 +0200"
      },
      "message": "Merge branch \u0027generic-ipi\u0027 into generic-ipi-for-linus\n\nConflicts:\n\n\tarch/powerpc/Kconfig\n\tarch/s390/kernel/time.c\n\tarch/x86/kernel/apic_32.c\n\tarch/x86/kernel/cpu/perfctr-watchdog.c\n\tarch/x86/kernel/i8259_64.c\n\tarch/x86/kernel/ldt.c\n\tarch/x86/kernel/nmi_64.c\n\tarch/x86/kernel/smpboot.c\n\tarch/x86/xen/smp.c\n\tinclude/asm-x86/hw_irq_32.h\n\tinclude/asm-x86/hw_irq_64.h\n\tinclude/asm-x86/mach-default/irq_vectors.h\n\tinclude/asm-x86/mach-voyager/irq_vectors.h\n\tinclude/asm-x86/smp.h\n\tkernel/Makefile\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "da6e88f4963385b1b649b043691d206fbb951913",
      "tree": "779a1a6cf04dad09dee0828ad4ece0927de1b5f3",
      "parents": [
        "61d97f4fcf73d30864a52373a34093be25be6a03",
        "7dc9719682ce8c46215bc9a1bdc7ee0c38ada94b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 15 10:39:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 15 10:39:57 2008 -0700"
      },
      "message": "Merge branch \u0027timers/for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers/for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: add PCI ID for 6300ESB force hpet\n  x86: add another PCI ID for ICH6 force-hpet\n  kernel-paramaters: document pmtmr\u003d command line option\n  acpi_pm clccksource: fix printk format warning\n  nohz: don\u0027t stop idle tick if softirqs are pending.\n  pmtmr: allow command line override of ioport\n  nohz: reduce jiffies polling overhead\n  hrtimer: Remove unused variables in ktime_divns()\n  hrtimer: remove warning in hres_timers_resume\n  posix-timers: print RT watchdog message\n"
    },
    {
      "commit": "17489c058e8c63ab5ebdc67ab52ca70d1bc270b1",
      "tree": "d0e0a3503967b11f6e86ebfaddf103a82fbea38f",
      "parents": [
        "a3da5bf84a97d48cfaf66c6842470fc403da5121",
        "873a6ed6288b6c2c0d2cc84d3b2bf2fab9ba0181"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 14 13:54:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 14 13:54:49 2008 -0700"
      },
      "message": "Merge branch \u0027sched/for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched/for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (76 commits)\n  sched_clock: and multiplier for TSC to gtod drift\n  sched_clock: record TSC after gtod\n  sched_clock: only update deltas with local reads.\n  sched_clock: fix calculation of other CPU\n  sched_clock: stop maximum check on NO HZ\n  sched_clock: widen the max and min time\n  sched_clock: record from last tick\n  sched: fix accounting in task delay accounting \u0026 migration\n  sched: add avg-overlap support to RT tasks\n  sched: terminate newidle balancing once at least one task has moved over\n  sched: fix warning\n  sched: build fix\n  sched: sched_clock_cpu() based cpu_clock(), lockdep fix\n  sched: export cpu_clock\n  sched: make sched_{rt,fair}.c ifdefs more readable\n  sched: bias effective_load() error towards failing wake_affine().\n  sched: incremental effective_load()\n  sched: correct wakeup weight calculations\n  sched: fix mult overflow\n  sched: update shares on wakeup\n  ...\n"
    },
    {
      "commit": "af52a90a14cdaa54ecbfb6e6982abb13466a4b56",
      "tree": "2488d6d7943b167987c33f984f7109c3dc4ae783",
      "parents": [
        "f7cce27f5605b9e137b829a47949cb2d3c7e1cab"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jul 07 14:16:52 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 11 15:53:26 2008 +0200"
      },
      "message": "sched_clock: stop maximum check on NO HZ\n\nWorking with ftrace I would get large jumps of 11 millisecs or more with\nthe clock tracer. This killed the latencing timings of ftrace and also\ncaused the irqoff self tests to fail.\n\nWhat was happening is with NO_HZ the idle would stop the jiffy counter and\nbefore the jiffy counter was updated the sched_clock would have a bad\ndelta jiffies to compare with the gtod with the maximum.\n\nThe jiffies would stop and the last sched_tick would record the last gtod.\nOn wakeup, the sched clock update would compare the gtod + delta jiffies\n(which would be zero) and compare it to the TSC. The TSC would have\ncorrectly (with a stable TSC) moved forward several jiffies. But because the\njiffies has not been updated yet the clock would be prevented from moving\nforward because it would appear that the TSC jumped too far ahead.\n\nThe clock would then virtually stop, until the jiffies are updated. Then\nthe next sched clock update would see that the clock was very much behind\nsince the delta jiffies is now correct. This would then jump the clock\nforward by several jiffies.\n\nThis caused ftrace to report several milliseconds of interrupts off\nlatency at every resume from NO_HZ idle.\n\nThis patch adds hooks into the nohz code to disable the checking of the\nmaximum clock update when nohz is in effect. It resumes the max check\nwhen nohz has updated the jiffies again.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "857f3fd7a496ddf4329345af65a4a2b16dd25fe8",
      "tree": "7bd1b0de6e82363beba60097529b72ac7de923f5",
      "parents": [
        "7a14ce1d8c1d3a6118d406e64eaf9aa70375e085"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Jul 11 11:09:22 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 11 11:17:04 2008 +0200"
      },
      "message": "nohz: don\u0027t stop idle tick if softirqs are pending.\n\nIn case a cpu goes idle but softirqs are pending only an error message is\nprinted to the console. It may take a very long time until the pending\nsoftirqs will finally be executed. Worst case would be a hanging system.\n\nWith this patch the timer tick just continues and the softirqs will be\nexecuted after the next interrupt. Still a delay but better than a\nhanging system.\n\nCurrently we have at least two device drivers on s390 which under certain\ncircumstances schedule a tasklet from process context. This is a reason\nwhy we can end up with pending softirqs when going idle. Fixing these\ndrivers seems to be non-trivial.\nHowever there is no question that the drivers should be fixed.\nThis patch shouldn\u0027t be considered as a bug fix. It just is intended to\nkeep a system running even if device drivers are buggy.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Jan Glauber \u003cjan.glauber@de.ibm.com\u003e\nCc: Stefan Weinhuber \u003cwein@de.ibm.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "aa276e1cafb3ce9d01d1e837bcd67e92616013ac",
      "tree": "d0ecb8fe8ae70fdaed8d97d317199180882671b5",
      "parents": [
        "00dba56465228825ea806e3a7fc0aa6bba7bdc6c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jun 09 19:15:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 08 07:47:18 2008 +0200"
      },
      "message": "x86, clockevents: add C1E aware idle function\n\nC1E on AMD machines is like C3 but without control from the OS. Up to\nnow we disabled the local apic timer for those machines as it stops\nwhen the CPU goes into C1E. This excludes those machines from high\nresolution timers / dynamic ticks, which hurts especially X2 based\nlaptops.\n\nThe current boot time C1E detection has another, more serious flaw\nas well: some BIOSes do not enable C1E until the ACPI processor module\nis loaded. This causes systems to stop working after that point.\n\nTo work nicely with C1E enabled machines we use a separate idle\nfunction, which checks on idle entry whether C1E was enabled in the\nInterrupt Pending Message MSR. This allows us to do timer broadcasting\nfor C1E and covers the late enablement of C1E as well.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8691e5a8f691cc2a4fda0651e8d307aaba0e7d68",
      "tree": "6cb6767064d2d43441212566da2d83dcc9a0cd8e",
      "parents": [
        "490f5de52a87063fcb40e3b22f61b0779603ff6d"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jun 06 11:18:06 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jun 26 11:24:35 2008 +0200"
      },
      "message": "smp_call_function: get rid of the unused nonatomic/retry argument\n\nIt\u0027s never used and the comments refer to nonatomic and retry\ninterchangably. So get rid of it.\n\nAcked-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7a14ce1d8c1d3a6118d406e64eaf9aa70375e085",
      "tree": "01a0d9f785a849fc4242d024bd1afa7deb7c1bf6",
      "parents": [
        "916941b2bfd9c4a8b66855f198ae16c3f51ef570"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 12 15:43:53 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 30 14:16:10 2008 +0200"
      },
      "message": "nohz: reduce jiffies polling overhead\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "02ff375590ac4140d88afc76505df1ad45c6af59",
      "tree": "6c24cfb6d0e652f691325dc63afab1373b808442",
      "parents": [
        "1c4cd6dd1d0fd3057bb6b8c87460049497889d1b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 12 15:43:53 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 30 14:15:02 2008 +0200"
      },
      "message": "softlockup: fix false positives on nohz if CPU is 100% idle for more than 60 seconds\n\nFix (probably theoretical only) rq-\u003eclock update bug:\nin tick_nohz_update_jiffies() [which is called on all irq\nentry on all cpus where the irq entry hits an idle cpu] we\ncall touch_softlockup_watchdog() before we update jiffies.\nThat works fine most of the time when idle timeouts are within\n60 seconds. But when an idle timeout is beyond 60 seconds,\njiffies is updated with a jump of more than 60 seconds,\nwhich causes a jump in cpu-clock of more than 60 seconds,\ntriggering a false positive.\n\nReported-by: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cad0e458d17c643c20c1d38f45a1d26125e6a622",
      "tree": "65328a74709595ca5012eafc951227f90100f8e2",
      "parents": [
        "5d7bfd0c4d463d288422032c9903d0452dee141d"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Mon May 12 21:21:13 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 18:39:06 2008 +0200"
      },
      "message": "clocksource/events: use performance variant for_each_cpu_mask_nr\n\nChange references from for_each_cpu_mask to for_each_cpu_mask_nr\nwhere appropriate\n\nReviewed-by: Paul Jackson \u003cpj@sgi.com\u003e\nReviewed-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4f95f81a48623982879f4fa80c641933444afd18",
      "tree": "a1e6325a9b3ba3baf60911091ecb69212305204d",
      "parents": [
        "4359a023a8c3b247b348c310bf510b23f3c1ab64"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Sat May 03 14:23:14 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 03 18:11:48 2008 +0200"
      },
      "message": "clocksource: allow read access to available/current_clocksource\n\nThere is no harm, when users can read the info and we ask often enough\nduring debugging for this kind of information.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4359a023a8c3b247b348c310bf510b23f3c1ab64",
      "tree": "be6479eada293e91c4a17b1d6b942a4a7846a86d",
      "parents": [
        "4346f65426cbceb64794b468e4af6f5632d58c5e"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri May 02 12:49:40 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 03 18:11:48 2008 +0200"
      },
      "message": "clocksource: Fix permissions for available_clocksource\n\nFile permissions for\n/sys/devices/system/clocksource/clocksource0/available_clocksource\nare 600 which allows write access. But this is in fact a read only\nfile. So change permissions to 400.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "7dffa3c673fbcf835cd7be80bb4aec8ad3f51168",
      "tree": "63264208ed97f18a74a5a7cd2e100cc2c4e13449",
      "parents": [
        "8383c42399f394a89bd6c2f03632c53689bdde7a"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:59 2008 -0700"
      },
      "message": "ntp: handle leap second via timer\n\nRemove the leap second handling from second_overflow(), which doesn\u0027t have to\ncheck for it every second anymore.  With CONFIG_NO_HZ this also makes sure the\nleap second is handled close to the full second.  Additionally this makes it\npossible to abort a leap second properly by resetting the STA_INS/STA_DEL\nstatus bits.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8383c42399f394a89bd6c2f03632c53689bdde7a",
      "tree": "c3f3a42a546a4afe3746e5894bcd425dc5a3d0bb",
      "parents": [
        "7fc5c78409479d826341b103bdf734cb4fb02436"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:39 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:59 2008 -0700"
      },
      "message": "ntp: remove current_tick_length()\n\ncurrent_tick_length used to do a little more, but now it just returns\ntick_length, which we can also access directly at the few places, where it\u0027s\nneeded.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7fc5c78409479d826341b103bdf734cb4fb02436",
      "tree": "e68d8edddd633a9ed410b304684343afacf36175",
      "parents": [
        "153b5d054ac2d98ea0d86504884326b6777f683d"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:59 2008 -0700"
      },
      "message": "ntp: rename TICK_LENGTH_SHIFT to NTP_SCALE_SHIFT\n\nAs TICK_LENGTH_SHIFT is used for more than just the tick length, the name\nisn\u0027t quite approriate anymore, so this renames it to NTP_SCALE_SHIFT.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "153b5d054ac2d98ea0d86504884326b6777f683d",
      "tree": "0512b4239959814a6cc6aa6c9e77abc36d3ab2f0",
      "parents": [
        "9f14f669d18477fe3df071e2fa4da36c00acee8e"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:59 2008 -0700"
      },
      "message": "ntp: support for TAI\n\nThis adds support for setting the TAI value (International Atomic Time).  The\nvalue is reported back to userspace via timex (as we don\u0027t have a\nntp_gettime() syscall).\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9f14f669d18477fe3df071e2fa4da36c00acee8e",
      "tree": "84b5600017902ced77ee0cb9a4bc21a6768d22e5",
      "parents": [
        "074b3b87941c99bc0ce35385b5817924b1ed0c23"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:58 2008 -0700"
      },
      "message": "ntp: increase time_offset resolution\n\ntime_offset is already a 64bit value but its resolution barely used, so this\nmakes better use of it by replacing SHIFT_UPDATE with TICK_LENGTH_SHIFT.\n\nSide note: the SHIFT_HZ in SHIFT_UPDATE was incorrect for CONFIG_NO_HZ and the\nprimary reason for changing time_offset to 64bit to avoid the overflow.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "074b3b87941c99bc0ce35385b5817924b1ed0c23",
      "tree": "aa2d11a2df37d631236a28713873023632f74a91",
      "parents": [
        "eea83d896e318bda54be2d2770d2c5d6668d11db"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:58 2008 -0700"
      },
      "message": "ntp: increase time_freq resolution\n\nThis changes time_freq to a 64bit value and makes it static (the only outside\nuser had no real need to modify it).  Intermediate values were already 64bit,\nso the change isn\u0027t that big, but it saves a little in shifts by replacing\nSHIFT_NSEC with TICK_LENGTH_SHIFT.  PPM_SCALE is then used to convert between\nuser space and kernel space representation.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eea83d896e318bda54be2d2770d2c5d6668d11db",
      "tree": "581f455e02ed3d03e543642b5d54b83dc75d47c7",
      "parents": [
        "ee9851b218b8bafa22942b5404505ff3d2d34324"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:33 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:58 2008 -0700"
      },
      "message": "ntp: NTP4 user space bits update\n\nThis adds a few more things from the ntp nanokernel related to user space.\nIt\u0027s now possible to select the resolution used of some values via STA_NANO\nand the kernel reports in which mode it works (pll/fll).\n\nIf some values for adjtimex() are outside the acceptable range, they are now\nsimply normalized instead of letting the syscall fail.  I removed\nMOD_CLKA/MOD_CLKB as the mapping didn\u0027t really makes any sense, the kernel\ndoesn\u0027t support setting the clock.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ee9851b218b8bafa22942b5404505ff3d2d34324",
      "tree": "82e5a421d18bd3d469afd9c4c2827a865b9f19b5",
      "parents": [
        "f8bd2258e2d520dff28c855658bd24bdafb5102d"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:58 2008 -0700"
      },
      "message": "ntp: cleanup ntp.c\n\nThis is mostly a style cleanup of ntp.c and extracts part of do_adjtimex as\nntp_update_offset().  Otherwise the functionality is still the same as before.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f8bd2258e2d520dff28c855658bd24bdafb5102d",
      "tree": "d76db1dc858cb316bc7d5b8473f690a753fd2c93",
      "parents": [
        "6f6d6a1a6a1336431a6cba60ace9e97c3a496a19"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:58 2008 -0700"
      },
      "message": "remove div_long_long_rem\n\nx86 is the only arch right now, which provides an optimized for\ndiv_long_long_rem and it has the downside that one has to be very careful that\nthe divide doesn\u0027t overflow.\n\nThe API is a little akward, as the arguments for the unsigned divide are\nsigned.  The signed version also doesn\u0027t handle a negative divisor and\nproduces worse code on 64bit archs.\n\nThere is little incentive to keep this API alive, so this converts the few\nusers to the new API.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "71abb3af62dfa52930755f3b6497eafbe1d6ec85"
}
