)]}'
{
  "log": [
    {
      "commit": "b25c340c195447afb1860da580fe2a85a6b652c5",
      "tree": "99578092c1e6100f50786e44a1a4fe9cfdb11662",
      "parents": [
        "b2add73dbf93fd50f00564d7abc3e2b9aa9dd20c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Aug 13 12:17:22 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Aug 17 10:54:05 2009 +0200"
      },
      "message": "genirq: Add oneshot support\n\nFor threaded interrupt handlers we expect the hard interrupt handler\npart to mask the interrupt on the originating device. The interrupt\nline itself is reenabled after the hard interrupt handler has\nexecuted.\n\nThis requires access to the originating device from hard interrupt\ncontext which is not always possible. There are devices which can only\nbe accessed via a bus (i2c, spi, ...). The bus access requires thread\ncontext. For such devices we need to keep the interrupt line masked\nuntil the threaded handler has executed.\n\nAdd a new flag IRQF_ONESHOT which allows drivers to request that the\ninterrupt is not unmasked after the hard interrupt context handler has\nbeen executed and the thread has been woken. The interrupt line is\nunmasked after the thread handler function has been executed.\n\nNote that for now IRQF_ONESHOT cannot be used with IRQF_SHARED to\navoid complex accounting mechanisms.\n\nFor oneshot interrupts the primary handler simply returns\nIRQ_WAKE_THREAD and does nothing else. A generic implementation\nirq_default_primary_handler() is provided to avoid useless copies all\nover the place. It is automatically installed when\nrequest_threaded_irq() is called with handler\u003dNULL and\nthread_fn!\u003dNULL.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nCc: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\nCc: Trilok Soni \u003csoni.trilok@gmail.com\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Brian Swetland \u003cswetland@google.com\u003e\nCc: Joonyoung Shim \u003cjy0922.shim@samsung.com\u003e\nCc: m.szyprowski@samsung.com\nCc: t.fujak@samsung.com\nCc: kyungmin.park@samsung.com,\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: Daniel Ribeiro \u003cdrwyrm@gmail.com\u003e\nCc: arve@android.com\nCc: Barry Song \u003c21cnbao@gmail.com\u003e\n\n"
    },
    {
      "commit": "612e900c286a9535cc17da5171b0d8dcf8f3a12f",
      "tree": "f6931d0c1bc6cf8f798e04437a1a9c3d59a4eea5",
      "parents": [
        "c57c3743784e08d8ceaaea928a8c84ad8b403aed",
        "9ba5f005c994ad28e266a0cd14ef29354be382c9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 22 10:12:18 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 22 10:12:18 2009 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  softirq: introduce tasklet_hrtimer infrastructure\n"
    },
    {
      "commit": "9ba5f005c994ad28e266a0cd14ef29354be382c9",
      "tree": "0a2ff570070afc18e7dad61a2955b94614ce9b51",
      "parents": [
        "aea1f7964ae6cba5eb419a958956deb9016b3341"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Wed Jul 22 14:18:35 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jul 22 17:01:17 2009 +0200"
      },
      "message": "softirq: introduce tasklet_hrtimer infrastructure\n\ncommit ca109491f (hrtimer: removing all ur callback modes) moved all\nhrtimer callbacks into hard interrupt context when high resolution\ntimers are active. That breaks code which relied on the assumption\nthat the callback happens in softirq context.\n\nProvide a generic infrastructure which combines tasklets and hrtimers\ntogether to provide an in-softirq hrtimer experience.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: torvalds@linux-foundation.org\nCc: kaber@trash.net\nCc: David Miller \u003cdavem@davemloft.net\u003e\nLKML-Reference: \u003c1248265724.27058.1366.camel@twins\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "591d2fb02ea80472d846c0b8507007806bdd69cc",
      "tree": "c7962a95a47bbdf664f15a504eff24c351f33613",
      "parents": [
        "aea1f7964ae6cba5eb419a958956deb9016b3341"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 21 11:09:39 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 21 14:35:07 2009 +0200"
      },
      "message": "genirq: Delegate irq affinity setting to the irq thread\n\nirq_set_thread_affinity() calls set_cpus_allowed_ptr() which might\nsleep, but irq_set_thread_affinity() is called with desc-\u003elock held\nand can be called from hard interrupt context as well. The code has\nanother bug as it does not hold a ref on the task struct as required\nby set_cpus_allowed_ptr().\n\nJust set the IRQTF_AFFINITY bit in action-\u003ethread_flags. The next time\nthe thread runs it migrates itself. Solves all of the above problems\nnicely.\n\nAdd kerneldoc to irq_set_thread_affinity() while at it.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLKML-Reference: \u003cnew-submission\u003e\n\n"
    },
    {
      "commit": "722f2a6c87f34ee0fd0130a8cf45f81e0705594a",
      "tree": "50b054df34d2731eb0ba0cf1a6c27e43e7eed428",
      "parents": [
        "7a0aeb14e18ad59394bd9bbc6e57fb345819e748",
        "45e3e1935e2857c54783291107d33323b3ef33c8"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Mon Jun 15 15:50:49 2009 +0200"
      },
      "committer": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Mon Jun 15 15:50:49 2009 +0200"
      },
      "message": "Merge commit \u0027linus/master\u0027 into HEAD\n\nConflicts:\n\tMAINTAINERS\n\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\n"
    },
    {
      "commit": "7c692cbade8b8884f1c20500393bcc7cd6d24ef8",
      "tree": "2cf4353c684304dfdefb89e0a70bfbd7eeadf85b",
      "parents": [
        "8eae985f08138758e06503588f5f1196269bc415"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Wed May 21 22:53:13 2008 +0200"
      },
      "committer": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Sat Jun 13 10:02:24 2009 +0200"
      },
      "message": "tasklets: new tasklet scheduling function\n\nRationale: kmemcheck needs to be able to schedule a tasklet without\ntouching any dynamically allocated memory _at_ _all_ (since that would\nlead to a recursive page fault). This tasklet is used for writing the\nerror reports to the kernel log.\n\nThe new scheduling function avoids touching any other tasklets by\ninserting the new tasklist as the head of the \"tasklet_hi\" list instead\nof on the tail.\n\nAlso don\u0027t wake up the softirq thread lest the scheduler access some\ntracked memory and we go down with a recursive page fault.\n\nIn this case, we\u0027d better just wait for the maximum time of 1/HZ for the\nmessage to appear.\n\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\n"
    },
    {
      "commit": "5818a6e2519b34cd6d0220d89f5729ab2725e1bf",
      "tree": "e6928374858c50bf8c1d10c904550e76c5dae982",
      "parents": [
        "fce2b111fae9151a53dabb36513b398d03337a19"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Thu Jun 11 21:59:21 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:33 2009 +0200"
      },
      "message": "PM: Add empty suspend/resume device irq functions\n\ngit commit 0a0c5168 \"PM: Introduce functions for suspending and resuming\ndevice interrupts\" introduced some helper functions. However these\nfunctions are only available for architectures which support\nGENERIC_HARDIRQS.\n\nOther architectures will see this build error:\n\ndrivers/built-in.o: In function `sysdev_suspend\u0027:\n(.text+0x15138): undefined reference to `check_wakeup_irqs\u0027\ndrivers/built-in.o: In function `device_power_up\u0027:\n(.text+0x1cb66): undefined reference to `resume_device_irqs\u0027\ndrivers/built-in.o: In function `device_power_down\u0027:\n(.text+0x1cb92): undefined reference to `suspend_device_irqs\u0027\n\nTo fix this add some empty inline functions for !GENERIC_HARDIRQS.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "85ac16d033370caf6f48d743c8dc8103700f5cc5",
      "tree": "04a73af31c07a8ad29780b777b3f9d041fa236fa",
      "parents": [
        "57b150cce8e004ddd36330490a68bfb59b7271e9"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Mon Apr 27 18:00:38 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 28 12:21:17 2009 +0200"
      },
      "message": "x86/irq: change irq_desc_alloc() to take node instead of cpu\n\nThis simplifies the node awareness of the code. All our allocators\nonly deal with a NUMA node ID locality not with CPU ids anyway - so\nthere\u0027s no need to maintain (and transform) a CPU id all across the\nIRq layer.\n\nv2: keep move_irq_desc related\n\n[ Impact: cleanup, prepare IRQ code to be NUMA-aware ]\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nLKML-Reference: \u003c49F65536.2020300@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c61b79b6ef266890954213a701d8f6021d8c1289",
      "tree": "9b000a7dae5a782a0d667137ab43e4f1bea70d58",
      "parents": [
        "2b2ec7554cf7ec5e4412f89a5af6abe8ce950700",
        "9efe21cb82b5dbe3b0b2ae4de4eccc64ecb94e95"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 14:07:52 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 14:07:52 2009 -0700"
      },
      "message": "Merge branch \u0027irq/threaded\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq/threaded\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  genirq: fix devres.o build for GENERIC_HARDIRQS\u003dn\n  genirq: provide old request_irq() for CONFIG_GENERIC_HARDIRQ\u003dn\n  genirq: threaded irq handlers review fixups\n  genirq: add support for threaded interrupts to devres\n  genirq: add threaded interrupt handler support\n"
    },
    {
      "commit": "609862be074cc20e007c640fd936ffe798b41abc",
      "tree": "2ebcacf036fce1b075fe267f608b6abe3f196c67",
      "parents": [
        "12fe32e4f942ac5c71a4ab70b039fee65c0dc29d",
        "eedeeabdeeadb016b8c783e3620d06b98d0cb4e1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 06 13:37:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 06 13:37:30 2009 -0700"
      },
      "message": "Merge branch \u0027locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  lockdep: add stack dumps to asserts\n  hrtimer: fix rq-\u003elock inversion (again)\n"
    },
    {
      "commit": "9efe21cb82b5dbe3b0b2ae4de4eccc64ecb94e95",
      "tree": "7ff8833745d2f268f897f6fa4a27263b4a572245",
      "parents": [
        "de18836e447c2dc30120c0919b8db8ddc0401cc4",
        "0221c81b1b8eb0cbb6b30a0ced52ead32d2b4e4c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 01:41:22 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 01:41:22 2009 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into irq/threaded\n\nConflicts:\n\tinclude/linux/irq.h\n\tkernel/irq/handle.c\n"
    },
    {
      "commit": "8302294f43250dc337108c51882a6007f2b1e2e0",
      "tree": "85acd4440799c46a372df9cad170fa0c21e59096",
      "parents": [
        "4fe70410d9a219dabb47328effccae7e7f2a6e26",
        "2e572895bf3203e881356a4039ab0fa428ed2639"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 01 21:54:19 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 02 00:49:02 2009 +0200"
      },
      "message": "Merge branch \u0027tracing/core-v2\u0027 into tracing-for-linus\n\nConflicts:\n\tinclude/linux/slub_def.h\n\tlib/Kconfig.debug\n\tmm/slob.c\n\tmm/slub.c\n"
    },
    {
      "commit": "7f1e2ca9f04b02794597f60e7b1d43f0a1317939",
      "tree": "dad1d80ab4232f3ca12d7ff9a58f0dc76133dab1",
      "parents": [
        "7bee946358c3cb957d4aa648fc5ab3cad0b232d0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Mar 13 12:21:27 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 31 14:52:52 2009 +0200"
      },
      "message": "hrtimer: fix rq-\u003elock inversion (again)\n\nIt appears I inadvertly introduced rq-\u003elock recursion to the\nhrtimer_start() path when I delegated running already expired\ntimers to softirq context.\n\nThis patch fixes it by introducing a __hrtimer_start_range_ns()\nmethod that will not use raise_softirq_irqoff() but\n__raise_softirq_irqoff() which avoids the wakeup.\n\nIt then also changes schedule() to check for pending softirqs and\ndo the wakeup then, I\u0027m not quite sure I like this last bit, nor\nam I convinced its really needed.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: paulus@samba.org\nLKML-Reference: \u003c20090313112301.096138802@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0a0c5168df270a50e3518e4f12bddb31f8f5f38f",
      "tree": "ea1e392fef9d52a7b81c9010580c09317a4d707d",
      "parents": [
        "019abbc87025a030fd25008612afd4eff8a375f7"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Mar 16 22:33:49 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Mar 30 21:46:54 2009 +0200"
      },
      "message": "PM: Introduce functions for suspending and resuming device interrupts\n\nIntroduce helper functions allowing us to prevent device drivers from\ngetting any interrupts (without disabling interrupts on the CPU)\nduring suspend (or hibernation) and to make them start to receive\ninterrupts again during the subsequent resume.  These functions make it\npossible to keep timer interrupts enabled while the \"late\" suspend and\n\"early\" resume callbacks provided by device drivers are being\nexecuted.  In turn, this allows device drivers\u0027 \"late\" suspend and\n\"early\" resume callbacks to sleep, execute ACPI callbacks etc.\n\nThe functions introduced here will be used to rework the handling of\ninterrupts during suspend (hibernation) and resume.  Namely,\ninterrupts will only be disabled on the CPU right before suspending\nsysdevs, while device drivers will be prevented from receiving\ninterrupts, with the help of the new helper function, before their\n\"late\" suspend callbacks run (and analogously during resume).\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6e15cf04860074ad032e88c306bea656bbdd0f22",
      "tree": "c346383bb7563e8d66b2f4a502f875b259c34870",
      "parents": [
        "be0ea69674ed95e1e98cb3687a241badc756d228",
        "60db56422043aaa455ac7f858ce23c273220f9d9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 26 21:39:17 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 27 17:28:43 2009 +0100"
      },
      "message": "Merge branch \u0027core/percpu\u0027 into percpu-cpumask-x86-for-linus-2\n\nConflicts:\n\tarch/parisc/kernel/irq.c\n\tarch/x86/include/asm/fixmap_64.h\n\tarch/x86/include/asm/setup.h\n\tkernel/irq/handle.c\n\nSemantic merge:\n        arch/x86/include/asm/fixmap.h\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "de18836e447c2dc30120c0919b8db8ddc0401cc4",
      "tree": "9951d8673029a9d7edd7fff3ce022a1c3f52ae14",
      "parents": [
        "3a38148f0488069cadb75c4a6909954072d648bf"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 25 17:33:38 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 25 17:33:38 2009 +0100"
      },
      "message": "genirq: fix devres.o build for GENERIC_HARDIRQS\u003dn\n\nkernel/irq/devres.c is built by sparc (32bit) and m68k via the obscure\n../../../kernel/irq/devres.o reference in arch/[sparc/m68k]/kernel/Makefile\n\nTo avoid ifdeffery in devres.c provide request_threaded_irq as an\ninline for these users.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3a38148f0488069cadb75c4a6909954072d648bf",
      "tree": "d1f6a2b9dfe7b6ee419772fb055999725a3d906a",
      "parents": [
        "f48fe81e5b032914183e9a17052313720c2cac56"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 24 20:27:39 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 24 20:34:24 2009 +0100"
      },
      "message": "genirq: provide old request_irq() for CONFIG_GENERIC_HARDIRQ\u003dn\n\nImpact: Undo compile breakage for archs with CONFIG_GENERIC_HARDIRQ\u003dn\n\nThe threaded interrupt handler patches changed request_irq from extern\nto inline. Architectures which do not use the generic irq code still\nhave request_irq() as a global function and therefor fail to compile.\n\nKeep the extern declaration for CONFIG_GENERIC_HARDIRQ\u003dn\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f48fe81e5b032914183e9a17052313720c2cac56",
      "tree": "9404047368387a6f8b39b4a822ef28e18eba45e9",
      "parents": [
        "935bd5b971f0df7c06d214d022cf8392e2f37952"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 24 11:46:22 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 24 12:15:23 2009 +0100"
      },
      "message": "genirq: threaded irq handlers review fixups\n\nDelta patch to address the review comments.\n\n      - Implement warning when IRQ_WAKE_THREAD is requested and no\n        thread handler installed\n      - coding style fixes\n\nPointed-out-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "935bd5b971f0df7c06d214d022cf8392e2f37952",
      "tree": "a9edfeaa4621ce83d0de84f2c7b2ca0f741ede98",
      "parents": [
        "3aa551c9b4c40018f0e261a178e3d25478dc04a9"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Mar 23 18:28:16 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 24 12:15:23 2009 +0100"
      },
      "message": "genirq: add support for threaded interrupts to devres\n\nSome devices use devres_request_irq() for to install their interrupt\nhandler. Add support for threaded interrupts to devres as well.\n\n[tglx - simplified and adapted to latest threadirq version]\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "3aa551c9b4c40018f0e261a178e3d25478dc04a9",
      "tree": "2a696109273fcc421d774cc8fefa4180331a85ad",
      "parents": [
        "80c5520811d3805adcb15c570ea5e2d489fa5d0b"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 23 18:28:15 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 24 12:15:23 2009 +0100"
      },
      "message": "genirq: add threaded interrupt handler support\n\nAdd support for threaded interrupt handlers:\n\nA device driver can request that its main interrupt handler runs in a\nthread. To achive this the device driver requests the interrupt with\nrequest_threaded_irq() and provides additionally to the handler a\nthread function. The handler function is called in hard interrupt\ncontext and needs to check whether the interrupt originated from the\ndevice. If the interrupt originated from the device then the handler\ncan either return IRQ_HANDLED or IRQ_WAKE_THREAD. IRQ_HANDLED is\nreturned when no further action is required. IRQ_WAKE_THREAD causes\nthe genirq code to invoke the threaded (main) handler. When\nIRQ_WAKE_THREAD is returned handler must have disabled the interrupt\non the device level. This is mandatory for shared interrupt handlers,\nbut we need to do it as well for obscure x86 hardware where disabling\nan interrupt on the IO_APIC level redirects the interrupt to the\nlegacy PIC interrupt lines.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\n"
    },
    {
      "commit": "80c5520811d3805adcb15c570ea5e2d489fa5d0b",
      "tree": "ae797a7f4af39f80e77526533d06ac23b439f0ab",
      "parents": [
        "b3e3b302cf6dc8d60b67f0e84d1fa5648889c038",
        "8c083f081d0014057901c68a0a3e0f8ca7ac8d23"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 23 14:50:03 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 23 21:20:20 2009 +0100"
      },
      "message": "Merge branch \u0027cpus4096\u0027 into irq/threaded\n\nConflicts:\n\tarch/parisc/kernel/irq.c\n\tkernel/irq/handle.c\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a9d0a1a38352c4fb8946e73b3e42ba4ada29e733",
      "tree": "3535c727fcb0063fedef4df165ce22fbaf03c048",
      "parents": [
        "4553573277906901f62f73c0432b332c53de5e2c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 03 16:58:16 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 13 14:32:29 2009 +0100"
      },
      "message": "genirq: add doc to struct irqaction\n\nImpact: documentation\n\nstruct irqaction is not documented. Add kernel doc comments and add\ninterrupt.h to the genirq docbook.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "5d592b44b29a1d73e13d5c9e3426eed843bdc359",
      "tree": "e26ec625e6fb5efdbbf41d0bba940a2dbac19f50",
      "parents": [
        "e447e1df2e568cd43d1918963c9f09fae85aea57"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Thu Mar 12 14:33:36 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 12 21:15:02 2009 -0400"
      },
      "message": "tracing: tracepoints for softirq entry/exit - add softirq-to-name array\n\nCreate a \u0027softirq_to_name\u0027 array, which is indexed by softirq #, so\nthat we can easily convert between the softirq index # and its name, in\norder to get more meaningful output messages.\n\nLKML-Reference: \u003c20090312183336.GB3352@redhat.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "74296a8ed6aa3c5bf672808ada690de7ba323ecc",
      "tree": "baf9aa0f86e27d33dff0c4d0e33774fe80c908bc",
      "parents": [
        "5a2dd72abdae75ea2960145e0549635ce4e0be96"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 16 17:43:50 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 16 17:46:49 2009 +0100"
      },
      "message": "irq: provide debug_poll_all_shared_irqs() method under CONFIG_DEBUG_SHIRQ\n\nProvide a shared interrupt debug facility under CONFIG_DEBUG_SHIRQ:\nit uses the existing irqpoll facilities to iterate through all\nregistered interrupt handlers and call those which can handle shared\nIRQ lines.\n\nThis can be handy for suspend/resume debugging: if we call this function\nearly during resume we can trigger crashes in those drivers which have\nincorrect assumptions about when exactly their ISRs will be called\nduring suspend/resume.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4a046d1754ee6ebb6f399696805ed61ea0444d4c",
      "tree": "9b9e8e63d9490aea4c2f06263ad541cb8115eb63",
      "parents": [
        "e65e49d0f3714f4a6a42f6f6a19926ba33fcda75"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Mon Jan 12 17:39:24 2009 -0800"
      },
      "committer": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Mon Jan 12 17:39:24 2009 -0800"
      },
      "message": "x86: arch_probe_nr_irqs\n\nImpact: save RAM with large NR_CPUS, get smaller nr_irqs\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\n"
    },
    {
      "commit": "3610639d1fceb09cb418c65fcbe9136c31eee03a",
      "tree": "78aa6de9e9495c39f8671aed927fece5adff8d24",
      "parents": [
        "cfa97f993c275d193fe82c22511dfb5f1e51b661",
        "82c5b7b527ccc4b5d3cf832437e842f9d2920a79"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:10:53 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:10:53 2009 -0800"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  hrtimer: splitout peek ahead functionality, fix\n  hrtimer: fixup comments\n  hrtimer: fix recursion deadlock by re-introducing the softirq\n  hrtimer: simplify hotplug migration\n  hrtimer: fix HOTPLUG_CPU\u003dn compile warning\n  hrtimer: splitout peek ahead functionality\n"
    },
    {
      "commit": "8c3659347efb43857b2c2d7bc63a9c7d68d1a608",
      "tree": "0cfb3b77dea6f07d8a26e5805c9465860e942388",
      "parents": [
        "208b95ce3afbc2f4ef0a84b8cfdd7a8b94d17a5a"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Tue Jan 06 14:41:14 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:14 2009 -0800"
      },
      "message": "include/linux/interrupt.h: do not include linux/irqnr.h twice\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a6037b61c2f5fc99c57c15b26d7cfa58bbb34008",
      "tree": "b076de5cc8a75e4227f96dda31a0daa6e895579b",
      "parents": [
        "731a55ba0f17064f85903b7bf8e24849ec6cfa20"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jan 05 11:28:22 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 05 13:14:33 2009 +0100"
      },
      "message": "hrtimer: fix recursion deadlock by re-introducing the softirq\n\nImpact: fix rare runtime deadlock\n\nThere are a few sites that do:\n\n  spin_lock_irq(\u0026foo)\n  hrtimer_start(\u0026bar)\n    __run_hrtimer(\u0026bar)\n      func()\n        spin_lock(\u0026foo)\n\nwhich obviously deadlocks. In order to avoid this, never call __run_hrtimer()\nfrom hrtimer_start*() context, but instead defer this to softirq context.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\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": "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": "d036e67b40f52bdd95392390108defbac7e53837",
      "tree": "4a00537671036c955c98891af9f4729332b35c50",
      "parents": [
        "6b954823c24f04ed026a8517f6bab5abda279db8"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 01 10:12:26 2009 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 01 10:12:26 2009 +1030"
      },
      "message": "cpumask: convert kernel/irq\n\nImpact: Reduce stack usage, use new cpumask API.  ALPHA mod!\n\nMain change is that irq_default_affinity becomes a cpumask_var_t, so\ntreat it as a pointer (this effects alpha).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "db200df0b3530f673d8e9f5bd535e9e10305842a",
      "tree": "9a94039b8813452c51a50fcb45e95c32a9f0e537",
      "parents": [
        "ec270e59a74eee972006a87c8e12514a20588369",
        "43a256322ac1fc105c181b3cade3b9bfc0b63ca1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 31 09:00:59 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 31 09:00:59 2008 -0800"
      },
      "message": "Merge branch \u0027irq-fixes-for-linus-4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-fixes-for-linus-4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sparseirq: move __weak symbols into separate compilation unit\n  sparseirq: work around __weak alias bug\n  sparseirq: fix hang with !SPARSE_IRQ\n  sparseirq: set lock_class for legacy irq when sparse_irq is selected\n  sparseirq: work around compiler optimizing away __weak functions\n  sparseirq: fix desc-\u003elock init\n  sparseirq: do not printk when migrating IRQ descriptors\n  sparseirq: remove duplicated arch_early_irq_init()\n  irq: simplify for_each_irq_desc() usage\n  proc: remove ifdef CONFIG_SPARSE_IRQ from stat.c\n  irq: for_each_irq_desc() move to irqnr.h\n  hrtimer: remove #include \u003clinux/irq.h\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": "179475a3b46f86e2d06f83e2312218ac3f0cf3a7",
      "tree": "d4755f722ae606e21ac87baa262041e2580b2568",
      "parents": [
        "bb758e9637e5ddcff84a97177415499ae1fed498",
        "860cf8894b326e4b89720f520540604834337b72"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 16:20:19 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 16:20:19 2008 -0800"
      },
      "message": "Merge branch \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, sparseirq: clean up Kconfig entry\n  x86: turn CONFIG_SPARSE_IRQ off by default\n  sparseirq: fix numa_migrate_irq_desc dependency and comments\n  sparseirq: add kernel-doc notation for new member in irq_desc, -v2\n  locking, irq: enclose irq_desc_lock_class in CONFIG_LOCKDEP\n  sparseirq, xen: make sure irq_desc is allocated for interrupts\n  sparseirq: fix !SMP building, #2\n  x86, sparseirq: move irq_desc according to smp_affinity, v7\n  proc: enclose desc variable of show_stat() in CONFIG_SPARSE_IRQ\n  sparse irqs: add irqnr.h to the user headers list\n  sparse irqs: handle !GENIRQ platforms\n  sparseirq: fix !SMP \u0026\u0026 !PCI_MSI \u0026\u0026 !HT_IRQ build\n  sparseirq: fix Alpha build failure\n  sparseirq: fix typo in !CONFIG_IO_APIC case\n  x86, MSI: pass irq_cfg and irq_desc\n  x86: MSI start irq numbering from nr_irqs_gsi\n  x86: use NR_IRQS_LEGACY\n  sparse irq_desc[] array: core kernel and x86 changes\n  genirq: record IRQ_LEVEL in irq_desc[]\n  irq.h: remove padding from irq_desc on 64bits\n"
    },
    {
      "commit": "43a256322ac1fc105c181b3cade3b9bfc0b63ca1",
      "tree": "6f4b6fc286451598d20222af8b511fe0a3fcdcfc",
      "parents": [
        "b2e2fe99628c4f944c3075258e536197b5a4f3f8"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Sun Dec 28 16:01:13 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 29 12:15:49 2008 +0100"
      },
      "message": "sparseirq: move __weak symbols into separate compilation unit\n\nGCC has a bug with __weak alias functions: if the functions are in\nthe same compilation unit as their call site, GCC can decide to\ninline them - and thus rob the linker of the opportunity to override\nthe weak alias with the real thing.\n\nSo move all the IRQ handling related __weak symbols to kernel/irq/chip.c.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\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": "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": "0ebb26e7a4e2c5337502e98b2221e037fda911b9",
      "tree": "c761f4ed74cf412bd2f9de7a091280797548c5b1",
      "parents": [
        "8a4830f8891be6b4e04809693a24771a4694e0b0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 12 11:26:39 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 12 12:28:50 2008 +0100"
      },
      "message": "sparse irqs: handle !GENIRQ platforms\n\nImpact: build fix\n\nfix:\n\n In file included from /home/mingo/tip/arch/m68k/amiga/amiints.c:39:\n /home/mingo/tip/include/linux/interrupt.h:21: error: expected identifier or \u0027(\u0027\n /home/mingo/tip/arch/m68k/amiga/amiints.c: In function \u0027amiga_init_IRQ\u0027:\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0b8f1efad30bd58f89961b82dfe68b9edf8fd2ac",
      "tree": "239251bad791fd60af8c0f2ba365b7188395c83f",
      "parents": [
        "218d11a8b071b23b76c484fd5f72a4fe3306801e"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Fri Dec 05 18:58:31 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 08 14:31:51 2008 +0100"
      },
      "message": "sparse irq_desc[] array: core kernel and x86 changes\n\nImpact: new feature\n\nProblem on distro kernels: irq_desc[NR_IRQS] takes megabytes of RAM with\nNR_CPUS set to large values. The goal is to be able to scale up to much\nlarger NR_IRQS value without impacting the (important) common case.\n\nTo solve this, we generalize irq_desc[NR_IRQS] to an (optional) array of\nirq_desc pointers.\n\nWhen CONFIG_SPARSE_IRQ\u003dy is used, we use kzalloc_node to get irq_desc,\nthis also makes the IRQ descriptors NUMA-local (to the site that calls\nrequest_irq()).\n\nThis gets rid of the irq_cfg[] static array on x86 as well: irq_cfg now\nuses desc-\u003echip_data for x86 to store irq_cfg.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\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": "9301975ec251bab1ad7cfcb84a688b26187e4e4a",
      "tree": "91e48be0bdc67cbcb75bc8a299a3dcf168e0a814",
      "parents": [
        "7110879cf2afbfb7af79675f5ff109e63d631c25",
        "dd3a1db900f2a215a7d7dd71b836e149a6cf5fed"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 13:22:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 13:23:01 2008 -0700"
      },
      "message": "Merge branch \u0027genirq-v28-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\nThis merges branches irq/genirq, irq/sparseirq-v4, timers/hpet-percpu\nand x86/uv.\n\nThe sparseirq branch is just preliminary groundwork: no sparse IRQs are\nactually implemented by this tree anymore - just the new APIs are added\nwhile keeping the old way intact as well (the new APIs map 1:1 to\nirq_desc[]).  The \u0027real\u0027 sparse IRQ support will then be a relatively\nsmall patch ontop of this - with a v2.6.29 merge target.\n\n* \u0027genirq-v28-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (178 commits)\n  genirq: improve include files\n  intr_remapping: fix typo\n  io_apic: make irq_mis_count available on 64-bit too\n  genirq: fix name space collisions of nr_irqs in arch/*\n  genirq: fix name space collision of nr_irqs in autoprobe.c\n  genirq: use iterators for irq_desc loops\n  proc: fixup irq iterator\n  genirq: add reverse iterator for irq_desc\n  x86: move ack_bad_irq() to irq.c\n  x86: unify show_interrupts() and proc helpers\n  x86: cleanup show_interrupts\n  genirq: cleanup the sparseirq modifications\n  genirq: remove artifacts from sparseirq removal\n  genirq: revert dynarray\n  genirq: remove irq_to_desc_alloc\n  genirq: remove sparse irq code\n  genirq: use inline function for irq_to_desc\n  genirq: consolidate nr_irqs and for_each_irq_desc()\n  x86: remove sparse irq from Kconfig\n  genirq: define nr_irqs for architectures with GENERIC_HARDIRQS\u003dn\n  ...\n"
    },
    {
      "commit": "dd3a1db900f2a215a7d7dd71b836e149a6cf5fed",
      "tree": "b7e124cec8f750116907a86701937f3edf272936",
      "parents": [
        "cc8e920aaf5558f87851169b33c420cc4516c253"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Oct 16 18:20:58 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 18 14:05:18 2008 +0200"
      },
      "message": "genirq: improve include files\n\nMove the irq_desc related iterators out of irq.h, into irqnr.h, also\navailable via interrupt.h.\n\nThis way non-genirq (and even non-hardirq) architectures get the\ncommon definitions and iterators.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "54514a70adefe356afe854e2d3912d46668068e6",
      "tree": "e2b08f2c10ff427447fdc40e96555fc2f22549e1",
      "parents": [
        "2e532d68a2b3e2aa6b19731501222069735c741c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 23 22:15:57 2008 -0700"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Oct 17 08:46:56 2008 +0200"
      },
      "message": "softirq: Add support for triggering softirq work on softirqs.\n\nThis is basically a genericization of Jens Axboe\u0027s block layer\nremote softirq changes.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "70dd4d992ab324a59cdcd6bedc3f4e729863d514",
      "tree": "338b28c18a60f0e1d4b65de43dfd24c1c5018532",
      "parents": [
        "3235e936c0cc3589309280b6f59e5096779adae3"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Oct 15 15:39:27 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 16 16:53:14 2008 +0200"
      },
      "message": "genirq: consolidate nr_irqs and for_each_irq_desc()\n\nMove all of those to linux/irq.h where they belong.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "7ef0c30dbf96a8d9a234e90c248eb19df3c031be",
      "tree": "e9e77d581e70cee0725ad568d42c0769783f4f89",
      "parents": [
        "81608f3c254512b906ab78082ec5966b376aacd5"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Oct 15 13:07:35 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 16 16:53:14 2008 +0200"
      },
      "message": "genirq: define nr_irqs for architectures with GENERIC_HARDIRQS\u003dn\n\nRevert the sparse irq changes in m68k/s390/sparc and just define\nnr_irqs as NR_IRQS for those architectures.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c7fb03a475bd80c642c1345d85c7c550f63514b8",
      "tree": "575978fa259a52209f00d5bfaacb4d162caef0d3",
      "parents": [
        "2c6927a38f65b53b62f86158fba29a068c4e8b6a"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Tue Aug 19 20:50:12 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 16 16:52:33 2008 +0200"
      },
      "message": "irq, fs/proc: replace loop with nr_irqs for proc/stat\n\nReplace another nr_irqs loop to avoid the allocation of all sparse\nirq entries - use for_each_irq_desc instead.\n\nv2: make sure arch without GENERIC_HARDIRQS works too\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "85c0f90978bf50596dbd23854648020f1f9b5bfd",
      "tree": "f66c598bb37b925dd6c74e4ce1fb06345c742c01",
      "parents": [
        "6da55c3e8da88e8a7cb6452160776ad6706798ad"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Tue Aug 19 20:49:47 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 16 16:52:05 2008 +0200"
      },
      "message": "irq: introduce nr_irqs\n\nat this point nr_irqs is equal NR_IRQS\n\nconvert a few easy users from NR_IRQS to dynamic nr_irqs.\n\nv2: according to Eric, we need to take care of arch without generic_hardirqs\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "978b0116cd225682a29e3d1d5010319bf2de32c2",
      "tree": "250cc9c7740e72407993f22358449b87d322cb32",
      "parents": [
        "70bb08962ea9bd50797ae9f16b2493f5f7c65053"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Sep 06 20:04:36 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 06 20:04:36 2008 +0200"
      },
      "message": "softirq: allocate less vectors\n\nWe don\u0027t need whole 32 of them, only NR_SOFTIRQS.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f6ac436dcc4c34709bcde355f3f2254ac0a183d4",
      "tree": "a0f70b63df735a2bb780ee0bfac5d92be63a9f25",
      "parents": [
        "8cd6819842b79953c61250c719f61e01e51dd8cd"
      ],
      "author": {
        "name": "Mark Asselstine",
        "email": "mark.asselstine@windriver.com",
        "time": "Tue Aug 05 13:01:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 05 14:33:48 2008 -0700"
      },
      "message": "Remove the deprecated cli() sti() functions\n\nThese functions have been deprecated for some time now but remained until\nall legacy callers could be removed.  With a few commits in 2.6.26 this\nhas happened so now we can remove these deprecated functions.\n\nSigned-off-by: Mark Asselstine \u003cmark.asselstine@windriver.com\u003e\nReviewed-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "61d97f4fcf73d30864a52373a34093be25be6a03",
      "tree": "40b6585c6bf500bc68c9107c6d21318542875d1b",
      "parents": [
        "38c46578ffd8ffbfec514c2a9876d527303322d6",
        "48627d8d23c34106c1365563604739a50343edaf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 15 10:39:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 15 10:39:22 2008 -0700"
      },
      "message": "Merge branch \u0027genirq\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027genirq\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  genirq: remove extraneous checks in manage.c\n  genirq: Expose default irq affinity mask (take 3)\n"
    },
    {
      "commit": "18404756765c713a0be4eb1082920c04822ce588",
      "tree": "ed426f8fe90bff1ffd854074a2e4b370dd6821f8",
      "parents": [
        "c3b25b32e8bef526cca748e1ba023c6bdd705a99"
      ],
      "author": {
        "name": "Max Krasnyansky",
        "email": "maxk@qualcomm.com",
        "time": "Thu May 29 11:02:52 2008 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jun 05 15:18:30 2008 +0200"
      },
      "message": "genirq: Expose default irq affinity mask (take 3)\n\nCurrent IRQ affinity interface does not provide a way to set affinity\nfor the IRQs that will be allocated/activated in the future.\nThis patch creates /proc/irq/default_smp_affinity that lets users set\ndefault affinity mask for the newly allocated IRQs. Changing the default\ndoes not affect affinity masks for the currently active IRQs, they\nhave to be changed explicitly.\n\nUpdated based on Paul J\u0027s comments and added some more documentation.\n\nSigned-off-by: Max Krasnyansky \u003cmaxk@qualcomm.com\u003e\nCc: pj@sgi.com\nCc: a.p.zijlstra@chello.nl\nCc: tglx@linutronix.de\nCc: rdunlap@xenotime.net\nCc: mingo@elte.hu\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "962cf36c5bf6d2840b8d66ee9a606fae2f540bbd",
      "tree": "263ead6b5224453e8c2a92f1ad9cd2091e003b68",
      "parents": [
        "75d3bce2fc0a80f435fe12f2c9ed2632c8ac29e4"
      ],
      "author": {
        "name": "Carlos R. Mafra",
        "email": "crmafra2@gmail.com",
        "time": "Thu May 15 11:15:37 2008 -0300"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun May 25 07:43:15 2008 +0200"
      },
      "message": "Remove argument from open_softirq which is always NULL\n\nAs git-grep shows, open_softirq() is always called with the last argument\nbeing NULL\n\nblock/blk-core.c:       open_softirq(BLOCK_SOFTIRQ, blk_done_softirq, NULL);\nkernel/hrtimer.c:       open_softirq(HRTIMER_SOFTIRQ, run_hrtimer_softirq, NULL);\nkernel/rcuclassic.c:    open_softirq(RCU_SOFTIRQ, rcu_process_callbacks, NULL);\nkernel/rcupreempt.c:    open_softirq(RCU_SOFTIRQ, rcu_process_callbacks, NULL);\nkernel/sched.c: open_softirq(SCHED_SOFTIRQ, run_rebalance_domains, NULL);\nkernel/softirq.c:       open_softirq(TASKLET_SOFTIRQ, tasklet_action, NULL);\nkernel/softirq.c:       open_softirq(HI_SOFTIRQ, tasklet_hi_action, NULL);\nkernel/timer.c: open_softirq(TIMER_SOFTIRQ, run_timer_softirq, NULL);\nnet/core/dev.c: open_softirq(NET_TX_SOFTIRQ, net_tx_action, NULL);\nnet/core/dev.c: open_softirq(NET_RX_SOFTIRQ, net_rx_action, NULL);\n\nThis observation has already been made by Matthew Wilcox in June 2002\n(http://www.cs.helsinki.fi/linux/linux-kernel/2002-25/0687.html)\n\n\"I notice that none of the current softirq routines use the data element\npassed to them.\"\n\nand the situation hasn\u0027t changed since them. So it appears we can safely\nremove that extra argument to save 128 (54) bytes of kernel data (text).\n\nSigned-off-by: Carlos R. Mafra \u003ccrmafra@ift.unesp.br\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "eb0f1c442d7cf1f7cb746c26c6120bb42e69c49c",
      "tree": "75b6b2f9bdefe846523b71d812aea14aa352150b",
      "parents": [
        "8d4b69002e56e93f1cfe8bb863846ecde3990032"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Apr 29 00:59:12 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:02 2008 -0700"
      },
      "message": "proper __do_softirq() prototype\n\nAdd a proper prototype for __do_softirq() in include/linux/interrupt.h\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\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": "b3c97528689619fc66569b30bf83d09d9929521a",
      "tree": "91dc53590deab88c9bf255c2b5cbd74bdbc36de1",
      "parents": [
        "aa02cd2d9bd1e24a230bd66a0a741b984d03915a"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Feb 13 15:03:15 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 13 16:21:18 2008 -0800"
      },
      "message": "include/linux: Remove all users of FASTCALL() macro\n\nFASTCALL() is always expanded to empty, remove it.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f74596d07957235ad9da5120029348b372224a27",
      "tree": "72089ad3368af0e674952866dd9db69b1bcb42f9",
      "parents": [
        "0b03cfb25fa944bc106e816146846dcb48b2e907"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Feb 06 01:36:35 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:02 2008 -0800"
      },
      "message": "proper show_interrupts() prototype\n\nAdd a proper prototype for show_interrupts() in include/linux/interrupt.h\n\nSigned-off-by: Adrian Bunk \u003cbunk@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": "c2d727aa2ff17a1c8e5ed1e5e231bb8579b27e82",
      "tree": "76b570288a72c1337920c5e60682316c554f00ee",
      "parents": [
        "c49443c538c1bbf50eda27e4a3711e9fc15176b0"
      ],
      "author": {
        "name": "Dipankar Sarma",
        "email": "dipankar@in.ibm.com",
        "time": "Fri Jan 25 21:08:23 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:23 2008 +0100"
      },
      "message": "Preempt-RCU: Use softirq instead of tasklets for\n\nThis patch makes RCU use softirq instead of tasklets.\n\nIt also adds a memory barrier after raising the softirq\ninorder to ensure that the cpu sees the most recently updated\nvalue of rcu-\u003ecur while processing callbacks.\nThe discussion of the related theoretical race pointed out\nby James Huang can be found here --\u003e http://lkml.org/lkml/2007/11/20/603\n\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nReviewed-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b4471cbb09c4694e54092d02715c09fda2eb45ed",
      "tree": "ceeb36f6052f67838ae6ced8b99bebb9065e03c3",
      "parents": [
        "38d090b080a2df56a196c0ee89f6237f0fa47fdf"
      ],
      "author": {
        "name": "Ahmed S. Darwish",
        "email": "darwish.07@gmail.com",
        "time": "Tue Oct 16 23:30:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:00 2007 -0700"
      },
      "message": "Completely remove deprecated IRQ flags (SA_*)\n\nOnly very little files use the deprecated SA_* IRQ flags in latest pull.  This\npatch series removes such macros from the tree and transfrom old code to the\nnew IRQF_* flags.\n\nI\u0027ve grepped the whole tree to make sure that no more files than the patched\nones use such deprecated macros.  I hope this series won\u0027t introduce build\nerrors.\n\nSigned-off-by: Ahmed S. Darwish \u003cdarwish.07@gmail.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: Matthew Wilcox \u003cwilly@debian.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aa5346a2126ea65e8ef04eebea0f2481f701bdb8",
      "tree": "a7d59e9cc61482d379baa676f9455c29529fa849",
      "parents": [
        "bf0df636e5ddf43cbacff8435962ee8aa40f563e"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Tue Oct 16 01:24:01 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:50 2007 -0700"
      },
      "message": "provide stubs for enable_irq_wake() and disable_irq_wake()\n\nProvide {enable,disable}_irq_wakeup dummies for undefined\ncross-compilers for platforms without CONFIG_GENERIC_IRQ.\n\nNeeded by wake-up-from-a-serial-port.patch\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0af3678f7c5872836d1cc8d7c659abd62c3c5ae7",
      "tree": "d74ee34e24b3fc85a9ac66675a4e70cadfe76c58",
      "parents": [
        "2d954d06acbcf9a5f7668a1897850c9b7be6b8f3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Fri Jul 27 14:24:33 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Jul 28 19:42:22 2007 -0700"
      },
      "message": "rip some includes from linux/interrupt.h\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e9ed7e722e3f4cea07cf3c4bfe98c18180a17793",
      "tree": "b1372269f948f5dead789fece8539d7f4de58be0",
      "parents": [
        "e6f194d8f6f50da6837af637b2fd839c34185f7a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sat Jul 21 23:29:12 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jul 22 11:44:00 2007 -0700"
      },
      "message": "take declarations of enable_irq() et.al. to linux/interrupt.h\n\nNow that the last inlined instances are gone, all that is left to do\nis turning disable_irq_nosync on arm26 and m68k from defines to aliases\nand we are all set - we can make these externs in linux/interrupt.h\nuncoditional and kill remaining instances in asm/irq.h\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2d3fbbb391e280724f7f7804ab00ff61cf1b6a4c",
      "tree": "218b942ae24cd22c7b8309a650d3e7273db3796c",
      "parents": [
        "e1fa2e136ff64a3814a98c03d46320b9e80d29c8"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu May 10 22:22:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:34 2007 -0700"
      },
      "message": "Add hard_irq_disable()\n\nSome architectures, like powerpc, implement lazy disabling of interrupts.\nThat means that on those, local_irq_disable() doesn\u0027t actually disable\ninterrupts on the CPU, but only sets some per CPU flag which cause them to be\ndisabled only if an interrupt actually occurs.\n\nHowever, in some cases, such as stop_machine, we really want interrupts to be\nfully disabled.  For example, I have code using stop machine to do ECC error\ninjection, used to verify operations of the ECC hardware, that sort of thing.\nIt really needs to make sure that nothing is actually writing to memory while\nthe injection happens.  Similar examples can be found in other low level bits\nand pieces.\n\nThis patch implements a generic hard_irq_disable() function which is meant to\nbe called -after- local_irq_disable() and ensures that interrupts are fully\ndisabled on that CPU.  The default implementation is a nop, though powerpc\ndoes already provide an appropriate one.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d85a60d85ea5b7c597508c1510c88e657773d378",
      "tree": "2b5d1a5311074de8c12811e7ddf26e3cda4a41a0",
      "parents": [
        "951744fea0aea9adbd7c8cacb3605f2d69a66f96"
      ],
      "author": {
        "name": "Bernhard Walle",
        "email": "bwalle@suse.de",
        "time": "Tue May 08 00:35:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:22 2007 -0700"
      },
      "message": "Add IRQF_IRQPOLL flag (common code)\n\nirqpoll is broken on some architectures that don\u0027t use the IRQ 0 for the timer\ninterrupt like IA64.  This patch adds a IRQF_IRQPOLL flag.\n\nEach architecture is handled in a separate pach.  As I left the irq \u003d\u003d 0 as\ncondition, this should not break existing architectures that use timer_irq \u003d\u003d\n0 and that I did\u0027t address with that patch (because I don\u0027t know).\n\nThis patch:\n\nThis patch adds a IRQF_IRQPOLL flag that the interrupt registration code could\nuse for the interrupt it wants to use for IRQ polling.\n\nBecause this must not be the timer interrupt, an additional flag was added\ninstead of re-using the IRQF_TIMER constant.  Until all architectures will\nhave an IRQF_IRQPOLL interrupt, irq \u003d\u003d 0 will stay as alternative as it should\nnot break anything.\n\nAlso, note_interrupt() is called on CPU-specific interrupts to be used as\ninterrupt source for IRQ polling.\n\nSigned-off-by: Bernhard Walle \u003cbwalle@suse.de\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Matthew Wilcox \u003cwilly@debian.org\u003e\nCc: Grant Grundler \u003cgrundler@google.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0e8638e2ace18eb6b814a63fe087106be05ca267",
      "tree": "ed25d468ae48e6819fd1c4a0d0713de95c4b3385",
      "parents": [
        "2833bf68b9634a02895d9463349d8c21bd32ccf6"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue May 08 00:28:56 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:08 2007 -0700"
      },
      "message": "Deprecate SA_xxx interrupt flags -V2\n\nThe deprecation of the SA_xxx interrupt flags did not emit deprecated\nwarnings. Andrew said about the removal of the deprecated flag defines:\n\n\u003e This is going to break a lot of external stuff.  We should have found\n\u003e a way to make usage of SA_* emit deprecated warnings (or _some_\n\u003e warning) to warn people of impending doom.  But I can\u0027t immediately\n\u003e find a way of doing that. if we _can_ find a way of doing this, I\n\u003e suspect we\u0027ll need to do it, and give people another six months.  It\u0027s\n\u003e going to get ugly out there.  We shall see...\n\nDefine the deprecated flags as a call to a __deprecated inline function\nso a warning is emitted on compile time.\n\nExtend the reprieve of out of tree drivers to 9/2007.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "616883df78bd4b3fcdb6ddc39bd3d4cb902bfa32",
      "tree": "c1ad0fa79ae7cc50593e7b435006520b07578970",
      "parents": [
        "c761c84154dcd952182e4867d841298c9eb0b14b"
      ],
      "author": {
        "name": "Monakhov Dmitriy",
        "email": "dmonakhov@openvz.org",
        "time": "Tue May 08 00:25:07 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:00 2007 -0700"
      },
      "message": "IRQ: add __must_check to request_irq\n\nThis could help to find buggy drivers where request_irq return value wasn\u0027t\nchecked.  There\u0027s just no reason to ignore errors which can and do occur.\nAnyone who got warning during compilation have to realise what it is\u0027t\nrealy safe code.\n\nSigned-off-by: Monakhov Dmitriy \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b3e2fd9cebcf4e82d0306fe7e796eeca5aac0614",
      "tree": "c25ace93e097c7fc71a8a34e25d3c23f93c53de1",
      "parents": [
        "39ad2cb352729a8b57803737905caae1e1d1942a"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Tue May 01 22:32:42 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 04 17:59:06 2007 -0700"
      },
      "message": "lockdep: Add missing disable/enable irq variant\n\nAdd missing disable/enable irq variant\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6168a702ab0be181e5e57a0b2d0e7376f7a47f0b",
      "tree": "4eaecb660154bb36b3884b21bf335ff040559902",
      "parents": [
        "a6e6df25ec6751f4f73784398ab7d43cf9d2019f"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sat Feb 17 21:22:39 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 19 14:21:50 2007 -0800"
      },
      "message": "[PATCH] Declare init_irq_proc before we use it.\n\npowerpc gets:\n\ninit/main.c: In function `do_basic_setup\u0027:\ninit/main.c:714: warning: implicit declaration of function `init_irq_proc\u0027\n\nbut we cannot include linux/irq.h in generic code.\n\nFix it by moving the declaration into linux/interrupt.h instead.\n\nAnd make sure all code that defines init_irq_proc() is including\nlinux/interrupt.h.\n\nAnd nuke an ifdef-in-C\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "54cdfdb47f73b5af3d1ebb0f1e383efbe70fde9e",
      "tree": "e2f76277f6b7546e53c3a1d025e31bceb10bbff5",
      "parents": [
        "d40891e75fc1f646dce57d5d3bd1349a6aaf7a0e"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 16 01:28:11 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:59 2007 -0800"
      },
      "message": "[PATCH] hrtimers: add high resolution timer support\n\nImplement high resolution timers on top of the hrtimers infrastructure and the\nclockevents / tick-management framework.  This provides accurate timers for\nall hrtimer subsystem users.\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": "950f4427c2ddc921164088a20f01304cf231437c",
      "tree": "8fd3fb1ad045a47dbd2c6ac238c6ff1c1c5aa6c6",
      "parents": [
        "b463fc60730bea6cdd73fec6edc6ec4658d47d37"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 16 01:27:24 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:56 2007 -0800"
      },
      "message": "[PATCH] Add irq flag to disable balancing for an interrupt\n\nAdd a flag so we can prevent the irq balancing of an interrupt.  Move the\nbits, so we have room for more :)\n\nNecessary for the ability to setup clocksources more flexible (e.g.  use the\ndifferent HPET channels per CPU)\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": "9ac7849e35f705830f7b016ff272b0ff1f7ff759",
      "tree": "7f17cdff87e154937a15cc2ec8da9b4e6018ce8e",
      "parents": [
        "77a527eadb425b60db3f5f0aae6a4c51c38e35e5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat Jan 20 16:00:26 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Feb 09 17:39:36 2007 -0500"
      },
      "message": "devres: device resource management\n\nImplement device resource management, in short, devres.  A device\ndriver can allocate arbirary size of devres data which is associated\nwith a release function.  On driver detach, release function is\ninvoked on the devres data, then, devres data is freed.\n\ndevreses are typed by associated release functions.  Some devreses are\nbetter represented by single instance of the type while others need\nmultiple instances sharing the same release function.  Both usages are\nsupported.\n\ndevreses can be grouped using devres group such that a device driver\ncan easily release acquired resources halfway through initialization\nor selectively release resources (e.g. resources for port 1 out of 4\nports).\n\nThis patch adds devres core including documentation and the following\nmanaged interfaces.\n\n* alloc/free\t: devm_kzalloc(), devm_kzfree()\n* IO region\t: devm_request_region(), devm_release_region()\n* IRQ\t\t: devm_request_irq(), devm_free_irq()\n* DMA\t\t: dmam_alloc_coherent(), dmam_free_coherent(),\n\t\t  dmam_declare_coherent_memory(), dmam_pool_create(),\n\t\t  dmam_pool_destroy()\n* PCI\t\t: pcim_enable_device(), pcim_pin_device(), pci_is_managed()\n* iomap\t\t: devm_ioport_map(), devm_ioport_unmap(), devm_ioremap(),\n\t\t  devm_ioremap_nocache(), devm_iounmap(), pcim_iomap_table(),\n\t\t  pcim_iomap(), pcim_iounmap()\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "c9819f4593e8d052b41a89f47140f5c5e7e30582",
      "tree": "85da690ecd1e14506336009281e5c369d8457325",
      "parents": [
        "e418e1c2bf1a253916b569370653414eb28597b6"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun Dec 10 02:20:25 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sun Dec 10 09:55:42 2006 -0800"
      },
      "message": "[PATCH] sched: use softirq for load balancing\n\nCall rebalance_tick (renamed to run_rebalance_domains) from a newly introduced\nsoftirq.\n\nWe calculate the earliest time for each layer of sched domains to be rescanned\n(this is the rescan time for idle) and use the earliest of those to schedule\nthe softirq via a new field \"next_balance\" added to struct rq.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Peter Williams \u003cpwil3058@bigpond.net.au\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: \"Siddha, Suresh B\" \u003csuresh.b.siddha@intel.com\u003e\nCc: \"Chen, Kenneth W\" \u003ckenneth.w.chen@intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "676dcb8bc2ec78d80091037773598d6ec8c673d6",
      "tree": "70a82f63dcda34f8907ffd9e92898e8a8a5fef87",
      "parents": [
        "620034c84d1d939717bdfbe02c51a3fee43541c3"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Dec 06 20:31:30 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:20 2006 -0800"
      },
      "message": "[PATCH] add bottom_half.h\n\nWith CONFIG_SMP\u003dn:\n\n  drivers/input/ff-memless.c:384: warning: implicit declaration of function \u0027local_bh_disable\u0027\n  drivers/input/ff-memless.c:393: warning: implicit declaration of function \u0027local_bh_enable\u0027\n\nReally linux/spinlock.h should include linux/interrupt.h.  But interrupt.h\nincludes sched.h which will need spinlock.h.\n\nSo the patch breaks the _bh declarations out into a separate header and\nincludes it in both interrupt.h and spinlock.h.\n\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: \u003cstable@kernel.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7d12e780e003f93433d49ce78cfedf4b4c52adc5",
      "tree": "6748550400445c11a306b132009f3001e3525df8",
      "parents": [
        "da482792a6d1a3fbaaa25fae867b343fb4db3246"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Oct 05 14:55:46 2006 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@warthog.cambridge.redhat.com",
        "time": "Thu Oct 05 15:10:12 2006 +0100"
      },
      "message": "IRQ: Maintain regs pointer globally rather than passing to IRQ handlers\n\nMaintain a per-CPU global \"struct pt_regs *\" variable which can be used instead\nof passing regs around manually through all ~1800 interrupt handlers in the\nLinux kernel.\n\nThe regs pointer is used in few places, but it potentially costs both stack\nspace and code to pass it around.  On the FRV arch, removing the regs parameter\nfrom all the genirq function results in a 20% speed up of the IRQ exit path\n(ie: from leaving timer_interrupt() to leaving do_IRQ()).\n\nWhere appropriate, an arch may override the generic storage facility and do\nsomething different with the variable.  On FRV, for instance, the address is\nmaintained in GR28 at all times inside the kernel as part of general exception\nhandling.\n\nHaving looked over the code, it appears that the parameter may be handed down\nthrough up to twenty or so layers of functions.  Consider a USB character\ndevice attached to a USB hub, attached to a USB controller that posts its\ninterrupts through a cascaded auxiliary interrupt controller.  A character\ndevice driver may want to pass regs to the sysrq handler through the input\nlayer which adds another few layers of parameter passing.\n\nI\u0027ve build this code with allyesconfig for x86_64 and i386.  I\u0027ve runtested the\nmain part of the code on FRV and i386, though I can\u0027t test most of the drivers.\nI\u0027ve also done partial conversion for powerpc and MIPS - these at least compile\nwith minimal configurations.\n\nThis will affect all archs.  Mostly the changes should be relatively easy.\nTake do_IRQ(), store the regs pointer at the beginning, saving the old one:\n\n\tstruct pt_regs *old_regs \u003d set_irq_regs(regs);\n\nAnd put the old one back at the end:\n\n\tset_irq_regs(old_regs);\n\nDon\u0027t pass regs through to generic_handle_irq() or __do_IRQ().\n\nIn timer_interrupt(), this sort of change will be necessary:\n\n\t-\tupdate_process_times(user_mode(regs));\n\t-\tprofile_tick(CPU_PROFILING, regs);\n\t+\tupdate_process_times(user_mode(get_irq_regs()));\n\t+\tprofile_tick(CPU_PROFILING);\n\nI\u0027d like to move update_process_times()\u0027s use of get_irq_regs() into itself,\nexcept that i386, alone of the archs, uses something other than user_mode().\n\nSome notes on the interrupt handling in the drivers:\n\n (*) input_dev() is now gone entirely.  The regs pointer is no longer stored in\n     the input_dev struct.\n\n (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking.  It does\n     something different depending on whether it\u0027s been supplied with a regs\n     pointer or not.\n\n (*) Various IRQ handler function pointers have been moved to type\n     irq_handler_t.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n(cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)\n"
    },
    {
      "commit": "da482792a6d1a3fbaaa25fae867b343fb4db3246",
      "tree": "138c187e669bbaf997780a999299fbc977568e1c",
      "parents": [
        "57a58a9435aef3e0342ba4b2c97e0ddfea6f2c7f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Oct 05 13:06:34 2006 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@warthog.cambridge.redhat.com",
        "time": "Thu Oct 05 13:28:27 2006 +0100"
      },
      "message": "IRQ: Typedef the IRQ handler function type\n\nTypedef the IRQ handler function type.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n(cherry picked from 1356d1e5fd256997e3d3dce0777ab787d0515c7a commit)\n"
    },
    {
      "commit": "e8106b941ceab68cc5ff713df7b1276484554584",
      "tree": "6d8ad676796f4469aa334589565e971932049bc4",
      "parents": [
        "6ea36ddbd1abfe867f1e874a8312bfd811e5fd2c"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Sep 29 02:01:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:20 2006 -0700"
      },
      "message": "[PATCH] lockdep: core, add enable/disable_irq_irqsave/irqrestore() APIs\n\nIntroduce the disable_irq_nosync_lockdep_irqsave() and\nenable_irq_lockdep_irqrestore() APIs.  These are needed for NE2000; basically\nNE2000 calls disable_irq and enable_irq as locking against the IRQ handler,\nbut both in cases where interrupts are on and off.  This means that lockdep\nneeds to track the old state of the virtual irq flags on disable_irq, and\nrestore these at enable_irq time.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "de30a2b355ea85350ca2f58f3b9bf4e5bc007986",
      "tree": "0bef670aff65614b3c78ca13b20307355b8221d5",
      "parents": [
        "5bdc9b447c0076f494a56fdcd93ee8c5e78a2afd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:03 2006 -0700"
      },
      "message": "[PATCH] lockdep: irqtrace subsystem, core\n\nAccurate hard-IRQ-flags and softirq-flags state tracing.\n\nThis allows us to attach extra functionality to IRQ flags on/off\nevents (such as trace-on/off).\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d7e9629de051bb4b1d104588cd97673ad770809e",
      "tree": "8d9f8fd16910ef959d39cb6264a3e5da9b8d7bec",
      "parents": [
        "c01d403b2e3e3f231b18ebd07ad64ecbe6a258a5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:27 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:00 2006 -0700"
      },
      "message": "[PATCH] lockdep: add local_irq_enable_in_hardirq() API\n\nIntroduce local_irq_enable_in_hardirq() API.  It is currently aliased to\nlocal_irq_enable(), hence has no functional effects.\n\nThis API will be used by lockdep, but even without lockdep this will better\ndocument places in the kernel where a hardirq context enables hardirqs.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c01d403b2e3e3f231b18ebd07ad64ecbe6a258a5",
      "tree": "b7ccadf4bb93d9cdb5c770e976637fb783d9dab5",
      "parents": [
        "a875a69f8b00a38b4f40d9632a4fc71a159f0e0d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:27 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:00 2006 -0700"
      },
      "message": "[PATCH] lockdep: add disable/enable_irq_lockdep() API\n\nlockdep wants to use the disable_irq()/enable_irq() prototypes before they are\nprovied by the platform\u0027s asm/irq.h.  So move them out of the\nCONFIG_GENERIC_HARDIRQS define - all architectures have a common prototype for\nthis anyway.\n\nAdd special lockdep variants of irq line disabling/enabling.\n\nThese should be used for locking constructs that know that a particular irq\ncontext which is disabled, and which is the only irq-context user of a lock,\nthat it\u0027s safe to take the lock in the irq-disabled section without disabling\nhardirqs.\n\n[akpm@osdl.org: build fix]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "284c66806eb6df7f5c66d298681f1abe81a5a9ab",
      "tree": "b6573efe262b85a5bd3cf3c2a7964214143125ed",
      "parents": [
        "52e405eaa9806968e88b35d65e57acad954a5ab5"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jul 03 02:20:32 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jul 02 17:29:22 2006 -0700"
      },
      "message": "[PATCH] genirq:fixup missing SA_PERCPU replacement\n\nThe irqflags consolidation converted SA_PERCPU_IRQ to IRQF_PERCPU but\ndid not define the new constant.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6e21361619328751e2637b004e14cf360aafbddc",
      "tree": "ca52e5321d429a6b346ef17c629c2186f88c781d",
      "parents": [
        "d63fb6c55f5f9eb3032fc5c3ab6eb9a26dd67cdc"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Jul 01 19:29:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jul 02 13:58:46 2006 -0700"
      },
      "message": "[PATCH] irq-flags: consolidate flags for request_irq\n\nThe recent interrupt rework introduced bit value conflicts with sparc.\nInstead of introducing new architecture flags mess, move the interrupt SA_\nflags out of the signal namespace and replace them by interrupt related flags.\n\nThis allows to remove the obsolete SA_INTERRUPT flag and clean up the bit\nfield values.\n\nThis patch:\n\nMove the interrupt related SA_ flags out of linux/signal.h and rename them to\nIRQF_ .  This moves the interrupt related flags out of the signal namespace\nand allows to remove the architecture dependencies.\n\nSA_INTERRUPT is not needed by userspace and glibc so it can be removed safely.\n\nThe existing SA_ constants are kept for easy transition and will be\nremoved after a 6 month grace period.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nCc: Jaroslav Kysela \u003cperex@suse.cz\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\nCc: Karsten Keil \u003ckkeil@suse.de\u003e\nCc: Jody McIntyre \u003cscjody@modernduck.com\u003e\nCc: Ben Collins \u003cbcollins@debian.org\u003e\nCc: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cB.Zolnierkiewicz@elka.pw.edu.pl\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nCc: Jens Axboe \u003caxboe@suse.de\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Miles Bader \u003cuclinux-v850@lsi.nec.co.jp\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Kazumoto Kojima \u003ckkojima@rr.iij4u.or.jp\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e                                 Cc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Greg Ungerer \u003cgerg@uclinux.org\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ba9a2331bae5da8f65be3722b9e2d210f1987857",
      "tree": "ca7cf6a1cfcab2fc4423eb38832236cfb627eaf2",
      "parents": [
        "7a55713ab456d267815fd5ca3c3d0fd14301f306"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jun 29 02:24:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:24 2006 -0700"
      },
      "message": "[PATCH] genirq: add irq-wake (power-management) support\n\nEnable platforms to set the irq-wake (power-management) properties of an IRQ.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "908dcecda1d18803b5823f30e6c47d2882dc0cf1",
      "tree": "2e40b7484baa65af9aa4460ae958d445725f484f",
      "parents": [
        "a5d6839b75ca4a29b5e0a5595914a8715e8f746d"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Fri Jun 23 02:06:00 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:08 2006 -0700"
      },
      "message": "[PATCH] adjust handle_IRR_event() return type\n\nCorrect the return type of handle_IRQ_event() (inconsistency noticed during\nXen development), and remove redundant declarations.  The return type\nadjustment required breaking out the definition of irqreturn_t into a\nseparate header, in order to satisfy current include order dependencies.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\n\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Ian Molton \u003cspyro@f2s.com\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: Hirokazu Takata \u003ctakata.hirokazu@renesas.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Miles Bader \u003cuclinux-v850@lsi.nec.co.jp\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "62c4f0a2d5a188f73a94f2cb8ea0dba3e7cf0a7f",
      "tree": "e85ca2d0dd43f90dccf758338764c3caa55f333f",
      "parents": [
        "089f26d5e31b7bf42a9a8fefec08b30cd27f4b0e"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "message": "Don\u0027t include linux/config.h from anywhere else in include/\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "1aea6434eebd25e532d2e5ddabf2733af4e1ff0b",
      "tree": "b82aa8135d9c9f01a779be1977c0398cf2b406a8",
      "parents": [
        "ff856bad67cb65cb4dc4ef88b808804fc4265782"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Mon Jan 09 16:03:03 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Mon Jan 09 16:03:03 2006 +0100"
      },
      "message": "[SCSI] Kill the SCSI softirq handling\n\nThis patch moves the SCSI softirq handling to the block layer version.\nThere should be no functional changes.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "ff856bad67cb65cb4dc4ef88b808804fc4265782",
      "tree": "2db1e0be2be1e814cf8fe9bb8d3d7401fb24dd86",
      "parents": [
        "5367f2d67c7d0bf1faae90e6e7b4e2ac3c9b5e0f"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Mon Jan 09 16:02:34 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Mon Jan 09 16:02:34 2006 +0100"
      },
      "message": "[BLOCK] ll_rw_blk: Enable out-of-order request completions through softirq\n\nRequest completion can be a quite heavy process, since it needs to\niterate through the entire request and complete the bio\u0027s it holds.\nThis patch adds blk_complete_request() which moves this processing\ninto a dedicated block softirq.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "ef9ceab28203690a42d7d3915ccf6e208f0762bc",
      "tree": "630d17076f31db1dddad90fc3b2b69d3374e3caf",
      "parents": [
        "987d4613e52e4f655278265aabbcc69237018b1d"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sun Jan 08 01:05:10 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:14:08 2006 -0800"
      },
      "message": "[PATCH] remove semicolons from save_flags()\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f037360f2ed111fe89a8f5cb6ba351f4e9934e53",
      "tree": "5978627d4252a7faf6d4fb9577fe8aa55e5db648",
      "parents": [
        "10ebffde3d3916026974352b7900e44afe2b243f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@parcelfarce.linux.theplanet.co.uk",
        "time": "Sun Nov 13 16:06:57 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Nov 13 18:14:13 2005 -0800"
      },
      "message": "[PATCH] m68k: thread_info header cleanup\n\na) in smp_lock.h #include of sched.h and spinlock.h moved under #ifdef\n   CONFIG_LOCK_KERNEL.\n\nb) interrupt.h now explicitly pulls sched.h (not via smp_lock.h from\n   hardirq.h as it used to)\n\nc) in three more places we need changes to compensate for (a) - one place\n   in arch/sparc needs string.h now, hardirq.h needs forward declaration of\n   task_struct and preempt.h needs direct include of thread_info.h.\n\nd) thread_info-related helpers in sched.h and thread_info.h put under\n   ifndef __HAVE_THREAD_FUNCTIONS.  Obviously safe.\n\nSigned-off-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3f74478b5fd7263e9311cdb320923d599c73a792",
      "tree": "d61962b55cc7bae06cf872f35d8ab3ae753c70c1",
      "parents": [
        "459192c92cde49d1a2f721c90adf45d774c2dcf5"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Mon Sep 12 18:49:24 2005 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Sep 12 10:49:58 2005 -0700"
      },
      "message": "[PATCH] x86-64: Some cleanup and optimization to the processor data area.\n\n- Remove unused irqrsp field\n- Remove pda-\u003eme\n- Optimize set_softirq_pending slightly\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
