)]}'
{
  "log": [
    {
      "commit": "f132c6cf77251e011e1dad0ec88c0b1fda16d5aa",
      "tree": "f04b469a3547a19b7bdbe110adc571eb71c93328",
      "parents": [
        "23016defd7db701a01dc49f972ad6b1bae9651c2",
        "3f6240f3e4e2608caf1a70d614ada658cbcbe7be"
      ],
      "author": {
        "name": "Steve Muckle",
        "email": "smuckle@codeaurora.org",
        "time": "Wed Jun 06 18:30:57 2012 -0700"
      },
      "committer": {
        "name": "Steve Muckle",
        "email": "smuckle@codeaurora.org",
        "time": "Wed Jun 06 18:45:28 2012 -0700"
      },
      "message": "Merge commit \u0027AU_LINUX_ANDROID_ICS.04.00.04.00.126\u0027 into msm-3.4\n\nAU_LINUX_ANDROID_ICS.04.00.04.00.126 from msm-3.0.\nFirst parent is from google/android-3.4.\n\n* commit \u0027AU_LINUX_ANDROID_ICS.04.00.04.00.126\u0027: (8712 commits)\n  PRNG: Device tree entry for qrng device.\n  vidc:1080p: Set video core timeout value for Thumbnail mode\n  msm: sps: improve the debugging support in SPS driver\n  board-8064 msm: Overlap secure and non secure video firmware heaps.\n  msm: clock: Add handoff ops for 7x30 and copper XO clocks\n  msm_fb: display: Wait for external vsync before DTV IOMMU unmap\n  msm: Fix ciruclar dependency in debug UART settings\n  msm: gdsc: Add GDSC regulator driver for msm-copper\n  defconfig: Enable Mobicore Driver.\n  mobicore: Add mobicore driver.\n  mobicore: rename variable to lower case.\n  mobicore: rename folder.\n  mobicore: add makefiles\n  mobicore: initial import of kernel driver\n  ASoC: msm: Add SLIMBUS_2_RX CPU DAI\n  board-8064-gpio: Update FUNC for EPM SPI CS\n  msm_fb: display: Remove chicken bit config during video playback\n  mmc: msm_sdcc: enable the sanitize capability\n  msm-fb: display: lm2 writeback support on mpq platfroms\n  msm_fb: display: Disable LVDS phy \u0026 pll during panel off\n  ...\n\nSigned-off-by: Steve Muckle \u003csmuckle@codeaurora.org\u003e\n"
    },
    {
      "commit": "a76e99abc558aed633ba28ff61c5328116292bf3",
      "tree": "60f7677f0baafa00825accc1214839246b3e78dd",
      "parents": [
        "a54734678ff9cb97938b9f7648547174f3b118e4",
        "1d05f993784973189395051cc711fdd6dd5eb389"
      ],
      "author": {
        "name": "Rohit Vaswani",
        "email": "rvaswani@codeaurora.org",
        "time": "Fri Mar 30 00:09:34 2012 -0700"
      },
      "committer": {
        "name": "Rohit Vaswani",
        "email": "rvaswani@codeaurora.org",
        "time": "Fri Mar 30 00:09:34 2012 -0700"
      },
      "message": "Merge branch \u0027Linux 3.0.21\u0027 into msm-3.0\n\nMerge Upstream\u0027s stable 3.0.21 branch into msm-3.0\nThis consists 814 commits and some merge conflicts.\n\nThe merge conflicts are because of some local changes to\nmsm-3.0 as well as some conflicts between google\u0027s tree and\nthe upstream tree.\n\nConflicts:\n\tarch/arm/kernel/head.S\n\tdrivers/bluetooth/ath3k.c\n\tdrivers/bluetooth/btusb.c\n\tdrivers/mmc/core/core.c\n\tdrivers/tty/serial/serial_core.c\n\tdrivers/usb/host/ehci-hub.c\n\tdrivers/usb/serial/qcserial.c\n\tfs/namespace.c\n\tfs/proc/base.c\n\nChange-Id: I62e2edbe213f84915e27f8cd6e4f6ce23db22a21\nSigned-off-by: Rohit Vaswani \u003crvaswani@codeaurora.org\u003e\n"
    },
    {
      "commit": "9ffc93f203c18a70623f21950f1dd473c9ec48cd",
      "tree": "1eb3536ae183b0bfbf7f5152a6fe4f430ae881c2",
      "parents": [
        "96f951edb1f1bdbbc99b0cd458f9808bb83d58ae"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "message": "Remove all #inclusions of asm/system.h\n\nRemove all #inclusions of asm/system.h preparatory to splitting and killing\nit.  Performed with the following command:\n\nperl -p -i -e \u0027s!^#\\s*include\\s*\u003casm/system[.]h\u003e.*\\n!!\u0027 `grep -Irl \u0027^#\\s*include\\s*\u003casm/system[.]h\u003e\u0027 *`\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "f069686e4bdc60a637d210ea3eea25fcdb82df88",
      "tree": "5a8f9fcafb2edaaf785c0b7f22d176b4cc87ea02",
      "parents": [
        "ac483c446b67870444c9eeaf8325d3d2af9b91bc"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jan 25 20:18:55 2012 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Feb 03 09:48:19 2012 -0500"
      },
      "message": "tracing/softirq: Move __raise_softirq_irqoff() out of header\n\nThe __raise_softirq_irqoff() contains a tracepoint. As tracepoints in headers\ncan cause issues, and not to mention, bloats the kernel when they are\nin a static inline, it is best to move the function that contains the\ntracepoint out of the header and into softirq.c.\n\nLink: http://lkml.kernel.org/r/20120118120711.GB14863@elte.hu\n\nSuggested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "1714337153c9b1fc24eb8597e94f6205183227c5",
      "tree": "54c4657b8b5e91411e2b0580a45852a4bc179f7a",
      "parents": [
        "2c4d6f229d29c4c44b5ea0ccd6b1cf53bc02a594"
      ],
      "author": {
        "name": "Trilok Soni",
        "email": "tsoni@codeaurora.org",
        "time": "Fri Sep 30 10:48:47 2011 +0100"
      },
      "committer": {
        "name": "Trilok Soni",
        "email": "tsoni@codeaurora.org",
        "time": "Sat Dec 10 16:34:15 2011 +0530"
      },
      "message": "genirq: percpu: allow interrupt type to be set at enable time\n\nThe commit 1e7c5fd breaks the build which gets fixed in the\nnext commit 32cffdd.\n\ncommit 1e7c5fd29487ee88cb3abac945bafa60ae026146\nAuthor: Marc Zyngier \u003cmarc.zyngier@arm.com\u003e\nDate:   Fri Sep 30 10:48:47 2011 +0100\n\n    genirq: percpu: allow interrupt type to be set at enable time\n\n    As request_percpu_irq() doesn\u0027t allow for a percpu interrupt to have\n    its type configured (it is generally impossible to configure it on all\n    CPUs at once), add a \u0027type\u0027 argument to enable_percpu_irq().\n\n    This allows some low-level, board specific init code to be switched to\n    a generic API.\n\n    [ tglx: Added WARN_ON argument ]\n\n    Signed-off-by: Marc Zyngier \u003cmarc.zyngier@arm.com\u003e\n    Cc: Abhijeet Dharmapurikar \u003cadharmap@codeaurora.org\u003e\n    Signed-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\ncommit 32cffdde4a3ee6c2d9e0f0a94edecf1a9ce7586b\nAuthor: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nDate:   Tue Oct 4 18:43:57 2011 +0200\n\n    genirq: Fix fatfinered fixup really\n\n    Putting the argument inside the quote does not really help.\n\n    Signed-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\nChange-Id: I1c9e58dd8788b5515f183ec169975d48a329b339\n[tsoni@codeaurora.org: Fixup MSM build failure]\nSigned-off-by: Trilok Soni \u003ctsoni@codeaurora.org\u003e\n"
    },
    {
      "commit": "2c4d6f229d29c4c44b5ea0ccd6b1cf53bc02a594",
      "tree": "5c7401f9bfaee66ff2e2c6d3654039dfb0d154d1",
      "parents": [
        "6f1c405828afce2ac53f5fcacb1312f597e92d33"
      ],
      "author": {
        "name": "Marc Zyngier",
        "email": "marc.zyngier@arm.com",
        "time": "Fri Sep 23 17:03:06 2011 +0100"
      },
      "committer": {
        "name": "Trilok Soni",
        "email": "tsoni@codeaurora.org",
        "time": "Sat Dec 10 16:34:13 2011 +0530"
      },
      "message": "genirq: Add support for per-cpu dev_id interrupts\n\nThe ARM GIC interrupt controller offers per CPU interrupts (PPIs),\nwhich are usually used to connect local timers to each core. Each CPU\nhas its own private interface to the GIC, and only sees the PPIs that\nare directly connect to it.\n\nWhile these timers are separate devices and have a separate interrupt\nline to a core, they all use the same IRQ number.\n\nFor these devices, request_irq() is not the right API as it assumes\nthat an IRQ number is visible by a number of CPUs (through the\naffinity setting), but makes it very awkward to express that an IRQ\nnumber can be handled by all CPUs, and yet be a different interrupt\nline on each CPU, requiring a different dev_id cookie to be passed\nback to the handler.\n\nThe *_percpu_irq() functions is designed to overcome these\nlimitations, by providing a per-cpu dev_id vector:\n\nint request_percpu_irq(unsigned int irq, irq_handler_t handler,\n\t\t   const char *devname, void __percpu *percpu_dev_id);\nvoid free_percpu_irq(unsigned int, void __percpu *);\nint setup_percpu_irq(unsigned int irq, struct irqaction *new);\nvoid remove_percpu_irq(unsigned int irq, struct irqaction *act);\nvoid enable_percpu_irq(unsigned int irq);\nvoid disable_percpu_irq(unsigned int irq);\n\nThe API has a number of limitations:\n- no interrupt sharing\n- no threading\n- common handler across all the CPUs\n\nOnce the interrupt is requested using setup_percpu_irq() or\nrequest_percpu_irq(), it must be enabled by each core that wishes its\nlocal interrupt to be delivered.\n\nBased on an initial patch by Thomas Gleixner.\n\nChange-Id: I3e3d0f36e04added105753d30b2ef07e3d9d6a56\nSigned-off-by: Marc Zyngier \u003cmarc.zyngier@arm.com\u003e\nCc: linux-arm-kernel@lists.infradead.org\nLink: http://lkml.kernel.org/r/1316793788-14500-2-git-send-email-marc.zyngier@arm.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n[kumarrav@codeaurora.org: fixup manage.c merge conflict]\nSigned-off-by: Ravi Kumar \u003ckumarrav@codeaurora.org\u003e\n"
    },
    {
      "commit": "09bb52774e0543390bdba59b67ade093d34e4906",
      "tree": "0515e384685d0898716bfb63cebd4c39be24ee27",
      "parents": [
        "12cb3e734a5616ea0057aee938c553ff6ccbdfbd"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Mon Oct 03 15:37:00 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 11 09:35:54 2011 -0800"
      },
      "message": "genirq: Add IRQF_RESUME_EARLY and resume such IRQs earlier\n\ncommit 9bab0b7fbaceec47d32db51cd9e59c82fb071f5a upstream.\n\nThis adds a mechanism to resume selected IRQs during syscore_resume\ninstead of dpm_resume_noirq.\n\nUnder Xen we need to resume IRQs associated with IPIs early enough\nthat the resched IPI is unmasked and we can therefore schedule\nourselves out of the stop_machine where the suspend/resume takes\nplace.\n\nThis issue was introduced by 676dc3cf5bc3 \"xen: Use IRQF_FORCE_RESUME\".\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nCc: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Jeremy Fitzhardinge \u003cJeremy.Fitzhardinge@citrix.com\u003e\nCc: xen-devel \u003cxen-devel@lists.xensource.com\u003e\nCc: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nLink: http://lkml.kernel.org/r/1318713254.11016.52.camel@dagon.hellion.org.uk\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9bab0b7fbaceec47d32db51cd9e59c82fb071f5a",
      "tree": "19699e2c8463554c09fc44e3672c402687724d44",
      "parents": [
        "32cffdde4a3ee6c2d9e0f0a94edecf1a9ce7586b"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Mon Oct 03 15:37:00 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 17 11:42:49 2011 +0200"
      },
      "message": "genirq: Add IRQF_RESUME_EARLY and resume such IRQs earlier\n\nThis adds a mechanism to resume selected IRQs during syscore_resume\ninstead of dpm_resume_noirq.\n\nUnder Xen we need to resume IRQs associated with IPIs early enough\nthat the resched IPI is unmasked and we can therefore schedule\nourselves out of the stop_machine where the suspend/resume takes\nplace.\n\nThis issue was introduced by 676dc3cf5bc3 \"xen: Use IRQF_FORCE_RESUME\".\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nCc: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Jeremy Fitzhardinge \u003cJeremy.Fitzhardinge@citrix.com\u003e\nCc: xen-devel \u003cxen-devel@lists.xensource.com\u003e\nCc: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nLink: http://lkml.kernel.org/r/1318713254.11016.52.camel@dagon.hellion.org.uk\nCc: stable@kernel.org (at least to 2.6.32.y)\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3f2bc4d6eb5a4fada842462ba22bb6bbb41d00c7",
      "tree": "088e0646c8abcbde263d13ee865ba69032ac86dd",
      "parents": [
        "f06154cc47399dfdb3950d3e6b71d67ee186f69d"
      ],
      "author": {
        "name": "Bryan Huntsman",
        "email": "bryanh@codeaurora.org",
        "time": "Tue Aug 16 17:27:22 2011 -0700"
      },
      "committer": {
        "name": "Bryan Huntsman",
        "email": "bryanh@codeaurora.org",
        "time": "Mon Oct 03 09:57:10 2011 -0700"
      },
      "message": "Initial Contribution\n\nmsm-2.6.38: tag AU_LINUX_ANDROID_GINGERBREAD.02.03.04.00.142\n\nSigned-off-by: Bryan Huntsman \u003cbryanh@codeaurora.org\u003e\n"
    },
    {
      "commit": "1e7c5fd29487ee88cb3abac945bafa60ae026146",
      "tree": "7fc04be24400b851a544ca3edde40f84116ddb95",
      "parents": [
        "31d9d9b6d83030f748d013e61502fa5477e2ac0e"
      ],
      "author": {
        "name": "Marc Zyngier",
        "email": "marc.zyngier@arm.com",
        "time": "Fri Sep 30 10:48:47 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 03 15:35:27 2011 +0200"
      },
      "message": "genirq: percpu: allow interrupt type to be set at enable time\n\nAs request_percpu_irq() doesn\u0027t allow for a percpu interrupt to have\nits type configured (it is generally impossible to configure it on all\nCPUs at once), add a \u0027type\u0027 argument to enable_percpu_irq().\n\nThis allows some low-level, board specific init code to be switched to\na generic API.\n\n[ tglx: Added WARN_ON argument ]\n\nSigned-off-by: Marc Zyngier \u003cmarc.zyngier@arm.com\u003e\nCc: Abhijeet Dharmapurikar \u003cadharmap@codeaurora.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "31d9d9b6d83030f748d013e61502fa5477e2ac0e",
      "tree": "503670b94d594c09daa83c047b426e7b5328aa76",
      "parents": [
        "60f96b41f71d2a13d1c0a457b8b77958f77142d1"
      ],
      "author": {
        "name": "Marc Zyngier",
        "email": "marc.zyngier@arm.com",
        "time": "Fri Sep 23 17:03:06 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 03 15:35:26 2011 +0200"
      },
      "message": "genirq: Add support for per-cpu dev_id interrupts\n\nThe ARM GIC interrupt controller offers per CPU interrupts (PPIs),\nwhich are usually used to connect local timers to each core. Each CPU\nhas its own private interface to the GIC, and only sees the PPIs that\nare directly connect to it.\n\nWhile these timers are separate devices and have a separate interrupt\nline to a core, they all use the same IRQ number.\n\nFor these devices, request_irq() is not the right API as it assumes\nthat an IRQ number is visible by a number of CPUs (through the\naffinity setting), but makes it very awkward to express that an IRQ\nnumber can be handled by all CPUs, and yet be a different interrupt\nline on each CPU, requiring a different dev_id cookie to be passed\nback to the handler.\n\nThe *_percpu_irq() functions is designed to overcome these\nlimitations, by providing a per-cpu dev_id vector:\n\nint request_percpu_irq(unsigned int irq, irq_handler_t handler,\n\t\t   const char *devname, void __percpu *percpu_dev_id);\nvoid free_percpu_irq(unsigned int, void __percpu *);\nint setup_percpu_irq(unsigned int irq, struct irqaction *new);\nvoid remove_percpu_irq(unsigned int irq, struct irqaction *act);\nvoid enable_percpu_irq(unsigned int irq);\nvoid disable_percpu_irq(unsigned int irq);\n\nThe API has a number of limitations:\n- no interrupt sharing\n- no threading\n- common handler across all the CPUs\n\nOnce the interrupt is requested using setup_percpu_irq() or\nrequest_percpu_irq(), it must be enabled by each core that wishes its\nlocal interrupt to be delivered.\n\nBased on an initial patch by Thomas Gleixner.\n\nSigned-off-by: Marc Zyngier \u003cmarc.zyngier@arm.com\u003e\nCc: linux-arm-kernel@lists.infradead.org\nLink: http://lkml.kernel.org/r/1316793788-14500-2-git-send-email-marc.zyngier@arm.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "60063497a95e716c9a689af3be2687d261f115b4",
      "tree": "6ce0d68db76982c53df46aee5f29f944ebf2c320",
      "parents": [
        "148817ba092f9f6edd35bad3c6c6b8e8f90fe2ed"
      ],
      "author": {
        "name": "Arun Sharma",
        "email": "asharma@fb.com",
        "time": "Tue Jul 26 16:09:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:47 2011 -0700"
      },
      "message": "atomic: use \u003clinux/atomic.h\u003e\n\nThis allows us to move duplicated code in \u003casm/atomic.h\u003e\n(atomic_inc_not_zero() for now) to \u003clinux/atomic.h\u003e\n\nSigned-off-by: Arun Sharma \u003casharma@fb.com\u003e\nReviewed-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "09223371deac67d08ca0b70bd18787920284c967",
      "tree": "0ad0354a93ac209c8cfd2b79d03d0462aa3c5c58",
      "parents": [
        "9a432736904d386cda28b987b38ba14dae960ecc"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Tue Jun 14 13:26:25 2011 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Jun 14 15:25:39 2011 -0700"
      },
      "message": "rcu: Use softirq to address performance regression\n\nCommit a26ac2455ffcf3(rcu: move TREE_RCU from softirq to kthread)\nintroduced performance regression. In an AIM7 test, this commit degraded\nperformance by about 40%.\n\nThe commit runs rcu callbacks in a kthread instead of softirq. We observed\nhigh rate of context switch which is caused by this. Out test system has\n64 CPUs and HZ is 1000, so we saw more than 64k context switch per second\nwhich is caused by RCU\u0027s per-CPU kthread.  A trace showed that most of\nthe time the RCU per-CPU kthread doesn\u0027t actually handle any callbacks,\nbut instead just does a very small amount of work handling grace periods.\nThis means that RCU\u0027s per-CPU kthreads are making the scheduler do quite\na bit of work in order to allow a very small amount of RCU-related\nprocessing to be done.\n\nAlex Shi\u0027s analysis determined that this slowdown is due to lock\ncontention within the scheduler.  Unfortunately, as Peter Zijlstra points\nout, the scheduler\u0027s real-time semantics require global action, which\nmeans that this contention is inherent in real-time scheduling.  (Yes,\nperhaps someone will come up with a workaround -- otherwise, -rt is not\ngoing to do well on large SMP systems -- but this patch will work around\nthis issue in the meantime.  And \"the meantime\" might well be forever.)\n\nThis patch therefore re-introduces softirq processing to RCU, but only\nfor core RCU work.  RCU callbacks are still executed in kthread context,\nso that only a small amount of RCU work runs in softirq context in the\ncommon case.  This should minimize ksoftirqd execution, allowing us to\nskip boosting of ksoftirqd for CONFIG_RCU_BOOST\u003dy kernels.\n\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nTested-by: \"Alex,Shi\" \u003calex.shi@intel.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "a26ac2455ffcf3be5c6ef92bc6df7182700f2114",
      "tree": "601697c7c3fd152a1b3f29f43d3a028fc8fefd5f",
      "parents": [
        "12f5f524cafef3ab689929b118f2dfb8bf2be321"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Wed Jan 12 14:10:23 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 05 23:16:54 2011 -0700"
      },
      "message": "rcu: move TREE_RCU from softirq to kthread\n\nIf RCU priority boosting is to be meaningful, callback invocation must\nbe boosted in addition to preempted RCU readers.  Otherwise, in presence\nof CPU real-time threads, the grace period ends, but the callbacks don\u0027t\nget invoked.  If the callbacks don\u0027t get invoked, the associated memory\ndoesn\u0027t get freed, so the system is still subject to OOM.\n\nBut it is not reasonable to priority-boost RCU_SOFTIRQ, so this commit\nmoves the callback invocations to a kthread, which can be boosted easily.\n\nAlso add comments and properly synchronized all accesses to\nrcu_cpu_kthread_task, as suggested by Lai Jiangshan.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "380a26be7d5af83f3831c3b6697031dffbb1c8f3",
      "tree": "e228895a5546b568a8349a97a20f2a606f855175",
      "parents": [
        "286b9bfe8ef6d97213c86bbaf30c250fd1f67568"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 30 00:35:34 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 30 00:35:34 2011 +0200"
      },
      "message": "genirq: Remove now obsolete set_irq_wake()\n\nMissed that one in the big compat remval patch\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "5f6fb45466b2273ffb91c9cf209f164f666c33b1",
      "tree": "2b19f24b678ae379be1b19338c3095c1f76ed41d",
      "parents": [
        "3904afb41d4316f7a2968c615d689e19149a4f84",
        "c0185808eb85139f45dbfd0de66963c498d0c4db"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 19:23:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 19:23:40 2011 -0700"
      },
      "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: (116 commits)\n  x86: Enable forced interrupt threading support\n  x86: Mark low level interrupts IRQF_NO_THREAD\n  x86: Use generic show_interrupts\n  x86: ioapic: Avoid redundant lookup of irq_cfg\n  x86: ioapic: Use new move_irq functions\n  x86: Use the proper accessors in fixup_irqs()\n  x86: ioapic: Use irq_data-\u003estate\n  x86: ioapic: Simplify irq chip and handler setup\n  x86: Cleanup the genirq name space\n  genirq: Add chip flag to force mask on suspend\n  genirq: Add desc-\u003eirq_data accessor\n  genirq: Add comments to Kconfig switches\n  genirq: Fixup fasteoi handler for oneshot mode\n  genirq: Provide forced interrupt threading\n  sched: Switch wait_task_inactive to schedule_hrtimeout()\n  genirq: Add IRQF_NO_THREAD\n  genirq: Allow shared oneshot interrupts\n  genirq: Prepare the handling of shared oneshot interrupts\n  genirq: Make warning in handle_percpu_event useful\n  x86: ioapic: Move trigger defines to io_apic.h\n  ...\n\nFix up trivial(?) conflicts in arch/x86/pci/xen.c due to genirq name\nspace changes clashing with the Xen cleanups.  The set_irq_msi() had\nmoved to xen_bind_pirq_msi_to_irq().\n"
    },
    {
      "commit": "9620639b7ea3843983f4ced8b4c81eb4d8974838",
      "tree": "54266fac3bcf89e61ae06c7d36ca708df6e0ea33",
      "parents": [
        "a926021cb1f8a99a275eaf6eb546102e9469dc59",
        "6d1cafd8b56ea726c10a5a104de57cc3ed8fa953"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:37:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:37:30 2011 -0700"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (26 commits)\n  sched: Resched proper CPU on yield_to()\n  sched: Allow users with sufficient RLIMIT_NICE to change from SCHED_IDLE policy\n  sched: Allow SCHED_BATCH to preempt SCHED_IDLE tasks\n  sched: Clean up the IRQ_TIME_ACCOUNTING code\n  sched: Add #ifdef around irq time accounting functions\n  sched, autogroup: Stop claiming ownership of the root task group\n  sched, autogroup: Stop going ahead if autogroup is disabled\n  sched, autogroup, sysctl: Use proc_dointvec_minmax() instead\n  sched: Fix the group_imb logic\n  sched: Clean up some f_b_g() comments\n  sched: Clean up remnants of sd_idle\n  sched: Wholesale removal of sd_idle logic\n  sched: Add yield_to(task, preempt) functionality\n  sched: Use a buddy to implement yield_task_fair()\n  sched: Limit the scope of clear_buddies\n  sched: Check the right -\u003enr_running in yield_task_fair()\n  sched: Avoid expensive initial update_cfs_load(), on UP too\n  sched: Fix switch_from_fair()\n  sched: Simplify the idle scheduling class\n  softirqs: Account ksoftirqd time as cpustat softirq\n  ...\n"
    },
    {
      "commit": "8d32a307e4faa8b123dc8a9cd56d1a7525f69ad3",
      "tree": "50141928db9f0ac1377dd8bb355d600232d6b38c",
      "parents": [
        "8eb90c30e0e815a1308828352eabd03ca04229dd"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 23 23:52:23 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 26 11:57:18 2011 +0100"
      },
      "message": "genirq: Provide forced interrupt threading\n\nAdd a commandline parameter \"threadirqs\" which forces all interrupts except\nthose marked IRQF_NO_THREAD to run threaded. That\u0027s mostly a debug option to\nallow retrieving better debug data from crashing interrupt handlers. If\n\"threadirqs\" is not enabled on the kernel command line, then there is no\nimpact in the interrupt hotpath.\n\nArchitecture code needs to select CONFIG_IRQ_FORCED_THREADING after\nmarking the interrupts which cant be threaded IRQF_NO_THREAD. All\ninterrupts which have IRQF_TIMER set are implict marked\nIRQF_NO_THREAD. Also all PER_CPU interrupts are excluded.\n\nForced threading hard interrupts also forces all soft interrupt\nhandling into thread context.\n\nWhen enabled it might slow down things a bit, but for debugging problems in\ninterrupt code it\u0027s a reasonable penalty as it does not immediately\ncrash and burn the machine when an interrupt handler is buggy.\n\nSome test results on a Core2Duo machine:\n\nCache cold run of:\n # time git grep irq_desc\n\n      non-threaded       threaded\n real 1m18.741s          1m19.061s\n user 0m1.874s           0m1.757s\n sys  0m5.843s           0m5.427s\n\n # iperf -c server\nnon-threaded\n[  3]  0.0-10.0 sec  1.09 GBytes   933 Mbits/sec\n[  3]  0.0-10.0 sec  1.09 GBytes   934 Mbits/sec\n[  3]  0.0-10.0 sec  1.09 GBytes   933 Mbits/sec\nthreaded\n[  3]  0.0-10.0 sec  1.09 GBytes   939 Mbits/sec\n[  3]  0.0-10.0 sec  1.09 GBytes   934 Mbits/sec\n[  3]  0.0-10.0 sec  1.09 GBytes   937 Mbits/sec\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20110223234956.772668648@linutronix.de\u003e\n"
    },
    {
      "commit": "0c4602ff88d6d6ef0ee6d228ee9acaa6448ff6f5",
      "tree": "0845c74ff325bee5dfc2db5c0ade08eb7dbb9ee7",
      "parents": [
        "9d591edd02a245305b1b9379e4c5571bad4d2774"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 23 23:52:18 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 25 20:24:22 2011 +0100"
      },
      "message": "genirq: Add IRQF_NO_THREAD\n\nSome low level interrupts cannot be threaded even when we force thread\nall interrupt handlers. Add a flag to annotate such interrupts. Add\nall timer interrupts to this category by default.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20110223234956.578893460@linutronix.de\u003e\n"
    },
    {
      "commit": "b5faba21a6805c33b40e258d36f57997ee1de131",
      "tree": "c84ef3357ecd6e1b1cfda623136529db0e5fab6f",
      "parents": [
        "1204e95689f9fbd245a4ce5c1b0cd0a9b77f8d25"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 23 23:52:13 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 25 20:24:21 2011 +0100"
      },
      "message": "genirq: Prepare the handling of shared oneshot interrupts\n\nFor level type interrupts we need to track how many threads are on\nflight to avoid useless interrupt storms when not all thread handlers\nhave finished yet. Keep track of the woken threads and only unmask\nwhen there are no more threads in flight.\n\nYes, I\u0027m lazy and using a bitfield. But not only because I\u0027m lazy, the\nmain reason is that it\u0027s way simpler than using a refcount. A refcount\nbased solution would need to keep track of various things like\ncrashing the irq thread, spurious interrupts coming in,\ndisables/enables, free_irq() and some more. The bitfield keeps the\ntracking simple and makes things just work. It\u0027s also nicely confined\nto the thread code pathes and does not require additional checks all\nover the place.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20110223234956.388095876@linutronix.de\u003e\n"
    },
    {
      "commit": "c78b9b65faa291def628dbd8539649f58299f0f3",
      "tree": "e5575932182c11373e522160491347dce2e0a003",
      "parents": [
        "1277a5325adfc53caac7dd3dac5d3d2fd2a125b4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Dec 16 17:21:47 2010 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:13 2011 +0100"
      },
      "message": "genirq: Implement generic irq_show_interrupts()\n\nAll archs implement show_interrupts() in more or less the same\nway. That\u0027s tons of duplicated code with different bugs with no\nvalue. Implement a generic version and deprecate show_interrupts()\n\nUnfortunately we need some ifdeffery for !GENERIC_HARDIRQ archs.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1535dfacbf21c4da1b73fcf07c39913da5bd5581",
      "tree": "28551fca52e2b636b3fdbc9d0b1e7a1cad06d791",
      "parents": [
        "fe200ae48ef5c79bf7941fe8046ff9505c570ff6"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 07 01:55:43 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:09 2011 +0100"
      },
      "message": "genirq: Move irq thread flags to core\n\nSoleley used in core code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a0cd9ca2b907d7ee26575e7b63ac92dad768a75e",
      "tree": "4b46f7951b9cd76531caf6d4d68d687e1b622336",
      "parents": [
        "43abe43ce0619d744c7a5bb15cce075e532b53b7"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 10 11:36:33 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:06 2011 +0100"
      },
      "message": "genirq: Namespace cleanup\n\nThe irq namespace has become quite convoluted. My bad.  Clean it up\nand deprecate the old functions. All new functions follow the scheme:\n\nirq number based:\n    irq_set/get/xxx/_xxx(unsigned int irq, ...)\n\nirq_data based:\n\t irq_data_set/get/xxx/_xxx(struct irq_data *d, ....)\n\nirq_desc based:\n\t irq_desc_get_xxx(struct irq_desc *desc)\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c9a443cdf7726ce8b78c3177c6ae601ce37292fc",
      "tree": "4191db70a690b8eb7c86d8c3c10f827e4f2ab32a",
      "parents": [
        "285c1a2c3a5f84ce1c811ab4cb1f8a17466e1a06",
        "dc5f219e88294b93009eef946251251ffffb6d60"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 16:38:00 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 16:38:21 2011 +0100"
      },
      "message": "Merge branch \u0027irq/for-xen\u0027 into irq/core\n\nirq/for-xen contains new functionality to avoid Xen private irq\nhackery. That branch has a single irq commit and is pulled by Xen to\nbase their new features on.\n\nMerge it into irq/core as other patches modify the same code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "dc5f219e88294b93009eef946251251ffffb6d60",
      "tree": "d4fd68261803ee6bd90ed4b422053d879352228e",
      "parents": [
        "100b33c8bd8a3235fd0b7948338d6cbb3db3c63d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 04 13:19:20 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 16:36:47 2011 +0100"
      },
      "message": "genirq: Add IRQF_FORCE_RESUME\n\nXen needs to reenable interrupts which are marked IRQF_NO_SUSPEND in the\nresume path. Add a flag to force the reenabling in the resume code.\n\nTested-and-acked-by: Ian Campbell \u003cIan.Campbell@eu.citrix.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4dd53d891ca46dcc1fde0376a33540d3fd83cb9a",
      "tree": "9a6c242176f196c062ae76c50b0f321251900b5a",
      "parents": [
        "f07333bf6ee66d9b49286cec4371cf375e745b7a"
      ],
      "author": {
        "name": "Venkatesh Pallipadi",
        "email": "venki@google.com",
        "time": "Tue Dec 21 17:09:00 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 26 12:33:20 2011 +0100"
      },
      "message": "softirqs: Free up pf flag PF_KSOFTIRQD\n\nCleanup patch, freeing up PF_KSOFTIRQD and use per_cpu ksoftirqd pointer\ninstead, as suggested by Eric Dumazet.\n\nTested-by: Shaun Ruffell \u003csruffell@digium.com\u003e\nSigned-off-by: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1292980144-28796-2-git-send-email-venki@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cd7eab44e9946c28d595abe3e9a43e945bc49141",
      "tree": "b8b0c1beebbcad7785422a463504a374bb43cdea",
      "parents": [
        "1bae4ce27c9c90344f23c65ea6966c50ffeae2f5"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Wed Jan 19 21:01:44 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Jan 22 17:34:25 2011 +0100"
      },
      "message": "genirq: Add IRQ affinity notifiers\n\nWhen initiating I/O on a multiqueue and multi-IRQ device, we may want\nto select a queue for which the response will be handled on the same\nor a nearby CPU.  This requires a reverse-map of IRQ affinity.  Add a\nnotification mechanism to support this.\n\nThis is based closely on work by Thomas Gleixner \u003ctglx@linutronix.de\u003e.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nCc: linux-net-drivers@solarflare.com\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nLKML-Reference: \u003c1295470904.11126.84.camel@bwh-desktop\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f6cd24777513fcc673d432cc29ef59881d3e4df1",
      "tree": "93d08badf3a18e6bcdf2baf97532a8f54fec5a08",
      "parents": [
        "814ce2521121c2459e16cea8c7221e157edbeddd"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Nov 04 11:13:48 2010 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Nov 10 10:21:22 2010 +0100"
      },
      "message": "irq: Better struct irqaction layout\n\nWe currently use kmalloc-96 slab for struct irqaction allocations on\n64bit arches.\n\nThis is unfortunate because of possible false sharing and two cache\nlines accesses.\n\nMove \u0027name\u0027 and \u0027dir\u0027 fields at the end of the structure, and force a\nsuitable alignement.\n\nHot path fields now use one cache line on x86_64.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nReviewed-by: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c1288865628.2659.69.camel@edumazet-laptop\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a042e26137d7674ac04b1cd2d5c06b9ebc1ee2d5",
      "tree": "c1a7a8bda41b99caa4b4a0fe320fc73278879f7d",
      "parents": [
        "f66dd539feb849a3a00f7fac67c026e0935e373a",
        "e25804a0327dad954f7d43803178fdef2fd35b4e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:48:00 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:48:00 2010 -0700"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (50 commits)\n  perf python scripting: Add futex-contention script\n  perf python scripting: Fixup cut\u0027n\u0027paste error in sctop script\n  perf scripting: Shut up \u0027perf record\u0027 final status\n  perf record: Remove newline character from perror() argument\n  perf python scripting: Support fedora 11 (audit 1.7.17)\n  perf python scripting: Improve the syscalls-by-pid script\n  perf python scripting: print the syscall name on sctop\n  perf python scripting: Improve the syscalls-counts script\n  perf python scripting: Improve the failed-syscalls-by-pid script\n  kprobes: Remove redundant text_mutex lock in optimize\n  x86/oprofile: Fix uninitialized variable use in debug printk\n  tracing: Fix \u0027faild\u0027 -\u003e \u0027failed\u0027 typo\n  perf probe: Fix format specified for Dwarf_Off parameter\n  perf trace: Fix detection of script extension\n  perf trace: Use $PERF_EXEC_PATH in canned report scripts\n  perf tools: Document event modifiers\n  perf tools: Remove direct slang.h include\n  perf_events: Fix for transaction recovery in group_sched_in()\n  perf_events: Revert: Fix transaction recovery in group_sched_in()\n  perf, x86: Use NUMA aware allocations for PEBS/BTS/DS allocations\n  ...\n"
    },
    {
      "commit": "b8ecad8b2f8757d51632b1ea6d602c1f7b9760a2",
      "tree": "5a03029dbf02df606fa48a82525eb321e59b5c33",
      "parents": [
        "eea4a0b19a2719e3e23b5450dd9fbe97789d2a57",
        "8bfb5e7d6a14b29cffddd113f4b0be7d9aafc1e8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 23 20:05:43 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 23 20:05:43 2010 +0200"
      },
      "message": "Merge branch \u0027perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 into perf/urgent\n"
    },
    {
      "commit": "02f36038c568111ad4fc433f6fa760ff5e38fab4",
      "tree": "78e6ef15798c6e9d1052eab7f7d3a0db0ec908e5",
      "parents": [
        "6c2754c28f2388a276fe21edde826f2113c8f60e",
        "676cb02dc32adef13d9efb5ea52079e4ede1e3ec",
        "07bd8516a2f967aa67904c68ab97bb896a448b09",
        "50f2d7f682f9c0ed58191d0982fe77888d59d162",
        "892df7f81c31ce7f85778aa78094e8d1f19b8413",
        "68f4d5a00adaab33b136fce2c72d5c377b39b0b0",
        "b365a85c68161ea5db5476eb8845a91ceb1777ea",
        "6554287b1de0448f1e02e200d02b43914e997d15"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 23 08:25:36 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 23 08:25:36 2010 -0700"
      },
      "message": "Merge branches \u0027softirq-for-linus\u0027, \u0027x86-debug-for-linus\u0027, \u0027x86-numa-for-linus\u0027, \u0027x86-quirks-for-linus\u0027, \u0027x86-setup-for-linus\u0027, \u0027x86-uv-for-linus\u0027 and \u0027x86-vm86-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027softirq-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  softirqs: Make wakeup_softirqd static\n\n* \u0027x86-debug-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, asm: Restore parentheses around one pushl_cfi argument\n  x86, asm: Fix ancient-GAS workaround\n  x86, asm: Fix CFI macro invocations to deal with shortcomings in gas\n\n* \u0027x86-numa-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, numa: Assign CPUs to nodes in round-robin manner on fake NUMA\n\n* \u0027x86-quirks-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: HPET force enable for CX700 / VIA Epia LT\n\n* \u0027x86-setup-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, setup: Use string copy operation to optimze copy in kernel compression\n\n* \u0027x86-uv-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, UV: Use allocated buffer in tlb_uv.c:tunables_read()\n\n* \u0027x86-vm86-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, vm86: Fix preemption bug for int1 debug and int3 breakpoint handlers.\n"
    },
    {
      "commit": "4a60cfa9457749f7987fd4f3c956dbba5a281129",
      "tree": "85f3633276282cde0a3ac558d988704eaa3e68af",
      "parents": [
        "62bea97f54d806218a992b18d1f425cfb5060175",
        "27afdf2008da0b8878a73e32e4eb12381b84e224"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 21 14:11:46 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 21 14:11:46 2010 -0700"
      },
      "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: (96 commits)\n  apic, x86: Use BIOS settings for IBS and MCE threshold interrupt LVT offsets\n  apic, x86: Check if EILVT APIC registers are available (AMD only)\n  x86: ioapic: Call free_irte only if interrupt remapping enabled\n  arm: Use ARCH_IRQ_INIT_FLAGS\n  genirq, ARM: Fix boot on ARM platforms\n  genirq: Fix CONFIG_GENIRQ_NO_DEPRECATED\u003dy build\n  x86: Switch sparse_irq allocations to GFP_KERNEL\n  genirq: Switch sparse_irq allocator to GFP_KERNEL\n  genirq: Make sparse_lock a mutex\n  x86: lguest: Use new irq allocator\n  genirq: Remove the now unused sparse irq leftovers\n  genirq: Sanitize dynamic irq handling\n  genirq: Remove arch_init_chip_data()\n  x86: xen: Sanitise sparse_irq handling\n  x86: Use sane enumeration\n  x86: uv: Clean up the direct access to irq_desc\n  x86: Make io_apic.c local functions static\n  genirq: Remove irq_2_iommu\n  x86: Speed up the irq_remapped check in hot pathes\n  intr_remap: Simplify the code further\n  ...\n\nFix up trivial conflicts in arch/x86/Kconfig\n"
    },
    {
      "commit": "f4bc6bb2d562703eafc895c37e7be20906de139d",
      "tree": "e80d4ed1bc925a2236773eff7d68163c534efea3",
      "parents": [
        "750ed158bf6c782d2813da1bca2c824365a0b777"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 19 15:00:13 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Oct 21 16:50:29 2010 +0200"
      },
      "message": "tracing: Cleanup the convoluted softirq tracepoints\n\nWith the addition of trace_softirq_raise() the softirq tracepoint got\neven more convoluted. Why the tracepoints take two pointers to assign\nan integer is beyond my comprehension.\n\nBut adding an extra case which treats the first pointer as an unsigned\nlong when the second pointer is NULL including the back and forth\ntype casting is just horrible.\n\nConvert the softirq tracepoints to take a single unsigned int argument\nfor the softirq vector number and fix the call sites.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLKML-Reference: \u003calpine.LFD.2.00.1010191428560.6815@localhost6.localdomain6\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: mathieu.desnoyers@efficios.com\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\n\n"
    },
    {
      "commit": "b7d0d8258a9f71949b810e0f82a3d75088f4d364",
      "tree": "1e37a6d3e89816abab898e3646a4e23eeb457021",
      "parents": [
        "77dff1c755c3218691e95e7e38ee14323b35dbdb"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Sep 29 18:44:23 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 12 16:53:44 2010 +0200"
      },
      "message": "genirq: Remove arch_init_chip_data()\n\nThis function should have not been there in the first place.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "676cb02dc32adef13d9efb5ea52079e4ede1e3ec",
      "tree": "17e394a2ee1353779922fde0470fdacdd66b446c",
      "parents": [
        "b30a3f6257ed2105259b404d419b4964e363928c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jul 20 23:33:49 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Sep 22 10:15:42 2010 +0200"
      },
      "message": "softirqs: Make wakeup_softirqd static\n\nNo users outside of kernel/softirq.c\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "2bf2160d8805de64308e2e7c3cd97813cb58ed2f",
      "tree": "ae2b275516c7fb6f09f85eacb195c6cde42c68e3",
      "parents": [
        "f6195aa09e618d712f52bf4fa33b5293820eb93d"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Mon Aug 23 18:42:48 2010 +0900"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Sep 07 17:49:34 2010 +0200"
      },
      "message": "irq: Add tracepoint to softirq_raise\n\nAdd a tracepoint for tracing when softirq action is raised.\n\nThis and the existing tracepoints complete softirq\u0027s tracepoints:\nsoftirq_raise, softirq_entry and softirq_exit.\n\nAnd when this tracepoint is used in combination with\nthe softirq_entry tracepoint we can determine\nthe softirq raise latency.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nAcked-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Kaneshige Kenji \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nCc: Izumo Taku \u003cizumi.taku@jp.fujitsu.com\u003e\nCc: Kosaki Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Scott Mcmillan \u003cscott.a.mcmillan@intel.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nLKML-Reference: \u003c4C724298.4050509@jp.fujitsu.com\u003e\n[ factorize softirq events with DECLARE_EVENT_CLASS ]\nSigned-off-by: Koki Sanagi \u003csanagi.koki@jp.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "685fd0b4ea3f0f1d5385610b0d5b57775a8d5842",
      "tree": "44c224195e6500c67812b38ff9fd60c96c6b8dc5",
      "parents": [
        "1a041a23da7c77b53c71fe11b4f940388bee37b1"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Thu Jul 29 11:16:32 2010 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jul 29 13:24:57 2010 +0200"
      },
      "message": "irq: Add new IRQ flag IRQF_NO_SUSPEND\n\nA small number of users of IRQF_TIMER are using it for the implied no\nsuspend behaviour on interrupts which are not timer interrupts.\n\nTherefore add a new IRQF_NO_SUSPEND flag, rename IRQF_TIMER to\n__IRQF_TIMER and redefine IRQF_TIMER in terms of these new flags.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: xen-devel@lists.xensource.com\nCc: linux-input@vger.kernel.org\nCc: linuxppc-dev@ozlabs.org\nCc: devicetree-discuss@lists.ozlabs.org\nLKML-Reference: \u003c1280398595-29708-1-git-send-email-ian.campbell@citrix.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b4e6b09738fde057ce885703705f71cc953d0512",
      "tree": "aacaf3adc99f19281d808d7c5a45ea47161be675",
      "parents": [
        "70ca0a42fe1702ac0784386c44b05d18ee5f1f9e"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri May 21 09:03:01 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 21 10:48:12 2010 -0700"
      },
      "message": "interrupt.h: fix fatal kernel-doc error\n\nFix kernel-doc fatal error:\n/** beginning a non-kernel-doc comment block:\n(That alone does not kill kernel-doc, but the \u0027enum\u0027 was\ntotally confusing to it.)\n\nError(/lnx/src/TMP/linux-2.6.34-git6//include/linux/interrupt.h:88): cannot understand prototype: \u0027enum \u0027\nmake[2]: *** [Documentation/DocBook/genericirq.xml] Error 1\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e7a297b0d7d6049bd4e423ac1e17da31e4c401b8",
      "tree": "f10f12806a637b09bec89ef5428d981c4c1a4bc9",
      "parents": [
        "6932bf37bed45ce8ed531928b1b0f98162fe6df6"
      ],
      "author": {
        "name": "Peter P Waskiewicz Jr",
        "email": "peter.p.waskiewicz.jr@intel.com",
        "time": "Fri Apr 30 14:44:50 2010 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 03 11:50:57 2010 +0200"
      },
      "message": "genirq: Add CPU mask affinity hint\n\nThis patch adds a cpumask affinity hint to the irq_desc structure,\nalong with a registration function and a read-only proc entry for each\ninterrupt.\n\nThis affinity_hint handle for each interrupt can be used by underlying\ndrivers that need a better mechanism to control interrupt affinity.\nThe underlying driver can register a cpumask for the interrupt, which\nwill allow the driver to provide the CPU mask for the interrupt to\nanything that requests it.  The intent is to extend the userspace\ndaemon, irqbalance, to help hint to it a preferred CPU mask to balance\nthe interrupt into.\n\n[ tglx: Fixed compile warnings, added WARN_ON, made SMP only ]\n\nSigned-off-by: Peter P Waskiewicz Jr \u003cpeter.p.waskiewicz.jr@intel.com\u003e\nCc: davem@davemloft.net\nCc: arjan@linux.jf.intel.com\nCc: bhutchings@solarflare.com\nLKML-Reference: \u003c20100430214445.3992.41647.stgit@ppwaskie-hc2.jf.intel.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6932bf37bed45ce8ed531928b1b0f98162fe6df6",
      "tree": "3b7af6b49608cb8e3474bf6cb56f86e712466942",
      "parents": [
        "e58aa3d2d0cc01ad8d6f7f640a0670433f794922"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 26 00:06:55 2010 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Apr 13 16:36:40 2010 +0200"
      },
      "message": "genirq: Remove IRQF_DISABLED from core code\n\nRemove all code which is related to IRQF_DISABLED from the core kernel\ncode. IRQF_DISABLED still exists as a flag, but becomes a NOOP and\nwill be removed after a grace period. That way we can easily revert to\nthe previous behaviour by just restoring the core code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Linus Torvalds \u003ctorvalds@osdl.org\u003e\nLKML-Reference: \u003c20100326000405.991244690@linutronix.de\u003e\n"
    },
    {
      "commit": "ae731f8d0785ccd3380f511bae888933b6562e45",
      "tree": "07db03ce79231153a4ae5df75c0ca4dcd96307c2",
      "parents": [
        "7c7145f6acc68100dbdc5d3c5c64fe3af1c99c89"
      ],
      "author": {
        "name": "Marc Zyngier",
        "email": "maz@misterjones.org",
        "time": "Mon Mar 15 22:56:33 2010 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Apr 13 16:36:39 2010 +0200"
      },
      "message": "genirq: Introduce request_any_context_irq()\n\nNow that we enjoy threaded interrupts, we\u0027re starting to see irq_chip\nimplementations (wm831x, pca953x) that make use of threaded interrupts\nfor the controller, and nested interrupts for the client interrupt. It\nall works very well, with one drawback:\n\nDrivers requesting an IRQ must now know whether the handler will\nrun in a thread context or not, and call request_threaded_irq() or\nrequest_irq() accordingly.\n\nThe problem is that the requesting driver sometimes doesn\u0027t know\nabout the nature of the interrupt, specially when the interrupt\ncontroller is a discrete chip (typically a GPIO expander connected\nover I2C) that can be connected to a wide variety of otherwise perfectly\nsupported hardware.\n\nThis patch introduces the request_any_context_irq() function that mostly\nmimics the usual request_irq(), except that it checks whether the irq\nlevel is configured as nested or not, and calls the right backend.\nOn success, it also returns either IRQC_IS_HARDIRQ or IRQC_IS_NESTED.\n\n[ tglx: Made return value an enum, simplified code and made the export\n  \tof request_any_context_irq GPL ]\n\nSigned-off-by: Marc Zyngier \u003cmaz@misterjones.org\u003e\nCc: \u003cjoachim.eastwood@jotron.com\u003e\nLKML-Reference: \u003c927ea285bd0c68934ddae1a47e44a9ba@localhost\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "663e69592856df53ef52969482ef413a96bc4e06",
      "tree": "7866ab9917d0f4a676b59b37d6e28f354d009872",
      "parents": [
        "24b26d4211130b6455692804c14d537158855cd7"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Nov 04 14:22:21 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Nov 04 14:22:21 2009 +0100"
      },
      "message": "irq: Remove unused debug_poll_all_shared_irqs()\n\ncommit 74296a8ed added this function for debug purposes, but it was\nnever used for anything. Remove it.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "d43c36dc6b357fa1806800f18aa30123c747a6d1",
      "tree": "339ce510073ecbe9b3592008f7dece7b277035ef",
      "parents": [
        "69585dd69e663a40729492c7b52eb82477a2027a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Oct 07 17:09:06 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 11 11:20:58 2009 -0700"
      },
      "message": "headers: remove sched.h from interrupt.h\n\nAfter m68k\u0027s task_thread_info() doesn\u0027t refer to current,\nit\u0027s possible to remove sched.h from interrupt.h and not break m68k!\nMany thanks to Heiko Carstens for allowing this.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\n"
    },
    {
      "commit": "144e2ce6115c0a1ee4cb5c935360ea4e2966b0ce",
      "tree": "432b252a829d617399edf5ec5b7ba01bb5f883b5",
      "parents": [
        "ef79f8e191722dbc1fc33bdfc448f572266c37e9"
      ],
      "author": {
        "name": "Nobuhiro Iwamatsu",
        "email": "iwamatsu.nobuhiro@renesas.com",
        "time": "Mon Jun 15 12:16:54 2009 +0900"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Sep 24 09:34:38 2009 +0930"
      },
      "message": "cpumask: Remove mask field from comments\n\nBy 7be23e278f, mask field was deleted by irqaction. However, it was not\ndeleted from comment.\n\nSigned-off-by: Nobuhiro Iwamatsu \u003ciwamatsu.nobuhiro@renesas.com\u003e\nCC: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "ef79f8e191722dbc1fc33bdfc448f572266c37e9",
      "tree": "941d14d7044f41d84e231aa48b1890a07af5d1d6",
      "parents": [
        "1d1afc1957a441fc75a27517b17437d8af3b3b93"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Sep 24 09:34:37 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Sep 24 09:34:37 2009 +0930"
      },
      "message": "cpumask: remove unused mask field from struct irqaction.\n\nUp until 1.1.83, the primitive human tribes used struct sigaction for\ninterrupts.  The sa_mask field was overloaded to hold a pointer to the\nname.\n\nWhen someone created the new \"struct irqaction\" they carried across\nthe \"mask\" field as a kind of ancestor worship: the fact that it was\nunused makes clear its spiritual significance.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "355bbd8cb82e60a592f6cd86ce6dbe5677615cf4",
      "tree": "23678e50ad4687f1656edc972388ee8014e7b89d",
      "parents": [
        "39695224bd84dc4be29abad93a0ec232a16fc519",
        "746cd1e7e4a555ddaee53b19a46e05c9c61eaf09"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 17:55:15 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 17:55:15 2009 -0700"
      },
      "message": "Merge branch \u0027for-2.6.32\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.32\u0027 of git://git.kernel.dk/linux-2.6-block: (29 commits)\n  block: use blkdev_issue_discard in blk_ioctl_discard\n  Make DISCARD_BARRIER and DISCARD_NOBARRIER writes instead of reads\n  block: don\u0027t assume device has a request list backing in nr_requests store\n  block: Optimal I/O limit wrapper\n  cfq: choose a new next_req when a request is dispatched\n  Seperate read and write statistics of in_flight requests\n  aoe: end barrier bios with EOPNOTSUPP\n  block: trace bio queueing trial only when it occurs\n  block: enable rq CPU completion affinity by default\n  cfq: fix the log message after dispatched a request\n  block: use printk_once\n  cciss: memory leak in cciss_init_one()\n  splice: update mtime and atime on files\n  block: make blk_iopoll_prep_sched() follow normal 0/1 return convention\n  cfq-iosched: get rid of must_alloc flag\n  block: use interrupts disabled version of raise_softirq_irqoff()\n  block: fix comment in blk-iopoll.c\n  block: adjust default budget for blk-iopoll\n  block: fix long lines in block/blk-iopoll.c\n  block: add blk-iopoll, a NAPI like approach for block devices\n  ...\n"
    },
    {
      "commit": "5e605b64a183a6c0e84cdb99a6f8acb1f8200437",
      "tree": "1133a343bea602cb1bd8ee744c5997ce42a69b54",
      "parents": [
        "fb1e75389bd06fd5987e9cda1b4e0305c782f854"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Aug 05 09:07:21 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:33:31 2009 +0200"
      },
      "message": "block: add blk-iopoll, a NAPI like approach for block devices\n\nThis borrows some code from NAPI and implements a polled completion\nmode for block devices. The idea is the same as NAPI - instead of\ndoing the command completion when the irq occurs, schedule a dedicated\nsoftirq in the hopes that we will complete more IO when the iopoll\nhandler is invoked. Devices have a budget of commands assigned, and will\nstay in polled mode as long as they continue to consume their budget\nfrom the iopoll softirq handler. If they do not, the device is set back\nto interrupt completion mode.\n\nThis patch holds the core bits for blk-iopoll, device driver support\nsold separately.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "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"
    }
  ],
  "next": "eb0f1c442d7cf1f7cb746c26c6120bb42e69c49c"
}
