)]}'
{
  "commit": "062dbb69f32b9ccea701b30f8cc0049482e6211f",
  "tree": "063b57c57dfce3ff2775a64721f5fe311752247a",
  "parents": [
    "459d6e2a541a5226825db998e627e0aa046aa257"
  ],
  "author": {
    "name": "Michael S. Tsirkin",
    "email": "mst@mellanox.co.il",
    "time": "Sun Dec 31 21:09:42 2006 +0200"
  },
  "committer": {
    "name": "Roland Dreier",
    "email": "rolandd@cisco.com",
    "time": "Sun Feb 04 14:11:55 2007 -0800"
  },
  "message": "IB: Return qp pointer as part of ib_wc\n\nstruct ib_wc currently only includes the local QP number: this matches\nthe IB spec, but seems mostly useless. The following patch replaces\nthis with the pointer to qp itself, and updates all low level drivers\nand all users.\n\nThis has the following advantages:\n- Ability to get a per-qp context through wc-\u003eqp-\u003eqp_context\n- Existing drivers already have the qp pointer ready in poll cq, so\n  this change actually saves a tiny bit (extra memory read) on data path\n  (for ehca it would actually be expensive to find the QP pointer when\n  polling a CQ, but ehca does not support SRQ so we can leave wc-\u003eqp as\n  NULL for ehca)\n- Users that need the QP number can still get it through wc-\u003eqp-\u003eqp_num\n\nUse case:\n\nIn IPoIB connected mode code, I have a common CQ shared by multiple\nQPs.  To track connection usage, I need a way to get at some per-QP\ncontext upon the completion, and I would like to avoid allocating\ncontext object per work request just to stick a QP pointer into it.\nWith this code, I can just use wc-\u003eqp-\u003eqp_context.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5ed141ebd1c86f1819819c3b15858c8d16907feb",
      "old_mode": 33188,
      "old_path": "drivers/infiniband/core/mad.c",
      "new_id": "13efd417034947dc12d812b8fd495cfc8802d210",
      "new_mode": 33188,
      "new_path": "drivers/infiniband/core/mad.c"
    },
    {
      "type": "modify",
      "old_id": "743247ec065e152ce9d7237cfe136e24e7be41e4",
      "old_mode": 33188,
      "old_path": "drivers/infiniband/core/uverbs_cmd.c",
      "new_id": "df1efbc10882692b7de5a690d31cd8d79dec05a4",
      "new_mode": 33188,
      "new_path": "drivers/infiniband/core/uverbs_cmd.c"
    },
    {
      "type": "modify",
      "old_id": "05c9154d46f4a6125ce00d81cc2c4d3d02c0d357",
      "old_mode": 33188,
      "old_path": "drivers/infiniband/hw/amso1100/c2_cq.c",
      "new_id": "5175c99ee586cc34000450cc68d1a56b0fe1773c",
      "new_mode": 33188,
      "new_path": "drivers/infiniband/hw/amso1100/c2_cq.c"
    },
    {
      "type": "modify",
      "old_id": "b46bda1bf85d7d106aaf1249414c3e50e56e851d",
      "old_mode": 33188,
      "old_path": "drivers/infiniband/hw/ehca/ehca_reqs.c",
      "new_id": "08d3f892d9f35695b7f83b17cfbd44b680d8d00f",
      "new_mode": 33188,
      "new_path": "drivers/infiniband/hw/ehca/ehca_reqs.c"
    },
    {
      "type": "modify",
      "old_id": "46c1c89bf6ae2748dd5779ddca0c24a44e271af6",
      "old_mode": 33188,
      "old_path": "drivers/infiniband/hw/ipath/ipath_qp.c",
      "new_id": "64f07b19349fadc8ca88a2c27eac01b89fa13498",
      "new_mode": 33188,
      "new_path": "drivers/infiniband/hw/ipath/ipath_qp.c"
    },
    {
      "type": "modify",
      "old_id": "ce6038743c5c258bd7b06bbaf62d77a7d6ab4bbe",
      "old_mode": 33188,
      "old_path": "drivers/infiniband/hw/ipath/ipath_rc.c",
      "new_id": "5ff20cb04494c5eaf63da3725ca135c544790f40",
      "new_mode": 33188,
      "new_path": "drivers/infiniband/hw/ipath/ipath_rc.c"
    },
    {
      "type": "modify",
      "old_id": "f7530512045d0f0e7584424e020e1e5169909a29",
      "old_mode": 33188,
      "old_path": "drivers/infiniband/hw/ipath/ipath_ruc.c",
      "new_id": "e86cb171872e2c9ecc3d0c99e74d3f3a0ce3af93",
      "new_mode": 33188,
      "new_path": "drivers/infiniband/hw/ipath/ipath_ruc.c"
    },
    {
      "type": "modify",
      "old_id": "e636cfd67a821f74349c48d1f64f80d3bc9e94ab",
      "old_mode": 33188,
      "old_path": "drivers/infiniband/hw/ipath/ipath_uc.c",
      "new_id": "325d6634ff53f81c5ebd354102c975a23d30d4f2",
      "new_mode": 33188,
      "new_path": "drivers/infiniband/hw/ipath/ipath_uc.c"
    },
    {
      "type": "modify",
      "old_id": "49f1102af8b36635427459aa52faeb76b2e2afd0",
      "old_mode": 33188,
      "old_path": "drivers/infiniband/hw/ipath/ipath_ud.c",
      "new_id": "9a3e54664ee49f1aa9ba0dc0e9a1158e5a157650",
      "new_mode": 33188,
      "new_path": "drivers/infiniband/hw/ipath/ipath_ud.c"
    },
    {
      "type": "modify",
      "old_id": "768df7265b81175408bb051f1b09d581363b13f8",
      "old_mode": 33188,
      "old_path": "drivers/infiniband/hw/mthca/mthca_cmd.c",
      "new_id": "968d1519761c50f64f28ed03e4f5ff8fd6d1e0b1",
      "new_mode": 33188,
      "new_path": "drivers/infiniband/hw/mthca/mthca_cmd.c"
    },
    {
      "type": "modify",
      "old_id": "1159c8a0f2c5211d3b9b6f9f2a2b59ea8de6872b",
      "old_mode": 33188,
      "old_path": "drivers/infiniband/hw/mthca/mthca_cq.c",
      "new_id": "efd79ef109a6295b0544779914ed81317a4d7614",
      "new_mode": 33188,
      "new_path": "drivers/infiniband/hw/mthca/mthca_cq.c"
    },
    {
      "type": "modify",
      "old_id": "73aafd7bb503778a063bf812fb8d7e7526b7cdda",
      "old_mode": 33188,
      "old_path": "include/rdma/ib_verbs.h",
      "new_id": "765589f4d166f8d24fd1f7874c6169d296c97603",
      "new_mode": 33188,
      "new_path": "include/rdma/ib_verbs.h"
    }
  ]
}
