)]}'
{
  "log": [
    {
      "commit": "e7b946e98a456077dd6897f726f3d6197bd7e3b9",
      "tree": "bb76eb06edcef981540774d638a1bd7eaef690ee",
      "parents": [
        "a24ceab4f44f21749aa0b6bd38bee37c775e036f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:29 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:26 2006 -0700"
      },
      "message": "[PATCH] genirq: irq: add moved_masked_irq\n\nCurrently move_native_irq disables and renables the irq we are migrating to\nensure we don\u0027t take that irq when we are actually doing the migration\noperation.  Disabling the irq needs to happen but sometimes doing the work is\nmove_native_irq is too late.\n\nOn x86 with ioapics the irq move sequences needs to be:\nedge_triggered:\n  mask irq.\n  move irq.\n  unmask irq.\n  ack irq.\nlevel_triggered:\n  mask irq.\n  ack irq.\n  move irq.\n  unmask irq.\n\nWe can easily perform the edge triggered sequence, with the current defintion\nof move_native_irq.  However the level triggered case does not map well.  For\nthat I have added move_masked_irq, to allow me to disable the irqs around both\nthe ack and the move.\n\nQ: Why have we not seen this problem earlier?\n\nA: The only symptom I have been able to reproduce is that if we change\n   the vector before acknowleding an irq the wrong irq is acknowledged.\n   Since we currently are not reprogramming the irq vector during\n   migration no problems show up.\n\n   We have to mask the irq before we acknowledge the irq or else we could\n   hit a window where an irq is asserted just before we acknowledge it.\n\n   Edge triggered irqs do not have this problem because acknowledgements\n   do not propogate in the same way.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Rajesh Shah \u003crajesh.shah@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: \"Protasevich, Natalie\" \u003cNatalie.Protasevich@UNISYS.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a24ceab4f44f21749aa0b6bd38bee37c775e036f",
      "tree": "d33625ff3b5f7a7b9b90a6e0e765ad19bfd00195",
      "parents": [
        "f5b9ed7acdcfea4bf73a70dececa7483787503ed"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:27 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:26 2006 -0700"
      },
      "message": "[PATCH] genirq: irq: convert the move_irq flag from a 32bit word to a single bit\n\nThe primary aim of this patchset is to remove maintenances problems caused by\nthe irq infrastructure.  The two big issues I address are an artificially\nsmall cap on the number of irqs, and that MSI assumes vector \u003d\u003d irq.  My\nprimary focus is on x86_64 but I have touched other architectures where\nnecessary to keep them from breaking.\n\n- To increase the number of irqs I modify the code to look at the (cpu,\n  vector) pair instead of just looking at the vector.\n\n  With a large number of irqs available systems with a large irq count no\n  longer need to compress their irq numbers to fit.  Removing a lot of brittle\n  special cases.\n\n  For acpi guys the result is that irq \u003d\u003d gsi.\n\n- Addressing the fact that MSI assumes irq \u003d\u003d vector takes a few more\n  patches.  But suffice it to say when I am done none of the generic irq code\n  even knows what a vector is.\n\nIn quick testing on a large Unisys x86_64 machine we stumbled over at least\none driver that assumed that NR_IRQS could always fit into an 8 bit number.\nThis driver is clearly buggy today.  But this has become a class of bugs that\nit is now much easier to hit.\n\nThis patch:\n\nThis is a minor space optimization.  In practice I don\u0027t think this has any\naffect because of our alignment constraints and the other fields but there is\nnot point in chewing up an uncessary word and since we already read the flag\nfield this should improve the cache hit ratio of the irq handler.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Rajesh Shah \u003crajesh.shah@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: \"Protasevich, Natalie\" \u003cNatalie.Protasevich@UNISYS.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cd916d31cc31273eca8a620fae02b7bf7f577559",
      "tree": "1af0c37c1fd92c90a178ed1a7d1d8b5a90a1ddb8",
      "parents": [
        "4a733ee12618cf3ec25cbc337a5e0ba3ad5d7fb6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 29 02:24:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:22 2006 -0700"
      },
      "message": "[PATCH] genirq: cleanup: merge pending_irq_cpumask[] into irq_desc[]\n\nConsolidation: remove the pending_irq_cpumask[NR_IRQS] array and move it into\nthe irq_desc[NR_IRQS].pending_mask field.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "34ffdb7233d5847808d2b63ca6761dac3af9c942",
      "tree": "3eb73aae034729eac24f7f2ee809ba913b32a51b",
      "parents": [
        "06fcb0c6fb3aae9570a32ac3b72a8222563baa69"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 29 02:24:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:22 2006 -0700"
      },
      "message": "[PATCH] genirq: cleanup: reduce irq_desc_t use, mark it obsolete\n\nCleanup: remove irq_desc_t use from the generic IRQ code, and mark it\nobsolete.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a8553acd6c14e827078779c0a0ee1c18f27b2403",
      "tree": "0dc7b8d52e7fd5c6fba90a9495cfbfa1d4e568e6",
      "parents": [
        "a53da52fd743fd637637572838c0a7af23a2d038"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 29 02:24:38 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:22 2006 -0700"
      },
      "message": "[PATCH] genirq: cleanup: remove irq_descp()\n\nCleanup: remove irq_descp() - explicit use of irq_desc[] is shorter and more\nreadable.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d1bef4ed5faf7d9872337b33c4269e45ae1bf960",
      "tree": "a88c58e3102396382e9137a25a884af14421f6a6",
      "parents": [
        "cfb9e32f2ff32ef5265c1c80fe68dd1a7f03a604"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 29 02:24:36 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:21 2006 -0700"
      },
      "message": "[PATCH] genirq: rename desc-\u003ehandler to desc-\u003echip\n\nThis patch-queue improves the generic IRQ layer to be truly generic, by adding\nvarious abstractions and features to it, without impacting existing\nfunctionality.\n\nWhile the queue can be best described as \"fix and improve everything in the\ngeneric IRQ layer that we could think of\", and thus it consists of many\nsmaller features and lots of cleanups, the one feature that stands out most is\nthe new \u0027irq chip\u0027 abstraction.\n\nThe irq-chip abstraction is about describing and coding and IRQ controller\ndriver by mapping its raw hardware capabilities [and quirks, if needed] in a\nstraightforward way, without having to think about \"IRQ flow\"\n(level/edge/etc.) type of details.\n\nThis stands in contrast with the current \u0027irq-type\u0027 model of genirq\narchitectures, which \u0027mixes\u0027 raw hardware capabilities with \u0027flow\u0027 details.\nThe patchset supports both types of irq controller designs at once, and\nconverts i386 and x86_64 to the new irq-chip design.\n\nAs a bonus side-effect of the irq-chip approach, chained interrupt controllers\n(master/slave PIC constructs, etc.) are now supported by design as well.\n\nThe end result of this patchset intends to be simpler architecture-level code\nand more consolidation between architectures.\n\nWe reused many bits of code and many concepts from Russell King\u0027s ARM IRQ\nlayer, the merging of which was one of the motivations for this patchset.\n\nThis patch:\n\nrename desc-\u003ehandler to desc-\u003echip.\n\nOriginally i did not want to do this, because it\u0027s a big patch.  But having\nboth \"desc-\u003ehandler\", \"desc-\u003ehandle_irq\" and \"action-\u003ehandler\" caused a\nlarge degree of confusion and made the code appear alot less clean than it\ntruly is.\n\nI have also attempted a dual approach as well by introducing a\ndesc-\u003echip alias - but that just wasnt robust enough and broke\nfrequently.\n\nSo lets get over with this quickly.  The conversion was done automatically\nvia scripts and converts all the code in the kernel.\n\nThis renaming patch is the first one amongst the patches, so that the\nremaining patches can stay flexible and can be merged and split up\nwithout having some big monolithic patch act as a merge barrier.\n\n[akpm@osdl.org: build fix]\n[akpm@osdl.org: another build fix]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "89d0cf01c0aa9e8241cc3703a359ecd6abf3c28a",
      "tree": "149611b8bbd430d482299f5b976da6a6cfc1e718",
      "parents": [
        "d20d04bc9befbd752092b4aa42bb8254a1af0776"
      ],
      "author": {
        "name": "Daniel Walker",
        "email": "dwalker@mvista.com",
        "time": "Fri Jun 23 02:05:29 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:04 2006 -0700"
      },
      "message": "[PATCH] invert irq/migration.c brach prediction\n\nIf you get to that point in the code it means that desc-\u003emove_irq is set,\npending_irq_cpumask[irq] and cpu_online_map should have a value.  Still\npretty good chance anding those two you\u0027ll still have a value.  So these\ntwo branch predictors should be inverted.\n\nSigned-off-by: Daniel Walker \u003cdwalker@mvista.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d824e66a9a427faf69c58f98dd7e1c3d1bb51c61",
      "tree": "f2f1050a55e496777896aaac96ebd82cbc62c174",
      "parents": [
        "f6422f17d3a480f21917a3895e2a46b968f56a08"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Apr 10 22:54:04 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:41 2006 -0700"
      },
      "message": "[PATCH] build kernel/irq/migration.c only if CONFIG_GENERIC_PENDING_IRQ is set\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "501f2499b897ca4be68b1acc7a4bc8cf66f5fd24",
      "tree": "279014a8fd8ce1ca43f036e416063e6a795e5889",
      "parents": [
        "c777ac5594f772ac760e02c3ac71d067616b579d"
      ],
      "author": {
        "name": "Bryan Holty",
        "email": "lgeek@frontiernet.net",
        "time": "Sat Mar 25 03:07:37 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:55 2006 -0800"
      },
      "message": "[PATCH] IRQ: prevent enabling of previously disabled interrupt\n\nThis fix prevents re-disabling and enabling of a previously disabled\ninterrupt.  On an SMP system with irq balancing enabled; If an interrupt is\ndisabled from within its own interrupt context with disable_irq_nosync and is\nalso earmarked for processor migration, the interrupt is blindly moved to the\nother processor and enabled without regard for its current \"enabled\" state.\nIf there is an interrupt pending, it will unexpectedly invoke the irq handler\non the new irq owning processor (even though the irq was previously disabled)\n\nThe more intuitive fix would be to invoke disable_irq_nosync and\nenable_irq, but since we already have the desc-\u003elock from __do_IRQ, we\ncannot call them directly.  Instead we can use the same logic to disable\nand enable found in disable_irq_nosync and enable_irq, with regards to the\ndesc-\u003edepth.\n\nThis now prevents a disabled interrupt from being re-disabled, and more\nimportantly prevents a disabled interrupt from being incorrectly enabled on\na different processor.\n\nSigned-off-by: Bryan Holty \u003clgeek@frontiernet.net\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c777ac5594f772ac760e02c3ac71d067616b579d",
      "tree": "3a186fd7c1b63a89bc6c6749b2b234821ee8fdc4",
      "parents": [
        "4cae59d2e85c1ee2ab1ee284db1945c5394cd965"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sat Mar 25 03:07:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:55 2006 -0800"
      },
      "message": "[PATCH] irq: uninline migration functions\n\nUninline some massive IRQ migration functions.  Put them in the new\nkernel/irq/migration.c.\n\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ]
}
