)]}'
{
  "log": [
    {
      "commit": "833df317f9ada91488898b005f4641bb674a3bae",
      "tree": "4d71c55616b3bd5648511a3c485324984c8c2472",
      "parents": [
        "3f34d024c12e49fbce4009d094ae1d287084e511"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Fri Apr 18 13:38:58 2008 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Apr 21 07:59:51 2008 +0200"
      },
      "message": "clockevents: fix typo in tick-broadcast.c\n\nbraodcast -\u003e broadcast\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "d7b906897e9caae452947e33674df0a2d6f7e10f",
      "tree": "5df31094a1b24a46369bda89cdf54d5403b1caa9",
      "parents": [
        "43ca5c3a1cefdaa09231d64485b8f676118bf1e0"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+lkml@arm.linux.org.uk",
        "time": "Thu Apr 17 07:46:24 2008 +0200"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Thu Apr 17 07:47:05 2008 +0200"
      },
      "message": "[S390] genirq/clockevents: move irq affinity prototypes/inlines to interrupt.h\n\n\u003e Generic code is not supposed to include irq.h. Replace this include\n\u003e by linux/hardirq.h instead and add/replace an include of linux/irq.h\n\u003e in asm header files where necessary.\n\u003e This change should only matter for architectures that make use of\n\u003e GENERIC_CLOCKEVENTS.\n\u003e Architectures in question are mips, x86, arm, sh, powerpc, uml and sparc64.\n\u003e\n\u003e I did some cross compile tests for mips, x86_64, arm, powerpc and sparc64.\n\u003e This patch fixes also build breakages caused by the include replacement in\n\u003e tick-common.h.\n\nI generally dislike adding optional linux/* includes in asm/* includes -\nI\u0027m nervous about this causing include loops.\n\nHowever, there\u0027s a separate point to be discussed here.\n\nThat is, what interfaces are expected of every architecture in the kernel.\nIf generic code wants to be able to set the affinity of interrupts, then\nthat needs to become part of the interfaces listed in linux/interrupt.h\nrather than linux/irq.h.\n\nSo what I suggest is this approach instead (against Linus\u0027 tree of a\ncouple of days ago) - we move irq_set_affinity() and irq_can_set_affinity()\nto linux/interrupt.h, change the linux/irq.h includes to linux/interrupt.h\nand include asm/irq_regs.h where needed (asm/irq_regs.h is supposed to be\nrarely used include since not much touches the stacked parent context\nregisters.)\n\nBuild tested on ARM PXA family kernels and ARM\u0027s Realview platform\nkernels which both use genirq.\n\n[ tglx@linutronix.de: add GENERIC_HARDIRQ dependencies ]\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "186e3cb8a465bac010ee3b020768d2fa2b505aef",
      "tree": "c45dd774f91cf9095915c7e4bbec9084fcd06026",
      "parents": [
        "b10db7f0d2b589a7f88dc3026e150756cb437a28"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jan 30 13:30:01 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:01 2008 +0100"
      },
      "message": "timer: clean up tick-broadcast.c\n\nclean up tick-broadcast.c\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cdc6f27d9e3c2f7ca1a3e19c6eabb1ad6a2add5d",
      "tree": "d557b594cd5d180e1ce91cac25a29d81a42499a5",
      "parents": [
        "bd87f1f028ddaad45d4a9a3621dfe688c840ba41"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Dec 18 18:05:58 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 18 18:05:58 2007 +0100"
      },
      "message": "clockevents: fix reprogramming decision in oneshot broadcast\n\nResolve the following regression of a choppy, almost unusable laptop:\n\n http://lkml.org/lkml/2007/12/7/299\n http://bugzilla.kernel.org/show_bug.cgi?id\u003d9525\n\nA previous version of the code did the reprogramming of the broadcast\ndevice in the return from idle code. This was removed, but the logic in\ntick_handle_oneshot_broadcast() was kept the same.\n\nWhen a broadcast interrupt happens we signal the expiry to all CPUs\nwhich have an expired event. If none of the CPUs has an expired event,\nwhich can happen in dyntick mode, then we reprogram the broadcast\ndevice. We do not reprogram otherwise, but this is only correct if all\nCPUs, which are in the idle broadcast state have been woken up.\n\nThe code ignores, that there might be pending not yet expired events on\nother CPUs, which are in the idle broadcast state. So the delivery of\nthose events can be delayed for quite a time.\n\nChange the tick_handle_oneshot_broadcast() function to check for CPUs,\nwhich are in broadcast state and are not woken up by the current event,\nand enforce the rearming of the broadcast device for those CPUs.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8dce39c231af554932f8ab0d671e077ab6db9e46",
      "tree": "ac09b1b9f93b0056ea7e9709be56dbfbf447b894",
      "parents": [
        "001e09e86c1c7612783f46256500c31e5ed55c6a"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon Nov 05 14:51:10 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Nov 05 15:12:33 2007 -0800"
      },
      "message": "time: fix inconsistent function names in comments\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3dfbc88464934fb6924a388bc03961d44f387926",
      "tree": "3ddb9a50bb2df909d6e629783bd41301541feceb",
      "parents": [
        "e6d5a11dad44b8ae18ca8fc4ecb72ccccfa0a2d2"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Oct 17 18:04:32 2007 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@inhelltoy.tec.linutronix.de",
        "time": "Wed Oct 17 20:15:13 2007 +0200"
      },
      "message": "x86: C1E late detection fix. Really switch off lapic timer\n\nDoh, I completely missed that devices marked DUMMY are not running\nthe set_mode function. So we force broadcasting, but we keep the\nlocal APIC timer running.\n\nLet the clock event layer mark the device _after_ switching it off.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bf020cb7b3918e186309db21d75cb91ebafc9d6f",
      "tree": "7a03b7a566ce3f3119812e092b72e3c65fc8b91a",
      "parents": [
        "a9022e9cb9e919e31d5bc15fcef5c7186740645e"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Oct 16 23:26:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:48 2007 -0700"
      },
      "message": "time: simplify smp_call_function_single() call sequence\n\nsmp_call_function_single() now knows how to call the function on the\ncurrent cpu.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1595f452f3d8daa066bfd3ba4120754bed3329e1",
      "tree": "86fa49114c03e0f2dc7c7987b2a5be6adace140f",
      "parents": [
        "b097976e8d6f6e6220161fa6b72b0798ce9f4f4c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Oct 14 22:57:45 2007 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@inhelltoy.tec.linutronix.de",
        "time": "Sun Oct 14 22:57:45 2007 +0200"
      },
      "message": "clockevents: introduce force broadcast notifier\n\nThe 64bit SMP bootup is slightly different to the 32bit one. It enables\nthe boot CPU local APIC timer before all CPUs are brought up. Some AMD C1E\nsystems have the C1E feature flag only set in the secondary CPU. Due to\nthe early enable of the boot CPU local APIC timer the APIC timer is\nregistered as a fully functional device. When we detect the wreckage during\nthe bringup of the secondary CPU, we need to force the boot CPU into\nbroadcast mode. \n\nAdd a new notifier reason and implement the force broadcast in the clock\nevents layer.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "4a93232dab0a07074bcc5291a0f1f39919916f31",
      "tree": "34dbc3209474b2cf5065726dd295c25584f4ce6a",
      "parents": [
        "31c435d75e7d15a5f965c5eb0e33fe0e236f49a4"
      ],
      "author": {
        "name": "Venki Pallipadi",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Fri Oct 12 23:04:23 2007 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@inhelltoy.tec.linutronix.de",
        "time": "Fri Oct 12 23:04:23 2007 +0200"
      },
      "message": "clock events: allow replacement of broadcast timer\n\nChange the broadcast timer, if a timer with higher rating becomes available.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "c8a1d398de70a7774359b4720c392891cdd485f9",
      "tree": "d49de224f33705dd9549d338605578a84dbddf04",
      "parents": [
        "de68d9b173ee657115dd0e584c2365b7954253a5"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Oct 12 23:04:06 2007 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@inhelltoy.tec.linutronix.de",
        "time": "Fri Oct 12 23:04:06 2007 +0200"
      },
      "message": "clockevents: fix periodic broadcast for oneshot devices\n\nThe next_event member of the clock event device is used to keep track\nof the next periodic event. For one shot only devices it is wrong to\nclear the variable, as the next event will be based on it.\n\nPointed out by Ralf Baechle\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n\n"
    },
    {
      "commit": "b7e113dc9d52c4a37d2da6fafe77959f3a28eccf",
      "tree": "51f7ff4350b684be360b9894b77f131933080145",
      "parents": [
        "b04e7bdb984e3b7f62fb7f44146a529f88cc7639"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Sep 22 22:29:06 2007 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Sep 22 17:15:34 2007 -0700"
      },
      "message": "clockevents: remove the suspend/resume workaround^Wthinko\n\nIn a desparate attempt to fix the suspend/resume problem on Andrews\nVAIO I added a workaround which enforced the broadcast of the oneshot\ntimer on resume. This was actually resolving the problem on the VAIO\nbut was just a stupid workaround, which was not tackling the root\ncause: the assignement of lower idle C-States in the ACPI processor_idle\ncode. The cpuidle patches, which utilize the dynamic tick feature and\ngo faster into deeper C-states exposed the problem again. The correct\nsolution is the previous patch, which prevents lower C-states across\nthe suspend/resume.\n\nRemove the enforcement code, including the conditional broadcast timer\narming, which helped to pamper over the real problem for quite a time.\nThe oneshot broadcast flag for the cpu, which runs the resume code can\nnever be set at the time when this code is executed. It only gets set,\nwhen the CPU is entering a lower idle C-State.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nTested-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nCc: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "31d9b3938c0459e5e9755ce0a98ac1e24eeff972",
      "tree": "d397929e8d11626128c5c04cae43e5319a7be43a",
      "parents": [
        "07eec6af448d13a6a520d9c6f06f2e87f61b567a"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Sep 16 15:36:43 2007 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@chaos.(none)",
        "time": "Sun Sep 16 15:36:43 2007 +0200"
      },
      "message": "clockevents: do not shutdown the oneshot broadcast device\n\nWhen a cpu goes offline it is removed from the broadcast masks. If the\nmask becomes empty the code shuts down the broadcast device. This is\nwrong, because the broadcast device needs to be ready for the online\ncpu going idle (into a c-state, which stops the local apic timer).\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "07eec6af448d13a6a520d9c6f06f2e87f61b567a",
      "tree": "eabd8fdf97ab76ff3abfa2c2804bb449f393ca01",
      "parents": [
        "729c6ba334771f28a54efd7e3b8f5ab9414ce7bc"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Sep 16 15:36:43 2007 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@chaos.(none)",
        "time": "Sun Sep 16 15:36:43 2007 +0200"
      },
      "message": "clockevents: Enforce oneshot broadcast when broadcast mask is set on resume\n\nThe jinxed VAIO refuses to resume without hitting keys on the keyboard\nwhen this is not enforced. It is unclear why the cpu ends up in a lower\nC State without notifying the clock events layer, but enforcing the\noneshot broadcast here is safe.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "5590a536c0bc403fc73908c66c1c88cbed735ecb",
      "tree": "e07b89628885da86706a2ba0ce9d50cd7f4a0dfc",
      "parents": [
        "18de5bc4c1f1f1fa5e14f354a7603bd6e9d4e3b6"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Jul 21 04:37:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Jul 21 17:49:15 2007 -0700"
      },
      "message": "clockevents: fix device replacement\n\nWhen a device is replaced by a better rated device, then the broadcast\nmode needs to be evaluated again. When the new device has no requirement\nfor broadcasting, then the broadcast bits for the CPU must be cleared.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "18de5bc4c1f1f1fa5e14f354a7603bd6e9d4e3b6",
      "tree": "cb0ff399fb3f368adecf213318e32a499ada6ff9",
      "parents": [
        "93da56efcf8c6a111f0349f6b7651172d4745ca0"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Jul 21 04:37:34 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Jul 21 17:49:15 2007 -0700"
      },
      "message": "clockevents: fix resume logic\n\nWe need to make sure, that the clockevent devices are resumed, before\nthe tick is resumed. The current resume logic does not guarantee this.\n\nAdd CLOCK_EVT_MODE_RESUME and call the set mode functions of the clock\nevent devices before resuming the tick / oneshot functionality.\n\nFixup the existing users.\n\nThanks to Nigel Cunningham for tracking down a long standing thinko,\nwhich affected the jinxed VAIO.\n\n[akpm@linux-foundation.org: xen build fix]\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "72fcde966252abd17d70e4e216a0411a34523a8f",
      "tree": "26980418ed1a6d6f528ca7681f420d48e2cb7842",
      "parents": [
        "88f18ba028b5939bb6f77bd690e5ad8d01bb24cc"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 23 13:57:30 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 23 20:14:11 2007 -0700"
      },
      "message": "Ignore bogus ACPI info for offline CPUs\n\nBooting a SMP kernel with maxcpus\u003d1 on a SMP system leads to a hard hang,\nbecause ACPI ignores the maxcpus setting and sends timer broadcast info for\nthe offline CPUs.  This results in a stuck for ever call to\nsmp_call_function_single() on an offline CPU.\n\nIgnore the bogus information and print a kernel error to remind ACPI\nfolks to fix it.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cd05a1f818073a623455a58e756c5b419fc98db9",
      "tree": "4e148e96f00fe07b0c53a379e812344733e8484a",
      "parents": [
        "24c4ac070adffe4a21f3a8daf4aee7c98fa6c4f9"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Mar 17 00:25:52 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Mar 16 19:35:25 2007 -0700"
      },
      "message": "[PATCH] clockevents: Fix suspend/resume to disk hangs\n\nI finally found a dual core box, which survives suspend/resume without\ncrashing in the middle of nowhere. Sigh, I never figured out from the\ncode and the bug reports what\u0027s going on.\n\nThe observed hangs are caused by a stale state transition of the clock\nevent devices, which keeps the RCU synchronization away from completion,\nwhen the non boot CPU is brought back up.\n\nThe suspend/resume in oneshot mode needs the similar care as the\nperiodic mode during suspend to RAM. My assumption that the state\ntransitions during the different shutdown/bringups of s2disk would go\nthrough the periodic boot phase and then switch over to highres resp.\nnohz mode were simply wrong.\n\nAdd the appropriate suspend / resume handling for the non periodic\nmodes.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6321dd60c76b2e12383bc06046288b15397ed3a0",
      "tree": "4cea63e69ce4f6f5f7f94fc6905063efdde7974e",
      "parents": [
        "c3442e296517aee733d62fc3fe03211598902c7d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 06 08:25:42 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 06 09:30:24 2007 -0800"
      },
      "message": "[PATCH] Save/restore periodic tick information over suspend/resume\n\nThe programming of periodic tick devices needs to be saved/restored\nacross suspend/resume - otherwise we might end up with a system coming\nup that relies on getting a PIT (or HPET) interrupt, while those devices\ndefault to \u0027no interrupts\u0027 after powerup. (To confuse things it worked\nto a certain degree on some systems because the lapic gets initialized\nas a side-effect of SMP bootup.)\n\nThis suspend / resume thing was dropped unintentionally during the\nlast-minute -mm code reshuffling.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "289f480af87e45f7a6de6ba9b4c061c2e259fe98",
      "tree": "1075cdb8656d7af12558ea2a3dee1fcd1d7a44a7",
      "parents": [
        "82f67cd9fca8c8762c15ba7ed0d5747588c1e221"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 16 01:28:15 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:59 2007 -0800"
      },
      "message": "[PATCH] Add debugging feature /proc/timer_list\n\nadd /proc/timer_list, which prints all currently pending (high-res) timers,\nall clock-event sources and their parameters in a human-readable form.\n\nSample output:\n\nTimer List Version: v0.1\nHRTIMER_MAX_CLOCK_BASES: 2\nnow at 4246046273872 nsecs\n\ncpu: 0\n clock 0:\n  .index:      0\n  .resolution: 1 nsecs\n  .get_time:   ktime_get_real\n  .offset:     1273998312645738432 nsecs\nactive timers:\n clock 1:\n  .index:      1\n  .resolution: 1 nsecs\n  .get_time:   ktime_get\n  .offset:     0 nsecs\nactive timers:\n #0: \u003cf5a90ec8\u003e, hrtimer_sched_tick, hrtimer_stop_sched_tick, swapper/0\n # expires at 4246432689566 nsecs [in 386415694 nsecs]\n #1: \u003cf5a90ec8\u003e, hrtimer_wakeup, do_nanosleep, pcscd/2050\n # expires at 4247018194689 nsecs [in 971920817 nsecs]\n #2: \u003cf5a90ec8\u003e, hrtimer_wakeup, do_nanosleep, irqbalance/1909\n # expires at 4247351358392 nsecs [in 1305084520 nsecs]\n #3: \u003cf5a90ec8\u003e, hrtimer_wakeup, do_nanosleep, crond/2157\n # expires at 4249097614968 nsecs [in 3051341096 nsecs]\n #4: \u003cf5a90ec8\u003e, it_real_fn, do_setitimer, syslogd/1888\n # expires at 4251329900926 nsecs [in 5283627054 nsecs]\n  .expires_next   : 4246432689566 nsecs\n  .hres_active    : 1\n  .check_clocks   : 0\n  .nr_events      : 31306\n  .idle_tick      : 4246020791890 nsecs\n  .tick_stopped   : 1\n  .idle_jiffies   : 986504\n  .idle_calls     : 40700\n  .idle_sleeps    : 36014\n  .idle_entrytime : 4246019418883 nsecs\n  .idle_sleeptime : 4178181972709 nsecs\n\ncpu: 1\n clock 0:\n  .index:      0\n  .resolution: 1 nsecs\n  .get_time:   ktime_get_real\n  .offset:     1273998312645738432 nsecs\nactive timers:\n clock 1:\n  .index:      1\n  .resolution: 1 nsecs\n  .get_time:   ktime_get\n  .offset:     0 nsecs\nactive timers:\n #0: \u003cf5a90ec8\u003e, hrtimer_sched_tick, hrtimer_restart_sched_tick, swapper/0\n # expires at 4246050084568 nsecs [in 3810696 nsecs]\n #1: \u003cf5a90ec8\u003e, hrtimer_wakeup, do_nanosleep, atd/2227\n # expires at 4261010635003 nsecs [in 14964361131 nsecs]\n #2: \u003cf5a90ec8\u003e, hrtimer_wakeup, do_nanosleep, smartd/2332\n # expires at 5469485798970 nsecs [in 1223439525098 nsecs]\n  .expires_next   : 4246050084568 nsecs\n  .hres_active    : 1\n  .check_clocks   : 0\n  .nr_events      : 24043\n  .idle_tick      : 4246046084568 nsecs\n  .tick_stopped   : 0\n  .idle_jiffies   : 986510\n  .idle_calls     : 26360\n  .idle_sleeps    : 22551\n  .idle_entrytime : 4246043874339 nsecs\n  .idle_sleeptime : 4170763761184 nsecs\n\ntick_broadcast_mask: 00000003\nevent_broadcast_mask: 00000001\n\nCPU#0\u0027s local event device:\n\nClock Event Device: lapic\n capabilities:   0000000e\n max_delta_ns:   807385544\n min_delta_ns:   1443\n mult:           44624025\n shift:          32\n set_next_event: lapic_next_event\n set_mode:       lapic_timer_setup\n event_handler:  hrtimer_interrupt\n  .installed:  1\n  .expires:    4246432689566 nsecs\n\nCPU#1\u0027s local event device:\n\nClock Event Device: lapic\n capabilities:   0000000e\n max_delta_ns:   807385544\n min_delta_ns:   1443\n mult:           44624025\n shift:          32\n set_next_event: lapic_next_event\n set_mode:       lapic_timer_setup\n event_handler:  hrtimer_interrupt\n  .installed:  1\n  .expires:    4246050084568 nsecs\n\nClock Event Device: hpet\n capabilities:   00000007\n max_delta_ns:   2147483647\n min_delta_ns:   3352\n mult:           61496110\n shift:          32\n set_next_event: hpet_next_event\n set_mode:       hpet_set_mode\n event_handler:  handle_nextevt_broadcast\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "79bf2bb335b85db25d27421c798595a2fa2a0e82",
      "tree": "550ec2654ae1dd65b871de7fe9c890108c6e86d8",
      "parents": [
        "f8381cba04ba8173fd5a2b8e5cd8b3290ee13a98"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 16 01:28:03 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:59 2007 -0800"
      },
      "message": "[PATCH] tick-management: dyntick / highres functionality\n\nWith Ingo Molnar \u003cmingo@elte.hu\u003e\n\nAdd functions to provide dynamic ticks and high resolution timers.  The code\nwhich keeps track of jiffies and handles the long idle periods is shared\nbetween tick based and high resolution timer based dynticks.  The dyntick\nfunctionality can be disabled on the kernel commandline.  Provide also the\ninfrastructure to support high resolution timers.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f8381cba04ba8173fd5a2b8e5cd8b3290ee13a98",
      "tree": "ad8c9f91ce031a04c62ff75fcd3237fc666f1c2e",
      "parents": [
        "906568c9c668ff994f4078932ec6ae1e3950d1af"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 16 01:28:02 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:59 2007 -0800"
      },
      "message": "[PATCH] tick-management: broadcast functionality\n\nWith Ingo Molnar \u003cmingo@elte.hu\u003e\n\nAdd broadcast functionality, so per cpu clock event devices can be registered\nas dummy devices or switched from/to broadcast on demand.  The broadcast\nfunction distributes the events via the broadcast function of the clock event\ndevice.  This is primarily designed to replace the switch apic timer to / from\nIPI in power states, where the apic stops.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ]
}
