)]}'
{
  "log": [
    {
      "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": "52439540ea30396982b69662dd21aede6b336288",
      "tree": "2604bc377ec689ce1a23fa45e1a317196bd96a82",
      "parents": [
        "2c4ce609347f2a45792c8d9ebb5af11217766cb6"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Fri Nov 04 00:21:27 2011 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Nov 04 09:32:44 2011 -0700"
      },
      "message": "IB/iser: DMA unmap TX bufs used for iSCSI/iSER headers\n\nThe current driver never does DMA unmapping on these buffers.  Fix that\nby adding DMA unmapping to the task cleanup callback, and DMA mapping to\nthe task init function (drop the headers_initialized micro-optimization).\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "2c4ce609347f2a45792c8d9ebb5af11217766cb6",
      "tree": "a78125a35d5a277d395003651b4241eafc7dd52d",
      "parents": [
        "f470f8d4e702593ee1d0852871ad80373bce707b"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Fri Nov 04 00:19:46 2011 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Nov 04 09:30:52 2011 -0700"
      },
      "message": "IB/iser: Use separate buffers for the login request/response\n\nThe driver counted on the transactional nature of iSCSI login/text\nflows and used the same buffer for both the request and the response.\nWe also went further and did DMA mapping only once, with\nDMA_FROM_DEVICE, which violates the DMA mapping API.  Fix that by\nusing different buffers, one for requests and one for responses, and\nuse the correct DMA mapping direction for each.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.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": "ec7ae517537ae5c7b0b2cd7f562dfa3e7a05b954",
      "tree": "e6b0c64a51a7c0aa0efd09d4f7a80872e3b1657a",
      "parents": [
        "97d2eb13a019ec09cc1a7ea2d3705c0b117b3c0d",
        "590134fa78fbdbe5fea78c7ae0b2c3364bc9572f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 28 16:44:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 28 16:44:18 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (204 commits)\n  [SCSI] qla4xxx: export address/port of connection (fix udev disk names)\n  [SCSI] ipr: Fix BUG on adapter dump timeout\n  [SCSI] megaraid_sas: Fix instance access in megasas_reset_timer\n  [SCSI] hpsa: change confusing message to be more clear\n  [SCSI] iscsi class: fix vlan configuration\n  [SCSI] qla4xxx: fix data alignment and use nl helpers\n  [SCSI] iscsi class: fix link local mispelling\n  [SCSI] iscsi class: Replace iscsi_get_next_target_id with IDA\n  [SCSI] aacraid: use lower snprintf() limit\n  [SCSI] lpfc 8.3.27: Change driver version to 8.3.27\n  [SCSI] lpfc 8.3.27: T10 additions for SLI4\n  [SCSI] lpfc 8.3.27: Fix queue allocation failure recovery\n  [SCSI] lpfc 8.3.27: Change algorithm for getting physical port name\n  [SCSI] lpfc 8.3.27: Changed worst case mailbox timeout\n  [SCSI] lpfc 8.3.27: Miscellanous logic and interface fixes\n  [SCSI] megaraid_sas: Changelog and version update\n  [SCSI] megaraid_sas: Add driver workaround for PERC5/1068 kdump kernel panic\n  [SCSI] megaraid_sas: Add multiple MSI-X vector/multiple reply queue support\n  [SCSI] megaraid_sas: Add support for MegaRAID 9360/9380 12GB/s controllers\n  [SCSI] megaraid_sas: Clear FUSION_IN_RESET before enabling interrupts\n  ...\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": "787adb9d6ad9afb498a1580a7d8ad05f779c488a",
      "tree": "9ab5e25a27fac6b66b1af0c903f3f9cb4517a69c",
      "parents": [
        "976d167615b64e14bc1491ca51d424e2ba9a5e84"
      ],
      "author": {
        "name": "Dotan Barak",
        "email": "dotanb@dev.mellanox.co.il",
        "time": "Tue Oct 18 15:22:14 2011 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Oct 18 10:08:31 2011 -0700"
      },
      "message": "IPoIB: Use the right function to do DMA unmap pages\n\nPages that were mapped using ib_dma_map_page() should be unmapped\nusing ib_dma_unmap_page().\n\nSigned-off-by: Dotan Barak \u003cdotanb@dev.mellanox.co.il\u003e\nReviewed-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\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": "0e0ec7e0638ef48e0c661873dfcc8caccab984c6",
      "tree": "54314a25a402244036a5417f098c70af441a56a8",
      "parents": [
        "0a1405da9952a72dd587829a3321695adde7dca1"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Mon Aug 08 15:31:51 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:49:51 2011 -0700"
      },
      "message": "RDMA/core: Export ib_open_qp() to share XRC TGT QPs\n\nXRC TGT QPs are shared resources among multiple processes.  Since the\ncreating process may exit, allow other processes which share the same\nXRC domain to open an existing QP.  This allows us to transfer\nownership of an XRC TGT QP to another process.\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": "2622e18ef407a8e8e3ddc3d6f0c77b756c493798",
      "tree": "9efa00db02370ff8da639f83eb397f017fd94fe2",
      "parents": [
        "18c441a6c3741991bfb87a3c6c541d30f0eb9c7c"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Mon May 30 22:30:46 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:42:06 2011 -0700"
      },
      "message": "IB/cm: Do not automatically disconnect XRC TGT QPs\n\nBecause an XRC TGT QP can end up being shared among multiple\nprocesses, don\u0027t have the ib_cm automatically send a DREQ when the\nuserspace process that owns the ib_cm_id exits.  Disconnect can be\ninitiated by the user directly; otherwise, the owner of the XRC INI QP\ncontrols the connection.\n\nNote that as a result of the process exiting, the ib_cm will stop\ntracking the XRC connection on the target side.  For the purposes of\ndisconnecting, this isn\u0027t a big deal.  The ib_cm will respond to the\nDREQ appropriately.  For other messages, mainly LAP, the CM will\nreject the request, since there\u0027s no one available to route the\nrequest to.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "18c441a6c3741991bfb87a3c6c541d30f0eb9c7c",
      "tree": "560fed8fd7d8c535603ab9e74550cd76cff9d7b9",
      "parents": [
        "638ef7a6c6a599b2e4c00ebf35d281721d2a42f6"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Sat May 28 23:26:06 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:41:36 2011 -0700"
      },
      "message": "RDMA/cma: Support XRC QPs\n\nAllow users to connect XRC QPs through the rdma_cm.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "638ef7a6c6a599b2e4c00ebf35d281721d2a42f6",
      "tree": "13a1e34b0c4cccbffba11ed71cad28bbcfd03fda",
      "parents": [
        "2d2e94152928209de13dea0535242c0e457bdcbb"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Tue Jun 14 16:31:53 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:40:36 2011 -0700"
      },
      "message": "RDMA/ucm: Allow user to specify QP type when creating id\n\nAllow the user to indicate the QP type separately from the port space\nwhen allocating an rdma_cm_id.  With RDMA_PS_IB, there is no longer a\n1:1 relationship between the QP type and port space, so we need to\nswitch on the QP type to select between UD and connected QPs.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "2d2e94152928209de13dea0535242c0e457bdcbb",
      "tree": "81405715a043ad9896085cdcd6565c0b7355fdee",
      "parents": [
        "ef70044647b260cb6b7863f392384a06670d0b2a"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Sat May 28 21:56:39 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:39:52 2011 -0700"
      },
      "message": "RDMA/cm: Define new RDMA port space specific to IB\n\nAdd RDMA_PS_IB.  XRC QP types will use the IB port space when operating\nover the RDMA CM.  For the \u0027IP protocol\u0027 field value, we select 0x3F,\nwhich is listed as being for \u0027any local network\u0027.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "ef70044647b260cb6b7863f392384a06670d0b2a",
      "tree": "8f916d6155e93dfe02886e20c23fccb480aae5f2",
      "parents": [
        "d26a360b776d527429cf13300837711b0b2fde20"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Tue Aug 02 11:08:22 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:38:35 2011 -0700"
      },
      "message": "IB/cm: Update XRC support based on XRC annex errata\n\nThe XRC annex was updated to have XRC behave more like RD. Specifically,\nthe XRC TGT QPN moves from the local QPN to local EECN field.  Lookup of\nSRQN is done using the REQ/REP protocol.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "d26a360b776d527429cf13300837711b0b2fde20",
      "tree": "70462d3c1f74f18ac212960deebd1edba307530e",
      "parents": [
        "b93f3c18727634a2e847f067e549762d096921cf"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Fri May 13 10:46:20 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:37:55 2011 -0700"
      },
      "message": "IB/cm: Update protocol to support XRC\n\nUpdate the REQ and REP messages to support XRC connection setup\naccording to the XRC Annex.  Several existing fields must be set to 0 or\n1 when connecting XRC QPs, and a reserved field is changed to an\nextended transport type.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "b93f3c18727634a2e847f067e549762d096921cf",
      "tree": "33157295d2d637a6592b1606b28cd98eae15d1c1",
      "parents": [
        "9977f4f64bfeb5d907a793a6880aab2d43b0bed2"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Fri May 27 00:00:12 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:37:07 2011 -0700"
      },
      "message": "RDMA/uverbs: Export XRC TGT QPs to user space\n\nAllow user space to operate on XRC TGT QPs the same way as other types\nof QPs, with one notable exception: since XRC TGT QPs may be shared\namong multiple processes, the XRC TGT QP is allowed to exist beyond the\nlifetime of the creating process.\n\nThe process that creates the QP is allowed to destroy it, but if the\nprocess exits without destroying the QP, then the QP will be left bound\nto the lifetime of the XRCD.\n\nTGT QPs are not associated with CQs or a PD.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "9977f4f64bfeb5d907a793a6880aab2d43b0bed2",
      "tree": "0cb064c43fcaa8c7289e6d410ed1f63e9e80e4e6",
      "parents": [
        "8541f8de0583f562c652008a4e7a65e537842a7e"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Thu May 26 08:17:04 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:32:27 2011 -0700"
      },
      "message": "RDMA/uverbs: Export XRC INI QPs to userspace\n\nXRC INI QPs are similar to send only RC QPs.  Allow user space to create\nINI QPs.  Note that INI QPs do not require receive CQs.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "8541f8de0583f562c652008a4e7a65e537842a7e",
      "tree": "af4e70e38a18534cf30d311aebc18e15285265a5",
      "parents": [
        "53d0bd1e7ff2fc626321f337c609fb76ae5d12c9"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Wed May 25 17:08:38 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:29:18 2011 -0700"
      },
      "message": "RDMA/uverbs: Export XRC SRQs to user space\n\nWe require additional information to create XRC SRQs than we can\nexchange using the existing create SRQ ABI.  Provide an enhanced create\nABI for extended SRQ types.\n\nBased on patches by Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nand Roland Dreier \u003croland@purestorage.com\u003e\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "53d0bd1e7ff2fc626321f337c609fb76ae5d12c9",
      "tree": "92f117b0356cebeb56c42cc76f0fb7ab84cc779a",
      "parents": [
        "d3d72d909e783d048ee39046aa7b4fa798a4dda8"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Tue May 24 08:33:46 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:21:24 2011 -0700"
      },
      "message": "RDMA/uverbs: Export XRC domains to user space\n\nAllow user space to create XRC domains.  Because XRCDs are expected to\nbe shared among multiple processes, we use inodes to identify an XRCD.\n\nBased on patches by Jack Morgenstein \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": "d3d72d909e783d048ee39046aa7b4fa798a4dda8",
      "tree": "b773014148c09565b02ad542295b5c6caa7fd498",
      "parents": [
        "b42b63cf0dde2af6eec462b2d6cca7d938702a28"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Thu May 26 23:06:44 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:20:27 2011 -0700"
      },
      "message": "RDMA/verbs: Cleanup XRC TGT QPs when destroying XRCD\n\nXRC TGT QPs are intended to be shared among multiple users and\nprocesses.  Allow the destruction of an XRC TGT QP to be done explicitly\nthrough ib_destroy_qp() or when the XRCD is destroyed.\n\nTo support destroying an XRC TGT QP, we need to track TGT QPs with the\nXRCD.  When the XRCD is destroyed, all tracked XRC TGT QPs are also\ncleaned up.\n\nTo avoid stale reference issues, if a user is holding a reference on a\nTGT QP, we increment a reference count on the QP.  The user releases the\nreference by calling ib_release_qp.  This releases any access to the QP\nfrom a user above verbs, but allows the QP to continue to exist until\ndestroyed by the XRCD.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "b42b63cf0dde2af6eec462b2d6cca7d938702a28",
      "tree": "abb1c06c6903bdc816b5a09a25ea3e4b2bda7842",
      "parents": [
        "418d51307d102e72e745031adb4f5ba0ddb646e2"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Mon May 23 19:59:25 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:16:19 2011 -0700"
      },
      "message": "RDMA/core: Add XRC QPs\n\nXRC (\"eXtended reliable connected\") is an IB transport that provides\nbetter scalability by allowing senders to specify which shared receive\nqueue (SRQ) should be used to receive a message, which essentially\nallows one transport context (QP connection) to serve multiple\ndestinations (as long as they share an adapter, of course).\n\nXRC communication is between an initiator (INI) QP and a target (TGT)\nQP.  Target QPs are associated with SRQs through an XRCD.  An XRC TGT QP\nbehaves like a receive-only RD QP.  XRC INI QPs behave similarly to RC\nQPs, except that work requests posted to an XRC INI QP must specify the\nremote SRQ that is the target of the work request.\n\nWe define two new QP types for XRC, to distinguish between INI and TGT\nQPs, and update the core layer to support XRC QPs.\n\nThis patch is derived from work by Jack Morgenstein\n\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": "418d51307d102e72e745031adb4f5ba0ddb646e2",
      "tree": "929f9e9331541535013a302e8ff9432480ae635e",
      "parents": [
        "96104eda01695a26da2c8f7423ec0ba3509c8c97"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Mon May 23 19:42:29 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:14:31 2011 -0700"
      },
      "message": "RDMA/core: Add XRC SRQ type\n\nXRC (\"eXtended reliable connected\") is an IB transport that provides\nbetter scalability by allowing senders to specify which shared receive\nqueue (SRQ) should be used to receive a message, which essentially\nallows one transport context (QP connection) to serve multiple\ndestinations (as long as they share an adapter, of course).\n\nXRC defines SRQs that are specifically used by XRC connections.  Expand\nthe SRQ code to support XRC SRQs.  An XRC SRQ is currently restricted to\nonly XRC use according to the IB XRC Annex.\n\nPortions of this patch were derived from work by\nJack Morgenstein \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": "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": "59991f94eb32e954aa767f659eb642461e9e8b37",
      "tree": "dd107c1ce5faf54a4561b7e5349eed102741772b",
      "parents": [
        "976d167615b64e14bc1491ca51d424e2ba9a5e84"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Mon May 23 17:52:46 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Oct 12 10:32:26 2011 -0700"
      },
      "message": "RDMA/core: Add XRC domain support\n\nXRC (\"eXtended reliable connected\") is an IB transport that provides\nbetter scalability by allowing senders to specify which shared receive\nqueue (SRQ) should be used to receive a message, which essentially\nallows one transport context (QP connection) to serve multiple\ndestinations (as long as they share an adapter, of course).\n\nA few new concepts are introduced to support this.  This patch adds:\n\n - A new device capability flag, IB_DEVICE_XRC, which low-level\n   drivers set to indicate that a device supports XRC.\n - A new object type, XRC domains (struct ib_xrcd), and new verbs\n   ib_alloc_xrcd()/ib_dealloc_xrcd().  XRCDs are used to limit which\n   XRC SRQs an incoming message can target.\n\nThis patch is derived from work by Jack Morgenstein \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": "e36fb88a9a0fb8ac4b87c8ac709214a408de6d97",
      "tree": "51012bbd19e812b80a7a9628b9503f4f8a29ad6f",
      "parents": [
        "71eeba161d7611238ecb6f525a82325aa35339f0"
      ],
      "author": {
        "name": "Marcel Apfelbaum",
        "email": "marcela@dev.mellanox.co.il",
        "time": "Tue Oct 04 15:28:23 2011 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Oct 11 11:57:08 2011 -0700"
      },
      "message": "IPoIB: Handle extended rates in debugfs\n\nUse new function ib_rate_to_mbps() to handle printing rate in debugfs,\nso that we handle extended rates.\n\nSigned-off-by: Marcel Apfelbaum \u003cmarcela@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "71eeba161d7611238ecb6f525a82325aa35339f0",
      "tree": "97e4a2b1cf8754029ef0755cd67d1502659e2af1",
      "parents": [
        "976d167615b64e14bc1491ca51d424e2ba9a5e84"
      ],
      "author": {
        "name": "Marcel Apfelbaum",
        "email": "marcela@dev.mellanox.co.il",
        "time": "Wed Oct 05 14:21:47 2011 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Oct 11 11:53:47 2011 -0700"
      },
      "message": "IB: Add new InfiniBand link speeds\n\nIntroduce support for the following extended speeds:\n\nFDR-10: a Mellanox proprietary link speed which is 10.3125 Gbps with\n        64b/66b encoding rather than 8b/10b encoding.\nFDR:    IBA extended speed 14.0625 Gbps.\nEDR:    IBA extended speed 25.78125 Gbps.\n\nSigned-off-by: Marcel Apfelbaum \u003cmarcela@dev.mellanox.co.il\u003e\nReviewed-by: Hal Rosenstock \u003chal@mellanox.com\u003e\nReviewed-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": "3ebeebc38b4b13384aba97f2e4acd6b48d47a65c",
      "tree": "27e9ea5dc563bbddced650fb32fc78149c074665",
      "parents": [
        "9595480c5dd1f01e477e8c993d6b24fa484eca3f"
      ],
      "author": {
        "name": "Kumar Sanghvi",
        "email": "kumaras@chelsio.com",
        "time": "Sun Sep 25 20:17:43 2011 +0530"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 06 09:37:52 2011 -0700"
      },
      "message": "RDMA/iwcm: Propagate ird/ord values upwards\n\nUpdate struct iw_cm_event to support propagating the ird/ord values\nupwards to the application.\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": "caf6e3f221ddc12ccabd1cd0ba149561db0090d4",
      "tree": "99790c5bdeb1ed62eb0262d78f6f5a7563def9bc",
      "parents": [
        "b7ab0b19a85fffaa04ad0b59471d3a607eef0a56"
      ],
      "author": {
        "name": "Hefty, Sean",
        "email": "sean.hefty@intel.com",
        "time": "Thu Oct 06 09:33:05 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 06 09:33:05 2011 -0700"
      },
      "message": "RDMA/ucm: Removed checks for unsigned value \u003c 0\n\ncmd is unsigned, no need to check for \u003c 0.  Found by code inspection.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "b7ab0b19a85fffaa04ad0b59471d3a607eef0a56",
      "tree": "e48057f49cf2c61d11e261e40b963ce79e1eaf12",
      "parents": [
        "f45ee80eb0dda1fbf32bf63189627a9e1e157a95"
      ],
      "author": {
        "name": "Hefty, Sean",
        "email": "sean.hefty@intel.com",
        "time": "Thu Oct 06 09:33:05 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 06 09:33:05 2011 -0700"
      },
      "message": "IB/mad: Verify mgmt class in received MADs\n\nIf a received MAD contains an invalid or reserved mgmt class, we will\nattempt to access method_table outside of its range.  Add a check to\nensure that mgmt class falls within the handled range.\n\nFound by code inspection.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "f45ee80eb0dda1fbf32bf63189627a9e1e157a95",
      "tree": "248b7dc6be8edf4d1ce212140c942ca654143245",
      "parents": [
        "10889a36437ffe92c9b81041525ac9661a8f2c92"
      ],
      "author": {
        "name": "Hefty, Sean",
        "email": "sean.hefty@intel.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": "RDMA/cma: Check for NULL conn_param in rdma_accept\n\nCheck that conn_param is not null before dereferencing it when\nprocessing rdma_accept().  This is necessary to prevent a possible\nsystem crash, which can be caused by user space.\n\nProblem found by code inspection.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\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": "9595480c5dd1f01e477e8c993d6b24fa484eca3f",
      "tree": "14c450423933c5e47a83f8e3c08210ab66ed86c5",
      "parents": [
        "976d167615b64e14bc1491ca51d424e2ba9a5e84"
      ],
      "author": {
        "name": "Hefty, Sean",
        "email": "sean.hefty@intel.com",
        "time": "Thu Oct 06 09:32:33 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 06 09:32:33 2011 -0700"
      },
      "message": "RDMA/cma: Fix crash in cma_req_handler\n\nThe RDMA CM uses the local qp_type to determine how to process an\nincoming request.  This can result in an incoming REQ being treated as\na SIDR REQ and vice versa.  Fix this by switching off the event type\ninstead, and for good measure verify that the listener supports the\nincoming connection request.\n\nThis problem showed up when a user space application mismatched the QP\ntypes between a client and server app.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.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": "8decf868790b48a727d7e7ca164f2bcd3c1389c0",
      "tree": "b759a5f861f842af7ea76f9011b579d06e9d5508",
      "parents": [
        "3fc72370186be2f9d4d6ef06d99e1caa5d92c564",
        "d93dc5c4478c1fd5de85a3e8aece9aad7bbae044"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 22 03:23:13 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 22 03:23:13 2011 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of github.com:davem330/net\n\nConflicts:\n\tMAINTAINERS\n\tdrivers/net/Kconfig\n\tdrivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c\n\tdrivers/net/ethernet/broadcom/tg3.c\n\tdrivers/net/wireless/iwlwifi/iwl-pci.c\n\tdrivers/net/wireless/iwlwifi/iwl-trans-tx-pcie.c\n\tdrivers/net/wireless/rt2x00/rt2800usb.c\n\tdrivers/net/wireless/wl12xx/main.c\n"
    },
    {
      "commit": "f27fb2ef7bd88c9c5f67befe4d85e2155aa0e1a8",
      "tree": "6c313f71cc2c0701a4e873e8231571c442b131e2",
      "parents": [
        "b78dbba0053c6f14384d55b929d21b85d03c38bb"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Mon Jul 25 13:48:45 2011 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sat Aug 27 08:36:14 2011 -0600"
      },
      "message": "[SCSI] iscsi class: sysfs group is_visible callout for iscsi host attrs\n\nThe iscsi class currently does not support writable sysfs\nattrs for LLD sysfs settings. This patch converts the\niscsi class and driver\u0027s host attrs to use the attribute\ncontainer sysfs group and the sysfs group\u0027s is_visible callout\nto be able to support readable or writable sysfs attrs.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "1d063c17298d7cd26cfe350f1e93e1727b4aa53f",
      "tree": "ce7996d0b3fe0903287eac2649c79658b5c9c528",
      "parents": [
        "3128c6c73cdf3df92c3165bfb785ae50114d18bf"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Mon Jul 25 13:48:43 2011 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sat Aug 27 08:36:06 2011 -0600"
      },
      "message": "[SCSI] iscsi class: sysfs group is_visible callout for session attrs\n\nThe iscsi class currently does not support writable sysfs\nattrs for LLD sysfs settings. This patch converts the\niscsi class and driver\u0027s session attrs to use the attribute\ncontainer sysfs group and the sysfs group\u0027s is_visible callout\nto be able to support readable or writable sysfs attrs.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "3128c6c73cdf3df92c3165bfb785ae50114d18bf",
      "tree": "49af7993064b0140bda96c795a47fa336525d02c",
      "parents": [
        "ed1086e041b4870313dd0c0755f4bbc3b62d0d08"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Mon Jul 25 13:48:42 2011 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sat Aug 27 08:36:03 2011 -0600"
      },
      "message": "[SCSI] iscsi cls: sysfs group is_visible callout for conn attrs\n\nThe iscsi class currently does not support writable sysfs\nattrs for LLD sysfs settings. This patch converts the\niscsi class and drivers to use the attribute container\nsysfs group and the sysfs group\u0027s is_visible callout\nto be able to support readable or writable sysfs attrs.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "5581be3b48914b0f9126b14daa02d334928322b0",
      "tree": "209a32b5a8bc19a28a188bb4b48ec5a695a664e0",
      "parents": [
        "cf383ebb1300e910377c124e8eb582c6bc27d2b6"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "Ian.Campbell@citrix.com",
        "time": "Wed Aug 24 22:28:10 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 26 12:38:42 2011 -0400"
      },
      "message": "IPoIB: 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: 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\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\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": "80b43de83781ed67810d54c7892ac9cb2a2601df",
      "tree": "78969a4c8355302cce821475bfe44d5dc69e5d23",
      "parents": [
        "22cfb0bf6721bb1f865f67bc21e3c36c272faf36",
        "200ae1a08bec8f3fedfcfe94c892d9a024db4e46"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Aug 17 10:57:43 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Aug 17 10:57:43 2011 -0700"
      },
      "message": "Merge branches \u0027ipoib\u0027 and \u0027iser\u0027 into for-next\n"
    },
    {
      "commit": "200ae1a08bec8f3fedfcfe94c892d9a024db4e46",
      "tree": "a5ea0224f3bb7998991a4c9e39f6f8aea7c70ba4",
      "parents": [
        "0ace64b85ea7b90e3bffe408b9d7c3364692bfa4"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Mon Aug 01 21:14:09 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Aug 17 09:45:07 2011 -0700"
      },
      "message": "IB/iser: Support iSCSI PDU padding\n\nRFC3270 mandates that iSCSI PDUs are padded to the closest integer\nnumber of four byte words.  Fix the iser code to support that on both\nthe TX/RX flows.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "0ace64b85ea7b90e3bffe408b9d7c3364692bfa4",
      "tree": "2606a343505441fe0c1f4cf638c6ebc9bb9929b5",
      "parents": [
        "322a8b034003c0d46d39af85bf24fee27b902f48"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Mon Aug 01 21:12:09 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Aug 17 09:40:55 2011 -0700"
      },
      "message": "IBiser: Fix wrong mask when sizeof (dma_addr_t) \u003e sizeof (unsigned long)\n\nThe code that prepares the SG associated with SCSI command for FMR was\nbuggy for systems with DMA addresses that don\u0027t fit in unsigned long,\ne.g under the 32-bit based XenServer dom0 sizeof(dma_addr_t) is 8.\n\nFix that by casting to unsigned long long a masking constant used by\nthe code. This resolves a crash in iser_sg_to_page_vec on this system.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "22cfb0bf6721bb1f865f67bc21e3c36c272faf36",
      "tree": "d70baecd0e7aa0e63cafa82178a16a39587df7cb",
      "parents": [
        "322a8b034003c0d46d39af85bf24fee27b902f48"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd.schubert@itwm.fraunhofer.de",
        "time": "Tue Aug 16 10:56:54 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Aug 16 10:19:20 2011 -0700"
      },
      "message": "IPoIB: Fix possible NULL dereference in ipoib_start_xmit()\n\nFix a bug introduced in 69cce1d14049 (\"net: Abstract dst-\u003eneighbour\naccesses behind helpers.\") where we might dereference skb_dst(skb)\neven if it is NULL, which causes:\n\n    [  240.944030] BUG: unable to handle kernel NULL pointer dereference at 0000000000000040\n    [  240.948007] IP: [\u003cffffffffa0366ce9\u003e] ipoib_start_xmit+0x39/0x280 [ib_ipoib]\n    [...]\n    [  240.948007] Call Trace:\n    [  240.948007]  \u003cIRQ\u003e\n    [  240.948007]  [\u003cffffffff812cd5e0\u003e] dev_hard_start_xmit+0x2a0/0x590\n    [  240.948007]  [\u003cffffffff8131f680\u003e] ? arp_create+0x70/0x200\n    [  240.948007]  [\u003cffffffff812e8e1f\u003e] sch_direct_xmit+0xef/0x1c0\n\nAddresses: https://bugzilla.kernel.org/show_bug.cgi?id\u003d41212\nSigned-off-by: Bernd Schubert \u003cbernd.schubert@itwm.fraunhofer.de\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\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": "91d41fdf31f74e6e2e5f3cb018eca4200e36e202",
      "tree": "81ef11f06bd8047031a2d93706dc263fa1bacd56",
      "parents": [
        "c1095c6da518b0b64e724f629051fa67655cd8d9",
        "277c5f27a2c86a9a733c0ec0f6a9b1032dfa3e15"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 27 13:21:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 27 13:21:40 2011 -0700"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:\n  target: Convert to DIV_ROUND_UP_SECTOR_T usage for sectors / dev_max_sectors\n  kernel.h: Add DIV_ROUND_UP_ULL and DIV_ROUND_UP_SECTOR_T macro usage\n  iscsi-target: Add iSCSI fabric support for target v4.1\n  iscsi: Add Serial Number Arithmetic LT and GT into iscsi_proto.h\n  iscsi: Use struct scsi_lun in iscsi structs instead of u8[8]\n  iscsi: Resolve iscsi_proto.h naming conflicts with drivers/target/iscsi\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": "123521830c0ea35055b900d2ff0b73bb129e08cb",
      "tree": "e0f2a4b46d6b7759a17b91f4953627b51ce20d5a",
      "parents": [
        "bbd9d6f7fbb0305c9a592bf05a32e87eb364a4ff"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri May 27 11:16:33 2011 +0000"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Jul 25 07:18:45 2011 +0000"
      },
      "message": "iscsi: Resolve iscsi_proto.h naming conflicts with drivers/target/iscsi\n\nThis patch renames the following iscsi_proto.h structures to avoid\nnamespace issues with drivers/target/iscsi/iscsi_target_core.h:\n\n*) struct iscsi_cmd -\u003e struct iscsi_scsi_req\n*) struct iscsi_cmd_rsp -\u003e struct iscsi_scsi_rsp\n*) struct iscsi_login -\u003e struct iscsi_login_req\n\nThis patch includes useful ISCSI_FLAG_LOGIN_[CURRENT,NEXT]_STAGE*,\nand ISCSI_FLAG_SNACK_TYPE_* definitions used by iscsi_target_mod, and\nfixes the incorrect definition of struct iscsi_snack to following\nRFC-3720 Section 10.16. SNACK Request.\n\nAlso, this patch updates libiscsi, iSER, be2iscsi, and bn2xi to\nuse the updated structure definitions in a handful of locations.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.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"
    }
  ],
  "next": "6451c712fef3b13bb3fc5a41adadc539e0d06a42"
}
