)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "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": "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": "4bc71cb983fd2844e603bf633df2bb53385182d2",
      "tree": "067b6df32fda6c554b2b9263a94a585c2e5a832d",
      "parents": [
        "c5dac7c9984d8a034eb7ae149cedf23ec9259f98"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Sat Sep 03 03:34:30 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 15 17:32:26 2011 -0400"
      },
      "message": "net: consolidate and fix ethtool_ops-\u003eget_settings calling\n\nThis patch does several things:\n- introduces __ethtool_get_settings which is called from ethtool code and\n  from drivers as well. Put ASSERT_RTNL there.\n- dev_ethtool_get_settings() is replaced by __ethtool_get_settings()\n- changes calling in drivers so rtnl locking is respected. In\n  iboe_get_rate was previously -\u003eget_settings() called unlocked. This\n  fixes it. Also prb_calc_retire_blk_tmo() in af_packet.c had the same\n  problem. Also fixed by calling __dev_get_by_index() instead of\n  dev_get_by_index() and holding rtnl_lock for both calls.\n- introduces rtnl_lock in bnx2fc_vport_create() and fcoe_vport_create()\n  so bnx2fc_if_create() and fcoe_if_create() are called locked as they\n  are from other places.\n- use __ethtool_get_settings() in bonding code\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\n\nv2-\u003ev3:\n\t-removed dev_ethtool_get_settings()\n\t-added ASSERT_RTNL into __ethtool_get_settings()\n\t-prb_calc_retire_blk_tmo - use __dev_get_by_index() and lock\n\t around it and __ethtool_get_settings() call\nv1-\u003ev2:\n        add missing export_symbol\nReviewed-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e [except FCoE bits]\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "60063497a95e716c9a689af3be2687d261f115b4",
      "tree": "6ce0d68db76982c53df46aee5f29f944ebf2c320",
      "parents": [
        "148817ba092f9f6edd35bad3c6c6b8e8f90fe2ed"
      ],
      "author": {
        "name": "Arun Sharma",
        "email": "asharma@fb.com",
        "time": "Tue Jul 26 16:09:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:47 2011 -0700"
      },
      "message": "atomic: use \u003clinux/atomic.h\u003e\n\nThis allows us to move duplicated code in \u003casm/atomic.h\u003e\n(atomic_inc_not_zero() for now) to \u003clinux/atomic.h\u003e\n\nSigned-off-by: Arun Sharma \u003casharma@fb.com\u003e\nReviewed-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6aea213a62122701891fe55cc3405d31b927cfde",
      "tree": "3406b02988e4bda771d9d2639fc78be892f2ebbb",
      "parents": [
        "f2a3f6a32cf64db1495b5ced8625b9a80bde44e5"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Tue Jul 05 15:46:29 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Jul 18 21:04:35 2011 -0700"
      },
      "message": "IB/pma: Add include file for IBA performance counters definitions\n\nMove the various definitions and mad structures needed for software\nimplementation of IBA PM agent from the ipath and qib drivers into a\nsingle include file, which in turn could be used by more consumers.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "761d90ed4c36798a2f5fcb161d4ee2119bab478b",
      "tree": "1efbb3bd8cf0f9e499b5a4619e63853078ce9d7a",
      "parents": [
        "620917de59eeb934b9f8cf35cc2d95c1ac8ed0fc"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Wed Jun 15 14:39:29 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Jul 18 21:04:30 2011 -0700"
      },
      "message": "IB/core: Add GID change event\n\nAdd IB GID change event type.  This is needed for IBoE when the HW\ndriver updates the GID (e.g when new VLANs are added/deleted) table\nand the change should be reflected to the IB core cache.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "4c171acc20794af16a27da25e11ec4e9cad5d9fa",
      "tree": "fb097384d709b7bda982902d999f658bb4f07b2c",
      "parents": [
        "20e0ec119b2c6cc412addefbe169f4f5e38701e8",
        "8dc4abdf4c82d0e1c47f14b6615406d31975ea66"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 12:13:57 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 12:13:57 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:\n  RDMA/cma: Save PID of ID\u0027s owner\n  RDMA/cma: Add support for netlink statistics export\n  RDMA/cma: Pass QP type into rdma_create_id()\n  RDMA: Update exported headers list\n  RDMA/cma: Export enum cma_state in \u003crdma/rdma_cm.h\u003e\n  RDMA/nes: Add a check for strict_strtoul()\n  RDMA/cxgb3: Don\u0027t post zero-byte read if endpoint is going away\n  RDMA/cxgb4: Use completion objects for event blocking\n  IB/srp: Fix integer -\u003e pointer cast warnings\n  IB: Add devnode methods to cm_class and umad_class\n  IB/mad: Return EPROTONOSUPPORT when an RDMA device lacks the QP required\n  IB/uverbs: Add devnode method to set path/mode\n  RDMA/ucma: Add .nodename/.mode to tell userspace where to create device node\n  RDMA: Add netlink infrastructure\n  RDMA: Add error handling to ib_core_init()\n"
    },
    {
      "commit": "753f618ae03a699cc30044d64eea84165016dc6e",
      "tree": "145bbd73eef824f047affe79ee0570a6bb0940b1",
      "parents": [
        "b26f9b9949013fec31b23c426fc463164ae08891"
      ],
      "author": {
        "name": "Nir Muchtar",
        "email": "nirm@voltaire.com",
        "time": "Mon Jan 03 15:33:53 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed May 25 13:46:23 2011 -0700"
      },
      "message": "RDMA/cma: Add support for netlink statistics export\n\nAdd callbacks and data types for statistics export of all current\ndevices/ids.  The schema for RDMA CM is a series of netlink messages.\nEach one contains an rdma_cm_stat struct.  Additionally, two netlink\nattributes are created for the addresses for each message (if\napplicable).\n\nTheir types used are:\nRDMA_NL_RDMA_CM_ATTR_SRC_ADDR (The source address for this ID)\nRDMA_NL_RDMA_CM_ATTR_DST_ADDR (The destination address for this ID)\nsockaddr_* structs are encapsulated within these attributes.\n\nIn other words, every transaction contains a series of messages like:\n\n-------message 1-------\nstruct rdma_cm_id_stats {\n       __u32 qp_num;\n       __u32 bound_dev_if;\n       __u32 port_space;\n       __s32 pid;\n       __u8 cm_state;\n       __u8 node_type;\n       __u8 port_num;\n       __u8 reserved;\n}\nRDMA_NL_RDMA_CM_ATTR_SRC_ADDR attribute - contains the source address\nRDMA_NL_RDMA_CM_ATTR_DST_ADDR attribute - contains the destination address\n-------end 1-------\n-------message 2-------\nstruct rdma_cm_id_stats\nRDMA_NL_RDMA_CM_ATTR_SRC_ADDR attribute\nRDMA_NL_RDMA_CM_ATTR_DST_ADDR attribute\n-------end 2-------\n\nSigned-off-by: Nir Muchtar \u003cnirm@voltaire.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "b26f9b9949013fec31b23c426fc463164ae08891",
      "tree": "072bbf5abb93baea33a4aebaad2381ff69563a0b",
      "parents": [
        "9a7147b506ccae8552b0cf218b3c02982012eb4d"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Thu Apr 01 17:08:41 2010 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed May 25 13:46:23 2011 -0700"
      },
      "message": "RDMA/cma: Pass QP type into rdma_create_id()\n\nThe RDMA CM currently infers the QP type from the port space selected\nby the user.  In the future (eg with RDMA_PS_IB or XRC), there may not\nbe a 1-1 correspondence between port space and QP type.  For netlink\nexport of RDMA CM state, we want to export the QP type to userspace,\nso it is cleaner to explicitly associate a QP type to an ID.\n\nModify rdma_create_id() to allow the user to specify the QP type, and\nuse it to make our selections of datagram versus connected mode.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "9a7147b506ccae8552b0cf218b3c02982012eb4d",
      "tree": "b5045b85c90790fbb74671d0e0e2caf6bfa2733e",
      "parents": [
        "550e5ca77e96989c5e19f60e017205b2bcc615a5"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 10 12:36:01 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed May 25 13:46:23 2011 -0700"
      },
      "message": "RDMA: Update exported headers list\n\nVarious RDMA headers are intended to be exported to userspace, so add\nthem to the headers-y list.  Add a (strictly speaking, superfluous)\ninclude of \u003clinux/types.h\u003e to avoid a headers_check warning.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "550e5ca77e96989c5e19f60e017205b2bcc615a5",
      "tree": "ac2a52507f095a476875eab4ead8957655671bc3",
      "parents": [
        "b2cbae2c248776d81cc265ff7d48405b6a4cc463"
      ],
      "author": {
        "name": "Nir Muchtar",
        "email": "nirm@voltaire.com",
        "time": "Fri May 20 11:46:11 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed May 25 13:46:22 2011 -0700"
      },
      "message": "RDMA/cma: Export enum cma_state in \u003crdma/rdma_cm.h\u003e\n\nMove cma.c\u0027s internal definition of enum cma_state to enum rdma_cm_state\nin an exported header so that it can be exported via RDMA netlink.\n\nSigned-off-by: Nir Muchtar \u003cnirm@voltaire.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "06f4e926d256d902dd9a53dcb400fd74974ce087",
      "tree": "0b438b67f5f0eff6fd617bc497a9dace6164a488",
      "parents": [
        "8e7bfcbab3825d1b404d615cb1b54f44ff81f981",
        "d93515611bbc70c2fe4db232e5feb448ed8e4cc9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 13:43:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 13:43:21 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1446 commits)\n  macvlan: fix panic if lowerdev in a bond\n  tg3: Add braces around 5906 workaround.\n  tg3: Fix NETIF_F_LOOPBACK error\n  macvlan: remove one synchronize_rcu() call\n  networking: NET_CLS_ROUTE4 depends on INET\n  irda: Fix error propagation in ircomm_lmp_connect_response()\n  irda: Kill set but unused variable \u0027bytes\u0027 in irlan_check_command_param()\n  irda: Kill set but unused variable \u0027clen\u0027 in ircomm_connect_indication()\n  rxrpc: Fix set but unused variable \u0027usage\u0027 in rxrpc_get_transport()\n  be2net: Kill set but unused variable \u0027req\u0027 in lancer_fw_download()\n  irda: Kill set but unused vars \u0027saddr\u0027 and \u0027daddr\u0027 in irlan_provider_connect_indication()\n  atl1c: atl1c_resume() is only used when CONFIG_PM_SLEEP is defined.\n  rxrpc: Fix set but unused variable \u0027usage\u0027 in rxrpc_get_peer().\n  rxrpc: Kill set but unused variable \u0027local\u0027 in rxrpc_UDP_error_handler()\n  rxrpc: Kill set but unused variable \u0027sp\u0027 in rxrpc_process_connection()\n  rxrpc: Kill set but unused variable \u0027sp\u0027 in rxrpc_rotate_tx_window()\n  pkt_sched: Kill set but unused variable \u0027protocol\u0027 in tc_classify()\n  isdn: capi: Use pr_debug() instead of ifdefs.\n  tg3: Update version to 3.119\n  tg3: Apply rx_discards fix to 5719/5720\n  ...\n\nFix up trivial conflicts in arch/x86/Kconfig and net/mac80211/agg-tx.c\nas per Davem.\n"
    },
    {
      "commit": "b2cbae2c248776d81cc265ff7d48405b6a4cc463",
      "tree": "fbd4f4e0812fbcc991670c81967e90bfdd9f80c0",
      "parents": [
        "fd75c789abf7948e16fe50917a6acb809927719a"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri May 20 11:46:11 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri May 20 11:46:11 2011 -0700"
      },
      "message": "RDMA: Add netlink infrastructure\n\nAdd basic RDMA netlink infrastructure that allows for registration of\nRDMA clients for which data is to be exported and supplies message\nconstruction callbacks.\n\nSigned-off-by: Nir Muchtar \u003cnirm@voltaire.com\u003e\n\n[ Reorganize a few things, add CONFIG_NET dependency.  - Roland ]\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "d0c49bf391b2e230a8f3ae4486da7df440f1216d",
      "tree": "77c63b308e23c8a97b2fd334ddd820a5f5aac6a2",
      "parents": [
        "a9bb79128aa659f97b774b97c9bb1bdc74444595"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon May 09 22:23:57 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon May 09 22:23:57 2011 -0700"
      },
      "message": "RDMA/iwcm: Get rid of enum iw_cm_event_status\n\nThe IW_CM_EVENT_STATUS_xxx values were used in only a couple of places;\ncma.c uses -Exxx values instead, and so do the amso1100, cxgb3 and cxgb4\ndrivers -- only nes was using the enum values (with the mild consequence\nthat all nes connection failures were treated as generic errors rather\nthan reported as timeouts or rejections).\n\nWe can fix this confusion by getting rid of enum iw_cm_event_status and\nusing a plain int for struct iw_cm_event.status, and converting nes to\nuse -Exxx as the other iWARP drivers do.\n\nThis also gets rid of the warning\n\n    drivers/infiniband/core/cma.c: In function \u0027cma_iw_handler\u0027:\n    drivers/infiniband/core/cma.c:1333:3: warning: case value \u00274294967185\u0027 not in enumerated type \u0027enum iw_cm_event_status\u0027\n    drivers/infiniband/core/cma.c:1336:3: warning: case value \u00274294967186\u0027 not in enumerated type \u0027enum iw_cm_event_status\u0027\n    drivers/infiniband/core/cma.c:1332:3: warning: case value \u00274294967192\u0027 not in enumerated type \u0027enum iw_cm_event_status\u0027\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nReviewed-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nReviewed-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nReviewed-by: Faisal Latif \u003cfaisal.latif@intel.com\u003e\n"
    },
    {
      "commit": "a9bb79128aa659f97b774b97c9bb1bdc74444595",
      "tree": "20208e66195581568e5c68f838897199d224fa90",
      "parents": [
        "43b752daae9445a3b2b075a236840d801fce1593"
      ],
      "author": {
        "name": "Hefty, Sean",
        "email": "sean.hefty@intel.com",
        "time": "Mon May 09 22:06:10 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon May 09 22:06:10 2011 -0700"
      },
      "message": "RDMA/cma: Add an ID_REUSEADDR option\n\nLustre requires that clients bind to a privileged port number before\nconnecting to a remote server.  On larger clusters (typically more\nthan about 1000 nodes), the number of privileged ports is exhausted,\nresulting in lustre being unusable.\n\nTo handle this, we add support for reusable addresses to the rdma_cm.\nThis mimics the behavior of the socket option SO_REUSEADDR.  A user\nmay set an rdma_cm_id to reuse an address before calling\nrdma_bind_addr() (explicitly or implicitly).  If set, other\nrdma_cm_id\u0027s may be bound to the same address, provided that they all\nhave reuse enabled, and there are no active listens.\n\nIf rdma_listen() is called on an rdma_cm_id that has reuse enabled, it\nwill only succeed if there are no other id\u0027s bound to that same\naddress.  The reuse option is exported to user space.  The behavior of\nthe kernel reuse implementation was verified against that given by\nsockets.\n\nThis patch is derived from a path by Ira Weiny \u003cweiny2@llnl.gov\u003e\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "8ae6daca85c8bbd6a32c382db5e2a2a989f8bed2",
      "tree": "0c85476c2af6568c3d3a73a960d582d2f91a1256",
      "parents": [
        "36504605432996590f889e33d47e2d9c581f7569"
      ],
      "author": {
        "name": "David Decotigny",
        "email": "decot@google.com",
        "time": "Wed Apr 27 18:32:38 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 29 14:01:30 2011 -0700"
      },
      "message": "ethtool: Call ethtool\u0027s get/set_settings callbacks with cleaned data\n\nThis makes sure that when a driver calls the ethtool\u0027s\nget/set_settings() callback of another driver, the data passed to it\nis clean. This guarantees that speed_hi will be zeroed correctly if\nthe called callback doesn\u0027t explicitely set it: we are sure we don\u0027t\nget a corrupted speed from the underlying driver. We also take care of\nsetting the cmd field appropriately (ETHTOOL_GSET/SSET).\n\nThis applies to dev_ethtool_get_settings(), which now makes sure it\nsets up that ethtool command parameter correctly before passing it to\ndrivers. This also means that whoever calls dev_ethtool_get_settings()\ndoes not have to clean the ethtool command parameter. This function\nalso becomes an exported symbol instead of an inline.\n\nAll drivers visible to make allyesconfig under x86_64 have been\nupdated.\n\nSigned-off-by: David Decotigny \u003cdecot@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f06267104dd9112f11586830d22501d0e26245ea",
      "tree": "8f7c364abc84a5f69269974eaa2b955b24d8f421",
      "parents": [
        "948579cd8c6ea7c8c98c52b79f4470952e182ebd"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Oct 19 15:24:36 2010 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sun Jan 16 21:16:31 2011 -0800"
      },
      "message": "RDMA: Update workqueue usage\n\n* ib_wq is added, which is used as the common workqueue for infiniband\n  instead of the system workqueue.  All system workqueue usages\n  including flush_scheduled_work() callers are converted to use and\n  flush ib_wq.\n\n* cancel_delayed_work() + flush_scheduled_work() converted to\n  cancel_delayed_work_sync().\n\n* qib_wq is removed and ib_wq is used instead.\n\nThis is to prepare for deprecation of flush_scheduled_work().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "af7bd463761c6abd8ca8d831f9cc0ac19f3b7d4b",
      "tree": "65d997130a892b0da260e308919ed67255a16f77",
      "parents": [
        "fa417f7b520ee60b39f7e23528d2030af30a07d1"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@dev.mellanox.co.il",
        "time": "Thu Aug 26 17:18:59 2010 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Oct 25 10:20:39 2010 -0700"
      },
      "message": "IB/core: Add VLAN support for IBoE\n\nAdd 802.1q VLAN support to IBoE. The VLAN tag is encoded within the\nGID derived from a link local address in the following way:\n\n    GID[11] GID[12] contain the VLAN ID when the GID contains a VLAN.\n\nThe 3 bits user priority field of the packets are identical to the 3\nbits of the SL.\n\nIn case of rdma_cm apps, the TOS field is used to generate the SL\nfield by doing a shift right of 5 bits effectively taking to 3 MS bits\nof the TOS field.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "2420b60b1dc4ed98cb1788e928bc57ff2efa1a8d",
      "tree": "5696498ba9fc4a9bc17b055113af06585a9a7a13",
      "parents": [
        "ff7f5aab354dee01f29c9c00933f6d4aa590eadb"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@mellanox.co.il",
        "time": "Mon Oct 18 14:45:20 2010 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Oct 25 10:20:39 2010 -0700"
      },
      "message": "IB/uverbs: Return link layer type to userspace for query port operation\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n\n"
    },
    {
      "commit": "ff7f5aab354dee01f29c9c00933f6d4aa590eadb",
      "tree": "c6f4075f712808ba76927224fac2960f4c5353ec",
      "parents": [
        "3c86aa70bf677a31b71c8292e349242e26cbc743"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@dev.mellanox.co.il",
        "time": "Thu Aug 26 14:17:56 2010 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Oct 14 12:41:29 2010 -0700"
      },
      "message": "IB/pack: IBoE UD packet packing support\n\nAdd support for packing IBoE packet headers.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\n\n[ Clean up and fix ib_ud_header_init() a bit.  - Roland ]\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "3c86aa70bf677a31b71c8292e349242e26cbc743",
      "tree": "7f38edd826e444b1232185e154f313e70966d250",
      "parents": [
        "fac70d51914674ce8ae742ed73441ddb4770ad20"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@dev.mellanox.co.il",
        "time": "Wed Oct 13 21:26:51 2010 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Oct 13 15:46:43 2010 -0700"
      },
      "message": "RDMA/cm: Add RDMA CM support for IBoE devices\n\nAdd support for IBoE device binding and IP --\u003e GID resolution.  Path\nresolving and multicast joining are implemented within cma.c by\nfilling in the responses and running callbacks in the CMA work queue.\n\nIP --\u003e GID resolution always yields IPv6 link local addresses; remote\nGIDs are derived from the destination MAC address of the remote port.\nMulticast GIDs are always mapped to multicast MACs as is done in IPv6.\n(IPv4 multicast is enabled by translating IPv4 multicast addresses to\nIPv6 multicast as described in\n\u003chttp://www.mail-archive.com/ipng@sunroof.eng.sun.com/msg02134.html\u003e.)\n\nSome helper functions are added to ib_addr.h.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "a3f5adaf491490089215f863a61b9422fae902f8",
      "tree": "ab4bd1d3875a220cf752bd1a9fd233a1c14bd86e",
      "parents": [
        "252a52aa4fa22a668f019e55b3aac3ff71ec1c29"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@mellanox.co.il",
        "time": "Mon Sep 27 17:51:10 2010 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Sep 27 17:51:10 2010 -0700"
      },
      "message": "IB/core: Add link layer property to ports\n\nThis patch allows ports to have different link layers:\nIB_LINK_LAYER_INFINIBAND or IB_LINK_LAYER_ETHERNET.  This is required\nfor adding IBoE (InfiniBand-over-Ethernet, aka RoCE) support.  For\ndevices that do not provide an implementation for querying the link\nlayer property of a port, we return a default value based on the\ntransport: RMA_TRANSPORT_IB nodes will return IB_LINK_LAYER_INFINIBAND\nand RDMA_TRANSPORT_IWARP nodes will return IB_LINK_LAYER_ETHERNET.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "a2ebf07ae53e65bd073f96877e4818f2e89271ae",
      "tree": "b17b62a44d04c3bbc8b357960e051500e0f833d0",
      "parents": [
        "48d8fcebb7abf64843314672c1208b730be911bb"
      ],
      "author": {
        "name": "Aleksey Senin",
        "email": "alex@senin.name",
        "time": "Sun Jul 04 13:55:57 2010 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Aug 04 10:44:19 2010 -0700"
      },
      "message": "IB: Rename RAW_ETY to RAW_ETHERTYPE\n\nChange abbreviated IB_QPT_RAW_ETY to IB_QPT_RAW_ETHERTYPE to make\nthe special QP type easier to understand.\n\ncf http://www.mail-archive.com/linux-rdma@vger.kernel.org/msg04530.html\n\nSigned-off-by: Aleksey Senin \u003calekseys@voltaire.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "9a6edb60ec10d86b1025a0cdad68fd89f1ddaf02",
      "tree": "8727118d511e8336f038e618cfc6d4aa6b73aaaf",
      "parents": [
        "a0fe3cc5d36a5f5b4f60abfe1a4b1caf4a5cce5a"
      ],
      "author": {
        "name": "Ralph Campbell",
        "email": "ralph.campbell@qlogic.com",
        "time": "Thu May 06 17:03:25 2010 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri May 21 10:34:44 2010 -0700"
      },
      "message": "IB/core: Allow device-specific per-port sysfs files\n\nAdd a new parameter to ib_register_device() so that low-level device\ndrivers can pass in a pointer to a callback function that will be\ncalled for each port that is registered in sysfs.  This allows\nlow-level device drivers to create files in\n\n    /sys/class/infiniband/\u003chca\u003e/ports/\u003cN\u003e/\n\nwithout having to poke through the internals of the RDMA sysfs handling.\n\nThere is no need for an unregister function since the kobject\nreference will go to zero when ib_unregister_device() is called.\n\nSigned-off-by: Ralph Campbell \u003cralph.campbell@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "5e80ba8ff0bd33ff4af2365969a231cbdb98cafb",
      "tree": "e8cde0f8245a377eeafa8b2717bf9a1bf4526c97",
      "parents": [
        "0eddb519b9127c73d53db4bf3ec1d45b13f844d1"
      ],
      "author": {
        "name": "Vladimir Sokolovsky",
        "email": "vlad@mellanox.co.il",
        "time": "Wed Apr 14 17:23:01 2010 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Apr 21 16:37:48 2010 -0700"
      },
      "message": "IB/core: Add support for masked atomic operations\n\n - Add new IB_WR_MASKED_ATOMIC_CMP_AND_SWP and IB_WR_MASKED_ATOMIC_FETCH_AND_ADD\n   send opcodes that can be used to post \"masked atomic compare and\n   swap\" and \"masked atomic fetch and add\" work request respectively.\n - Add masked_atomic_cap capability.\n - Add mask fields to atomic struct of ib_send_wr\n - Add new opcodes to ib_wc_opcode\n\nThe new operations are described more precisely below:\n\n* Masked Compare and Swap (MskCmpSwap)\n\nThe MskCmpSwap atomic operation is an extension to the CmpSwap\noperation defined in the IB spec.  MskCmpSwap allows the user to\nselect a portion of the 64 bit target data for the “compare” check as\nwell as to restrict the swap to a (possibly different) portion.  The\npseudo code below describes the operation:\n\n| atomic_response \u003d *va\n| if (!((compare_add ^ *va) \u0026 compare_add_mask)) then\n|     *va \u003d (*va \u0026 ~(swap_mask)) | (swap \u0026 swap_mask)\n|\n| return atomic_response\n\nThe additional operands are carried in the Extended Transport Header.\nAtomic response generation and packet format for MskCmpSwap is as for\nstandard IB Atomic operations.\n\n* Masked Fetch and Add (MFetchAdd)\n\nThe MFetchAdd Atomic operation extends the functionality of the\nstandard IB FetchAdd by allowing the user to split the target into\nmultiple fields of selectable length. The atomic add is done\nindependently on each one of this fields. A bit set in the\nfield_boundary parameter specifies the field boundaries. The pseudo\ncode below describes the operation:\n\n| bit_adder(ci, b1, b2, *co)\n| {\n|\tvalue \u003d ci + b1 + b2\n|\t*co \u003d !!(value \u0026 2)\n|\n|\treturn value \u0026 1\n| }\n|\n| #define MASK_IS_SET(mask, attr)      (!!((mask)\u0026(attr)))\n| bit_position \u003d 1\n| carry \u003d 0\n| atomic_response \u003d 0\n|\n| for i \u003d 0 to 63\n| {\n|         if ( i !\u003d 0 )\n|                 bit_position \u003d  bit_position \u003c\u003c 1\n|\n|         bit_add_res \u003d bit_adder(carry, MASK_IS_SET(*va, bit_position),\n|                                 MASK_IS_SET(compare_add, bit_position), \u0026new_carry)\n|         if (bit_add_res)\n|                 atomic_response |\u003d bit_position\n|\n|         carry \u003d ((new_carry) \u0026\u0026 (!MASK_IS_SET(compare_add_mask, bit_position)))\n| }\n|\n| return atomic_response\n\nSigned-off-by: Vladimir Sokolovsky \u003cvlad@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "fe8875e5a41a36ef26072cf05731df5493ade0e1",
      "tree": "786c31c1e86f5287177210fb469c8ecae0bdd146",
      "parents": [
        "f57721507ffeaf8785f7f17254651de4d8b45e09",
        "a265e5587f078618c1f17c3a83da65046f18746f"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Mar 01 23:52:31 2010 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Mar 01 23:52:31 2010 -0800"
      },
      "message": "Merge branch \u0027misc\u0027 into for-next\n\nConflicts:\n\tdrivers/infiniband/core/uverbs_main.c\n"
    },
    {
      "commit": "e8094e667aa89a7c455da1da9daf8a5ed063da8d",
      "tree": "fc10a7b7db6d13db5e0ecf9b0b92e849b7b8a7db",
      "parents": [
        "17a55f79fd8051a6a8a6e84176c83af71877a98b",
        "cf4f7e8c47b3298cf90239bad5d86fdcad0c89eb"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Mar 01 23:51:54 2010 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Mar 01 23:51:54 2010 -0800"
      },
      "message": "Merge branch \u0027cma\u0027 into for-next\n"
    },
    {
      "commit": "920d706c892e8f8cfff95f46aeb95fc6344f0bd5",
      "tree": "a4219e9b0bc285bb080b4239107cf9e391017c66",
      "parents": [
        "ccbe9f0b11b137c9453771a7ca3bf417dc7ce152"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@mellanox.co.il",
        "time": "Mon Feb 08 11:40:37 2010 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Feb 24 14:54:10 2010 -0800"
      },
      "message": "IB/core: Fix and clean up ib_ud_header_init()\n\nib_ud_header_init() first clears header and then fills up the various\nfields.  Later on, it tests header-\u003eimmediate_present, which it has\nalready cleared, so the condition is always false.  Fix this by adding\nan immediate_present parameter and setting header-\u003eimmediate_present\nas is done with grh_present.  Also remove unused calculation of\nheader_len.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "17a55f79fd8051a6a8a6e84176c83af71877a98b",
      "tree": "e4f668b04c40ab1c7cd8f5890d15ab9a6ebe792e",
      "parents": [
        "cdb8e43889a5d21ce706f5a93d3e1c9940cde1dc"
      ],
      "author": {
        "name": "Alexander Chiang",
        "email": "achiang@hp.com",
        "time": "Tue Feb 02 19:09:16 2010 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Feb 24 10:23:49 2010 -0800"
      },
      "message": "IB/core: Pack struct ib_device a little tighter\n\nA small change to reduce the size of ib_device to 1112 bytes\n(from 1128).\n\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "cf4f7e8c47b3298cf90239bad5d86fdcad0c89eb",
      "tree": "d7b43568eb2dc3158ed6330decdffc78421b8e43",
      "parents": [
        "676ad585531e965416fd958747894541dabcec96"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Thu Feb 11 15:40:25 2010 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Feb 11 15:40:25 2010 -0800"
      },
      "message": "RDMA/cm: Remove unused definition of RDMA_PS_SCTP\n\nThe defined SCTP number is incorrect (0x83, rather than 0x84), and\nsince it is not used anywhere, simply remove the definition.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "14f369d1d61e7ac6578c54ca9ce3caaf4072412c",
      "tree": "4a882604cce68949252ea65ead73f0478253d9f3",
      "parents": [
        "c597b0240b686427248b6d4fc8adbe22f9a04c11",
        "d14714df61681cfecf945a58436edf197327e87f",
        "48617f862f9e58ca2a609fea6a76733aff55d672",
        "e147de03610fab7781c09aaed078a932e549ed4a",
        "598cb6f327c99ceaf81c45c32504669b2028712b",
        "0cd4d0fd9b0a4e10c091fc6316d1bf92885dcd9c",
        "c1ccaf2478f84c2665cf57f981db143aa582d646",
        "df42245a3c246ec1eeeedbc3e5edbcc17f081c79",
        "be504b0b9fbe9ba447c93ef0f5789f377102d555",
        "7a576dfd9ed4fd0f32bb838ce4f644af201ac7df"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Dec 15 23:39:25 2009 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Dec 15 23:39:25 2009 -0800"
      },
      "message": "Merge branches \u0027amso1100\u0027, \u0027cma\u0027, \u0027cxgb3\u0027, \u0027ehca\u0027, \u0027ipath\u0027, \u0027ipoib\u0027, \u0027iser\u0027, \u0027misc\u0027, \u0027mlx4\u0027 and \u0027nes\u0027 into for-next\n"
    },
    {
      "commit": "55464d461bdcffc4422aebfb750eacf99e3c0f27",
      "tree": "eeaff5884b9d91fec8eb6f3f24c895097ea3ff4b",
      "parents": [
        "91d3f9bacdb4950d2f79fe2ba296aa249f60d06c"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bart.vanassche@gmail.com",
        "time": "Wed Dec 09 14:20:04 2009 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Dec 09 14:20:04 2009 -0800"
      },
      "message": "IB: Clarify the documentation of ib_post_send()\n\nClarify the behavior of ib_post_send() when a list of work requests is\npassed in and an immediate error is returned.\n\nSigned-off-by: Bart Van Assche \u003cbart.vanassche@gmail.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "6f8372b69c3198e06cecb1df2cb9682d0c55e657",
      "tree": "4cd9a39fd782bc973b0394f779572ca72737f55c",
      "parents": [
        "c4315d85f9b76834289fd503796c01b8311c4b84"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Thu Nov 19 13:26:06 2009 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Nov 19 13:26:06 2009 -0800"
      },
      "message": "RDMA/cm: fix loopback address support\n\nThe RDMA CM is intended to support the use of a loopback address\nwhen establishing a connection; however, the behavior of the CM\nwhen loopback addresses are used is confusing and does not always\nwork, depending on whether loopback was specified by the server,\nthe client, or both.\n\nThe defined behavior of rdma_bind_addr is to associate an RDMA\ndevice with an rdma_cm_id, as long as the user specified a non-\nzero address.  (ie they weren\u0027t just trying to reserve a port)\nCurrently, if the loopback address is passed to rdam_bind_addr,\nno device is associated with the rdma_cm_id.  Fix this.\n\nIf a loopback address is specified by the client as the destination\naddress for a connection, it will fail to establish a connection.\nThis is true even if the server is listing across all addresses or\non the loopback address itself.  The issue is that the server tries\nto translate the IP address carried in the REQ message to a local\nnet_device address, which fails.  The translation is not needed in\nthis case, since the REQ carries the actual HW address that should\nbe used.\n\nFinally, cleanup loopback support to be more transport neutral.\nReplace separate calls to get/set the sgid and dgid from the\ndevice address to a single call that behaves correctly depending\non the format of the device address.  And support both IPv4 and\nIPv6 address formats.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\n\n[ Fixed RDS build by s/ib_addr_get/rdma_addr_get/  - Roland ]\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "c4315d85f9b76834289fd503796c01b8311c4b84",
      "tree": "12a74b92f3b00c8d515811e131c850402cd1588a",
      "parents": [
        "d2e0886245aa9eebc1a4710c861d263b09eac493"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Thu Nov 19 12:57:18 2009 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Nov 19 12:57:18 2009 -0800"
      },
      "message": "IB/addr: Store net_device type instead of translating to RDMA transport\n\nThe struct rdma_dev_addr stores net_device address information:\nthe source device address, destination hardware address, and\nbroadcast address.  For consistency, store the net_device type\nrather than converting it to the rdma_node_type.\n\nThe type indicates the format of the various hardware addresses,\nwhich is what we\u0027re concerned with, and not the RDMA node type\nthat the address may map to.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "6266ed6e4164466177238b11ecb825a3a108a3e4",
      "tree": "6960dcaeb66aa368b8e856022b8aafb81b255428",
      "parents": [
        "e2e626972e652d18520f84d69fc06cfa307d11ff"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Thu Nov 19 12:55:22 2009 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Nov 19 12:55:22 2009 -0800"
      },
      "message": "RDMA/cma: Replace net_device pointer with index\n\nProvide the device interface when resolving route information to\nensure that the correct outbound device is used.  This will also\nsimplify processing of sin6_scope_id for IPv6 support.\n\nBased on work from:\nDavid Wilder \u003cdwilder@us.ibm.com\u003e\nJason Gunthorpe \u003cjgunthrope@obsidianresearch.com\u003e\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "a7ca1f00ed2921b804d7ebda0f6fca8c9078fa42",
      "tree": "5235dfe07cfdf1ce60442a33fd7f6b4cb24ef80c",
      "parents": [
        "91d3f9bacdb4950d2f79fe2ba296aa249f60d06c"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Mon Nov 16 09:30:33 2009 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Nov 16 09:30:33 2009 -0800"
      },
      "message": "RDMA/ucma: Add option to manually set IB path\n\nExport rdma_set_ib_paths to user space to allow applications to\nmanually set the IB path used for connections.  This allows\nalternative ways for a user space application or library to obtain\npath record information, including retrieving path information\nfrom cached data, avoiding direct interaction with the IB SA.\nThe IB SA is a single, centralized entity that can limit scaling\non large clusters running MPI applications.\n\nFuture changes to the rdma cm can expand on this framework to\nsupport the full range of features allowed by the IB CM, such as\nseparate forward and reverse paths and APM.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nReviewed-By: Jason Gunthorpe \u003cjgunthorpe@obsidianresearch.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "fd589a8f0a13f53a2dd580b1fe170633cf6b095f",
      "tree": "942c50188ca58041b0453189e710eafcfebaea57",
      "parents": [
        "4f37940d64a155c025968118849b596f6aaa8128"
      ],
      "author": {
        "name": "Anand Gadiyar",
        "email": "gadiyar@ti.com",
        "time": "Thu Jul 16 17:13:03 2009 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Sep 21 15:14:55 2009 +0200"
      },
      "message": "trivial: fix typo \"to to\" in multiple files\n\nSigned-off-by: Anand Gadiyar \u003cgadiyar@ti.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "13220a94d35708d5378114e96ffcc88d0a74fe99",
      "tree": "be6530677d5f9536c7211e05ba012923e4c0b307",
      "parents": [
        "8690d8a9f6c2d5728a9c9f68231f1bb4de109e3a",
        "08abe18af1f78ee80c3c3a5ac47c3e0ae0beadf6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 15:54:36 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 15:54:36 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1750 commits)\n  ixgbe: Allow Priority Flow Control settings to survive a device reset\n  net: core: remove unneeded include in net/core/utils.c.\n  e1000e: update version number\n  e1000e: fix close interrupt race\n  e1000e: fix loss of multicast packets\n  e1000e: commonize tx cleanup routine to match e1000 \u0026 igb\n  netfilter: fix nf_logger name in ebt_ulog.\n  netfilter: fix warning in ebt_ulog init function.\n  netfilter: fix warning about invalid const usage\n  e1000: fix close race with interrupt\n  e1000: cleanup clean_tx_irq routine so that it completely cleans ring\n  e1000: fix tx hang detect logic and address dma mapping issues\n  bridge: bad error handling when adding invalid ether address\n  bonding: select current active slave when enslaving device for mode tlb and alb\n  gianfar: reallocate skb when headroom is not enough for fcb\n  Bump release date to 25Mar2009 and version to 0.22\n  r6040: Fix second PHY address\n  qeth: fix wait_event_timeout handling\n  qeth: check for completion of a running recovery\n  qeth: unregister MAC addresses during recovery.\n  ...\n\nManually fixed up conflicts in:\n\tdrivers/infiniband/hw/cxgb3/cxio_hal.h\n\tdrivers/infiniband/hw/nes/nes_nic.c\n"
    },
    {
      "commit": "09f98bafea792644f2dea39eb080aa57d854f5b3",
      "tree": "cb2261414a0206429e2c27008c45f50335d9d119",
      "parents": [
        "d1fbe04eee32ed2642cff139b8592866f1d43f41",
        "9c3da0991754d480328eeaa2b90cb231a1cea9b6",
        "e538052746d570c874650a24eed89fca6e4c93dc",
        "71d98b4628ee869d62814f6d8607d76cab4b9ec5",
        "1aedb7721f05461f777fdee25b50d8a168c425ed",
        "4780c1953f9bef07365b13af01ae4e8238ecd3de",
        "6b708b3dde0ab3a10a0eea7774c1d6482f32f587",
        "a6a47771b113be8e694aedd80f66ea94d05bd8df",
        "270b8b85134c299799dddec624ceeb5671330131",
        "9d5ab13325d0bb855cf856946c140a68ceb20e32",
        "6432f366842c78d17b2df974c68f39cb5794f2c2"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Mar 24 20:44:41 2009 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Mar 24 20:44:41 2009 -0700"
      },
      "message": "Merge branches \u0027cxgb3\u0027, \u0027endian\u0027, \u0027ipath\u0027, \u0027ipoib\u0027, \u0027iser\u0027, \u0027mad\u0027, \u0027misc\u0027, \u0027mlx4\u0027, \u0027mthca\u0027, \u0027nes\u0027 and \u0027sysfs\u0027 into for-next\n"
    },
    {
      "commit": "7020cb0fe216fdcec246cdc2412614a3190fbb2f",
      "tree": "73fefbde0a05e9598b0ff871eca631aeea495e61",
      "parents": [
        "f3b8436ad9a8ad36b3c9fa1fe030c7f38e5d3d0b"
      ],
      "author": {
        "name": "Ramachandra K",
        "email": "ramachandra.kuchimanchi@qlogic.com",
        "time": "Fri Feb 27 10:33:12 2009 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Feb 27 10:33:12 2009 -0800"
      },
      "message": "IB/mad: Fix RMPP header RRespTime manipulation\n\nFix ib_set_rmpp_flags() to use the correct bit mask for RRespTime.  In\nthe 8-bit field of the RMPP header, the first 5 bits are RRespTime and\nnext 3 bits are RMPPFlags. Hence to retain the first 5 bits, the mask\nshould be 0xF8 instead of 0xF1.\n\nack_recv()--\u003eformat_ack() calls ib_set_rmpp_flags() and due to the\nincorrect ANDing with 0xF1, RRespTime got changed incorrectly and RMPP\nAcks sent back always had a RRespTime of 0x1E (30) which caused the\nother end to consider the time outs to be approximately 4297 seconds\n(i.e. in the order of 4*2^30) instead of the usual ~4 seconds (order\nof 4*2^20).\n\nSigned-off-by: Ramachandra K \u003cramachandra.kuchimanchi@qlogic.com\u003e\nAcked-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "f3a7c66b5ce0b75a9774a50b5dcce93e5ba28370",
      "tree": "441f02ac10cb109cbb80fbd0d964af3638541f06",
      "parents": [
        "35c26c2cf6a6a2d1c48add732d8ba002bd90784c"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Sat Feb 14 22:58:35 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 14 22:58:35 2009 -0800"
      },
      "message": "net: replace __constant_{endian} uses in net headers\n\nBase versions handle constant folding now.  For headers exposed to\nuserspace, we must only expose the __ prefixed versions.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9c3da0991754d480328eeaa2b90cb231a1cea9b6",
      "tree": "744f69e5b04af0e950658fb26ad95bd18868c8e8",
      "parents": [
        "f3b8436ad9a8ad36b3c9fa1fe030c7f38e5d3d0b"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Sat Jan 17 17:11:57 2009 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sat Jan 17 17:11:57 2009 -0800"
      },
      "message": "IB: Remove __constant_{endian} uses\n\nThe base versions handle constant folding just fine, use them\ndirectly.  The replacements are OK in the include/ files as they are\nnot exported to userspace so we don\u0027t need the __ prefixed versions.\n\nThis patch does not affect code generation at all.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "3f44675439b136d51179d31eb5a498383cb38624",
      "tree": "a3c9f6b6c0a2fd5cd948c8482242dc859e1ddfdf",
      "parents": [
        "6e86841d05f371b5b9b86ce76c02aaee83352298"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Aug 04 11:02:14 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Aug 04 11:02:14 2008 -0700"
      },
      "message": "RDMA/cma: Remove padding arrays by using struct sockaddr_storage\n\nThere are a few places where the RDMA CM code handles IPv6 by doing\n\n\tstruct sockaddr\t\taddr;\n\tu8\t\t\tpad[sizeof(struct sockaddr_in6) -\n\t\t\t\t    sizeof(struct sockaddr)];\n\nThis is fragile and ugly; handle this in a better way with just\n\n\tstruct sockaddr_storage\taddr;\n\n[ Also roll in patch from Aleksey Senin \u003calekseys@voltaire.com\u003e to\n  switch to struct sockaddr_storage and get rid of padding arrays in\n  struct rdma_addr. ]\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "8d8bb39b9eba32dd70e87fd5ad5c5dd4ba118e06",
      "tree": "64090a84f4c4466f9f30ff46c993e0cede379052",
      "parents": [
        "c485b465a031b6f9b9a51300e0ee1f86efc6db87"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Fri Jul 25 19:44:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:03 2008 -0700"
      },
      "message": "dma-mapping: add the device argument to dma_mapping_error()\n\nAdd per-device dma_mapping_ops support for CONFIG_X86_64 as POWER\narchitecture does:\n\nThis enables us to cleanly fix the Calgary IOMMU issue that some devices\nare not behind the IOMMU (http://lkml.org/lkml/2008/5/8/423).\n\nI think that per-device dma_mapping_ops support would be also helpful for\nKVM people to support PCI passthrough but Andi thinks that this makes it\ndifficult to support the PCI passthrough (see the above thread).  So I\nCC\u0027ed this to KVM camp.  Comments are appreciated.\n\nA pointer to dma_mapping_ops to struct dev_archdata is added.  If the\npointer is non NULL, DMA operations in asm/dma-mapping.h use it.  If it\u0027s\nNULL, the system-wide dma_ops pointer is used as before.\n\nIf it\u0027s useful for KVM people, I plan to implement a mechanism to register\na hook called when a new pci (or dma capable) device is created (it works\nwith hot plugging).  It enables IOMMUs to set up an appropriate\ndma_mapping_ops per device.\n\nThe major obstacle is that dma_mapping_error doesn\u0027t take a pointer to the\ndevice unlike other DMA operations.  So x86 can\u0027t have dma_mapping_ops per\ndevice.  Note all the POWER IOMMUs use the same dma_mapping_error function\nso this is not a problem for POWER but x86 IOMMUs use different\ndma_mapping_error functions.\n\nThe first patch adds the device argument to dma_mapping_error.  The patch\nis trivial but large since it touches lots of drivers and dma-mapping.h in\nall the architecture.\n\nThis patch:\n\ndma_mapping_error() doesn\u0027t take a pointer to the device unlike other DMA\noperations.  So we can\u0027t have dma_mapping_ops per device.\n\nNote that POWER already has dma_mapping_ops per device but all the POWER\nIOMMUs use the same dma_mapping_error function.  x86 IOMMUs use device\nargument.\n\n[akpm@linux-foundation.org: fix sge]\n[akpm@linux-foundation.org: fix svc_rdma]\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: fix bnx2x]\n[akpm@linux-foundation.org: fix s2io]\n[akpm@linux-foundation.org: fix pasemi_mac]\n[akpm@linux-foundation.org: fix sdhci]\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: fix sparc]\n[akpm@linux-foundation.org: fix ibmvscsi]\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Muli Ben-Yehuda \u003cmuli@il.ibm.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Avi Kivity \u003cavi@qumranet.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "38ca83a588662f0af684ba2567dd910a564268ab",
      "tree": "b5983ebd94a89f924e06e3bbd1c174533144682e",
      "parents": [
        "dd5bdff83b19d9174126e0398b47117c3a80e22d"
      ],
      "author": {
        "name": "Amir Vadai",
        "email": "amirv@mellanox.co.il",
        "time": "Tue Jul 22 14:14:23 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Jul 22 14:14:23 2008 -0700"
      },
      "message": "RDMA/cma: Add RDMA_CM_EVENT_TIMEWAIT_EXIT event\n\nConsumers that want to re-use their QPs in new connections need to\nknow when the QP has exited the timewait state.  Report the timewait\nevent through the rdma_cm.\n\nSigned-off-by: Amir Vadai \u003camirv@mellanox.co.il\u003e\nAcked-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "dd5bdff83b19d9174126e0398b47117c3a80e22d",
      "tree": "2bdbc102afcc851d1cd0bef07e3a47d4e9ec1ae9",
      "parents": [
        "d35cb360c29956510b2fe1a953bd4968536f7216"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@voltaire.com",
        "time": "Tue Jul 22 14:14:22 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Jul 22 14:14:22 2008 -0700"
      },
      "message": "RDMA/cma: Add RDMA_CM_EVENT_ADDR_CHANGE event\n\nAdd an RDMA_CM_EVENT_ADDR_CHANGE event can be used by rdma-cm\nconsumers that wish to have their RDMA sessions always use the same\nlinks (eg \u003chca/port\u003e) as the IP stack does.  In the current code, this\ndoes not happen when bonding is used and fail-over happened but the IB\nlink used by an already existing session is operating fine.\n\nUse the netevent notification for sensing that a change has happened\nin the IP stack, then scan the rdma-cm ID list to see if there is an\nID that is \"misaligned\" with respect to the IP stack, and deliver\nRDMA_CM_EVENT_ADDR_CHANGE for this ID.  The consumer can act on the\nevent or just ignore it.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@voltaire.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "64c5e613b9dd34ef1281ed6d22478609667ae36a",
      "tree": "ba749c73291bbb98954c08581b93d5bd6a931813",
      "parents": [
        "4ab928f69208d240d3681336f34589e4b151824f"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@voltaire.com",
        "time": "Mon Jul 14 23:48:53 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:53 2008 -0700"
      },
      "message": "RDMA/addr: Keep pointer to netdevice in struct rdma_dev_addr\n\nKeep a pointer to the local (src) netdevice in struct rdma_dev_addr,\nand copy it in as part of rdma_copy_addr().  Use rdma_translate_ip()\nin cma_new_conn_id() to reduce some code duplication and also make\nsure the src_dev member gets set.\n\nIn a high-availability configuration the netdevice pointer can be used\nby the RDMA CM to align RDMA sessions to use the same links as the IP\nstack does under fail-over and route change cases.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@voltaire.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "96f15c03532282366364ecfd20f04e49b5d96f3a",
      "tree": "cf3cdbd22a112c43807175045d4e02286b729de0",
      "parents": [
        "aed012279d35e88e29fd55737d8821604433f50a"
      ],
      "author": {
        "name": "Steve Wise",
        "email": "swise@opengridcomputing.com",
        "time": "Mon Jul 14 23:48:53 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:53 2008 -0700"
      },
      "message": "RDMA/core: Add local DMA L_Key support\n\n- Change the IB_DEVICE_ZERO_STAG flag to the transport-neutral name\n  IB_DEVICE_LOCAL_DMA_LKEY, which is used by iWARP RNICs to indicate 0\n  STag support and IB HCAs to indicate reserved L_Key support.\n\n- Add a u32 local_dma_lkey member to struct ib_device.  Drivers fill\n  this in with the appropriate local DMA L_Key (if they support it).\n\n- Fix up the drivers using this flag.\n\nSigned-off-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "47ee1b9f2e7bf73950602efe0b74fa1a8481f222",
      "tree": "9ae4012272ccb5524a2826a1593db12dd525bae3",
      "parents": [
        "14cc180f7b032f8484c1a3d0533b1129ffe307fd"
      ],
      "author": {
        "name": "Ron Livne",
        "email": "ronli@voltaire.com",
        "time": "Mon Jul 14 23:48:48 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:48 2008 -0700"
      },
      "message": "IB/core: Add support for multicast loopback blocking\n\nThis patch also adds a creation flag for QPs,\nIB_QP_CREATE_MULTICAST_BLOCK_LOOPBACK, which when set means that\nmulticast sends from the QP to a group that the QP is attached to will\nnot be looped back to the QP\u0027s receive queue.  This can be used to\nsave receive resources when a consumer does not want a local copy of\nmulticast traffic; for example IPoIB must waste CPU time throwing away\nsuch local copies of multicast traffic.\n\nThis patch also adds a device capability flag that shows whether a\ndevice supports this feature or not.\n\nSigned-off-by: Ron Livne \u003cronli@voltaire.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "7f624d023b5fb150831e02c1e4c0f2619ade72c2",
      "tree": "9618a7eaa601855c3ab7763a3c31ee2fc16364ee",
      "parents": [
        "a7d834c4bc6be73e8f83eaa5072fac3c5549f7f2"
      ],
      "author": {
        "name": "Steve Wise",
        "email": "swise@opengridcomputing.com",
        "time": "Mon Jul 14 23:48:48 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:48 2008 -0700"
      },
      "message": "RDMA/core: Add iWARP protocol statistics attributes in sysfs\n\nThis patch adds a sysfs attribute group called \"proto_stats\" under\n/sys/class/infiniband/$device/ and populates this group with protocol\nstatistics if they exist for a given device.  Currently, only iWARP\nstats are defined, but the code is designed to allow InfiniBand\nprotocol stats if they become available.  These stats are per-device\nand more importantly -not- per port.\n\nDetails:\n\n- Add union rdma_protocol_stats in ib_verbs.h.  This union allows\n  defining transport-specific stats.  Currently only iwarp stats are\n  defined.\n\n- Add struct iw_protocol_stats to define the current set of iwarp\n  protocol stats.\n\n- Add new ib_device method called get_proto_stats() to return protocol\n  statistics.\n\n- Add logic in core/sysfs.c to create iwarp protocol stats attributes\n  if the device is an RNIC and has a get_proto_stats() method.\n\nSigned-off-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "00f7ec36c9324928e4cd23f02e6d8550f30c32ca",
      "tree": "dd9bea0d7589d49b4eb7e264e5f318045fcee1fb",
      "parents": [
        "f89271da32bc1a636cf4eb078e615930886cd013"
      ],
      "author": {
        "name": "Steve Wise",
        "email": "swise@opengridcomputing.com",
        "time": "Mon Jul 14 23:48:45 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:45 2008 -0700"
      },
      "message": "RDMA/core: Add memory management extensions support\n\nThis patch adds support for the IB \"base memory management extension\"\n(BMME) and the equivalent iWARP operations (which the iWARP verbs\nmandates all devices must implement).  The new operations are:\n\n - Allocate an ib_mr for use in fast register work requests.\n\n - Allocate/free a physical buffer lists for use in fast register work\n   requests.  This allows device drivers to allocate this memory as\n   needed for use in posting send requests (eg via dma_alloc_coherent).\n\n - New send queue work requests:\n   * send with remote invalidate\n   * fast register memory region\n   * local invalidate memory region\n   * RDMA read with invalidate local memory region (iWARP only)\n\nConsumer interface details:\n\n - A new device capability flag IB_DEVICE_MEM_MGT_EXTENSIONS is added\n   to indicate device support for these features.\n\n - New send work request opcodes IB_WR_FAST_REG_MR, IB_WR_LOCAL_INV,\n   IB_WR_RDMA_READ_WITH_INV are added.\n\n - A new consumer API function, ib_alloc_mr() is added to allocate\n   fast register memory regions.\n\n - New consumer API functions, ib_alloc_fast_reg_page_list() and\n   ib_free_fast_reg_page_list() are added to allocate and free\n   device-specific memory for fast registration page lists.\n\n - A new consumer API function, ib_update_fast_reg_key(), is added to\n   allow the key portion of the R_Key and L_Key of a fast registration\n   MR to be updated.  Consumers call this if desired before posting\n   a IB_WR_FAST_REG_MR work request.\n\nConsumers can use this as follows:\n\n - MR is allocated with ib_alloc_mr().\n\n - Page list memory is allocated with ib_alloc_fast_reg_page_list().\n\n - MR R_Key/L_Key \"key\" field is updated with ib_update_fast_reg_key().\n\n - MR made VALID and bound to a specific page list via\n   ib_post_send(IB_WR_FAST_REG_MR)\n\n - MR made INVALID via ib_post_send(IB_WR_LOCAL_INV),\n   ib_post_send(IB_WR_RDMA_READ_WITH_INV) or an incoming send with\n   invalidate operation.\n\n - MR is deallocated with ib_dereg_mr()\n\n - page lists dealloced via ib_free_fast_reg_page_list().\n\nApplications can allocate a fast register MR once, and then can\nrepeatedly bind the MR to different physical block lists (PBLs) via\nposting work requests to a send queue (SQ).  For each outstanding\nMR-to-PBL binding in the SQ pipe, a fast_reg_page_list needs to be\nallocated (the fast_reg_page_list is owned by the low-level driver\nfrom the consumer posting a work request until the request completes).\nThus pipelining can be achieved while still allowing device-specific\npage_list processing.\n\nThe 32-bit fast register memory key/STag is composed of a 24-bit index\nand an 8-bit key.  The application can change the key each time it\nfast registers thus allowing more control over the peer\u0027s use of the\nkey/STag (ie it can effectively be changed each time the rkey is\nrebound to a page list).\n\nSigned-off-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "4deccd6d95f1f1536dad3c842e39c1ace577329d",
      "tree": "1c1e8020f79b6fbbafd18f28da49573ad911bc87",
      "parents": [
        "fd91b1bf1bb6fb443cb8c7600c7314f093b31f40"
      ],
      "author": {
        "name": "Dotan Barak",
        "email": "dotanba@gmail.com",
        "time": "Mon Jul 14 23:48:44 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:44 2008 -0700"
      },
      "message": "RDMA: Improve include file coding style\n\nRemove subversion $Id lines and improve readability by fixing other\ncoding style problems pointed out by checkpatch.pl.\n\nSigned-off-by: Dotan Barak \u003cdotanba@gmail.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "a9474917099e007c0f51d5474394b5890111614f",
      "tree": "d33da1632f3a03871f45a382124158a046f54b88",
      "parents": [
        "929555a2baed9b0b050d03532655bfd721a43c44"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Mon Jul 14 23:48:43 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:43 2008 -0700"
      },
      "message": "RDMA: Fix license text\n\nThe license text for several files references a third software license\nthat was inadvertently copied in.  Update the license to what was\nintended.  This update was based on a request from HP.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "4c0283fc561d79a4f94ab48ec37282e15273d1f8",
      "tree": "2826dd873ca2e9ce699c11211582f2f9425871e4",
      "parents": [
        "8079ffa0e18baaf2940e52e0c118eef420a473a4"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jun 09 09:58:42 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jun 09 09:58:42 2008 -0700"
      },
      "message": "IB/core: Remove IB_DEVICE_SEND_W_INV capability flag\n\nIn 2.6.26, we added some support for send with invalidate work\nrequests, including a device capability flag to indicate whether a\ndevice supports such requests.  However, the support was incomplete:\nthe completion structure was not extended with a field for the key\ncontained in incoming send with invalidate requests.\n\nFull support for memory management extensions (send with invalidate,\nlocal invalidate, fast register through a send queue, etc) is planned\nfor 2.6.27.  Since send with invalidate is not very useful by itself,\njust remove the IB_DEVICE_SEND_W_INV bit before the 2.6.26 final\nrelease; we will add an IB_DEVICE_MEM_MGT_EXTENSIONS bit in 2.6.27,\nwhich makes things simpler for applications, since they will not have\nquite as confusing an array of fine-grained bits to check.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "cb9fbc5c37b69ac584e61d449cfd590f5ae1f90d",
      "tree": "3079752ba33535a21db08bed1390aca9136fadfe",
      "parents": [
        "309df0c503c35fbb5a09537fcbb1f4967b9ca489"
      ],
      "author": {
        "name": "Arthur Kepner",
        "email": "akepner@sgi.com",
        "time": "Tue Apr 29 01:00:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:12 2008 -0700"
      },
      "message": "IB: expand ib_umem_get() prototype\n\nAdd a new parameter, dmasync, to the ib_umem_get() prototype.  Use dmasync \u003d 1\nwhen mapping user-allocated CQs with ib_umem_get().\n\nSigned-off-by: Arthur Kepner \u003cakepner@sgi.com\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nCc: Jes Sorensen \u003cjes@sgi.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Roland Dreier \u003crdreier@cisco.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nCc: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f4e91eb4a81559da87a3843758a641b5cc590b65",
      "tree": "534335821d076764cbc072586b19c4b061710e3d",
      "parents": [
        "c4c66cf1787d408066fbfc69209185701f5df15f"
      ],
      "author": {
        "name": "Tony Jones",
        "email": "tonyj@suse.de",
        "time": "Fri Feb 22 00:13:36 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:30 2008 -0700"
      },
      "message": "IB: convert struct class_device to struct device\n\nThis converts the main ib_device to use struct device instead of struct\nclass_device as class_device is going away.\n\nSigned-off-by: Tony Jones \u003ctonyj@suse.de\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nCc: Sean Hefty \u003csean.hefty@intel.com\u003e\nCc: Hal Rosenstock \u003chal.rosenstock@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "2dd5716227878d5950988514a2cbabf72f7fc888",
      "tree": "cd999c4f9bcf1bb1f54fc6b91fac7d16552a930e",
      "parents": [
        "82c24c18afc5e1c2a955bdc2762b19721283365c"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@dev.mellanox.co.il",
        "time": "Wed Apr 16 21:09:33 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Apr 16 21:09:33 2008 -0700"
      },
      "message": "IB/core: Add support for modify CQ\n\nAdd support for modifying CQ parameters for controlling event\ngeneration moderation.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "0f39cf3d54e67a705773fd0ec56ca3dcd3e9272f",
      "tree": "83f19f0014d0e880fb245906105e903dd6d733d5",
      "parents": [
        "e7eacd36865ae0707f5efae8e4dda421ffcd1b66"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Apr 16 21:09:32 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Apr 16 21:09:32 2008 -0700"
      },
      "message": "IB/core: Add support for \"send with invalidate\" work requests\n\nAdd a new IB_WR_SEND_WITH_INV send opcode that can be used to mark a\n\"send with invalidate\" work request as defined in the iWARP verbs and\nthe InfiniBand base memory management extensions.  Also put \"imm_data\"\nand a new \"invalidate_rkey\" member in a new \"ex\" union in struct\nib_send_wr. The invalidate_rkey member can be used to pass in an\nR_Key/STag to be invalidated.  Add this new union to struct\nib_uverbs_send_wr.  Add code to copy the invalidate_rkey field in\nib_uverbs_post_send().\n\nFix up low-level drivers to deal with the change to struct ib_send_wr,\nand just remove the imm_data initialization from net/sunrpc/xprtrdma/,\nsince that code never does any send with immediate operations.\n\nAlso, move the existing IB_DEVICE_SEND_W_INV flag to a new bit, since\nthe iWARP drivers currently in the tree set the bit.  The amso1100\ndriver at least will silently fail to honor the IB_SEND_INVALIDATE bit\nif passed in as part of userspace send requests (since it does not\nimplement kernel bypass work request queueing).  Remove the flag from\nall existing drivers that set it until we know which ones are OK.\n\nThe values chosen for the new flag is not consecutive to avoid clashing\nwith flags defined in the XRC patches, which are not merged yet but\nwhich are already in use and are likely to be merged soon.\n\nThis resurrects a patch sent long ago by Mikkel Hagen \u003cmhagen@iol.unh.edu\u003e.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "c93570f23a98c633570397aedc6d1808f5d5846a",
      "tree": "91251e98dcacfe9e7be8bf805f4bd5c4b2284f90",
      "parents": [
        "b846f25aa2a353355aec5202fe4dbdc6674dfc64"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@dev.mellanox.co.il",
        "time": "Wed Apr 16 21:09:27 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Apr 16 21:09:27 2008 -0700"
      },
      "message": "IB/core: Add IPoIB UD LSO support\n\nLSO (large send offload) allows the networking stack to pass SKBs with\ndata size larger than the MTU to the IPoIB driver and have the HCA HW\nfragment the data to multiple MSS-sized packets.  Add a device\ncapability flag IB_DEVICE_UD_TSO for devices that can perform TCP\nsegmentation offload, a new send work request opcode IB_WR_LSO,\nheader, hlen and mss fields for the work request structure, and a new\nIB_WC_LSO completion type.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "b846f25aa2a353355aec5202fe4dbdc6674dfc64",
      "tree": "2daf137a2974c1ced5363020e88057c802cea5a5",
      "parents": [
        "d84e0b28d3a0b41fc574ea50d60522ae0fba75f4"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@dev.mellanox.co.il",
        "time": "Wed Apr 16 21:09:27 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Apr 16 21:09:27 2008 -0700"
      },
      "message": "IB/core: Add creation flags to struct ib_qp_init_attr\n\nAdd a create_flags member to struct ib_qp_init_attr that will allow a\nkernel verbs consumer to create a pass special flags when creating a QP.\nAdd a flag value for telling low-level drivers that a QP will be used\nfor IPoIB UD LSO.  The create_flags member will also be useful for XRC\nand ehca low-latency QP support.\n\nSince no create_flags handling is implemented yet, add code to all\nlow-level drivers to return -EINVAL if create_flags is non-zero.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "b3d636b0d1b2eb870a55ae196b8f3838e1399554",
      "tree": "f33ae9f2f618c0367dcddf4238cdba10f29f1d2b",
      "parents": [
        "edba846af9e1f27bab00d5aebfeef01386e00af0"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Apr 16 21:01:06 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Apr 16 21:01:06 2008 -0700"
      },
      "message": "IB: Make struct ib_uobject.id a signed int\n\nIDR IDs are signed, so struct ib_uobject.id should be signed.  This\navoids some sparse pointer signedness warnings.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "5128bdc97a1018aacac2550cf73bda61041cc3b8",
      "tree": "d9a953efea6e5cd391d19e2eac56fffdc01d60e9",
      "parents": [
        "e0605d9199b462454f2f2e5ca01810255a6d5cfa"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Feb 08 14:47:26 2008 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Feb 08 14:47:26 2008 -0800"
      },
      "message": "IB/core: Remove unused struct ib_device.flags member\n\nAvoid confusion about what it might mean, since it\u0027s never initialized.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "e0605d9199b462454f2f2e5ca01810255a6d5cfa",
      "tree": "c822a9a89fb74b1768dae4c3660474bc6304a35e",
      "parents": [
        "7143740d26098aca84ecc7376ccfe2c58fd0412e"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@mellanox.co.il",
        "time": "Wed Jan 30 18:30:57 2008 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Feb 08 14:37:56 2008 -0800"
      },
      "message": "IB/core: Add IP checksum offload support\n\nAdd a device capability to show when it can handle checksum offload.\nAlso add a send flag for inserting checksums and a csum_ok field to\nthe completion record.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "88314e4dda1e158aabce76429ef4d017b48f8b92",
      "tree": "951aad1d512d0ac0fce5bfd6189e7ed1fbd84e71",
      "parents": [
        "45d9478da106c749203056f56e94d0e370dfac87"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Wed Nov 14 00:29:50 2007 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Jan 25 14:15:32 2008 -0800"
      },
      "message": "RDMA/cma: add support for rdma_migrate_id() \n\nThis is based on user feedback from Doug Ledford at RedHat:\n\nEvents that occur on an rdma_cm_id are reported to userspace through an\nevent channel.  Connection request events are reported on the event\nchannel associated with the listen.  When the connection is accepted, a\nnew rdma_cm_id is created and automatically uses the listen event\nchannel.  This is suboptimal where the user only wants listen events on\nthat channel.\n\nAdditionally, it may be desirable to have events related to connection\nestablishment use a different event channel than those related to\nalready established connections.\n\nAllow the user to migrate an rdma_cm_id between event channels. All\npending events associated with the rdma_cm_id are moved to the new event\nchannel.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "4fc8cd4919428f9b86f0b65e2f3245a1c186737f",
      "tree": "07bca41da2be7504e6d17745fb86264e59a4958e",
      "parents": [
        "547af76521b3fd4b9ec5c9a9975a17eadb95e6f6"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Tue Nov 27 00:11:04 2007 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Jan 25 14:15:30 2008 -0800"
      },
      "message": "IB/mad: Report number of times a mad was retried\n\nTo allow ULPs to tune timeout values and capture retry statistics,\nreport the number of times that a mad send operation was retried.\n\nFor RMPP mads, report the total number of times that the any portion\n(send window) of the send operation was retried.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "35be0681983752116a8161ad3b30e830963108a4",
      "tree": "6eb3fe7dcc4ec690d8062912eb4b1e3ce17ad5b5",
      "parents": [
        "901195ed7f4b2f30dc5a36271887939c5d7bfb9f"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Dec 17 15:54:39 2007 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:26 2008 -0800"
      },
      "message": "Kobject: change drivers/infiniband to use kobject_init_and_add\n\nStop using kobject_register, as this way we can control the sending of\nthe uevent properly, after everything is properly initialized.\n\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nCc: Sean Hefty \u003cmshefty@ichips.intel.com\u003e\nCc: Hal Rosenstock \u003chal.rosenstock@gmail.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "87ae9afdcada236d0a1b38ce2c465a65916961dc",
      "tree": "c885e589ff66daf4f860b19818228edb75b29530",
      "parents": [
        "013fb33972061ac65cdf3e1771267985e59deca1"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Oct 30 10:35:04 2007 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.home.kernel.dk",
        "time": "Fri Nov 02 08:47:06 2007 +0100"
      },
      "message": "cleanup asm/scatterlist.h includes\n\nNot architecture specific code should not #include \u003casm/scatterlist.h\u003e.\n\nThis patch therefore either replaces them with\n#include \u003clinux/scatterlist.h\u003e or simply removes them if they were\nunused.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "de98b693e9857e183679cd2f49b3c30d2bc57629",
      "tree": "bfb31d9109f5057926b8849671e2937df22b37fd",
      "parents": [
        "1a1eb6a646f52dc62e3f9ceac4aab9c27e781186"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Wed Aug 01 13:49:53 2007 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Oct 09 19:59:17 2007 -0700"
      },
      "message": "IB/cm: Modify interface to send MRAs in response to duplicate messages\n\nThe IB CM provides a message received acknowledged (MRA) message that\ncan be sent to indicate that a REQ or REP message has been received, but\nwill require more time to process than the timeout specified by those\nmessages.  In many cases, the application may not know how long it will\ntake to respond to a CM message, but the majority of the time, it will\nusually respond before a retry has been sent.  Rather than sending an\nMRA in response to all messages just to handle the case where a longer\ntimeout is needed, it is more efficient to queue the MRA for sending in\ncase a duplicate message is received.\n\nThis avoids sending an MRA when it is not needed, but limits the number\nof times that a REQ or REP will be resent.  It also provides for a\nsimpler implementation than generating the MRA based on a timer event.\n(That is, trying to send the MRA after receiving the first REQ or REP if\na response has not been generated, so that it is received at the remote\nside before a duplicate REQ or REP has been received)\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "a394f83bdfec10b09d8cb111e622556b2e6fd0de",
      "tree": "bc9735ed3ccda810634173f01528741cefc71a6c",
      "parents": [
        "2be8e3ee8efd6f99ce454115c29d09750915021a"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Oct 09 19:59:15 2007 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Oct 09 19:59:15 2007 -0700"
      },
      "message": "IB/umad: Fix bit ordering and 32-on-64 problems on big endian systems\n\nThe declaration of struct ib_user_mad_reg_req.method_mask[] exported\nto userspace was an array of __u32, but the kernel internally treated\nit as a bitmap made up of longs.  This makes a difference for 64-bit\nbig-endian kernels, where numbering the bits in an array of__u32 gives:\n\n    |31.....0|63....31|95....64|127...96|\n\nwhile numbering the bits in an array of longs gives:\n\n    |63..............0|127............64|\n\n64-bit userspace can handle this by just treating method_mask[] as an\narray of longs, but 32-bit userspace is really stuck: the meaning of\nthe bits in method_mask[] depends on whether the kernel is 32-bit or\n64-bit, and there\u0027s no sane way for userspace to know that.\n\nFix this by updating \u003crdma/ib_user_mad.h\u003e to make it clear that\nmethod_mask[] is an array of longs, and using a compat_ioctl method to\nconvert to an array of 64-bit longs to handle the 32-on-64 problem.\nThis fixes the interface description to match existing behavior (so\nworking binaries continue to work) in almost all situations, and gives\nconsistent semantics in the case of 32-bit userspace that can run on\neither a 32-bit or 64-bit kernel, so that the same binary can work for\nboth 32-on-32 and 32-on-64 systems.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "2be8e3ee8efd6f99ce454115c29d09750915021a",
      "tree": "00e21e061a18c7bd1339ebbb637de9701863312d",
      "parents": [
        "c01759cee91379cc3cb551bfd7c76f1b51f91ca2"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Oct 09 19:59:15 2007 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Oct 09 19:59:15 2007 -0700"
      },
      "message": "IB/umad: Add P_Key index support\n\nAdd support for setting the P_Key index of sent MADs and getting the\nP_Key index of received MADs.  This requires a change to the layout of\nthe ABI structure struct ib_user_mad_hdr, so to avoid breaking\ncompatibility, we default to the old (unchanged) ABI and add a new\nioctl IB_USER_MAD_ENABLE_PKEY that allows applications that are aware\nof the new ABI to opt into using it.\n\nWe plan on switching to the new ABI by default in a year or so, and\nthis patch adds a warning that is printed when an application uses the\nold ABI, to push people towards converting to the new ABI.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\nReviewed-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nReviewed-by: Hal Rosenstock \u003chal@xsigo.com\u003e\n"
    },
    {
      "commit": "c8d8beea0383e47c9d65d45f0ca95626ec435fcd",
      "tree": "00f409205683f3489344eb0cf1b86f8091354fc7",
      "parents": [
        "247e020ee5e2a7bf46f2d7a3d4490a670a712a40"
      ],
      "author": {
        "name": "Joachim Fenkes",
        "email": "fenkes@de.ibm.com",
        "time": "Thu Sep 13 18:15:28 2007 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Oct 09 19:59:13 2007 -0700"
      },
      "message": "IB/umem: Add hugetlb flag to struct ib_umem\n\nDuring ib_umem_get(), determine whether all pages from the memory\nregion are hugetlb pages and report this in the \"hugetlb\" member.\nLow-level drivers can use this information if they need it.\n\nSigned-off-by: Joachim Fenkes \u003cfenkes@de.ibm.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "7ce86409adcd2fda652b628173a66e905950ece1",
      "tree": "37ec32b859f358c77267c465a6e04a642d7c5ff3",
      "parents": [
        "a81c994d5eef87ed77cb30d8343d6be296528b3f"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Wed Aug 08 15:51:13 2007 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Oct 09 19:59:12 2007 -0700"
      },
      "message": "RDMA/ucma: Allow user space to set service type\n\nExport the ability to set the type of service to user space.  Model\nthe interface after setsockopt.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "a81c994d5eef87ed77cb30d8343d6be296528b3f",
      "tree": "2d5be6dcb6283ab32cbc434b43f04df3034de5d8",
      "parents": [
        "733d65fe33b3002a6f2694c0fd8bd760dc13141f"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Wed Aug 08 15:51:06 2007 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Oct 09 19:59:12 2007 -0700"
      },
      "message": "RDMA/cma: Add ability to specify type of service\n\nProvide support to specify a type of service for a communication\nidentifier.  A new function call is used when dealing with IPv4\naddresses.  For IPv6 addresses, the ToS is specified through the\ntraffic class field in the sockaddr_in6 structure.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\n\n[ The comments Eitan Zahavi and myself have made over the v1 post at \n  \u003chttp://lists.openfabrics.org/pipermail/general/2007-August/039247.html\u003e\n  were fully addressed. ]\n \nReviewed-by: Or Gerlitz \u003cogerlitz@voltaire.com\u003e \nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "733d65fe33b3002a6f2694c0fd8bd760dc13141f",
      "tree": "cf9460740b86c49c704497d8e911488863e72aec",
      "parents": [
        "81668838c4583b19276b16382e0c61e21ef5adf0"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Wed Aug 08 15:41:28 2007 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Oct 09 19:59:12 2007 -0700"
      },
      "message": "IB/sa: Add new QoS fields to path record\n\nThe QoS annex defines new fields for path records.  Add them to the\nib_sa for consumers that want to use them.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nReviewed-by: Or Gerlitz \u003cogerlitz@voltaire.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "92ddc447ce7382e36b72a240697c00bf4beb8d75",
      "tree": "0368be72cdeed0d9d90e35d1a77bea50fb3208f0",
      "parents": [
        "bfb3ea125174813cdf87b1120caf0c9bd580283e"
      ],
      "author": {
        "name": "Dotan Barak",
        "email": "dotanb@dev.mellanox.co.il",
        "time": "Wed Aug 01 13:33:56 2007 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Aug 03 10:45:18 2007 -0700"
      },
      "message": "IB: Move the macro IB_UMEM_MAX_PAGE_CHUNK() to umem.c\n\nAfter moving the definition of struct ib_umem_chunk from ib_verbs.h to\nib_umem.h there isn\u0027t any reason for the macro IB_UMEM_MAX_PAGE_CHUNK\nto stay in ib_verbs.h.  Move the macro to umem.c, the only place where\nit is used.\n\nSigned-off-by: Dotan Barak \u003cdotanb@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "bfb3ea125174813cdf87b1120caf0c9bd580283e",
      "tree": "1c510cdf419b5b99981794d17dedc48cdc2a3d64",
      "parents": [
        "e8b398deb73b4a0c3d636f2146c9f35f8eac6d88"
      ],
      "author": {
        "name": "Dotan Barak",
        "email": "dotanb@dev.mellanox.co.il",
        "time": "Tue Jul 31 16:49:15 2007 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Aug 03 10:45:18 2007 -0700"
      },
      "message": "IB: Include \u003clinux/list.h\u003e and \u003clinux/rwsem.h\u003e from \u003crdma/ib_verbs.h\u003e\n\nib_verbs.h uses struct list_head and rw_semaphore, so while the files\n\u003clinux/list.h\u003e and \u003clinux/rwsem.h\u003e seem to be pulled in indirectly by\nthe other header files it includes, the right thing is to include\nthose files directly.\n\nSigned-off-by: Dotan Barak \u003cdotanb@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "e8b398deb73b4a0c3d636f2146c9f35f8eac6d88",
      "tree": "eac160876ef715cef19c1bd33c8920f5b3f2d1ad",
      "parents": [
        "38d5af9565f3fa1bf258f3eaeb47c4a95fd7a2b2"
      ],
      "author": {
        "name": "Dotan Barak",
        "email": "dotanb@dev.mellanox.co.il",
        "time": "Tue Jul 31 16:37:11 2007 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Aug 03 10:45:17 2007 -0700"
      },
      "message": "IB: Include \u003clinux/list.h\u003e from \u003crdma/ib_mad.h\u003e\n\nib_mad.h uses struct list_head, so while linux/list.h seems to be\npulled in indirectly by one of the headers it includes, the right\nthing is to include linux/list.h directly.\n\nSigned-off-by: Dotan Barak \u003cdotanb@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "1d84612649427a85e1f311baa7215f9a6252d856",
      "tree": "cbb9d614cb56c12f76e438f3f05ca9559a2dee3a",
      "parents": [
        "24be6e81c78314c91a47200272eb4bc31284bd7b"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Mon Jun 18 11:09:37 2007 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Jul 10 21:50:05 2007 -0700"
      },
      "message": "IB/cm: Include HCA ACK delay in local ACK timeout\n\nThe IB CM should include the HCA ACK delay when calculating the local\nACK timeout value to use for RC QPs.  If the HCA ACK delay is large\nenough relative to the packet life time, then if it is not taken into\naccount, the calculated timeout value ends up being too small, which\ncan result in \"retry exceeded\" errors.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "2aec5c602c6a44e2a3a173339a9ab94549658e4b",
      "tree": "b16a5002a07d96b88ad162ac34d628b531844a6f",
      "parents": [
        "1b844afe9e67d6cd441ae6df71051b4004f31dd2"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Mon Jun 18 11:03:58 2007 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Jul 10 21:45:31 2007 -0700"
      },
      "message": "IB/sa: Make sure SA queries use default P_Key\n\nMADs sent to the SA should use the the default P_Key (0x7fff/0xffff).\nThere\u0027s no requirement that the default P_Key is stored at index 0 in\nthe local P_Key table, so add code to the sa_query module to look up\nthe index of the default P_Key when creating an address handle for the\nSA (which is done any time the P_Key table might change), and use this\nindex for all SA queries.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "8aee74c8ee875448cc6d1cf995c9469eb60ae515",
      "tree": "9e9f57dd7fe321825d7e39472cf44777c82f39cf",
      "parents": [
        "080e89270a7bfb7d01fac9a67050f8ac6d6cdd11",
        "9f81036c54ed1f860d2807c5a6aa4f2b30c21204"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 21 16:19:32 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 21 16:19:32 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband\n\n* \u0027for-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband:\n  IB/cm: Improve local id allocation\n  IPoIB/cm: Fix SRQ WR leak\n  IB/ipoib: Fix typos in error messages\n  IB/mlx4: Check if SRQ is full when posting receive\n  IB/mlx4: Pass send queue sizes from userspace to kernel\n  IB/mlx4: Fix check of opcode in mlx4_ib_post_send()\n  mlx4_core: Fix array overrun in dump_dev_cap_flags()\n  IB/mlx4: Fix RESET to RESET and RESET to ERROR transitions\n  IB/mthca: Fix RESET to ERROR transition\n  IB/mlx4: Set GRH:HopLimit when sending globally routed MADs\n  IB/mthca: Set GRH:HopLimit when building MLX headers\n  IB/mlx4: Fix check of max_qp_dest_rdma in modify QP\n  IB/mthca: Fix use-after-free on device restart\n  IB/ehca: Return proper error code if register_mr fails\n  IPoIB: Handle P_Key table reordering\n  IB/core: Use start_port() and end_port()\n  IB/core: Add helpers for uncached GID and P_Key searches\n  IB/ipath: Fix potential deadlock with multicast spinlocks\n  IB/core: Free umem when mm is already gone\n"
    },
    {
      "commit": "e8edc6e03a5c8562dc70a6d969f732bdb355a7e7",
      "tree": "fc86c863655128a7041dfe613d14393d761fa7b9",
      "parents": [
        "ff1be9ad61e3e17ba83702d8ed0b534e5b8ee15c"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon May 21 01:22:52 2007 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 21 09:18:19 2007 -0700"
      },
      "message": "Detach sched.h from mm.h\n\nFirst thing mm.h does is including sched.h solely for can_do_mlock() inline\nfunction which has \"current\" dereference inside. By dealing with can_do_mlock()\nmm.h can be detached from sched.h which is good. See below, why.\n\nThis patch\na) removes unconditional inclusion of sched.h from mm.h\nb) makes can_do_mlock() normal function in mm/mlock.c\nc) exports can_do_mlock() to not break compilation\nd) adds sched.h inclusions back to files that were getting it indirectly.\ne) adds less bloated headers to some files (asm/signal.h, jiffies.h) that were\n   getting them indirectly\n\nNet result is:\na) mm.h users would get less code to open, read, preprocess, parse, ... if\n   they don\u0027t need sched.h\nb) sched.h stops being dependency for significant number of files:\n   on x86_64 allmodconfig touching sched.h results in recompile of 4083 files,\n   after patch it\u0027s only 3744 (-8.3%).\n\nCross-compile tested on\n\n\tall arm defconfigs, all mips defconfigs, all powerpc defconfigs,\n\talpha alpha-up\n\tarm\n\ti386 i386-up i386-defconfig i386-allnoconfig\n\tia64 ia64-up\n\tm68k\n\tmips\n\tparisc parisc-up\n\tpowerpc powerpc-up\n\ts390 s390-up\n\tsparc sparc-up\n\tsparc64 sparc64-up\n\tum-x86_64\n\tx86_64 x86_64-up x86_64-defconfig x86_64-allnoconfig\n\nas well as my two usual configs.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5eb620c81ce35aa0c533131bf4d06c4c8c2bfadf",
      "tree": "8c6346a3af0611b7b2e1b8df41cb058b5fc145e5",
      "parents": [
        "8b8c8bca3a63073bac20f0fca178e00fdf7f5a09"
      ],
      "author": {
        "name": "Yosef Etigin",
        "email": "yosefe@voltaire.com",
        "time": "Mon May 14 07:26:51 2007 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sat May 19 08:51:53 2007 -0700"
      },
      "message": "IB/core: Add helpers for uncached GID and P_Key searches\n\nAdd ib_find_gid() and ib_find_pkey() functions that use uncached device\nqueries.  The calls might block but the returns are always up-to-date.\nCache P_Key and GID table lengths in core to avoid extra port info queries.\n\nSigned-off-by: Yosef Etigin \u003cyosefe@voltaire.com\u003e\nAcked-by: Michael S. Tsirkin \u003cmst@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "1bf66a30421ca772820f489d88c16d0c430d6a67",
      "tree": "b1ab223e6908d772bcad7f9bc3382c33ad5a4490",
      "parents": [
        "f7c6a7b5d59980b076abbf2ceeb8735591290285"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Apr 18 20:20:28 2007 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue May 08 18:00:37 2007 -0700"
      },
      "message": "IB: Put rlimit accounting struct in struct ib_umem\n\nWhen memory pinned with ib_umem_get() is released, ib_umem_release()\nneeds to subtract the amount of memory being unpinned from\nmm-\u003elocked_vm.  However, ib_umem_release() may be called with\nmm-\u003emmap_sem already held for writing if the memory is being released\nas part of an munmap() call, so it is sometimes necessary to defer\nthis accounting into a workqueue.\n\nHowever, the work struct used to defer this accounting is dynamically\nallocated before it is queued, so there is the possibility of failing\nthat allocation.  If the allocation fails, then ib_umem_release has no\nchoice except to bail out and leave the process with a permanently\nelevated locked_vm.\n\nFix this by allocating the structure to defer accounting as part of\nthe original struct ib_umem, so there\u0027s no possibility of failing a\nlater allocation if creating the struct ib_umem and pinning memory\nsucceeds.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "f7c6a7b5d59980b076abbf2ceeb8735591290285",
      "tree": "29c35b47052bba87f031a4744d8ad12ff5187149",
      "parents": [
        "36f021b579d195cdc5fa6f3e2bab198b4bf70643"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sun Mar 04 16:15:11 2007 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue May 08 18:00:37 2007 -0700"
      },
      "message": "IB/uverbs: Export ib_umem_get()/ib_umem_release() to modules\n\nExport ib_umem_get()/ib_umem_release() and put low-level drivers in\ncontrol of when to call ib_umem_get() to pin and DMA map userspace,\nrather than always calling it in ib_uverbs_reg_mr() before calling the\nlow-level driver\u0027s reg_user_mr method.\n\nAlso move these functions to be in the ib_core module instead of\nib_uverbs, so that driver modules using them do not depend on\nib_uverbs.\n\nThis has a number of advantages:\n - It is better design from the standpoint of making generic code a\n   library that can be used or overridden by device-specific code as\n   the details of specific devices dictate.\n - Drivers that do not need to pin userspace memory regions do not\n   need to take the performance hit of calling ib_mem_get().  For\n   example, although I have not tried to implement it in this patch,\n   the ipath driver should be able to avoid pinning memory and just\n   use copy_{to,from}_user() to access userspace memory regions.\n - Buffers that need special mapping treatment can be identified by\n   the low-level driver.  For example, it may be possible to solve\n   some Altix-specific memory ordering issues with mthca CQs in\n   userspace by mapping CQ buffers with extra flags.\n - Drivers that need to pin and DMA map userspace memory for things\n   other than memory regions can use ib_umem_get() directly, instead\n   of hacks using extra parameters to their reg_phys_mr method.  For\n   example, the mlx4 driver that is pending being merged needs to pin\n   and DMA map QP and CQ buffers, but it does not need to create a\n   memory key for these buffers.  So the cleanest solution is for mlx4\n   to call ib_umem_get() in the create_qp and create_cq methods.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "972d45fb43f0f0793fa275c4a22998106760cd61",
      "tree": "f80ac6698044b179bf3fb9d686bd33083033ccb5",
      "parents": [
        "5b6b54982258c330247957a8d877b9851ac69d53",
        "8d1cc86a6278687efbab7b8c294ab01efe4d4231"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:18:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:18:21 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband\n\n* \u0027for-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband:\n  IPoIB: Convert to NAPI\n  IB: Return \"maybe missed event\" hint from ib_req_notify_cq()\n  IB: Add CQ comp_vector support\n  IB/ipath: Fix a race condition when generating ACKs\n  IB/ipath: Fix two more spin lock problems\n  IB/fmr_pool: Add prefix to all printks\n  IB/srp: Set proc_name\n  IB/srp: Add orig_dgid sysfs attribute to scsi_host\n  IPoIB/cm: Don\u0027t crash if remote side uses one QP for both directions\n  RDMA/cxgb3: Support for new abort logic\n  RDMA/cxgb3: Initialize cpu_idx field in cpl_close_listserv_req message\n  RDMA/cxgb3: Fail qp creation if the requested max_inline is too large\n  RDMA/cxgb3: Fix TERM codes\n  IPoIB/cm: Fix error handling in ipoib_cm_dev_open()\n  IB/ipath: Don\u0027t corrupt pending mmap list when unmapped objects are freed\n  IB/mthca: Work around kernel QP starvation\n  IB/ipath: Don\u0027t put QP in timeout queue if waiting to send\n  IB/ipath: Don\u0027t call spin_lock_irq() from interrupt context\n"
    },
    {
      "commit": "ed23a72778f3dbd465e55b06fe31629e7e1dd2f3",
      "tree": "99ab8b4cf7c51ae64b4d3d9108e82b31db2b3465",
      "parents": [
        "f4fd0b224d60044d2da5ca02f8f2b5150c1d8731"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sun May 06 21:02:48 2007 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sun May 06 21:18:11 2007 -0700"
      },
      "message": "IB: Return \"maybe missed event\" hint from ib_req_notify_cq()\n\nThe semantics defined by the InfiniBand specification say that\ncompletion events are only generated when a completions is added to a\ncompletion queue (CQ) after completion notification is requested.  In\nother words, this means that the following race is possible:\n\n\twhile (CQ is not empty)\n\t\tib_poll_cq(CQ);\n\t// new completion is added after while loop is exited\n\tib_req_notify_cq(CQ);\n\t// no event is generated for the existing completion\n\nTo close this race, the IB spec recommends doing another poll of the\nCQ after requesting notification.\n\nHowever, it is not always possible to arrange code this way (for\nexample, we have found that NAPI for IPoIB cannot poll after\nrequesting notification).  Also, some hardware (eg Mellanox HCAs)\nactually will generate an event for completions added before the call\nto ib_req_notify_cq() -- which is allowed by the spec, since there\u0027s\nno way for any upper-layer consumer to know exactly when a completion\nwas really added -- so the extra poll of the CQ is just a waste.\n\nMotivated by this, we add a new flag \"IB_CQ_REPORT_MISSED_EVENTS\" for\nib_req_notify_cq() so that it can return a hint about whether the a\ncompletion may have been added before the request for notification.\nThe return value of ib_req_notify_cq() is extended so:\n\n\t \u003c 0\tmeans an error occurred while requesting notification\n\t\u003d\u003d 0\tmeans notification was requested successfully, and if\n\t\tIB_CQ_REPORT_MISSED_EVENTS was passed in, then no\n\t\tevents were missed and it is safe to wait for another\n\t\tevent.\n\t \u003e 0\tis only returned if IB_CQ_REPORT_MISSED_EVENTS was\n\t\tpassed in.  It means that the consumer must poll the\n\t\tCQ again to make sure it is empty to avoid the race\n\t\tdescribed above.\n\nWe add a flag to enable this behavior rather than turning it on\nunconditionally, because checking for missed events may incur\nsignificant overhead for some low-level drivers, and consumers that\ndon\u0027t care about the results of this test shouldn\u0027t be forced to pay\nfor the test.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "f4fd0b224d60044d2da5ca02f8f2b5150c1d8731",
      "tree": "9bc6c08bde26e6b7d5c51ebd48fc26357d6ae9c5",
      "parents": [
        "154257f3626ea6dd96781fac0896c3f27fe2b0a1"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@dev.mellanox.co.il",
        "time": "Thu May 03 13:48:47 2007 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sun May 06 21:18:11 2007 -0700"
      },
      "message": "IB: Add CQ comp_vector support\n\nAdd a num_comp_vectors member to struct ib_device and extend\nib_create_cq() to pass in a comp_vector parameter -- this parallels\nthe userspace libibverbs API.  Update all hardware drivers to set\nnum_comp_vectors to 1 and have all ULPs pass 0 for the comp_vector\nvalue.  Pass the value of num_comp_vectors to userspace rather than\nhard-coding a value of 1.\n\nWe want multiple CQ event vector support (via MSI-X or similar for\nadapters that can generate multiple interrupts), but it\u0027s not clear\nhow many vectors we want, or how we want to deal with policy issues\nsuch as how to decide which vector to use or how to set up interrupt\naffinity.  This patch is useful for experimenting, since no core\nchanges will be necessary when updating a driver to support multiple\nvectors, and we know that we want to make at least these changes\nanyway.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    }
  ],
  "next": "6473d160b4aba8023bcf38519a5989694dfd51a7"
}
