)]}'
{
  "log": [
    {
      "commit": "480390c8f393b3c770b7b71faa094c733bd0ae09",
      "tree": "7b9c01f77c06475bd61d25b1f7a3520029ccf34b",
      "parents": [
        "04ded1672402577cd3f390c764f3046cc704a42a",
        "4af3ce0de0c12e5c17811eaefad36ab8e146c0fd",
        "29d1b16145e78e0f4af54751965c4a09e83bd872"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Dec 19 09:19:49 2011 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Dec 19 09:19:49 2011 -0800"
      },
      "message": "Merge branches \u0027cma\u0027, \u0027mlx4\u0027 and \u0027qib\u0027 into for-next\n"
    },
    {
      "commit": "29d1b16145e78e0f4af54751965c4a09e83bd872",
      "tree": "506014cf176583d3354e953128ceca1c509cc15c",
      "parents": [
        "5611cc4572e889b62a7b4c72a413536bf6a9c416"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Fri Dec 02 12:41:30 2011 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Dec 19 09:19:34 2011 -0800"
      },
      "message": "IB/qib: Correct sense on freectxts increment and decrement\n\nCommit 53ab1c64983 (\"IB/qib: Correct nfreectxts for multiple HCAs\")\nreversed the increments and decrements of dd-\u003enfreectxts.  Fix it.\n\nReviewed-by: Ram Vepa \u003cram.vepa@qlogic.com\u003e\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "4af3ce0de0c12e5c17811eaefad36ab8e146c0fd",
      "tree": "e243880d497d872c1c258799355598c13c00b737",
      "parents": [
        "5611cc4572e889b62a7b4c72a413536bf6a9c416"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Dec 06 10:47:37 2011 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Dec 06 10:47:37 2011 -0800"
      },
      "message": "IB/mlx4: Fix shutdown crash accessing a non-existent bitmap\n\nCommit cfcde11c3d7a (\"IB/mlx4: Use flow counters on IBoE ports\") added\ncode that sets elements of counters[] to -1 if no counter is allocated,\nbut then goes ahead and passes every entry to mlx4_counter_free() on\nshutdown.  This is a bad idea, especially if MLX4_DEV_CAP_FLAG_COUNTERS\nisn\u0027t set so there isn\u0027t even an underlying bitmap to free from.\n\nTested-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "a493f1a24a496711d96b91c4dc0a1bd35eb6954b",
      "tree": "6eaae9b9c9e42b8d2bf5a47324e2ea900d2d29a9",
      "parents": [
        "01b225e18fcb540c5d615ca79ef832473451f118",
        "3874397c0bdec3c21ce071711cd105165179b8eb",
        "580da35a31f91a594f3090b7a2c39b85cb051a12",
        "8ee887d74b3d741991edaa1836d22636c28926d9"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Nov 29 18:01:53 2011 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Nov 29 18:01:53 2011 -0800"
      },
      "message": "Merge branches \u0027cxgb4\u0027, \u0027ipoib\u0027, \u0027misc\u0027 and \u0027qib\u0027 into for-next\n"
    },
    {
      "commit": "580da35a31f91a594f3090b7a2c39b85cb051a12",
      "tree": "8cb8f106fe3c5df725dbde3efd2bfd19e0f38a2e",
      "parents": [
        "1ea6b8f48918282bdca0b32a34095504ee65bab5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Nov 29 22:31:23 2011 +0100"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Nov 29 13:37:11 2011 -0800"
      },
      "message": "IB: Fix RCU lockdep splats\n\nCommit f2c31e32b37 (\"net: fix NULL dereferences in check_peer_redir()\")\nforgot to take care of infiniband uses of dst neighbours.\n\nMany thanks to Marc Aurele who provided a nice bug report and feedback.\n\nReported-by: Marc Aurele La France \u003ctsi@ualberta.ca\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "8ee887d74b3d741991edaa1836d22636c28926d9",
      "tree": "868723496669854e18779c4af3dfcee6575dd517",
      "parents": [
        "042f36e1560cedfe524607791fa44607a3121f63"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Wed Nov 09 17:07:22 2011 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Nov 28 12:17:33 2011 -0800"
      },
      "message": "IB/qib: Fix over-scheduling of QSFP work\n\nDon\u0027t over-schedule QSFP work on driver initialization.  It could end\nup being run simultaneously on two different CPUs resulting in bad\nEEPROM reads.  In combination with setting the physical IB link state\nprior to the IBC being brought out of reset, this can cause the link\nstate machine to start training early with wrong settings.\n\nSigned-off-by: Mitko Haralanov \u003cmitko@qlogic.com\u003e\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "01b225e18fcb540c5d615ca79ef832473451f118",
      "tree": "6516f14b03d731700a6ed0baa6f0ca935fdcdd13",
      "parents": [
        "c34c97ad8c7c3cdacab2327235c2df4454ff1a06"
      ],
      "author": {
        "name": "Kumar Sanghvi",
        "email": "kumaras@chelsio.com",
        "time": "Mon Nov 28 22:09:15 2011 +0530"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Nov 28 11:58:07 2011 -0800"
      },
      "message": "RDMA/cxgb4: Fix retry with MPAv1 logic for MPAv2\n\nFix logic so that we don\u0027t retry with MPAv1 once we have done that\nalready.  Otherwise, we end up retrying with MPAv1 even when its not\nneeded on getting peer aborts - and this could lead to kernel panic.\n\nSigned-off-by: Kumar Sanghvi \u003ckumaras@chelsio.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "c34c97ad8c7c3cdacab2327235c2df4454ff1a06",
      "tree": "846a82fd59ecd0d4730d91c1023584be0b1e8d40",
      "parents": [
        "1ea6b8f48918282bdca0b32a34095504ee65bab5"
      ],
      "author": {
        "name": "Jonathan Lallinger",
        "email": "jonathan@ogc.us",
        "time": "Thu Oct 20 13:25:14 2011 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Nov 28 11:53:05 2011 -0800"
      },
      "message": "RDMA/cxgb4: Fix iw_cxgb4 count_rcqes() logic\n\nFix another place in the code where logic dealing with the t4_cqe was\nusing the wrong QID.  This fixes the counting logic so that it tests\nagainst the SQ QID instead of the RQ QID when counting RCQES.\n\nSigned-off by: Jonathan Lallinger \u003cjonathan@ogc.us\u003e\nSigned-off by: Steve Wise \u003cswise@ogc.us\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "042f36e1560cedfe524607791fa44607a3121f63",
      "tree": "f1becf10c844f2fbc9b2f52d2bf05e23bdd2d3c2",
      "parents": [
        "1ea6b8f48918282bdca0b32a34095504ee65bab5"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Tue Nov 08 13:27:31 2011 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Nov 08 10:37:53 2011 -0800"
      },
      "message": "IB/qib: Don\u0027t use schedule_work()\n\nIt was mistakenly introduced by dde05cbdf8b1 (\"IB/qib: Hold links\nuntil tuning data is available\").\n\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "32aaeffbd4a7457bf2f7448b33b5946ff2a960eb",
      "tree": "faf7ad871d87176423ff9ed1d1ba4d9c688fc23f",
      "parents": [
        "208bca0860406d16398145ddd950036a737c3c9d",
        "67b84999b1a8b1af5625b1eabe92146c5eb42932"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "message": "Merge branch \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\n* \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)\n  Revert \"tracing: Include module.h in define_trace.h\"\n  irq: don\u0027t put module.h into irq.h for tracking irqgen modules.\n  bluetooth: macroize two small inlines to avoid module.h\n  ip_vs.h: fix implicit use of module_get/module_put from module.h\n  nf_conntrack.h: fix up fallout from implicit moduleparam.h presence\n  include: replace linux/module.h with \"struct module\" wherever possible\n  include: convert various register fcns to macros to avoid include chaining\n  crypto.h: remove unused crypto_tfm_alg_modname() inline\n  uwb.h: fix implicit use of asm/page.h for PAGE_SIZE\n  pm_runtime.h: explicitly requires notifier.h\n  linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h\n  miscdevice.h: fix up implicit use of lists and types\n  stop_machine.h: fix implicit use of smp.h for smp_processor_id\n  of: fix implicit use of errno.h in include/linux/of.h\n  of_platform.h: delete needless include \u003clinux/module.h\u003e\n  acpi: remove module.h include from platform/aclinux.h\n  miscdevice.h: delete unnecessary inclusion of module.h\n  device_cgroup.h: delete needless include \u003clinux/module.h\u003e\n  net: sch_generic remove redundant use of \u003clinux/module.h\u003e\n  net: inet_timewait_sock doesnt need \u003clinux/module.h\u003e\n  ...\n\nFix up trivial conflicts (other header files, and  removal of the ab3550 mfd driver) in\n - drivers/media/dvb/frontends/dibx000_common.c\n - drivers/media/video/{mt9m111.c,ov6650.c}\n - drivers/mfd/ab3550-core.c\n - include/linux/dmaengine.h\n"
    },
    {
      "commit": "b8108d6886946cb50434bdbb0214ed81885da8b8",
      "tree": "804ec28a5cc61362b04e130d9d2dec6908758d16",
      "parents": [
        "52439540ea30396982b69662dd21aede6b336288",
        "e4221314a593b00e035f70efbef52021f9a3a5fc",
        "30ab7e230b996f750d4fc24b6bf8214e83effa12"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Nov 04 09:36:04 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Nov 04 09:36:04 2011 -0700"
      },
      "message": "Merge branches \u0027iser\u0027, \u0027mthca\u0027 and \u0027qib\u0027 into for-next\n"
    },
    {
      "commit": "30ab7e230b996f750d4fc24b6bf8214e83effa12",
      "tree": "83028e5d4700e44bd7d7e99c9e0251b39d5d3045",
      "parents": [
        "f470f8d4e702593ee1d0852871ad80373bce707b"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Fri Nov 04 08:26:52 2011 -0400"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Nov 04 09:35:44 2011 -0700"
      },
      "message": "IB/qib: Fix panic in RC error flushing logic\n\nThe following panic can occur when flushing a QP:\n\n    RIP: 0010:[\u003cffffffffa0168e8b\u003e]  [\u003cffffffffa0168e8b\u003e] qib_send_complete+0x3b/0x190 [ib_qib]\n    RSP: 0018:ffff8803cdc6fc90  EFLAGS: 00010046\n    RAX: 0000000000000000 RBX: ffff8803d84ba000 RCX: 0000000000000000\n    RDX: 0000000000000005 RSI: ffffc90015a53430 RDI: ffff8803d84ba000\n    RBP: ffff8803cdc6fce0 R08: ffff8803cdc6fc90 R09: 0000000000000001\n    R10: 00000000ffffffff R11: 0000000000000000 R12: ffff8803d84ba0c0\n    R13: ffff8803d84ba5cc R14: 0000000000000800 R15: 0000000000000246\n    FS:  0000000000000000(0000) GS:ffff880036600000(0000) knlGS:0000000000000000\n    CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b\n    CR2: 0000000000000034 CR3: 00000003e44f9000 CR4: 00000000000406f0\n    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n    DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n    Process qib/0 (pid: 1350, threadinfo ffff8803cdc6e000, task ffff88042728a100)\n    Stack:\n     53544c5553455201 0000000100000005 0000000000000000 ffff8803d84ba000\n     0000000000000000 0000000000000000 0000000000000000 0000000000000000\n     0000000000000000 0000000000000001 ffff8803cdc6fd30 ffffffffa0165d7a\n    Call Trace:\n     [\u003cffffffffa0165d7a\u003e] qib_make_rc_req+0x36a/0xe80 [ib_qib]\n     [\u003cffffffffa0165a10\u003e] ?  qib_make_rc_req+0x0/0xe80 [ib_qib]\n     [\u003cffffffffa01698b3\u003e] qib_do_send+0xf3/0xb60 [ib_qib]\n     [\u003cffffffff814db757\u003e] ? thread_return+0x4e/0x777\n     [\u003cffffffffa01697c0\u003e] ? qib_do_send+0x0/0xb60 [ib_qib]\n     [\u003cffffffff81088bf0\u003e] worker_thread+0x170/0x2a0\n     [\u003cffffffff8108e530\u003e] ?  autoremove_wake_function+0x0/0x40\n     [\u003cffffffff81088a80\u003e] ? worker_thread+0x0/0x2a0\n     [\u003cffffffff8108e1c6\u003e] kthread+0x96/0xa0\n     [\u003cffffffff8100c1ca\u003e] child_rip+0xa/0x20\n     [\u003cffffffff8108e130\u003e] ? kthread+0x0/0xa0\n     [\u003cffffffff8100c1c0\u003e] ? child_rip+0x0/0x20\n    RIP  [\u003cffffffffa0168e8b\u003e] qib_send_complete+0x3b/0x190 [ib_qib]\n\nThe RC error state flush logic in qib_make_rc_req() could return all\nof the acked wqes and potentially have emptied the queue.  It would\nthen unconditionally try return a flush completion via\nqib_send_complete() for an invalid wqe, or worse a valid one that is\nnot queued. The panic results when the completion code tries to\nmaintain an MR reference count for a NULL MR.\n\nThis fix modifies logic to only send one completion per\nqib_make_rc_req() call and changing the completion status from\nIB_WC_SUCCESS to IB_WC_WR_FLUSH_ERR as the completions progress.\n\nThe outer loop will call as many times as necessary to flush the queue.\n\nReviewed-by: Ram Vepa \u003cram.vepa@qlogic.com\u003e\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "e4221314a593b00e035f70efbef52021f9a3a5fc",
      "tree": "6ffdc286c4f414851c52086bfd7aa3a1e0e5e70d",
      "parents": [
        "f470f8d4e702593ee1d0852871ad80373bce707b"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Nov 03 17:48:25 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Nov 03 17:48:25 2011 -0700"
      },
      "message": "IB/mthca: Fix buddy-\u003enum_free allocation size\n\nThe num_free field of mthca_buddy has a type of array of unsigned int\nwhile it was allocated as an array of pointers.  On 64-bit platforms\nthis allocates twice more than required.  Fix this by allocating the\ncorrect size for the type.\n\nThis is the same bug just fixed in mlx4 by Eli Cohen \u003celi@mellanox.co.il\u003e.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n\n"
    },
    {
      "commit": "f470f8d4e702593ee1d0852871ad80373bce707b",
      "tree": "85a67e65c5e5b9777639bd8f4c763a4cf8787e0e",
      "parents": [
        "dc47d3810cdcb4f32bfa31d50f26af97aced0638",
        "504255f8d0480cf293962adf4bc3aecac645ae71"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 01 10:51:38 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 01 10:51:38 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (62 commits)\n  mlx4_core: Deprecate log_num_vlan module param\n  IB/mlx4: Don\u0027t set VLAN in IBoE WQEs\u0027 control segment\n  IB/mlx4: Enable 4K mtu for IBoE\n  RDMA/cxgb4: Mark QP in error before disabling the queue in firmware\n  RDMA/cxgb4: Serialize calls to CQ\u0027s comp_handler\n  RDMA/cxgb3: Serialize calls to CQ\u0027s comp_handler\n  IB/qib: Fix issue with link states and QSFP cables\n  IB/mlx4: Configure extended active speeds\n  mlx4_core: Add extended port capabilities support\n  IB/qib: Hold links until tuning data is available\n  IB/qib: Clean up checkpatch issue\n  IB/qib: Remove s_lock around header validation\n  IB/qib: Precompute timeout jiffies to optimize latency\n  IB/qib: Use RCU for qpn lookup\n  IB/qib: Eliminate divide/mod in converting idx to egr buf pointer\n  IB/qib: Decode path MTU optimization\n  IB/qib: Optimize RC/UC code by IB operation\n  IPoIB: Use the right function to do DMA unmap pages\n  RDMA/cxgb4: Use correct QID in insert_recv_cqe()\n  RDMA/cxgb4: Make sure flush CQ entries are collected on connection close\n  ...\n"
    },
    {
      "commit": "504255f8d0480cf293962adf4bc3aecac645ae71",
      "tree": "5ae8663d2bc2eb9e796bfb689f3e462a14742e06",
      "parents": [
        "2be6053318aa4f2787b7bc5cf5160017d7d1586b",
        "615eb715ae10cbaa8079ab8cacf8f4596be4087a",
        "f7cc25d018f1e9af6767ee7774bbe83452e9fdf4",
        "d32ae393dbf0daf778f9e33b0bc6591cd102391e",
        "a5e12dff757b562bbecd6a2359fdc4c43d4d97de",
        "3e60a77ea218d1915bdc9127f88ab866fd2ac643",
        "787adb9d6ad9afb498a1580a7d8ad05f779c488a",
        "caf6e3f221ddc12ccabd1cd0ba149561db0090d4",
        "cb29688aaa4caa4d54df2976118fe99a839bb433",
        "0f0bee8bbc2b3e49baa703118041f99db9ef41a1",
        "16d99812d58b8af2df29cd337a74cd965b53da04",
        "42849b2697c36abdafa6aef64186b15055392046"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Nov 01 09:37:08 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Nov 01 09:37:08 2011 -0700"
      },
      "message": "Merge branches \u0027amso1100\u0027, \u0027cma\u0027, \u0027cxgb3\u0027, \u0027cxgb4\u0027, \u0027fdr\u0027, \u0027ipath\u0027, \u0027ipoib\u0027, \u0027misc\u0027, \u0027mlx4\u0027, \u0027misc\u0027, \u0027nes\u0027, \u0027qib\u0027 and \u0027xrc\u0027 into for-next\n"
    },
    {
      "commit": "bc3e53f682d93df677dbd5006a404722b3adfe18",
      "tree": "f386c29f13626e2b7d98d5a52525a78a9b59e447",
      "parents": [
        "f11c0ca501af89fc07b0d9f17531ba3b68a4ef39"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Mon Oct 31 17:07:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:46 2011 -0700"
      },
      "message": "mm: distinguish between mlocked and pinned pages\n\nSome kernel components pin user space memory (infiniband and perf) (by\nincreasing the page count) and account that memory as \"mlocked\".\n\nThe difference between mlocking and pinning is:\n\nA. mlocked pages are marked with PG_mlocked and are exempt from\n   swapping. Page migration may move them around though.\n   They are kept on a special LRU list.\n\nB. Pinned pages cannot be moved because something needs to\n   directly access physical memory. They may not be on any\n   LRU list.\n\nI recently saw an mlockalled process where mm-\u003elocked_vm became\nbigger than the virtual size of the process (!) because some\nmemory was accounted for twice:\n\nOnce when the page was mlocked and once when the Infiniband\nlayer increased the refcount because it needt to pin the RDMA\nmemory.\n\nThis patch introduces a separate counter for pinned pages and\naccounts them seperately.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Mike Marciniszyn \u003cinfinipath@qlogic.com\u003e\nCc: Roland Dreier \u003croland@kernel.org\u003e\nCc: Sean Hefty \u003csean.hefty@intel.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fec14d2fcebe824377ef0305babc365d039f6b39",
      "tree": "9fa6b49e51183f84a9ca208a3125a7b221efb983",
      "parents": [
        "b108d9764cff25262bf764542ed1998d3e568962"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Tue Aug 30 12:32:52 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:31:36 2011 -0400"
      },
      "message": "infiniband: add moduleparam.h to drivers/infiniband as required\n\nThese files were getting the moduleparam infrastructure from the\nimplicit presence of module.h being everywhere, but that is going\naway soon.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "b108d9764cff25262bf764542ed1998d3e568962",
      "tree": "12e08e711d77d0f84e4b2fe905a1219dc91c7e46",
      "parents": [
        "e4dd23d753c3cb0d8533d353069e8b2e8a666360"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Fri May 27 15:29:33 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:31:35 2011 -0400"
      },
      "message": "infiniband: add in export.h for files using EXPORT_SYMBOL/THIS_MODULE\n\nThese were getting it implicitly via device.h --\u003e module.h but\nwe are going to stop that when we clean up the headers.\n\nFix these in advance so the tree remains biscect-clean.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "e4dd23d753c3cb0d8533d353069e8b2e8a666360",
      "tree": "8c28dcf2675a55549689fdee90f8ec0a2fb23cf8",
      "parents": [
        "fc87af74af7f856bb8e7585308fb1fdaaa69ec73"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Fri May 27 15:35:46 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:31:35 2011 -0400"
      },
      "message": "infiniband: Fix up module files that need to include module.h\n\nThey had been getting it implicitly via device.h but we can\u0027t\nrely on that for the future, due to a pending cleanup so fix\nit now.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "fc87af74af7f856bb8e7585308fb1fdaaa69ec73",
      "tree": "bc8cfa53f4326402b8c91ead8d0e3cd2982be712",
      "parents": [
        "355b200bacdb6017669cdc5bc9e7b1037aac42a2"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Fri May 27 13:27:45 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:31:34 2011 -0400"
      },
      "message": "infiniband: Fix up users implicitly relying on getting stat.h\n\nThey get it via module.h (via device.h) but we want to clean that up.\nWhen we do, we\u0027ll get things like:\n\n  CC [M]  drivers/infiniband/core/sysfs.o\n  sysfs.c:361: error: \u0027S_IRUGO\u0027 undeclared here (not in a function)\n  sysfs.c:654: error: \u0027S_IWUSR\u0027 undeclared here (not in a function)\n\nso add in the stat header it is using explicitly in advance.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "80a2dcd8d05c11d42f4e606d7a5f3eaa2794ab34",
      "tree": "4407b7481a5382bc10e5f91c77dec3b98f7f8b9c",
      "parents": [
        "bcacb897569f0e7aab7643b22567d8de22ef9dfc"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Mon Oct 10 10:54:42 2011 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Oct 31 11:57:51 2011 -0700"
      },
      "message": "IB/mlx4: Don\u0027t set VLAN in IBoE WQEs\u0027 control segment\n\nThere\u0027s no need to set the vlan-related fields in an IBoE send WQE\ncontrol segment:\n\n - the vlan to be used by a UD QP is set in the datagram segment.\n - for GSI (CM) QP, all the headers down to 8021q and MAC are built by\n   the software anyway.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "bcacb897569f0e7aab7643b22567d8de22ef9dfc",
      "tree": "3f04a8eb2b01b203edc2ca4bb3278cf7016ca582",
      "parents": [
        "a8312755db7ac800c83ec036058c3109892e0949"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Mon Oct 10 10:53:41 2011 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Oct 31 11:55:15 2011 -0700"
      },
      "message": "IB/mlx4: Enable 4K mtu for IBoE\n\nThe IBoE port MTU is derived from the corresponding Ethernet netdevice\nMTU, which can support jumbo frames of 9K, and hence surely supports\nthe max IB mtu of 4K.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "d32ae393dbf0daf778f9e33b0bc6591cd102391e",
      "tree": "a2f79e3e262ebb1454c737fc074e14b6f5e5a020",
      "parents": [
        "581bbe2cd0694a935e0c3ccd7f011e10094f1df6"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@ogc.us",
        "time": "Tue Oct 25 16:38:30 2011 +0530"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Oct 31 11:36:08 2011 -0700"
      },
      "message": "RDMA/cxgb4: Mark QP in error before disabling the queue in firmware\n\nQPs need to be moved to error before telling the firwmare to shutdown\nthe queue.  Otherwise, the application can submit WRs that will never\nget fetched by the hardware and never flushed by the driver.\n\nSigned-off-by: Kumar Sanghvi \u003ckumaras@chelsio.com\u003e\nAcked-by: Steve Wise \u003cswsie@opengridcomputing.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "581bbe2cd0694a935e0c3ccd7f011e10094f1df6",
      "tree": "38e536efa0d05d76964b09836def2210a00b41b5",
      "parents": [
        "e14d62c05c0b8eff61c6fd46b4a78fb27c8cf38b"
      ],
      "author": {
        "name": "Kumar Sanghvi",
        "email": "kumaras@chelsio.com",
        "time": "Mon Oct 24 21:20:21 2011 +0530"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Oct 31 11:34:53 2011 -0700"
      },
      "message": "RDMA/cxgb4: Serialize calls to CQ\u0027s comp_handler\n\nCommit 01e7da6ba53c (\"RDMA/cxgb4: Make sure flush CQ entries are\ncollected on connection close\") introduced a potential problem where a\nCQ\u0027s comp_handler can get called simultaneously from different places\nin the iw_cxgb4 driver.  This does not comply with\nDocumentation/infiniband/core_locking.txt, which states that at a\ngiven point of time, there should be only one callback per CQ should\nbe active.\n\nThis problem was reported by Parav Pandit \u003cParav.Pandit@Emulex.Com\u003e.\nBased on discussion between Parav Pandit and Steve Wise, this patch\nfixes the above problem by serializing the calls to a CQ\u0027s\ncomp_handler using a spin_lock.\n\nReported-by: Parav Pandit \u003cParav.Pandit@Emulex.Com\u003e\nSigned-off-by: Kumar Sanghvi \u003ckumaras@chelsio.com\u003e\nAcked-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "f7cc25d018f1e9af6767ee7774bbe83452e9fdf4",
      "tree": "43d10d7038f8295b4ad92e938b0c705db5ce58b3",
      "parents": [
        "976d167615b64e14bc1491ca51d424e2ba9a5e84"
      ],
      "author": {
        "name": "Kumar Sanghvi",
        "email": "kumaras@chelsio.com",
        "time": "Mon Oct 24 21:20:22 2011 +0530"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Oct 31 11:33:17 2011 -0700"
      },
      "message": "RDMA/cxgb3: Serialize calls to CQ\u0027s comp_handler\n\niw_cxgb3 has a potential problem where a CQ\u0027s comp_handler can get\ncalled simultaneously from different places in iw_cxgb3 driver.  This\ndoes not comply with Documentation/infiniband/core_locking.txt, which\nstates that at a given point of time, there should be only one\ncallback per CQ should be active.\n\nSuch problem was reported by Parav Pandit \u003cParav.Pandit@Emulex.Com\u003e\nfor iw_cxgb4 driver.  Based on discussion between Parav Pandit and\nSteve Wise, this patch fixes the above problem by serializing the\ncalls to a CQ\u0027s comp_handler using a spin_lock.\n\nSigned-off-by: Kumar Sanghvi \u003ckumaras@chelsio.com\u003e\nAcked-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "16d99812d58b8af2df29cd337a74cd965b53da04",
      "tree": "b370dec6b40a274ef2192414ce6377c974dea8d5",
      "parents": [
        "dde05cbdf8b1c404344c370fe6e18ff160d6da6a"
      ],
      "author": {
        "name": "Mitko Haralanov",
        "email": "mitko@qlogic.com",
        "time": "Wed Oct 19 18:46:47 2011 -0400"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Oct 31 10:57:59 2011 -0700"
      },
      "message": "IB/qib: Fix issue with link states and QSFP cables\n\nFix an issue where the link would come up after replugging a cable\neven if it has been DISABLED manually.\n\nSigned-off-by: Mitko Haralanov \u003cmitko@qlogic.com\u003e\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "a5e12dff757b562bbecd6a2359fdc4c43d4d97de",
      "tree": "1a0a922fec52b6169a449949cd0483e46e138271",
      "parents": [
        "97285b78174423e5576b2e06aa45f64df009da5b"
      ],
      "author": {
        "name": "Marcel Apfelbaum",
        "email": "marcela@dev.mellanox.co.il",
        "time": "Mon Oct 03 19:04:20 2011 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Oct 28 11:36:16 2011 -0700"
      },
      "message": "IB/mlx4: Configure extended active speeds\n\n\nSet the extended active speeds based on the hardware configuration.\n\nSigned-off-by: Marcel Apfelbaum \u003cmarcela@dev.mellanox.co.il\u003e\nReviewed-by: Hal Rosenstock \u003chal@mellanox.com\u003e\n\n[ Move FDR-10 handling into ib_link_query_port().  - Roland ]\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "dde05cbdf8b1c404344c370fe6e18ff160d6da6a",
      "tree": "6c480da3c7e8e41ad6b24a51eaa27caeb6ea22b2",
      "parents": [
        "44d75d3d92304a1df8131f48b38de08df9011fa2"
      ],
      "author": {
        "name": "Mitko Haralanov",
        "email": "mitko@qlogic.com",
        "time": "Wed Oct 19 18:46:40 2011 -0400"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Oct 21 15:08:20 2011 -0700"
      },
      "message": "IB/qib: Hold links until tuning data is available\n\nHold the link state machine until the tuning data is read from the\nQSFP EEPROM so correct tuning settings are applied before the state\nmachine attempts to bring the link up.  Link is also held on cable\nunplug in case a different cable is used.\n\nSigned-off-by: Mitko Haralanov \u003cmitko@qlogic.com\u003e\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "44d75d3d92304a1df8131f48b38de08df9011fa2",
      "tree": "90330b16e725d62bb1ee9d1e35b640532d422ccc",
      "parents": [
        "9fd5473deb421eb7e5575a5f9d7e43ca67c04fe9"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Wed Oct 19 16:42:23 2011 -0400"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Oct 21 15:08:18 2011 -0700"
      },
      "message": "IB/qib: Clean up checkpatch issue\n\nThis was probably present from initial submission.\n\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "9fd5473deb421eb7e5575a5f9d7e43ca67c04fe9",
      "tree": "cf4314fee9e1e4f501ac1114ed200c004ebadf91",
      "parents": [
        "d0f2faf72d51dacf5c5e8dec7dca22d0395896e2"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Fri Sep 23 13:17:00 2011 -0400"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Oct 21 09:38:57 2011 -0700"
      },
      "message": "IB/qib: Remove s_lock around header validation\n\nReview of qib_ruc_check_hdr() shows that the s_lock is not required in\nthe normal case.  The r_lock is held in all cases, and protects the qp\nfields that are read.\n\nThe s_lock will be needed to around the call to qib_migrate_qp() to\ninsure that the send engine sees a consistent set of fields.\n\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "d0f2faf72d51dacf5c5e8dec7dca22d0395896e2",
      "tree": "9cdae5f02f9d17dac30c9a140123dc912d897278",
      "parents": [
        "af061a644a0e4d4778fe6cd2246479c1962e153b"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Fri Sep 23 13:16:49 2011 -0400"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Oct 21 09:38:56 2011 -0700"
      },
      "message": "IB/qib: Precompute timeout jiffies to optimize latency\n\nA new field is added to qib_qp called timeout_jiffies. It is\ninitialized upon create and modify.\n\nThe field is now used instead of a computation based on qp-\u003etimeout.\n\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "af061a644a0e4d4778fe6cd2246479c1962e153b",
      "tree": "01ed5c508274adc6e46f99d4091fffe70632711f",
      "parents": [
        "9e1c0e43257b6df1ef012dd37c3f0f93b1ee47af"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Fri Sep 23 13:16:44 2011 -0400"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Oct 21 09:38:54 2011 -0700"
      },
      "message": "IB/qib: Use RCU for qpn lookup\n\nThe heavy weight spinlock in qib_lookup_qpn() is replaced with RCU.\nThe hash list itself is now accessed via jhash functions instead of mod.\n\nThe changes should benefit multiple receive contexts in different\nprocessors by not contending for the lock just to read the hash\nstructures.\n\nThe patch also adds a lookaside_qp (pointer) and a lookaside_qpn in\nthe context.  The interrupt handler will test the current packet\u0027s qpn\nagainst lookaside_qpn if the lookaside_qp pointer is non-NULL.  The\npointer is NULL\u0027ed when the interrupt handler exits.\n\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "9e1c0e43257b6df1ef012dd37c3f0f93b1ee47af",
      "tree": "be40833860d385491b1ac8fa13dffe414954ee76",
      "parents": [
        "cc6ea1385b43487f6ef03bdc91416c8366d28311"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Fri Sep 23 13:16:39 2011 -0400"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Oct 21 09:38:52 2011 -0700"
      },
      "message": "IB/qib: Eliminate divide/mod in converting idx to egr buf pointer\n\nThe context init now saves a shift from rcvegrbufs_perchunk\nrcvegrbufs_perchunk_shift using ilog2.   A BUG_ON() protects the\npower of 2 assumption.\n\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "cc6ea1385b43487f6ef03bdc91416c8366d28311",
      "tree": "013266a6ebb9c9e810761677614bddd42a45932b",
      "parents": [
        "2fc109c890f7d9620cfed8d439be071a8b2a8bbd"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Fri Sep 23 13:16:34 2011 -0400"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Oct 21 09:38:50 2011 -0700"
      },
      "message": "IB/qib: Decode path MTU optimization\n\nStore both the encoded and decoded MTU in the QP structure as a minor\noptimization for UC/RC receive routines.\n\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "2fc109c890f7d9620cfed8d439be071a8b2a8bbd",
      "tree": "4d00e76ae4ea129a68321993bdb4190b3c7bca02",
      "parents": [
        "53ab1c6498371723c31b18400fab10a902a15a63"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Fri Sep 23 13:16:29 2011 -0400"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Oct 21 09:38:49 2011 -0700"
      },
      "message": "IB/qib: Optimize RC/UC code by IB operation\n\nThe memset for zeroing work completions had been unconditional.\n\nThis patch removes the memset and moves the zeroing into the work\ncompletion with a more explicit field by field set.  With this patch,\nnon-ONLY/non-LAST packets will avoid the overhead since they will not\ngenerate a completion.\n\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "9e903e085262ffbf1fc44a17ac06058aca03524a",
      "tree": "4acefc97ba38c1733474d25c0b2053b56af97db1",
      "parents": [
        "dd767856a36e00b631d65ebc4bb81b19915532d6"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Oct 18 21:00:24 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 19 03:10:46 2011 -0400"
      },
      "message": "net: add skb frag size accessors\n\nTo ease skb-\u003etruesize sanitization, its better to be able to localize\nall references to skb frags size.\n\nDefine accessors : skb_frag_size() to fetch frag size, and\nskb_frag_size_{set|add|sub}() to manipulate it.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e14d62c05c0b8eff61c6fd46b4a78fb27c8cf38b",
      "tree": "bc47a8d6e12ac7d3ef12aa5de600d2bd5c62ff97",
      "parents": [
        "01e7da6ba53ca4d6189a1eae45607c0331c871f2"
      ],
      "author": {
        "name": "Jonathan Lallinger",
        "email": "jonathan@ogc.us",
        "time": "Thu Oct 13 13:56:59 2011 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Oct 14 14:23:40 2011 -0700"
      },
      "message": "RDMA/cxgb4: Use correct QID in insert_recv_cqe()\n\nWhen creating flushed receive CQEs, set the QPID field in the t4_cqe\nto the SQ QID and not the RQ QID.  Otherwise the poll code will not\nfind the correct QP context.\n\nSigned-off by: Jonathan Lallinger \u003cjonathan@ogc.us\u003e\nSigned-off by: Steve Wise \u003cswise@ogc.us\u003e\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "01e7da6ba53ca4d6189a1eae45607c0331c871f2",
      "tree": "01cf49e2294c455d0ee2536d47e9d2e5550057ec",
      "parents": [
        "9efe10a1e1a1ab1dba0af0f520e0697f6e81ebf1"
      ],
      "author": {
        "name": "Kumar Sanghvi",
        "email": "kumaras@chelsio.com",
        "time": "Thu Oct 13 13:51:30 2011 +0530"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Oct 14 14:23:04 2011 -0700"
      },
      "message": "RDMA/cxgb4: Make sure flush CQ entries are collected on connection close\n\nAt the time when a peer closes the connection, iw_cxgb4 will not send\na cq event if ibqp.uobject exists.  In that case, its possible for a\nuser application to get blocked in ibv_get_cq_event().\n\nTo resolve this, call the cq\u0027s comp_handler to unblock any read from\nibv_get_cq_event().  This will trigger userspace to poll the cq and\ncollect flush status completions for any pending work requests.\n\nSigned-off-by: Kumar Sanghvi \u003ckumaras@chelsio.com\u003e\nAcked-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "42849b2697c36abdafa6aef64186b15055392046",
      "tree": "40d683c9321a7d689aa8f0f765a31e4c4ad4fc02",
      "parents": [
        "0e0ec7e0638ef48e0c661873dfcc8caccab984c6"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Thu Aug 11 13:57:43 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:50:56 2011 -0700"
      },
      "message": "RDMA/uverbs: Export ib_open_qp() capability to user space\n\nAllow processes that share the same XRC domain to open an existing\nshareable QP.  This permits those processes to receive events on the\nshared QP and transfer ownership, so that any process may modify the\nQP.  The latter allows the creating process to exit, while a remaining\nprocess can still transition it for path migration purposes.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "0a1405da9952a72dd587829a3321695adde7dca1",
      "tree": "b22e101a1555a65b2f9c75fa1315f51a8c5f5f7e",
      "parents": [
        "18abd5ea571608a7c726fc56e21d3e31f9febfd0"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Thu Jun 02 11:32:15 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:44:18 2011 -0700"
      },
      "message": "IB/mlx4: Add support for XRC QPs\n\nSupport the creation of XRC INI and TGT QPs.  To handle the case where\na CQ or PD is not provided, we allocate them internally with the xrcd.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "18abd5ea571608a7c726fc56e21d3e31f9febfd0",
      "tree": "e2694cadf06a995e658ec30f7a3bd22835dcda7a",
      "parents": [
        "012a8ff577f95211c6ffd3b77a94c34ebae009b6"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Thu Jun 02 10:43:26 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:43:46 2011 -0700"
      },
      "message": "IB/mlx4: Add support for XRC SRQs\n\nAllow the user to create XRC SRQs.  This patch is based on a patch\nfrom Jack Morgenstrein \u003cjackm@dev.mellanox.co.il\u003e.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "012a8ff577f95211c6ffd3b77a94c34ebae009b6",
      "tree": "7d1e8d3ca131cc46ca12e879c4554870e0be76f2",
      "parents": [
        "2622e18ef407a8e8e3ddc3d6f0c77b756c493798"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Thu Jun 02 09:01:33 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:43:03 2011 -0700"
      },
      "message": "IB/mlx4: Add support for XRC domains\n\nSupport creating and destroying XRC domains.  Any sharing of the XRCD\nis managed above the low-level driver.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "96104eda01695a26da2c8f7423ec0ba3509c8c97",
      "tree": "04e38bfe564245ebd9a62738d54a111b2d24da4a",
      "parents": [
        "59991f94eb32e954aa767f659eb642461e9e8b37"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Mon May 23 16:31:36 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:13:26 2011 -0700"
      },
      "message": "RDMA/core: Add SRQ type field\n\nCurrently, there is only a single (\"basic\") type of SRQ, but with XRC\nsupport we will add a second.  Prepare for this by defining an SRQ type\nand setting all current users to IB_SRQT_BASIC.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "3e60a77ea218d1915bdc9127f88ab866fd2ac643",
      "tree": "f0558ce37c96029d3a67944295179ddb879d8059",
      "parents": [
        "976d167615b64e14bc1491ca51d424e2ba9a5e84"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Fri Oct 07 13:59:41 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Oct 10 12:01:22 2011 -0700"
      },
      "message": "IB/ipath: Add missing \u003clinux/stat.h\u003e in ipath_chip_init.c\n\nFix build errors:\n\n    drivers/infiniband/hw/ipath/ipath_init_chip.c:54:1: error: \u0027S_IRUGO\u0027 undeclared here (not in a function)\n    drivers/infiniband/hw/ipath/ipath_init_chip.c:54:1: error: bit-field \u0027\u003canonymous\u003e\u0027 width not an integer constant\n    drivers/infiniband/hw/ipath/ipath_init_chip.c:67:1: error: \u0027S_IWUSR\u0027 undeclared here (not in a function)\n    drivers/infiniband/hw/ipath/ipath_init_chip.c:67:1: error: bit-field \u0027\u003canonymous\u003e\u0027 width not an integer constant\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "0f0bee8bbc2b3e49baa703118041f99db9ef41a1",
      "tree": "3a4598c74f2dcab76fcf8a6cb3d533f8582bf613",
      "parents": [
        "6224c7eeff586e9dbf51b872d7e0bae291fa00ed"
      ],
      "author": {
        "name": "Faisal Latif",
        "email": "faisal.latif@intel.com",
        "time": "Sun Sep 25 20:34:00 2011 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Oct 10 10:54:47 2011 -0700"
      },
      "message": "RDMA/nes: Support for Packed And Unaligned fpdus\n\nSupport for Packed and Unaligned (PAU) FPDUs is needed for\ninteroperability between NES and non-NES nodes. When the NES hardware\ndetects a PAU frame, it will pass it to the driver to process the\nframe.  NES driver creates a new frame for each FPDU and forwards it\nto the hardware to be sent to its associated qp.\n\nSigned-off-by: Tatyana Nikolova \u003cTatyana.E.Nikolova@intel.com\u003e\nSigned-off-by: Faisal Latif \u003cFaisal.Latif@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "6224c7eeff586e9dbf51b872d7e0bae291fa00ed",
      "tree": "acdc9b15f77f440e53c4fcbc1aed592667857e8a",
      "parents": [
        "bab3a9f43f211554626e189519b91ab9ef952f2d"
      ],
      "author": {
        "name": "Faisal Latif",
        "email": "faisal.latif@intel.com",
        "time": "Sun Sep 25 20:33:44 2011 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Oct 10 10:51:21 2011 -0700"
      },
      "message": "RDMA/nes: Print IP address for critcal errors\n\nPrint the IP address of the remote host when a critical asynchronous event is\nreceived.\n\nSigned-off-by: Tatyana Nikolova \u003cTatyana.E.Nikolova@intel.com\u003e\nSigned-off-by: Faisal Latif \u003cFaisal.Latif@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "bab3a9f43f211554626e189519b91ab9ef952f2d",
      "tree": "5a5c0dbb2b4a4238f77a55bf6cbc98d9b410c806",
      "parents": [
        "e2e435f290795e409a649423f19574ba77942854"
      ],
      "author": {
        "name": "Faisal Latif",
        "email": "faisal.latif@intel.com",
        "time": "Sun Sep 25 20:27:52 2011 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Oct 10 10:47:44 2011 -0700"
      },
      "message": "RDMA/nes: Fix terminate connection\n\nFixes a crash that occurs during close when error async event is received.\nTerminate message is not sent to the remote node if already processing close.\n\nSigned-off-by: Tatyana Nikolova \u003cTatyana.E.Nikolova@intel.com\u003e\nSigned-off-by: Faisal Latif \u003cFaisal.Latif@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "88c5100c28b02c4b2b2c6f6fafbbd76d90f698b9",
      "tree": "08c4399e0341f7eb0ccb24e15f2cab687275c2a4",
      "parents": [
        "8083f0fc969d9b5353061a7a6f963405057e26b1",
        "3ee72ca99288f1de95ec9c570e43f531c8799f06"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 07 13:38:43 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 07 13:38:43 2011 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of github.com:davem330/net\n\nConflicts:\n\tnet/batman-adv/soft-interface.c\n"
    },
    {
      "commit": "5d6bcdfe38ce883946aebf751a64695471ce1ab5",
      "tree": "b59bf91fab666e8d8bd7dfb20b70c42d422e6bfa",
      "parents": [
        "27737aa3a9f65012b3656b71e0ff230a4811da4d"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Thu Oct 06 11:10:48 2011 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 06 16:17:20 2011 -0400"
      },
      "message": "net: use DMA_x_DEVICE and dma_mapping_error with skb_frag_dma_map\n\nWhen I converted some drivers from pci_map_page to skb_frag_dma_map I\nneglected to convert PCI_DMA_xDEVICE into DMA_x_DEVICE and\npci_dma_mapping_error into dma_mapping_error.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "615eb715ae10cbaa8079ab8cacf8f4596be4087a",
      "tree": "f572416bbae3d1f9e34949fdc4d32c4ed6204984",
      "parents": [
        "d2fe99e86bb2ccbb87df20b0136d5983b6a4cc09"
      ],
      "author": {
        "name": "Tatyana Nikolova",
        "email": "Tatyana.E.Nikolova@intel.com",
        "time": "Sun Sep 25 20:17:46 2011 +0530"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 06 09:39:45 2011 -0700"
      },
      "message": "RDMA/nes: Add support for MPAv2 Enhanced RDMA Negotiation\n\nThis patch adds support for Enhanced RDMA Connection Establishment\n(draft-ietf-storm-mpa-peer-connect-06), aka MPAv2.  Details of draft\ncan be obtained from:\n\u003chttp://www.ietf.org/id/draft-ietf-storm-mpa-peer-connect-06.txt\u003e\n\nFor backwards compatibility, the MPAv2 enabled driver reverts to MPAv1\nif the remote node doesn\u0027t support MPAv2.\n\nSigned-off-by: Tatyana Nikolova \u003cTatyana.E.Nikolova@intel.com\u003e\nSigned-off-by: Faisal Latif \u003cFaisal.Latif@intel.com\u003e\nReviewed-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "d2fe99e86bb2ccbb87df20b0136d5983b6a4cc09",
      "tree": "2978723397dc5f036f30a1dcf316854310001b62",
      "parents": [
        "56da00fc92e6f227874bba36f127ffc8847ee1f8"
      ],
      "author": {
        "name": "Kumar Sanghvi",
        "email": "kumaras@chelsio.com",
        "time": "Sun Sep 25 20:17:44 2011 +0530"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 06 09:39:24 2011 -0700"
      },
      "message": "RDMA/cxgb4: Add support for MPAv2 Enhanced RDMA Negotiation\n\nThis patch adds support for Enhanced RDMA Connection Establishment\n(draft-ietf-storm-mpa-peer-connect-06), aka MPAv2.  Details of draft\ncan be obtained from:\n\u003chttp://www.ietf.org/id/draft-ietf-storm-mpa-peer-connect-06.txt\u003e\n\nThe patch updates the following functions for initiator perspective:\n - send_mpa_request\n - process_mpa_reply\n - post_terminate for TERM error codes\n - destroy_qp for TERM related change\n - adds layer/etype/ecode to c4iw_qp_attrs for sending with TERM\n - peer_abort for retrying connection attempt with MPA_v1 message\n - added c4iw_reconnect function\n\nThe patch updates the following functions for responder perspective:\n - process_mpa_request\n - send_mpa_reply\n - c4iw_accept_cr\n - passes ird/ord to upper layers\n\nSigned-off-by: Kumar Sanghvi \u003ckumaras@chelsio.com\u003e\nReviewed-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "56da00fc92e6f227874bba36f127ffc8847ee1f8",
      "tree": "fd52112c58b541ad820b48c5001022f7e62f265d",
      "parents": [
        "3ebeebc38b4b13384aba97f2e4acd6b48d47a65c"
      ],
      "author": {
        "name": "Kumar Sanghvi",
        "email": "kumaras@chelsio.com",
        "time": "Sun Sep 25 20:17:45 2011 +0530"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 06 09:39:01 2011 -0700"
      },
      "message": "RDMA/{amso1100,cxgb3}: Minimal MPAv2 support\n\nAs part of MPAv2 Enhanced RDMA Negotiation, pass max supported ird/ord\nvalues upwards for the time being in iw_cxgb3 and amso1100.\n\nSigned-off-by: Kumar Sanghvi \u003ckumaras@chelsio.com\u003e\nReviewed-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "53ab1c6498371723c31b18400fab10a902a15a63",
      "tree": "df710c8c65b897c6738263f976da825d00e406af",
      "parents": [
        "976d167615b64e14bc1491ca51d424e2ba9a5e84"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Thu Oct 06 09:33:35 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 06 09:33:35 2011 -0700"
      },
      "message": "IB/qib: Correct nfreectxts for multiple HCAs\n\nThe code that was recently introduced to report the number\nof free contexts is flawed for multiple HCAs:\n\n       /* Return the number of free user ports (contexts) available. */\n       return scnprintf(buf, PAGE_SIZE, \"%u\\n\", dd-\u003ecfgctxts -\n                dd-\u003efirst_user_ctxt - (u32)qib_stats.sps_ctxts);\n\nThe qib_stats is global to the module, not per HCA, so the code is broken\nfor multiple HCAs.\n\nThis patch adds a qib_devdata field, freectxts, that reflects the free\ncontexts for this HCA.\n\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nReviewed-by: Ram Vepa \u003cram.vepa@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "e2e435f290795e409a649423f19574ba77942854",
      "tree": "826759466f4998627fcf4edc123de0b47f6daed3",
      "parents": [
        "976d167615b64e14bc1491ca51d424e2ba9a5e84"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Thu Oct 06 09:33:24 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 06 09:33:24 2011 -0700"
      },
      "message": "RDMA/nes: Add missing calls to ib_umem_release()\n\nAdd calls to ib_umem_release(), as in the other error-handling code in\nnes_reg_user_mr().\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "10889a36437ffe92c9b81041525ac9661a8f2c92",
      "tree": "88e67b7e3850a898e1f02af94e63aa0393b795c3",
      "parents": [
        "976d167615b64e14bc1491ca51d424e2ba9a5e84"
      ],
      "author": {
        "name": "Yong Zhang",
        "email": "yong.zhang0@gmail.com",
        "time": "Thu Oct 06 09:33:04 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 06 09:33:04 2011 -0700"
      },
      "message": "IB/ehca: Remove IRQF_DISABLED, since it\u0027s a no-op\n\nSince commit e58aa3d2d0cc (\"genirq: Run irq handlers with interrupts\ndisabled\"), we run all interrupt handlers with interrupts disabled and\nwe even check and yell when an interrupt handler returns with\ninterrupts enabled -- cf commit b738a50a2026 (\"genirq: Warn when\nhandler enables interrupts\").\n\nSo now this flag is a no-op and can be removed.\n\nSigned-off-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nAcked-by: Hoang-Nam Nguyen \u003chnguyen@de.ibm.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "9efe10a1e1a1ab1dba0af0f520e0697f6e81ebf1",
      "tree": "1c5d3c84ee7cdb3c0d668ce5ce77217242c078bc",
      "parents": [
        "976d167615b64e14bc1491ca51d424e2ba9a5e84"
      ],
      "author": {
        "name": "Steve Wise",
        "email": "swise@opengridcomputing.com",
        "time": "Thu Oct 06 09:32:44 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 06 09:32:44 2011 -0700"
      },
      "message": "RDMA/cxgb4: Fail RDMA initialization for unsupported cards\n\nThe iw_cxgb4 module crashes at init time if the T4 card does not\nsupport RDMA.  So clean up the init logic to correctly deal with\nnon-RDMA cards.\n\n - If any RDMA resources are not available, then fail the initialization\n   logging an info message.\n - Clean up properly on initialization failures.\n\nSigned-off-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "2be6053318aa4f2787b7bc5cf5160017d7d1586b",
      "tree": "2b8450985fda128b6b981e8cca7245963ec334c9",
      "parents": [
        "976d167615b64e14bc1491ca51d424e2ba9a5e84"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "andriy.shevchenko@linux.intel.com",
        "time": "Thu Oct 06 09:32:24 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 06 09:32:24 2011 -0700"
      },
      "message": "RDMA/amso1100: Use \u0027%pM\u0027 format option to print MAC\n\nSigned-off-by: Andy Shevchenko \u003candriy.shevchenko@linux.intel.com\u003e\nAcked-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "e48f129c2f200dde8899f6ea5c6e7173674fc482",
      "tree": "9f5acdec1e31c12a7382e26dd173e904fc7fb2a3",
      "parents": [
        "3538a001ea7db13fa1be2966b71f69d808acff01"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Tue Sep 06 13:59:13 2011 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Mon Sep 26 09:28:01 2011 -0500"
      },
      "message": "[SCSI] cxgb3i: convert cdev-\u003el2opt to use rcu to prevent NULL dereference\n\nThis oops was reported recently:\nd:mon\u003e e\ncpu 0xd: Vector: 300 (Data Access) at [c0000000fd4c7120]\n    pc: d00000000076f194: .t3_l2t_get+0x44/0x524 [cxgb3]\n    lr: d000000000b02108: .init_act_open+0x150/0x3d4 [cxgb3i]\n    sp: c0000000fd4c73a0\n   msr: 8000000000009032\n   dar: 0\n dsisr: 40000000\n  current \u003d 0xc0000000fd640d40\n  paca    \u003d 0xc00000000054ff80\n    pid   \u003d 5085, comm \u003d iscsid\nd:mon\u003e t\n[c0000000fd4c7450] d000000000b02108 .init_act_open+0x150/0x3d4 [cxgb3i]\n[c0000000fd4c7500] d000000000e45378 .cxgbi_ep_connect+0x784/0x8e8 [libcxgbi]\n[c0000000fd4c7650] d000000000db33f0 .iscsi_if_rx+0x71c/0xb18\n[scsi_transport_iscsi2]\n[c0000000fd4c7740] c000000000370c9c .netlink_data_ready+0x40/0xa4\n[c0000000fd4c77c0] c00000000036f010 .netlink_sendskb+0x4c/0x9c\n[c0000000fd4c7850] c000000000370c18 .netlink_sendmsg+0x358/0x39c\n[c0000000fd4c7950] c00000000033be24 .sock_sendmsg+0x114/0x1b8\n[c0000000fd4c7b50] c00000000033d208 .sys_sendmsg+0x218/0x2ac\n[c0000000fd4c7d70] c00000000033f55c .sys_socketcall+0x228/0x27c\n[c0000000fd4c7e30] c0000000000086a4 syscall_exit+0x0/0x40\n--- Exception: c01 (System Call) at 00000080da560cfc\n\nThe root cause was an EEH error, which sent us down the offload_close path in\nthe cxgb3 driver, which in turn sets cdev-\u003el2opt to NULL, without regard for\nupper layer driver (like the cxgbi drivers) which might have execution contexts\nin the middle of its use. The result is the oops above, when t3_l2t_get attempts\nto dereference L2DATA(cdev)-\u003enentries in arp_hash right after the EEH error handler sets it to NULL.\n\nThe fix is to prevent the setting of the NULL pointer until after there are no\nfurther users of it.  The t3cdev-\u003el2opt pointer is now converted to be an rcu\npointer and the L2DATA macro is now called under the protection of the\nrcu_read_lock().  When the EEH error path:\nt3_adapter_error-\u003eoffload_close-\u003ecxgb3_offload_deactivate\nIs exectured, setting of that l2opt pointer to NULL, is now gated on an rcu\nquiescence point, preventing, allowing L2DATA callers to safely check for a NULL\npointer without concern that the underlying data will be freeded before the\npointer is dereferenced.\n\nThis has been tested by the reporter and shown to fix the reproted oops\n\n[nhorman: fix up unitinialised variable reported by Dan Carpenter]\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nReviewed-by: Karen Xie \u003ckxie@chelsio.com\u003e\nCc: stable@kernel.org\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "cf383ebb1300e910377c124e8eb582c6bc27d2b6",
      "tree": "1ba5493cde1bf5a146c16f847c3c12760663fadb",
      "parents": [
        "70b1052ad284d97d0a4d7f56ad63d1757f1da08f"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "Ian.Campbell@citrix.com",
        "time": "Wed Aug 24 22:28:09 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 26 12:38:42 2011 -0400"
      },
      "message": "IB: nes: convert to SKB paged frag API.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nReviewed-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nCc: Faisal Latif \u003cfaisal.latif@intel.com\u003e\nCc: Roland Dreier \u003croland@kernel.org\u003e\nCc: Sean Hefty \u003csean.hefty@intel.com\u003e\nCc: Hal Rosenstock \u003chal.rosenstock@gmail.com\u003e\nCc: linux-rdma@vger.kernel.org\nCc: netdev@vger.kernel.org\nAcked-by: Faisal Latif \u003cfaisal.latif@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "70b1052ad284d97d0a4d7f56ad63d1757f1da08f",
      "tree": "1d2d4f524c1e73d4705fa35cb2cf35e4109be063",
      "parents": [
        "c517202f3cf1cd189259c50d55622d8c7ab16eb2"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "Ian.Campbell@citrix.com",
        "time": "Wed Aug 24 22:28:08 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 26 12:38:42 2011 -0400"
      },
      "message": "IB: amso1100: convert to SKB paged frag API.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nReviewed-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nCc: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nCc: Steve Wise \u003cswise@opengridcomputing.com\u003e\nCc: Roland Dreier \u003croland@kernel.org\u003e\nCc: Sean Hefty \u003csean.hefty@intel.com\u003e\nCc: Hal Rosenstock \u003chal.rosenstock@gmail.com\u003e\nCc: linux-rdma@vger.kernel.org\nCc: netdev@vger.kernel.org\nAcked-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "afc4b13df143122f99a0eb10bfefb216c2806de0",
      "tree": "5a90e0a8226ce4173d8d366f5bed0322c9623cdd",
      "parents": [
        "01789349ee52e4a3faf376f1485303d9723c4f1f"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Tue Aug 16 06:29:01 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 17 20:22:03 2011 -0700"
      },
      "message": "net: remove use of ndo_set_multicast_list in drivers\n\nreplace it by ndo_set_rx_mode\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "af3dcd2f449b7243a4c7b987125ffc40fad262f0",
      "tree": "a1041245a24a472ec14932f3a1ab4426e8a344d6",
      "parents": [
        "f08e6c0a87db74397ddbcca7cb189d50310d8ddf"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 11 23:05:05 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 11 23:05:05 2011 -0700"
      },
      "message": "mlx4: Fix infiniband Kconfig dependencies.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f7917c009c28c941ba151ee66f04dc7f6a2e1e0b",
      "tree": "91cd66b3b846b1113654de2ac31f085d0d7989ba",
      "parents": [
        "adfc5217e9db68d3f0cec8dd847c1a6d3ab549ee"
      ],
      "author": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Thu Apr 07 06:57:17 2011 -0700"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Wed Aug 10 19:54:52 2011 -0700"
      },
      "message": "chelsio: Move the Chelsio drivers\n\nMoves the drivers for the Chelsio chipsets into\ndrivers/net/ethernet/chelsio/ and the necessary Kconfig and Makefile\nchanges.\n\nCC: Divy Le Ray \u003cdivy@chelsio.com\u003e\nCC: Dimitris Michailidis \u003cdm@chelsio.com\u003e\nCC: Casey Leedom \u003cleedom@chelsio.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\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": "ece236ce2fad9c27a6fd2530f899289025194bce",
      "tree": "474b793205872206a2a3f7d409ff9b1f81f3a9a8",
      "parents": [
        "441c196e84b11aad3123baa9320eee7abc6b5c98",
        "4460207561290c3be7e6c7538f22690028170c1d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 14:50:12 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 14:50:12 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (26 commits)\n  IB/qib: Defer HCA error events to tasklet\n  mlx4_core: Bump the driver version to 1.0\n  RDMA/cxgb4: Use printk_ratelimited() instead of printk_ratelimit()\n  IB/mlx4: Support PMA counters for IBoE\n  IB/mlx4: Use flow counters on IBoE ports\n  IB/pma: Add include file for IBA performance counters definitions\n  mlx4_core: Add network flow counters\n  mlx4_core: Fix location of counter index in QP context struct\n  mlx4_core: Read extended capabilities into the flags field\n  mlx4_core: Extend capability flags to 64 bits\n  IB/mlx4: Generate GID change events in IBoE code\n  IB/core: Add GID change event\n  RDMA/cma: Don\u0027t allow IPoIB port space for IBoE\n  RDMA: Allow for NULL .modify_device() and .modify_port() methods\n  IB/qib: Update active link width\n  IB/qib: Fix potential deadlock with link down interrupt\n  IB/qib: Add sysfs interface to read free contexts\n  IB/mthca: Remove unnecessary read of PCI_CAP_ID_EXP\n  IB/qib: Remove double define\n  IB/qib: Remove unnecessary read of PCI_CAP_ID_EXP\n  ...\n"
    },
    {
      "commit": "4460207561290c3be7e6c7538f22690028170c1d",
      "tree": "d374529f243986dce5335f799d8af2c8d785ed6e",
      "parents": [
        "2efdd6a038b2d72e74deb8d4725db1663135268c",
        "3cbe182a5b443c4a06a8ddaf13057cbd893963c7",
        "57631811728d12ad9b0e96ed3eccb486124a5605",
        "10e1b54bbb51ac134c51996022f3bd10579fbd3b",
        "e1892fa80def35f7d0e9963e582edba01dd8e453",
        "9b89925c0d8f7d1cc203682df4fab847a7b4b7ec",
        "e67306a38063d75f61d405527ff8bf1c8e92eb84",
        "fd1b6c4a693c9cac59375ffb36ffe5d7c079037c"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Jul 22 11:56:11 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Jul 22 11:56:11 2011 -0700"
      },
      "message": "Merge branches \u0027cma\u0027, \u0027cxgb4\u0027, \u0027ipath\u0027, \u0027misc\u0027, \u0027mlx4\u0027, \u0027mthca\u0027, \u0027qib\u0027 and \u0027srp\u0027 into for-next\n"
    },
    {
      "commit": "e67306a38063d75f61d405527ff8bf1c8e92eb84",
      "tree": "d40991481f25dea940bd549524a10679cbbe5699",
      "parents": [
        "e800bd032c2623b10ef38a4d7d646e3e3c7bb3ad"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Thu Jul 21 13:21:16 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Jul 22 11:56:05 2011 -0700"
      },
      "message": "IB/qib: Defer HCA error events to tasklet\n\nWith ib_qib options:\n\n    options ib_qib krcvqs\u003d1 pcie_caps\u003d0x51 rcvhdrcnt\u003d4096 singleport\u003d1 ibmtu\u003d4\n\na run of ib_write_bw -a yields the following:\n\n    ------------------------------------------------------------------\n     #bytes     #iterations    BW peak[MB/sec]    BW average[MB/sec]\n     1048576   5000           2910.64            229.80\n    ------------------------------------------------------------------\n\nThe top cpu use in a profile is:\n\n    CPU: Intel Architectural Perfmon, speed 2400.15 MHz (estimated)\n    Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask\n    of 0x00 (No unit mask) count 1002300\n    Counted LLC_MISSES events (Last level cache demand requests from this core that\n    missed the LLC) with a unit mask of 0x41 (No unit mask) count 10000\n    samples  %        samples  %        app name                 symbol name\n    15237    29.2642  964      17.1195  ib_qib.ko                qib_7322intr\n    12320    23.6618  1040     18.4692  ib_qib.ko                handle_7322_errors\n    4106      7.8860  0              0  vmlinux                  vsnprintf\n\n\nAnalysis of the stats, profile, the code, and the annotated profile indicate:\n - All of the overflow interrupts (one per packet overflow) are\n   serviced on CPU0 with no mitigation on the frequency.\n - All of the receive interrupts are being serviced by CPU0.  (That is\n   the way truescale.cmds statically allocates the kctx IRQs to CPU)\n - The code is spending all of its time servicing QIB_I_C_ERROR\n   RcvEgrFullErr interrupts on CPU0, starving the packet receive\n   processing.\n - The decode_err routine is very inefficient, using a printf variant\n   to format a \"%s\" and continues to loop when the errs mask has been\n   cleared.\n - Both qib_7322intr and handle_7322_errors read pci registers, which\n   is very inefficient.\n\nThe fix does the following:\n - Adds a tasklet to service QIB_I_C_ERROR\n - Replaces the very inefficient scnprintf() with a memcpy().  A field\n   is added to qib_hwerror_msgs to save the sizeof(\"string\") at\n   compile time so that a strlen is not needed during err_decode().\n - The most frequent errors (Overflows) are serviced first to exit the\n   loop as early as possible.\n - The loop now exits as soon as the errs mask is clear rather than\n   fruitlessly looping through the msp array.\n\nWith this fix the performance changes to:\n\n    ------------------------------------------------------------------\n     #bytes     #iterations    BW peak[MB/sec]    BW average[MB/sec]\n     1048576   5000           2990.64            2941.35\n    ------------------------------------------------------------------\n\nDuring testing of the error handling overflow patch, it was determined\nthat some CPU\u0027s were slower when servicing both overflow and receive\ninterrupts on CPU0 with different MSI interrupt vectors.\n\nThis patch adds an option (krcvq01_no_msi) to not use a dedicated MSI\ninterrupt for kctx\u0027s \u003c 2 and to service them on the default interrupt.\nFor some CPUs, the cost of the interrupt enter/exit is more costly\nthan then the additional PCI read in the default handler.\n\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "7033c4ad87c3cf1050eb8190c93f94f5c8b9fae9",
      "tree": "52a27177b7184fdc2b84ac02f9a31f8c7941e6f7",
      "parents": [
        "cec9c133631039f82e4a5ff3bf47b3eba14ff1aa"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Wed Jul 20 04:54:06 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 21 13:47:53 2011 -0700"
      },
      "message": "nes: do vlan cleanup\n\n- unify vlan and nonvlan rx path\n- kill nesvnic-\u003evlan_grp and nes_netdev_vlan_rx_register\n- allow to turn on/off rx/tx vlan accel via ethtool (set_features)\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3cbe182a5b443c4a06a8ddaf13057cbd893963c7",
      "tree": "9bdf420e3b760e46d0913d7f0b8dbbb0955e6ff3",
      "parents": [
        "620917de59eeb934b9f8cf35cc2d95c1ac8ed0fc"
      ],
      "author": {
        "name": "Manuel Zerpies",
        "email": "manuel.f.zerpies@ww.stud.uni-erlangen.de",
        "time": "Thu Jun 16 12:10:40 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Jul 18 21:18:39 2011 -0700"
      },
      "message": "RDMA/cxgb4: Use printk_ratelimited() instead of printk_ratelimit()\n\nSince printk_ratelimit() shouldn\u0027t be used anymore (see comment in\ninclude/linux/printk.h), replace it with printk_ratelimited().\n\nSigned-off-by: Manuel Zerpies \u003cmanuel.f.zerpies@ww.stud.uni-erlangen.de\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "c37791349cc79d025df6e9a4f896a7b0a97cdbd3",
      "tree": "29881a77ca9c401c166d3e3a17d959031fc07e20",
      "parents": [
        "cfcde11c3d7ae175f49280bb6f913478c2f1bd8c"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Wed Jun 15 14:51:27 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Jul 18 21:04:36 2011 -0700"
      },
      "message": "IB/mlx4: Support PMA counters for IBoE\n\nUse the per port counter attached to all QPs created on that port to\nimplement port level packets/bytes performance counters a la IB.\nDerived from a patch by Eli Cohen \u003celi@mellanox.co.il\u003e\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "cfcde11c3d7ae175f49280bb6f913478c2f1bd8c",
      "tree": "1d6bc41c59035f791bd27f8d34fb95eb667a691f",
      "parents": [
        "6aea213a62122701891fe55cc3405d31b927cfde"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Wed Jun 15 14:49:57 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Jul 18 21:04:36 2011 -0700"
      },
      "message": "IB/mlx4: Use flow counters on IBoE ports\n\nAllocate flow counter per Ethernet/IBoE port, and attach this counter\nto all the QPs created on that port.  Based on patch by Eli Cohen\n\u003celi@mellanox.co.il\u003e.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "6aea213a62122701891fe55cc3405d31b927cfde",
      "tree": "3406b02988e4bda771d9d2639fc78be892f2ebbb",
      "parents": [
        "f2a3f6a32cf64db1495b5ced8625b9a80bde44e5"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Tue Jul 05 15:46:29 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Jul 18 21:04:35 2011 -0700"
      },
      "message": "IB/pma: Add include file for IBA performance counters definitions\n\nMove the various definitions and mad structures needed for software\nimplementation of IBA PM agent from the ipath and qib drivers into a\nsingle include file, which in turn could be used by more consumers.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "6451c712fef3b13bb3fc5a41adadc539e0d06a42",
      "tree": "d231424772850cc64c529ee0ffc7e4584e7e5ea4",
      "parents": [
        "761d90ed4c36798a2f5fcb161d4ee2119bab478b"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Wed Jun 15 14:40:29 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Jul 18 21:04:31 2011 -0700"
      },
      "message": "IB/mlx4: Generate GID change events in IBoE code\n\nIBoE doesn\u0027t use LIDs.  Use the GID change event to update the IB core\ncache for addition/deletion of GIDs.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "10e1b54bbb51ac134c51996022f3bd10579fbd3b",
      "tree": "6b535275efbefb7f32d6bec89c21a05a902f655d",
      "parents": [
        "620917de59eeb934b9f8cf35cc2d95c1ac8ed0fc"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@acm.org",
        "time": "Sat Jun 18 16:35:42 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Jul 18 16:44:30 2011 -0700"
      },
      "message": "RDMA: Allow for NULL .modify_device() and .modify_port() methods\n\nThese methods don\u0027t make sense for iWARP devices, so rather than\nforcing them to implement stubs, just return -ENOSYS in the core if\nthe hardware driver doesn\u0027t set .modify_device and/or .modify_port.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "e800bd032c2623b10ef38a4d7d646e3e3c7bb3ad",
      "tree": "ed8c1b9e29db1a59b916d0a1583d0ee61b7fbf38",
      "parents": [
        "4356d0b64b9be53c507f66c572c1e275b4529239"
      ],
      "author": {
        "name": "Mitko Haralanov",
        "email": "mitko@qlogic.com",
        "time": "Thu Jul 14 13:40:24 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Jul 18 12:09:26 2011 -0700"
      },
      "message": "IB/qib: Update active link width\n\nUpdate the active link width on QLE7220 chips when link goes down if\nchip width does not match shadowed width.\n\nSigned-off-by: Mitko Haralanov \u003cmitko@qlogic.com\u003e\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "4356d0b64b9be53c507f66c572c1e275b4529239",
      "tree": "58c15fe0987ae06873f2fe8a1b188db73fbaf796",
      "parents": [
        "2df4f7579d212e8e0df7c8a24f57bf90f23fd516"
      ],
      "author": {
        "name": "Ram Vepa",
        "email": "ram.vepa@qlogic.com",
        "time": "Fri May 27 13:41:55 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Jul 18 12:09:23 2011 -0700"
      },
      "message": "IB/qib: Fix potential deadlock with link down interrupt\n\nThere is a possibility of a deadlock due to the way locks are\nacquired and released in qib_set_uevent_bits(). The function\nqib_set_uevent_bits() is called in process context and it uses\nspin_lock() and spin_unlock().  This same lock is acquired/released\nin interrupt context which can lead to a deadlock when running on\nthe same cpu.\n\nThe fix is to replace spin_lock() and spin_unlock() with\nspin_lock_irqsave() and spin_unlock_irqrestore() respectively in\nqib_set_uevent_bits().\n\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "2df4f7579d212e8e0df7c8a24f57bf90f23fd516",
      "tree": "84c5a496f67f22f38a7c926fe3188f6bcbb3ac30",
      "parents": [
        "ac0cae4495303b8fffd3df9c7cb29c7d0c05f210"
      ],
      "author": {
        "name": "Ram Vepa",
        "email": "ram.vepa@qlogic.com",
        "time": "Tue May 31 20:20:43 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Jul 18 12:09:19 2011 -0700"
      },
      "message": "IB/qib: Add sysfs interface to read free contexts\n\nIndicate the number of free user contexts via the sysfs file\n/sys/class/infiniband/qib0/nfreectxts as required for PSM.\n\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "9b89925c0d8f7d1cc203682df4fab847a7b4b7ec",
      "tree": "893fd9d8e76a777a3c4cdfd2e89afdbea28b9a51",
      "parents": [
        "cdb73db0b6bf7a1bcf5c788f0c8f803facb6e517"
      ],
      "author": {
        "name": "Jon Mason",
        "email": "jdmason@kudzu.us",
        "time": "Mon Jun 27 17:39:54 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Jul 18 12:01:22 2011 -0700"
      },
      "message": "IB/mthca: Remove unnecessary read of PCI_CAP_ID_EXP\n\nThe PCIE capability offset is saved during PCI bus walking.  It will\nremove an unnecessary search in the PCI configuration space if this\nvalue is referenced instead of reacquiring it.  Also, pci_is_pcie is a\nbetter way of determining if the device is PCIE or not (as it uses the\nsame saved PCIE capability offset).\n\nSigned-off-by: Jon Mason \u003cjdmason@kudzu.us\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "ac0cae4495303b8fffd3df9c7cb29c7d0c05f210",
      "tree": "12b55717839830ed2a6006aadc78891f21b52914",
      "parents": [
        "7f27cda03708e3460849f82b47c604f1492e3777"
      ],
      "author": {
        "name": "Edwin van Vliet",
        "email": "edwin@cheatah.nl",
        "time": "Sun Jul 10 21:49:47 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Jul 18 11:59:23 2011 -0700"
      },
      "message": "IB/qib: Remove double define\n\nSigned-off-by: Edwin van Vliet \u003cedwin@cheatah.nl\u003e\nReviewed-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nAcked-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "7f27cda03708e3460849f82b47c604f1492e3777",
      "tree": "e6e1648a6df5da07662a9496776baf6dcac765e6",
      "parents": [
        "0cd85e6738976b753fb156d833c94083418b3ae4"
      ],
      "author": {
        "name": "Jon Mason",
        "email": "jdmason@kudzu.us",
        "time": "Mon Jun 27 17:40:38 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Jul 18 11:57:52 2011 -0700"
      },
      "message": "IB/qib: Remove unnecessary read of PCI_CAP_ID_EXP\n\nThe PCIE capability offset is saved during PCI bus walking.  It will\nremove an unnecessary search in the PCI configuration space if this\nvalue is referenced instead of reacquiring it.\n\nSigned-off-by: Jon Mason \u003cjdmason@kudzu.us\u003e\nAcked-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "57631811728d12ad9b0e96ed3eccb486124a5605",
      "tree": "e5ecab401a54d5f1882469fcac26cc85caded44c",
      "parents": [
        "620917de59eeb934b9f8cf35cc2d95c1ac8ed0fc"
      ],
      "author": {
        "name": "Motohiro KOSAKI",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Thu May 19 01:04:42 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Jul 18 11:56:18 2011 -0700"
      },
      "message": "IB/ipath: Convert old cpumask api into new one\n\nAdapt to new api.  We plan to remove old one later.  Almost all\nchanges are trivial, but there is one real fix: the following code is\nunsafe:\n\n\tint ncpus \u003d num_online_cpus()\n\tfor (i \u003d 0; i \u003c ncpus; i++) {\n\t\t..\n\t}\n\nbecause 1) we don\u0027t guarantee last bit of online cpus is equal to\nnum_online_cpus(). some arch assign sparse cpu number.  2) cpu\nhotplugging may change cpu_online_mask at same time.  we need to pin\nit by get_online_cpus().\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "0cd85e6738976b753fb156d833c94083418b3ae4",
      "tree": "058c4f53a5f0dda8d3893681524609c23770406b",
      "parents": [
        "52a09a040dc258ca9eb4fa6530e52ccdbc72e353"
      ],
      "author": {
        "name": "Motohiro KOSAKI",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Thu May 19 01:07:05 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Jul 18 11:56:03 2011 -0700"
      },
      "message": "IB/qib: Convert old cpumask api into new one\n\nAdapt to use new APIs.  We plan to remove old one later and plan to\nchange current-\u003ecpus_allowed implementation.\n\nNo functional change.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "69cce1d1404968f78b177a0314f5822d5afdbbfb",
      "tree": "26223264fd69ea8078d0013fd5a76eb7aeb04c12",
      "parents": [
        "9cbb7ecbcff85077bb12301aaf4c9b5a56c5993d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 17 23:09:49 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 17 23:11:35 2011 -0700"
      },
      "message": "net: Abstract dst-\u003eneighbour accesses behind helpers.\n\ndst_{get,set}_neighbour()\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cdb73db0b6bf7a1bcf5c788f0c8f803facb6e517",
      "tree": "3ed4a3b8eb06b63d29643920db97054b0db43051",
      "parents": [
        "620917de59eeb934b9f8cf35cc2d95c1ac8ed0fc"
      ],
      "author": {
        "name": "Goldwyn Rodrigues",
        "email": "rgoldwyn@suse.de",
        "time": "Thu Jul 07 17:20:40 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Jul 15 13:33:20 2011 -0700"
      },
      "message": "IB/mthca: Stop returning separate error and status from FW commands\n\nInstead of having firmware command functions return an error and also\na status, leading to code like:\n\n\terr \u003d mthca_FW_COMMAND(..., \u0026status);\n\tif (err)\n\t\tgoto out;\n        if (status) {\n\t\terr \u003d -E...;\n\t\tgoto out;\n\t}\n\nall over the place, just handle the FW status inside the FW command\nhandling code (the way mlx4 does it), so we can simply write:\n\n\terr \u003d mthca_FW_COMMAND(...);\n\tif (err)\n\t\tgoto out;\n\nIn addition to simplifying the source code, this also saves a healthy\nchunk of text:\n\n    add/remove: 0/0 grow/shrink: 10/88 up/down: 510/-3357 (-2847)\n    function                                     old     new   delta\n    static.trans_table                           324     584    +260\n    mthca_cmd_poll                               352     477    +125\n    mthca_cmd_wait                               511     567     +56\n    mthca_table_put                              213     240     +27\n    mthca_cleanup_db_tab                         372     387     +15\n    __mthca_remove_one                           314     323      +9\n    mthca_cleanup_user_db_tab                    275     283      +8\n    __mthca_init_one                            1738    1746      +8\n    mthca_cleanup                                 20      21      +1\n    mthca_MAD_IFC                               1081    1082      +1\n    mthca_MGID_HASH                               43      40      -3\n    mthca_MAP_ICM_AUX                             23      20      -3\n    mthca_MAP_ICM                                 19      16      -3\n    mthca_MAP_FA                                  23      20      -3\n    mthca_READ_MGM                                43      38      -5\n    mthca_QUERY_SRQ                               43      38      -5\n    mthca_QUERY_QP                                59      54      -5\n    mthca_HW2SW_SRQ                               43      38      -5\n    mthca_HW2SW_MPT                               60      55      -5\n    mthca_HW2SW_EQ                                43      38      -5\n    mthca_HW2SW_CQ                                43      38      -5\n    mthca_free_icm_table                         120     114      -6\n    mthca_query_srq                              214     206      -8\n    mthca_free_qp                                662     654      -8\n    mthca_cmd                                     38      28     -10\n    mthca_alloc_db                              1321    1311     -10\n    mthca_setup_hca                             1067    1055     -12\n    mthca_WRITE_MTT                               35      22     -13\n    mthca_WRITE_MGM                               40      27     -13\n    mthca_UNMAP_ICM_AUX                           36      23     -13\n    mthca_UNMAP_FA                                36      23     -13\n    mthca_SYS_DIS                                 36      23     -13\n    mthca_SYNC_TPT                                36      23     -13\n    mthca_SW2HW_SRQ                               35      22     -13\n    mthca_SW2HW_MPT                               35      22     -13\n    mthca_SW2HW_EQ                                35      22     -13\n    mthca_SW2HW_CQ                                35      22     -13\n    mthca_RUN_FW                                  36      23     -13\n    mthca_DISABLE_LAM                             36      23     -13\n    mthca_CLOSE_IB                                36      23     -13\n    mthca_CLOSE_HCA                               38      25     -13\n    mthca_ARM_SRQ                                 39      26     -13\n    mthca_free_icms                              178     164     -14\n    mthca_QUERY_DDR                              389     375     -14\n    mthca_resize_cq                             1063    1048     -15\n    mthca_unmap_eq_icm                           123     107     -16\n    mthca_map_eq_icm                             396     380     -16\n    mthca_cmd_box                                 90      74     -16\n    mthca_SET_IB                                 433     417     -16\n    mthca_RESIZE_CQ                              369     353     -16\n    mthca_MAP_ICM_page                           240     224     -16\n    mthca_MAP_EQ                                 183     167     -16\n    mthca_INIT_IB                                473     457     -16\n    mthca_INIT_HCA                               745     729     -16\n    mthca_map_user_db                            816     798     -18\n    mthca_SYS_EN                                 157     139     -18\n    mthca_cleanup_qp_table                        78      59     -19\n    mthca_cleanup_eq_table                       168     149     -19\n    mthca_UNMAP_ICM                              143     121     -22\n    mthca_modify_srq                             172     149     -23\n    mthca_unmap_fmr                              198     174     -24\n    mthca_query_qp                               814     790     -24\n    mthca_query_pkey                             343     319     -24\n    mthca_SET_ICM_SIZE                            34      10     -24\n    mthca_QUERY_DEV_LIM                         1870    1846     -24\n    mthca_map_cmd                               1130    1105     -25\n    mthca_ENABLE_LAM                             401     375     -26\n    mthca_modify_port                            247     220     -27\n    mthca_query_device                           884     850     -34\n    mthca_NOP                                     75      41     -34\n    mthca_table_get                              287     249     -38\n    mthca_init_qp_table                          333     293     -40\n    mthca_MODIFY_QP                              348     308     -40\n    mthca_close_hca                              131      89     -42\n    mthca_free_eq                                435     390     -45\n    mthca_query_port                             755     705     -50\n    mthca_free_cq                                581     528     -53\n    mthca_alloc_icm_table                        578     524     -54\n    mthca_multicast_attach                      1041     986     -55\n    mthca_init_hca                               326     271     -55\n    mthca_query_gid                              487     431     -56\n    mthca_free_srq                               524     468     -56\n    mthca_free_mr                                168     111     -57\n    mthca_create_eq                             1560    1501     -59\n    mthca_multicast_detach                       790     728     -62\n    mthca_write_mtt                              918     854     -64\n    mthca_register_device                       1406    1342     -64\n    mthca_fmr_alloc                              947     883     -64\n    mthca_mr_alloc                               652     582     -70\n    mthca_process_mad                           1242    1164     -78\n    mthca_dev_lim                                910     830     -80\n    find_mgm                                     482     400     -82\n    mthca_modify_qp                             3852    3753     -99\n    mthca_init_cq                               1281    1181    -100\n    mthca_alloc_srq                             1719    1610    -109\n    mthca_init_eq_table                         1807    1679    -128\n    mthca_init_tavor                             761     491    -270\n    mthca_init_arbel                            2617    2098    -519\n\nSigned-off-by: Goldwyn Rodrigues \u003crgoldwyn@suse.de\u003e\n"
    },
    {
      "commit": "e12fe68ce34d60c04bb1ddb1d3cc5c3022388fe4",
      "tree": "83c0e192ccaa4752c80b6131a7d0aa8272b5d0d0",
      "parents": [
        "7329f0d58de01878d9ce4f0be7a76e136f223eef",
        "712ae51afd55b20c04c5383d02ba5d10233313b1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 23:23:37 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 23:23:37 2011 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "c7d74b090913102e7917dd02bb574ef060e1e930",
      "tree": "2e08d32ec397034e5dde80d62684bf78b2aab384",
      "parents": [
        "8da7e7a55231543b84ac84e93ad5ca9d340773d7",
        "3126448451105fae59de0058c68692aa09aa4c37"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Jun 17 11:57:55 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Jun 17 11:57:55 2011 -0700"
      },
      "message": "Merge branches \u0027cxgb4\u0027 and \u0027qib\u0027 into for-next\n"
    },
    {
      "commit": "3126448451105fae59de0058c68692aa09aa4c37",
      "tree": "b895c5861c0e648e4ee2876376d7353b6c348e43",
      "parents": [
        "2c53b436a30867eb6b47dd7bab23ba638d1fb0d2"
      ],
      "author": {
        "name": "Mitko Haralanov",
        "email": "mitko@qlogic.com",
        "time": "Thu Jun 09 20:27:26 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Jun 17 11:56:59 2011 -0700"
      },
      "message": "IB/qib: Ensure that LOS and DFE are being turned off\n\nDue to timing, it is possible for the LOS and DFE to remain on. This\nis due to the link progressing to LinkUP prior to the driver getting\nthe first Status Changed interrupt.  By expanding the conditions under\nwhich LOS is turned off and DFE timeout is being set, timing is no\nlonger an issue.\n\nSigned-off-by: Mitko Haralanov \u003cmitko@qlogic.com\u003e\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "8da7e7a55231543b84ac84e93ad5ca9d340773d7",
      "tree": "4f1b15e211a42879b18353b5f2f8c0d164250c7c",
      "parents": [
        "301c2c3f039a1f9478f6cbef60f2ccd4da9bd4a1"
      ],
      "author": {
        "name": "Steve Wise",
        "email": "swise@opengridcomputing.com",
        "time": "Tue Jun 14 20:59:27 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Jun 17 11:54:56 2011 -0700"
      },
      "message": "RDMA/cxgb4: Couple of abort fixes\n\n- fix a race where the driver could end up sending a close_con_req\n  after an abort_rpl.  In c4iw_ep_disconnect(), send abort or close\n  request with the ep mutex held.\n\n- fix a hang where driver fails to wake up when a connection is reset\n  during a normal close.  Wake up any waiters in the interrupt path,\n  and correctly cleanup after rdma_fini() failures.\n\nSigned-off-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "301c2c3f039a1f9478f6cbef60f2ccd4da9bd4a1",
      "tree": "f74efa0453126d5780f080e5c0fb93d7e97e0918",
      "parents": [
        "2ff7d09a1b0f20f2d9c1bde0e003d4e384de2313"
      ],
      "author": {
        "name": "Steve Wise",
        "email": "swise@opengridcomputing.com",
        "time": "Tue Jun 14 20:59:21 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Jun 17 11:54:50 2011 -0700"
      },
      "message": "RDMA/cxgb4: Don\u0027t truncate MR lengths\n\nRemove left-over code from T3 that limited MR sizes to 32b.\n\nSigned-off-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "2ff7d09a1b0f20f2d9c1bde0e003d4e384de2313",
      "tree": "9eb1621a6806950d89496c5dde9ff36b6ae90b71",
      "parents": [
        "2c53b436a30867eb6b47dd7bab23ba638d1fb0d2"
      ],
      "author": {
        "name": "Steve Wise",
        "email": "swise@opengridcomputing.com",
        "time": "Wed Jun 01 17:49:14 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Jun 17 11:52:45 2011 -0700"
      },
      "message": "RDMA/cxgb4: Don\u0027t exceed hw IQ depth limit for user CQs\n\nMemory allocated for user CQs gets rounded up to the next page\nboundary.  And after rounding, we recalculate the resulting IQ depth\nand we need to make sure we don\u0027t exceed the HW limits.\n\nThis bug can result a much smaller CQ allocated than was expected if\nthe HW size field is exceeded, resulting in CQ overflow failures.\n\nSigned-off-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "a6b7a407865aab9f849dd99a71072b7cd1175116",
      "tree": "42995f2e25b777e8930b5ac180599f8d4e655df6",
      "parents": [
        "aedfebbaa7a4883dc568d8d32b7b32a0f9833f41"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Jun 06 10:43:46 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 06 22:55:11 2011 -0700"
      },
      "message": "net: remove interrupt.h inclusion from netdevice.h\n\n* remove interrupt.g inclusion from netdevice.h -- not needed\n* fixup fallout, add interrupt.h and hardirq.h back where needed.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4c171acc20794af16a27da25e11ec4e9cad5d9fa",
      "tree": "fb097384d709b7bda982902d999f658bb4f07b2c",
      "parents": [
        "20e0ec119b2c6cc412addefbe169f4f5e38701e8",
        "8dc4abdf4c82d0e1c47f14b6615406d31975ea66"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 12:13:57 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 12:13:57 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:\n  RDMA/cma: Save PID of ID\u0027s owner\n  RDMA/cma: Add support for netlink statistics export\n  RDMA/cma: Pass QP type into rdma_create_id()\n  RDMA: Update exported headers list\n  RDMA/cma: Export enum cma_state in \u003crdma/rdma_cm.h\u003e\n  RDMA/nes: Add a check for strict_strtoul()\n  RDMA/cxgb3: Don\u0027t post zero-byte read if endpoint is going away\n  RDMA/cxgb4: Use completion objects for event blocking\n  IB/srp: Fix integer -\u003e pointer cast warnings\n  IB: Add devnode methods to cm_class and umad_class\n  IB/mad: Return EPROTONOSUPPORT when an RDMA device lacks the QP required\n  IB/uverbs: Add devnode method to set path/mode\n  RDMA/ucma: Add .nodename/.mode to tell userspace where to create device node\n  RDMA: Add netlink infrastructure\n  RDMA: Add error handling to ib_core_init()\n"
    },
    {
      "commit": "8dc4abdf4c82d0e1c47f14b6615406d31975ea66",
      "tree": "846f8c987c1b2a0baf7bd47f568100a4ce23dd6a",
      "parents": [
        "04ea2f81973f55db715bfdac7dd258f8a8485a6d",
        "807838686eb9e40d73b8a3f2384881358f51fff0",
        "c337374bf23b88620bcc66a7a09f141cc640f548",
        "52f81dbaf1378faf64c3ecea5129cebf826ef126",
        "83e9502d8db142822f3302e6a46a45082d3a27b7",
        "737b94eb41cb99250ccce9148ca411b55d4dc96a",
        "71c29bd5c23559c9cabcca3bfb3152ecc5efcd75"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed May 25 13:47:20 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed May 25 13:47:20 2011 -0700"
      },
      "message": "Merge branches \u0027cma\u0027, \u0027cxgb3\u0027, \u0027cxgb4\u0027, \u0027misc\u0027, \u0027nes\u0027, \u0027netlink\u0027, \u0027srp\u0027 and \u0027uverbs\u0027 into for-next\n"
    },
    {
      "commit": "52f81dbaf1378faf64c3ecea5129cebf826ef126",
      "tree": "cd7be0e965a12f0da8ad42f08414df2b6beebf3c",
      "parents": [
        "c3af0980ce01dfb8e946990c3ae4c3727b1e9f26"
      ],
      "author": {
        "name": "Liu Yuan",
        "email": "tailai.ly@taobao.com",
        "time": "Fri Apr 01 06:23:49 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 24 10:06:25 2011 -0700"
      },
      "message": "RDMA/nes: Add a check for strict_strtoul()\n\nIt should check if strict_strtoul() succeeds before using\n\u0027wqm_quanta_value\u0027.\n\nSigned-off-by: Liu Yuan \u003ctailai.ly@taobao.com\u003e\n\n[ Convert to kstrtoul() directly while we\u0027re here.  - Roland ]\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "807838686eb9e40d73b8a3f2384881358f51fff0",
      "tree": "13ab2b82122044054693e949513500bbc8967aef",
      "parents": [
        "257313b2a87795e07a0bdf58d0fffbdba8b31051"
      ],
      "author": {
        "name": "Steve Wise",
        "email": "swise@opengridcomputing.com",
        "time": "Fri May 13 18:37:18 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 24 10:01:04 2011 -0700"
      },
      "message": "RDMA/cxgb3: Don\u0027t post zero-byte read if endpoint is going away\n\ntx_ack() wasn\u0027t checking the endpoint state and consequently would\nattempt to post the p2p 0B read on an endpoint/QP that is closing or\naborting.  This causes a NULL pointer dereference crash.\n\nSigned-off-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "c337374bf23b88620bcc66a7a09f141cc640f548",
      "tree": "5867078d9b9f7e8eb44df4e94b08e460aede1616",
      "parents": [
        "257313b2a87795e07a0bdf58d0fffbdba8b31051"
      ],
      "author": {
        "name": "Steve Wise",
        "email": "swise@opengridcomputing.com",
        "time": "Fri May 20 16:25:05 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 24 09:47:38 2011 -0700"
      },
      "message": "RDMA/cxgb4: Use completion objects for event blocking\n\nThere exists a race condition when using wait_queue_head_t objects\nthat are declared on the stack.  This was being done in a few places\nwhere we are sending work requests to the FW and awaiting replies, but\nwe don\u0027t have an endpoint structure with an embedded c4iw_wr_wait\nstruct.  So the code was allocating it locally on the stack.  Bad\ndesign.  The race is:\n\n  1) thread on cpuX declares the wait_queue_head_t on the stack, then\n     posts a firmware WR with that wait object ptr as the cookie to be\n     returned in the WR reply.  This thread will proceed to block in\n     wait_event_timeout() but before it does:\n\n  2) An interrupt runs on cpuY with the WR reply.  fw6_msg() handles\n     this and calls c4iw_wake_up().  c4iw_wake_up() sets the condition\n     variable in the c4iw_wr_wait object to TRUE and will call\n     wake_up(), but before it calls wake_up():\n\n  3) The thread on cpuX calls c4iw_wait_for_reply(), which calls\n     wait_event_timeout().  The wait_event_timeout() macro checks the\n     condition variable and returns immediately since it is TRUE.  So\n     this thread never blocks/sleeps. The function then returns\n     effectively deallocating the c4iw_wr_wait object that was on the\n     stack.\n\n  4) So at this point cpuY has a pointer to the c4iw_wr_wait object\n     that is no longer valid.  Further its pointing to a stack frame\n     that might now be in use by some other context/thread.  So cpuY\n     continues execution and calls wake_up() on a ptr to a wait object\n     that as been effectively deallocated.\n\nThis race, when it hits, can cause a crash in wake_up(), which I\u0027ve\nseen under heavy stress. It can also corrupt the referenced stack\nwhich can cause any number of failures.\n\nThe fix:\n\nUse struct completion, which supports on-stack declarations.\nCompletions use a spinlock around setting the condition to true and\nthe wake up so that steps 2 and 4 above are atomic and step 3 can\nnever happen in-between.\n\nSigned-off-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "70c71606190e9115e5f8363bfcd164c582eb314a",
      "tree": "17c7f6b5df814b9ed319bc0d839969a0de741433",
      "parents": [
        "281dc5c5ec0fb299514567cbc358562649c1af95"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Sun May 22 16:47:17 2011 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 22 21:41:57 2011 -0700"
      },
      "message": "Add appropriate \u003clinux/prefetch.h\u003e include for prefetch users\n\nAfter discovering that wide use of prefetch on modern CPUs\ncould be a net loss instead of a win, net drivers which were\nrelying on the implicit inclusion of prefetch.h via the list\nheaders showed up in the resulting cleanup fallout.  Give\nthem an explicit include via the following $0.02 script.\n\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n #!/bin/bash\n MANUAL\u003d\"\"\n for i in `git grep -l \u0027prefetch(.*)\u0027 .` ; do\n \tgrep -q \u0027\u003clinux/prefetch.h\u003e\u0027 $i\n \tif [ $? \u003d 0 ] ; then\n \t\tcontinue\n \tfi\n\n \t(\techo \u0027?^#include \u003clinux/?a\u0027\n \t\techo \u0027#include \u003clinux/prefetch.h\u003e\u0027\n \t\techo .\n \t\techo w\n \t\techo q\n \t) | ed -s $i \u003e /dev/null 2\u003e\u00261\n \tif [ $? !\u003d 0 ]; then\n \t\techo $i needs manual fixup\n \t\tMANUAL\u003d\"$i $MANUAL\"\n \tfi\n done\n echo ------------------- 8\\\u003c----------------------\n echo vi $MANUAL\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Paul \u003cpaul.gortmaker@windriver.com\u003e\n[ Fixed up some incorrect #include placements, and added some\n  non-network drivers and the fib_trie.c case    - Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "06f4e926d256d902dd9a53dcb400fd74974ce087",
      "tree": "0b438b67f5f0eff6fd617bc497a9dace6164a488",
      "parents": [
        "8e7bfcbab3825d1b404d615cb1b54f44ff81f981",
        "d93515611bbc70c2fe4db232e5feb448ed8e4cc9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 13:43:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 13:43:21 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1446 commits)\n  macvlan: fix panic if lowerdev in a bond\n  tg3: Add braces around 5906 workaround.\n  tg3: Fix NETIF_F_LOOPBACK error\n  macvlan: remove one synchronize_rcu() call\n  networking: NET_CLS_ROUTE4 depends on INET\n  irda: Fix error propagation in ircomm_lmp_connect_response()\n  irda: Kill set but unused variable \u0027bytes\u0027 in irlan_check_command_param()\n  irda: Kill set but unused variable \u0027clen\u0027 in ircomm_connect_indication()\n  rxrpc: Fix set but unused variable \u0027usage\u0027 in rxrpc_get_transport()\n  be2net: Kill set but unused variable \u0027req\u0027 in lancer_fw_download()\n  irda: Kill set but unused vars \u0027saddr\u0027 and \u0027daddr\u0027 in irlan_provider_connect_indication()\n  atl1c: atl1c_resume() is only used when CONFIG_PM_SLEEP is defined.\n  rxrpc: Fix set but unused variable \u0027usage\u0027 in rxrpc_get_peer().\n  rxrpc: Kill set but unused variable \u0027local\u0027 in rxrpc_UDP_error_handler()\n  rxrpc: Kill set but unused variable \u0027sp\u0027 in rxrpc_process_connection()\n  rxrpc: Kill set but unused variable \u0027sp\u0027 in rxrpc_rotate_tx_window()\n  pkt_sched: Kill set but unused variable \u0027protocol\u0027 in tc_classify()\n  isdn: capi: Use pr_debug() instead of ifdefs.\n  tg3: Update version to 3.119\n  tg3: Apply rx_discards fix to 5719/5720\n  ...\n\nFix up trivial conflicts in arch/x86/Kconfig and net/mac80211/agg-tx.c\nas per Davem.\n"
    },
    {
      "commit": "b2cbae2c248776d81cc265ff7d48405b6a4cc463",
      "tree": "fbd4f4e0812fbcc991670c81967e90bfdd9f80c0",
      "parents": [
        "fd75c789abf7948e16fe50917a6acb809927719a"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri May 20 11:46:11 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri May 20 11:46:11 2011 -0700"
      },
      "message": "RDMA: Add netlink infrastructure\n\nAdd basic RDMA netlink infrastructure that allows for registration of\nRDMA clients for which data is to be exported and supplies message\nconstruction callbacks.\n\nSigned-off-by: Nir Muchtar \u003cnirm@voltaire.com\u003e\n\n[ Reorganize a few things, add CONFIG_NET dependency.  - Roland ]\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "880102e78547c1db158a17e36cf0cdd98e7ad710",
      "tree": "3fff9cc54c44dafe275cfabefb96c589e08d971d",
      "parents": [
        "3d07f0e83d4323d2cd45cc583f7cf1957aca3cac",
        "39ab05c8e0b519ff0a04a869f065746e6e8c3d95"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Fri May 20 15:36:52 2011 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Fri May 20 15:36:52 2011 +1000"
      },
      "message": "Merge remote branch \u0027origin/master\u0027 into merge\n\nManual merge of arch/powerpc/kernel/smp.c and add missing scheduler_ipi()\ncall to arch/powerpc/platforms/cell/interrupt.c\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    }
  ],
  "next": "4c8440666b995f20604852b35dcfdbcc1d5931f1"
}
