)]}'
{
  "log": [
    {
      "commit": "3a3eae0d66591572f771b9383e96ecacacee0abd",
      "tree": "9c25a602ed764168331823ef86eac6beab950d83",
      "parents": [
        "6773f079b72ab0200fe9afa9bb0c656a6af5400c",
        "b1404069f64457c94de241738fdca142c2e5698f"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Aug 12 13:52:54 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Aug 12 13:52:54 2008 -0700"
      },
      "message": "Merge branches \u0027ehca\u0027 and \u0027ipoib\u0027 into for-linus\n"
    },
    {
      "commit": "6773f079b72ab0200fe9afa9bb0c656a6af5400c",
      "tree": "92b3b86492965367f62c37a84414b892d50504cf",
      "parents": [
        "129a10fb81309f455eeb444560ec38657d29c46f"
      ],
      "author": {
        "name": "Alexander Schmidt",
        "email": "alexs@linux.vnet.ibm.com",
        "time": "Tue Aug 12 15:46:30 2008 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Aug 12 11:34:59 2008 -0700"
      },
      "message": "IB/ehca: Discard double CQE for one WR\n\nUnder rare circumstances, the ehca hardware might erroneously generate\ntwo CQEs for the same WQE, which is not compliant to the IB spec and\nwill cause unpredictable errors like memory being freed twice. To\navoid this problem, the driver needs to detect the second CQE and\ndiscard it.\n\nFor this purpose, introduce an array holding as many elements as the\nSQ of the QP, called sq_map. Each sq_map entry stores a \"reported\"\nflag for one WQE in the SQ. When a work request is posted to the SQ,\nthe respective \"reported\" flag is set to zero. After the arrival of a\nCQE, the flag is set to 1, which allows to detect the occurence of a\nsecond CQE.\n\nThe mapping between WQE / CQE and the corresponding sq_map element is\nimplemented by replacing the lowest 16 Bits of the wr_id with the\nindex in the queue map. The original 16 Bits are stored in the sq_map\nentry and are restored when the CQE is passed to the application.\n\nSigned-off-by: Alexander Schmidt \u003calexs@linux.vnet.ibm.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "129a10fb81309f455eeb444560ec38657d29c46f",
      "tree": "544d44f33452e74b86a0869d5d5c64a503ba872b",
      "parents": [
        "17c2b53adbf1ebd7a8b6a63e2597199676426dbf"
      ],
      "author": {
        "name": "Alexander Schmidt",
        "email": "alexs@linux.vnet.ibm.com",
        "time": "Tue Aug 12 15:46:27 2008 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Aug 12 11:34:59 2008 -0700"
      },
      "message": "IB/ehca: Check idr_find() return value\n\nThe idr_find() function may fail when trying to get the QP that is\nassociated with a CQE, e.g. when a QP has been destroyed between the\ngeneration of a CQE and the poll request for it.  In consequence, the\nreturn value of idr_find() must be checked and the CQE must be\ndiscarded when the QP cannot be found.\n\nSigned-off-by: Alexander Schmidt \u003calexs@linux.vnet.ibm.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "17c2b53adbf1ebd7a8b6a63e2597199676426dbf",
      "tree": "7d14c632f1b587ca632520509c57fc82e947f6ad",
      "parents": [
        "6c02eed9302e7c27ee150d7911b83843c2206148"
      ],
      "author": {
        "name": "Alexander Schmidt",
        "email": "alexs@linux.vnet.ibm.com",
        "time": "Tue Aug 12 15:46:20 2008 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Aug 12 11:34:58 2008 -0700"
      },
      "message": "IB/ehca: Repoll CQ on invalid opcode\n\nWhen the ehca driver detects an invalid opcode in a CQE, it currently\npasses the CQE to the application and returns with success. This patch\nchanges the CQE handling to discard CQEs with invalid opcodes and to\ncontinue reading the next CQE from the CQ.\n\nSigned-off-by: Alexander Schmidt \u003calexs@linux.vnet.ibm.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "6c02eed9302e7c27ee150d7911b83843c2206148",
      "tree": "370b5f239187e94bfd61fa4c8a2caf5d048e7e4e",
      "parents": [
        "51ad241af45a0bfc02d1ed72a3ad58b46f8e30df"
      ],
      "author": {
        "name": "Alexander Schmidt",
        "email": "alexs@linux.vnet.ibm.com",
        "time": "Tue Aug 12 15:46:13 2008 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Aug 12 11:34:58 2008 -0700"
      },
      "message": "IB/ehca: Rename goto label in ehca_poll_cq_one()\n\nRename the \"poll_cq_one_read_cqe\" goto label to what it actually does,\nnamely \"repoll\".\n\nSigned-off-by: Alexander Schmidt \u003calexs@linux.vnet.ibm.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "51ad241af45a0bfc02d1ed72a3ad58b46f8e30df",
      "tree": "53c427390b91a0430309668153d6f7994b970bbf",
      "parents": [
        "f2d7499be1b1fe1cd8a5e6a01c1f44173894a241"
      ],
      "author": {
        "name": "Alexander Schmidt",
        "email": "alexs@linux.vnet.ibm.com",
        "time": "Tue Aug 12 15:46:07 2008 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Aug 12 11:34:58 2008 -0700"
      },
      "message": "IB/ehca: Update qp_state on cached modify_qp()\n\nSince the introduction of the port auto-detect mode for ehca, calls to\nmodify_qp() may be cached in the device driver when the ports are not\nactivated yet. When a modify_qp() call is cached, the qp state remains\nuntouched until the port is activated, which will leave the qp in the\nreset state. In the reset state, however, it is not allowed to post SQ\nWQEs, which confuses applications like ib_mad.\n\nThe solution for this problem is to immediately set the qp state as\nrequested by modify_qp(), even when the call is cached.\n\nSigned-off-by: Alexander Schmidt \u003calexs@linux.vnet.ibm.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "b1404069f64457c94de241738fdca142c2e5698f",
      "tree": "671e50585d0baf9f01b1a8b301ca650087d87012",
      "parents": [
        "f2d7499be1b1fe1cd8a5e6a01c1f44173894a241"
      ],
      "author": {
        "name": "David J. Wilder",
        "email": "dwilder@us.ibm.com",
        "time": "Fri Aug 08 15:51:29 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Aug 08 15:51:29 2008 -0700"
      },
      "message": "IPoIB/cm: Use vmalloc() to allocate rx_rings\n\nThere are users that are running UDP applications that require a large\nreceive queue size in order to get good performance.  To prevent\nallocation failures for rx_rings when using non-SRQ mode and large\nrecv_queue_size (1K or larger), use vmalloc() instead of kcalloc() to\nalocate rx_rings.\n\nSigned-off-by: David Wilder \u003cdwilder@us.ibm.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "273b2578392bbf6e5c47a8a3d1ee461ce6fc7182",
      "tree": "1b00bd21574b1f8db084be4f682d7251a3a0ff3e",
      "parents": [
        "8e43e12d638f732fa32600c324711f4be8fe0b1d",
        "06a91a02e9b249695f964bb59c8b02152c21e90c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 07 18:14:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 07 18:14:07 2008 -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  IB/mad: Test ib_create_send_mad() return with IS_ERR(), not \u003d\u003d NULL\n  IB/mlx4: Allow 4K messages for UD QPs\n  mlx4_core: Add ethernet fields to CQE struct\n  IB/ipath: Fix printk format warnings\n  RDMA/cxgb3: Fix deadlock initializing iw_cxgb3 device\n  RDMA/cxgb3: Fix up MW access rights\n  RDMA/cxgb3: Fix QP capabilities\n  RDMA/cma: Remove padding arrays by using struct sockaddr_storage\n  IB/ipath: Use unsigned long for irq flags\n  IPoIB/cm: Set correct SG list in ipoib_cm_init_rx_wr()\n"
    },
    {
      "commit": "06a91a02e9b249695f964bb59c8b02152c21e90c",
      "tree": "f4a771f1876f7acb967ceb1033bbe2fc38234018",
      "parents": [
        "3f44675439b136d51179d31eb5a498383cb38624",
        "be43324d8b316fe83a7b4027334f2825f1121c2c",
        "70117b9e866b1fdf7e4e84ffb6f38a7b3e9702f8",
        "e08198169ec5facb3d85bb455efa44a2f8327842",
        "cd55ef5a10d1a2ea09853bc5fa40aadaf9f80614",
        "6e0d733d921526e628107fb8b1aff5f7de870d6f"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Aug 07 14:12:03 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Aug 07 14:12:03 2008 -0700"
      },
      "message": "Merge branches \u0027cma\u0027, \u0027cxgb3\u0027, \u0027ipath\u0027, \u0027ipoib\u0027, \u0027mad\u0027 and \u0027mlx4\u0027 into for-linus\n"
    },
    {
      "commit": "cd55ef5a10d1a2ea09853bc5fa40aadaf9f80614",
      "tree": "f26e6f9ba06171a5c404ba5220cba60ad53e2a34",
      "parents": [
        "6e86841d05f371b5b9b86ce76c02aaee83352298"
      ],
      "author": {
        "name": "Julien Brunel",
        "email": "brunel@diku.dk",
        "time": "Thu Aug 07 14:11:56 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Aug 07 14:11:56 2008 -0700"
      },
      "message": "IB/mad: Test ib_create_send_mad() return with IS_ERR(), not \u003d\u003d NULL\n\nIn case of error, the function ib_create_send_mad() returns an ERR\npointer, but never returns a NULL pointer.  So testing the return\nvalue for error should be done with IS_ERR, not by comparing with\nNULL.\n\nA simplified version of the semantic patch that makes this change is\nas follows:\n\n(http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@correct_null_test@\nexpression x,E;\nstatement S1, S2;\n@@\nx \u003d ib_create_send_mad(...)\n\u003c... when !\u003d x \u003d E\nif (\n(\n- x@p2 !\u003d NULL\n+ ! IS_ERR ( x )\n|\n- x@p2 \u003d\u003d NULL\n+ IS_ERR( x )\n)\n )\nS1\nelse S2\n...\u003e\n? x \u003d E;\n// \u003c/smpl\u003e\n\nSigned-off-by: Julien Brunel \u003cbrunel@diku.dk\u003e\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "6e0d733d921526e628107fb8b1aff5f7de870d6f",
      "tree": "357adc8727a6dea4277fbf5a38095c77855012c1",
      "parents": [
        "f780a9f119caa48088b230836a7fa73d1096de7c"
      ],
      "author": {
        "name": "Alex Naslednikov",
        "email": "xalex@mellanox.co.il",
        "time": "Thu Aug 07 14:06:50 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Aug 07 14:06:50 2008 -0700"
      },
      "message": "IB/mlx4: Allow 4K messages for UD QPs\n\nCurrent code limits the max message size to 2K for UD QPs, while MTU\nmight be as big as 4K.  This patch sets the maximum message size to\n4K, which is needed for UD to work correctly on fabrics with a 4K MTU.\n\nSigned-off-by: Alex Naslednikov \u003cxalex@mellanox.co.il\u003e\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "f780a9f119caa48088b230836a7fa73d1096de7c",
      "tree": "513fb3aa4342a481aa1f4101675ea2e9c41bc28a",
      "parents": [
        "6e86841d05f371b5b9b86ce76c02aaee83352298"
      ],
      "author": {
        "name": "Yevgeny Petrilin",
        "email": "yevgenyp@mellanox.co.il",
        "time": "Wed Aug 06 20:14:06 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Aug 06 20:14:06 2008 -0700"
      },
      "message": "mlx4_core: Add ethernet fields to CQE struct\n\nAdd ethernet-related fields to struct mlx4_cqe so that the mlx4_en\nethernet NIC driver can share the same definition.\n\nSigned-off-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "70117b9e866b1fdf7e4e84ffb6f38a7b3e9702f8",
      "tree": "65cd604d47b041ba203634a91b2a20d114b03354",
      "parents": [
        "52fd8ca6ad4124c15952ded35cfcf6adbd7ae8d4"
      ],
      "author": {
        "name": "Alexander Beregalov",
        "email": "a.beregalov@gmail.com",
        "time": "Mon Aug 04 11:12:18 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Aug 04 11:12:18 2008 -0700"
      },
      "message": "IB/ipath: Fix printk format warnings\n\n    ipath_driver.c:1260: warning: format \u0027%Lx\u0027 expects type \u0027long long unsigned int\u0027, but argument 6 has type \u0027long unsigned int\u0027\n    ipath_driver.c:1459: warning: format \u0027%Lx\u0027 expects type \u0027long long unsigned int\u0027, but argument 4 has type \u0027u64\u0027\n    ipath_intr.c:358: warning: format \u0027%Lx\u0027 expects type \u0027long long unsigned int\u0027, but argument 3 has type \u0027u64\u0027\n    ipath_intr.c:358: warning: format \u0027%Lu\u0027 expects type \u0027long long unsigned int\u0027, but argument 6 has type \u0027u64\u0027\n    ipath_intr.c:1119: warning: format \u0027%Lx\u0027 expects type \u0027long long unsigned int\u0027, but argument 5 has type \u0027u64\u0027\n    ipath_intr.c:1119: warning: format \u0027%Lx\u0027 expects type \u0027long long unsigned int\u0027, but argument 3 has type \u0027u64\u0027\n    ipath_intr.c:1123: warning: format \u0027%Lx\u0027 expects type \u0027long long unsigned int\u0027, but argument 3 has type \u0027u64\u0027\n    ipath_intr.c:1130: warning: format \u0027%Lx\u0027 expects type \u0027long long unsigned int\u0027, but argument 4 has type \u0027u64\u0027\n    ipath_iba7220.c:1032: warning: format \u0027%llx\u0027 expects type \u0027long long unsigned int\u0027, but argument 4 has type \u0027u64\u0027\n    ipath_iba7220.c:1045: warning: format \u0027%llX\u0027 expects type \u0027long long unsigned int\u0027, but argument 3 has type \u0027u64\u0027\n    ipath_iba7220.c:2506: warning: format \u0027%Lu\u0027 expects type \u0027long long unsigned int\u0027, but argument 4 has type \u0027u64\u0027\n\nSigned-off-by: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nCc: Sean Hefty \u003csean.hefty@intel.com\u003e\nCc: Hal Rosenstock \u003chal.rosenstock@gmail.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "be43324d8b316fe83a7b4027334f2825f1121c2c",
      "tree": "30d238ba31519d2c75c642f371754af2fa9ad236",
      "parents": [
        "1c355a6e80fd08e623416138631e240f431385f2"
      ],
      "author": {
        "name": "Steve Wise",
        "email": "swise@opengridcomputing.com",
        "time": "Mon Aug 04 11:08:37 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Aug 04 11:08:37 2008 -0700"
      },
      "message": "RDMA/cxgb3: Fix deadlock initializing iw_cxgb3 device\n\nRunning \u0027ifconfig up\u0027 on the cxgb3 interface with iw_cxgb3 loaded\ncauses a deadlock.  The rtnl lock is already held in this path.  The\nfunction fw_supports_fastreg() was introduced in 2.6.27 to\nconditionally set the IB_DEVICE_MEM_MGT_EXTENSIONS bit iff the\nfirmware was at 7.0 or greater, and this function also acquires the\nrtnl lock and which thus causes a deadlock.  Further, if iw_cxgb3 is\nloaded _after_ the nic interface is brought up, then the deadlock does\nnot occur and therefore fw_supports_fastreg() does need to grab the\nrtnl lock in that path.\n\nIt turns out this code is all useless anyway.  The low level driver\nwill NOT allow the open if the firmware isn\u0027t 7.0, so iw_cxgb3 can\nalways set the MEM_MGT_EXTENSIONS bit.  Simplify...\n\nSigned-off-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "1c355a6e80fd08e623416138631e240f431385f2",
      "tree": "923c13058b6c21836d8f4990f050c7511bc06ec9",
      "parents": [
        "5f0f66b022ba607db0a083bf5cc13e4a4336e366"
      ],
      "author": {
        "name": "Steve Wise",
        "email": "swise@opengridcomputing.com",
        "time": "Mon Aug 04 11:05:43 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Aug 04 11:05:43 2008 -0700"
      },
      "message": "RDMA/cxgb3: Fix up MW access rights\n\n- MWs don\u0027t have local read/write permissions.\n- Set the MW_BIND enabled bit if a MR has MW_BIND access.\n\nSigned-off-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "5f0f66b022ba607db0a083bf5cc13e4a4336e366",
      "tree": "9f65ea34150f6948cd1e798a430d7b9018f24b54",
      "parents": [
        "6e86841d05f371b5b9b86ce76c02aaee83352298"
      ],
      "author": {
        "name": "Steve Wise",
        "email": "swise@opengridcomputing.com",
        "time": "Mon Aug 04 11:04:42 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Aug 04 11:04:42 2008 -0700"
      },
      "message": "RDMA/cxgb3: Fix QP capabilities\n\n- Set the stag0 and fastreg capability bits only for kernel qps.\n- QP_PRIV flag is no longer used, so don\u0027t set it.\n\nSigned-off-by: Steve Wise \u003cswise@opengridcomputing.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": "b8b572e1015f81b4e748417be2629dfe51ab99f9",
      "tree": "7df58667d5ed71d6c8f8f4ce40ca16b6fb776d0b",
      "parents": [
        "2b12a4c524812fb3f6ee590a02e65b95c8c32229"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Fri Aug 01 15:20:30 2008 +1000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Aug 04 12:02:00 2008 +1000"
      },
      "message": "powerpc: Move include files to arch/powerpc/include/asm\n\nfrom include/asm-powerpc.  This is the result of a\n\nmkdir arch/powerpc/include/asm\ngit mv include/asm-powerpc/* arch/powerpc/include/asm\n\nFollowed by a few documentation/comment fixups and a couple of places\nwhere \u003casm-powepc/...\u003e was being used explicitly.  Of the latter only\none was outside the arch code and it is a driver only built for powerpc.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "61a2d07d3fb1ac34d142b9b62d4cd60a0f8c229e",
      "tree": "f7ffe587767438bc0a4f4008a135e976e6264977",
      "parents": [
        "3a4b7886ee59e122d359e1714ed89585a06645ad"
      ],
      "author": {
        "name": "Niels de Vos",
        "email": "niels@nixpanic.net",
        "time": "Thu Jul 31 00:07:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 01 12:46:41 2008 -0700"
      },
      "message": "Remove newline from the description of module parameters\n\nSome module parameters with only one line have the \u0027\\n\u0027 at the end of the\ndescription.  This is not needed nor wanted as after the description the\ntype (i.e.  int) is followed by a newline.\n\nSome modules contain a multi-line description, these are not affected\nby this patch.\n\nSigned-off-by: Niels de Vos \u003cniels.devos@wincor-nixdorf.com\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: John W. Linville \u003clinville@tuxdriver.com\u003e\nCc: Ed L. Cashin \u003cecashin@coraid.com\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "52fd8ca6ad4124c15952ded35cfcf6adbd7ae8d4",
      "tree": "b798e9db426b0a78b86427e13ca2107e08d6f897",
      "parents": [
        "6e86841d05f371b5b9b86ce76c02aaee83352298"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Wed Jul 30 09:29:06 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Jul 30 09:29:06 2008 -0700"
      },
      "message": "IB/ipath: Use unsigned long for irq flags\n\nA few functions in the ipath driver incorrectly use unsigned int to\nhold irq flags for spin_lock_irqsave().\n\nThis patch was generated using the Coccinelle framework with the\nfollowing semantic patch:\n\nThe semantic patch I used was this:\n\n@@\nexpression lock;\nidentifier flags;\nexpression subclass;\n@@\n\n- unsigned int flags;\n+ unsigned long flags;\n\n...\n\n\u003c+...\n\n(\n spin_lock_irqsave(lock, flags)\n|\n _spin_lock_irqsave(lock)\n|\n spin_unlock_irqrestore(lock, flags)\n|\n _spin_unlock_irqrestore(lock, flags)\n|\n read_lock_irqsave(lock, flags)\n|\n _read_lock_irqsave(lock)\n|\n read_unlock_irqrestore(lock, flags)\n|\n _read_unlock_irqrestore(lock, flags)\n|\n write_lock_irqsave(lock, flags)\n|\n _write_lock_irqsave(lock)\n|\n write_unlock_irqrestore(lock, flags)\n|\n _write_unlock_irqrestore(lock, flags)\n|\n spin_lock_irqsave_nested(lock, flags, subclass)\n|\n _spin_lock_irqsave_nested(lock, subclass)\n|\n spin_unlock_irqrestore(lock, flags)\n|\n _spin_unlock_irqrestore(lock, flags)\n|\n _raw_spin_lock_flags(lock, flags)\n|\n __raw_spin_lock_flags(lock, flags)\n)\n\n...+\u003e\n\nCc: Ralph Campbell \u003cralph.campbell@qlogic.com\u003e\nCc: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "e08198169ec5facb3d85bb455efa44a2f8327842",
      "tree": "3a45a1daa0ac44d6c2dec8759f3a6512088a8007",
      "parents": [
        "6e86841d05f371b5b9b86ce76c02aaee83352298"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Jul 30 07:21:46 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Jul 30 07:21:46 2008 -0700"
      },
      "message": "IPoIB/cm: Set correct SG list in ipoib_cm_init_rx_wr()\n\nwr-\u003esg_list should be set to the sge pointer passed in, not\npriv-\u003ecm.rx_sge.\n\nReported-by: Hoang-Nam Nguyen \u003cHNGUYEN@de.ibm.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "8be1a6d6c77ab4532e4476fdb8177030ef48b52c",
      "tree": "c94ff327a6291672e1f9071a79bf61d63f5f0cb9",
      "parents": [
        "852fef69c0d9510a28a70221cfddd004efa02552",
        "cc9969c96765476db5e30c9e074a57838604c1d1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 20:40:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 20:40:36 2008 -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  mlx4: Update/add Mellanox Technologies copyright lines to mlx4 driver files\n  mlx4_core: Add VLAN tag field to WQE control segment struct\n  RDMA/nes: CM connection setup/teardown rework\n  IPoIB: Correct help text for INFINIBAND_IPOIB_DEBUG\n  IPoIB/cm: Connected mode is no longer EXPERIMENTAL\n  RDMA/ucm: BKL is not needed for ib_ucm_open()\n  RDMA/ucma: BKL is not needed for ucma_open()\n"
    },
    {
      "commit": "cc9969c96765476db5e30c9e074a57838604c1d1",
      "tree": "919c8528ca998f037afb8a512ba0f9c81e70069c",
      "parents": [
        "5ba18b186c979283a2bf75a28b7ea325184b0c08",
        "9905922446f6dc02fd4650c8f59114d6bdb5b777",
        "51a379d0c8f7a6db7c9e3c9c770d90a6d2d1ef9b",
        "6492cdf3a24fd620660c399745b5e169a0ed27d6"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sat Jul 26 13:59:47 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sat Jul 26 13:59:47 2008 -0700"
      },
      "message": "Merge branches \u0027bkl-removal\u0027, \u0027ipoib\u0027, \u0027mlx4\u0027 and \u0027nes\u0027 into for-linus\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": "51a379d0c8f7a6db7c9e3c9c770d90a6d2d1ef9b",
      "tree": "c3f2aecdaaa8e528556f7eeeffd71b983a38bbbc",
      "parents": [
        "25c94d010a8ae8605dc4d5453e0c82fa97da5d12"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Fri Jul 25 10:32:52 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Jul 25 10:32:52 2008 -0700"
      },
      "message": "mlx4: Update/add Mellanox Technologies copyright lines to mlx4 driver files\n\nUpdate existing Mellanox copyright lines to 2008, and add such lines\nto files where they are missing.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "6492cdf3a24fd620660c399745b5e169a0ed27d6",
      "tree": "474a0e937cda0b4cff70bc47a657d8338fb91d22",
      "parents": [
        "fb2e405fc1fc8b20d9c78eaa1c7fd5a297efde43"
      ],
      "author": {
        "name": "Faisal Latif",
        "email": "flatif@neteffect.com",
        "time": "Thu Jul 24 20:50:45 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Jul 24 20:50:45 2008 -0700"
      },
      "message": "RDMA/nes: CM connection setup/teardown rework\n\nMajor rework of CM connection setup/teardown.  We had a number of issues\nwith MPI applications not starting/terminating properly over time.\nWith these changes we were able to run longer on larger clusters.\n\n* Remove memory allocation from nes_connect() and nes_cm_connect().\n* Fix mini_cm_dec_refcnt_listen() when destroying listener.\n* Remove unnecessary code from schedule_nes_timer() and nes_cm_timer_tick().\n* Functionalize mini_cm_recv_pkt() and process_packet().\n* Clean up cm_node-\u003eref_count usage.\n* Reuse skbs if available.\n\nSigned-off-by: Faisal Latif \u003cflatif@neteffect.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "9905922446f6dc02fd4650c8f59114d6bdb5b777",
      "tree": "09f012107d5d15ee4ddb13784b8d04746933b139",
      "parents": [
        "99c3a5a9e388e0ac166c617aaf02150e778d2779"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Jul 24 20:37:25 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Jul 24 20:37:25 2008 -0700"
      },
      "message": "IPoIB: Correct help text for INFINIBAND_IPOIB_DEBUG\n\nThe help text for INFINIBAND_IPOIB_DEBUG refers to \"ipoib_debugfs,\"\nwhich no longer exists.  Correct this to talk about the files under\ndebugfs that are really created.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "99c3a5a9e388e0ac166c617aaf02150e778d2779",
      "tree": "3628d12bf6341e602ca1c05721d83a0a7ad97b33",
      "parents": [
        "fb2e405fc1fc8b20d9c78eaa1c7fd5a297efde43"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Jul 24 20:37:25 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Jul 24 20:37:25 2008 -0700"
      },
      "message": "IPoIB/cm: Connected mode is no longer EXPERIMENTAL\n\nConnected mode is now tested and used by lots of people.  No need to\nhide it under CONFIG_EXPERIMENTAL.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "5ba18b186c979283a2bf75a28b7ea325184b0c08",
      "tree": "3a9c51629ce217d92f4315fbe3b6cedf905f2635",
      "parents": [
        "f7a6117ee59c0001d58e830a82d7e205ed602bdd"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Jul 24 20:36:59 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Jul 24 20:36:59 2008 -0700"
      },
      "message": "RDMA/ucm: BKL is not needed for ib_ucm_open()\n\nRemove explicit cycle_kernel_lock() call and document why the code is safe.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "f7a6117ee59c0001d58e830a82d7e205ed602bdd",
      "tree": "8317ca6d2b53afde70905ed5986a1556a144774f",
      "parents": [
        "fb2e405fc1fc8b20d9c78eaa1c7fd5a297efde43"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Jul 24 20:36:59 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Jul 24 20:36:59 2008 -0700"
      },
      "message": "RDMA/ucma: BKL is not needed for ucma_open()\n\nRemove explicit lock_kernel() calls and document why the code is safe.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "5c402355adf8f920531f02099f4ec0d2bccd4c64",
      "tree": "eba326f8df01efc0d384874839384040401f5b45",
      "parents": [
        "ecc8b655b38a880b578146895e0e1e2d477ca2c0",
        "2cc177364e4746becdf421f926fb967c047ccc32"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:56:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:56:07 2008 -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  MAINTAINERS: Remove Glenn Streiff from NetEffect entry\n  mlx4_core: Improve error message when not enough UAR pages are available\n  IB/mlx4: Add support for memory management extensions and local DMA L_Key\n  IB/mthca: Keep free count for MTT buddy allocator\n  mlx4_core: Keep free count for MTT buddy allocator\n  mlx4_code: Add missing FW status return code\n  IB/mlx4: Rename struct mlx4_lso_seg to mlx4_wqe_lso_seg\n  mlx4_core: Add module parameter to enable QoS support\n  RDMA/iwcm: Remove IB_ACCESS_LOCAL_WRITE from remote QP attributes\n  IPoIB: Include err code in trace message for ib_sa_path_rec_get() failures\n  IB/sa_query: Check if sm_ah is NULL in ib_sa_remove_one()\n  IB/ehca: Release mutex in error path of alloc_small_queue_page()\n  IB/ehca: Use default value for Local CA ACK Delay if FW returns 0\n  IB/ehca: Filter PATH_MIG events if QP was never armed\n  IB/iser: Add support for RDMA_CM_EVENT_ADDR_CHANGE event\n  RDMA/cma: Add RDMA_CM_EVENT_TIMEWAIT_EXIT event\n  RDMA/cma: Add RDMA_CM_EVENT_ADDR_CHANGE event\n"
    },
    {
      "commit": "2cc177364e4746becdf421f926fb967c047ccc32",
      "tree": "189dca3793dae155d61fa960a35046f0334ed51a",
      "parents": [
        "2f5de1512884da8c74bec2c76e8f114b972ab4be",
        "1a867c33bb65f2921351a9bdd98548bb96f0ff8c",
        "1ca8d15619f725e223c19137350b0336b9196193",
        "76442640829163d0cdb67c2bf0cb4b81a0fe537b",
        "e8bb4beb2b1f90d499134f2849727ed04c3bedc4",
        "1fa6d8181b7bb0361512170c30e436dcc95591ee"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Jul 24 08:38:47 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Jul 24 08:38:47 2008 -0700"
      },
      "message": "Merge branches \u0027bkl-removal\u0027, \u0027cma\u0027, \u0027ehca\u0027, \u0027for-2.6.27\u0027, \u0027mlx4\u0027, \u0027mthca\u0027 and \u0027nes\u0027 into for-linus\n"
    },
    {
      "commit": "26dcce0fabbef75ae426461edf21b5030bad60f3",
      "tree": "56c64fa47dc29f7ea5a8fd0cab0459fb0a05a2bc",
      "parents": [
        "d7b6de14a0ef8a376f9d57b867545b47302b7bfb",
        "eb6a12c2428d21a9f3e0f1a50e927d5fd80fc3d0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 18:37:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 18:37:44 2008 -0700"
      },
      "message": "Merge branch \u0027cpus4096-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027cpus4096-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (31 commits)\n  NR_CPUS: Replace NR_CPUS in speedstep-centrino.c\n  cpumask: Provide a generic set of CPUMASK_ALLOC macros, FIXUP\n  NR_CPUS: Replace NR_CPUS in cpufreq userspace routines\n  NR_CPUS: Replace per_cpu(..., smp_processor_id()) with __get_cpu_var\n  NR_CPUS: Replace NR_CPUS in arch/x86/kernel/genapic_flat_64.c\n  NR_CPUS: Replace NR_CPUS in arch/x86/kernel/genx2apic_uv_x.c\n  NR_CPUS: Replace NR_CPUS in arch/x86/kernel/cpu/proc.c\n  NR_CPUS: Replace NR_CPUS in arch/x86/kernel/cpu/mcheck/mce_64.c\n  cpumask: Optimize cpumask_of_cpu in lib/smp_processor_id.c, fix\n  cpumask: Use optimized CPUMASK_ALLOC macros in the centrino_target\n  cpumask: Provide a generic set of CPUMASK_ALLOC macros\n  cpumask: Optimize cpumask_of_cpu in lib/smp_processor_id.c\n  cpumask: Optimize cpumask_of_cpu in kernel/time/tick-common.c\n  cpumask: Optimize cpumask_of_cpu in drivers/misc/sgi-xp/xpc_main.c\n  cpumask: Optimize cpumask_of_cpu in arch/x86/kernel/ldt.c\n  cpumask: Optimize cpumask_of_cpu in arch/x86/kernel/io_apic_64.c\n  cpumask: Replace cpumask_of_cpu with cpumask_of_cpu_ptr\n  Revert \"cpumask: introduce new APIs\"\n  cpumask: make for_each_cpu_mask a bit smaller\n  net: Pass reference to cpumask variable in net/sunrpc/svc.c\n  ...\n\nFix up trivial conflicts in drivers/cpufreq/cpufreq.c manually\n"
    },
    {
      "commit": "95d04f0735b4fc837bff9aedcc3f3efb20ddc3d1",
      "tree": "900cd7debae9827c3e20f5199307ae27e83ba862",
      "parents": [
        "e4044cfc493338cd09870bd45dc646336bb66e9f"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Jul 23 08:12:26 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Jul 23 08:12:26 2008 -0700"
      },
      "message": "IB/mlx4: Add support for memory management extensions and local DMA L_Key\n\nAdd support for the following operations to mlx4 when device firmware\nsupports them:\n\n - Send with invalidate and local invalidate send queue work requests;\n - Allocate/free fast register MRs;\n - Allocate/free fast register MR page lists;\n - Fast register MR send queue work requests;\n - Local DMA L_Key.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "e8bb4beb2b1f90d499134f2849727ed04c3bedc4",
      "tree": "3c4be492134aa4a738d1eeef144642d3e2bc9509",
      "parents": [
        "d35cb360c29956510b2fe1a953bd4968536f7216"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Jul 22 14:20:05 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Jul 22 14:20:05 2008 -0700"
      },
      "message": "IB/mthca: Keep free count for MTT buddy allocator\n\nMTT entries are allocated with a buddy allocator, which just keeps\nbitmaps for each level of the buddy table.  However, all free space\nstarts out at the highest order, and small allocations start scanning\nfrom the lowest order.  When the lowest order tables have no free\nspace, this can lead to scanning potentially millions of bits before\nfinding a free entry at a higher order.\n\nWe can avoid this by just keeping a count of how many free entries\neach order has, and skipping the bitmap scan when an order is\ncompletely empty.  This provides a nice performance boost for a\nnegligible increase in memory usage.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "47b374752aed1c029f995473c7c463ee3ae5fbaa",
      "tree": "ce6dfb09d0e0f359b49e31e70bbfe3a599beebb2",
      "parents": [
        "51f5f0ee22b98980f7816d42647467cd5f4b3b45"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Jul 22 14:19:39 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Jul 22 14:19:39 2008 -0700"
      },
      "message": "IB/mlx4: Rename struct mlx4_lso_seg to mlx4_wqe_lso_seg\n\nMake the struct name consistent with other WQE segment struct types\ndefined in \u003clinux/mlx4/qp.h\u003e.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "1ca8d15619f725e223c19137350b0336b9196193",
      "tree": "4fcd3ed14fbe5334d87d13b4108636ca70d3eb62",
      "parents": [
        "01b3fc8b15432f7931e40fe099839e1559fb0e09"
      ],
      "author": {
        "name": "Dotan Barak",
        "email": "dotanba@gmail.com",
        "time": "Tue Jul 22 14:18:34 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Jul 22 14:18:34 2008 -0700"
      },
      "message": "RDMA/iwcm: Remove IB_ACCESS_LOCAL_WRITE from remote QP attributes\n\nRemove IB_ACCESS_LOCAL_WRITE from qp.qp_access_flags because this\nattribute is only used to set remote permissions.\n\nSigned-off-by: Dotan Barak \u003cdotanba@gmail.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "01b3fc8b15432f7931e40fe099839e1559fb0e09",
      "tree": "eaa7a17870cd3a069d4b87326f34930d28dd83f2",
      "parents": [
        "64b784b583061ebfe1d484dd1fdc5a26c6d4293f"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@voltaire.com",
        "time": "Tue Jul 22 14:18:34 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Jul 22 14:18:34 2008 -0700"
      },
      "message": "IPoIB: Include err code in trace message for ib_sa_path_rec_get() failures\n\nPrint the return code of ib_sa_path_rec_get() if it fails to help\ndebug errors.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@voltaire.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "64b784b583061ebfe1d484dd1fdc5a26c6d4293f",
      "tree": "2eef2e4af37b00a6ab9c4bf2d2d60dffce980204",
      "parents": [
        "d35cb360c29956510b2fe1a953bd4968536f7216"
      ],
      "author": {
        "name": "Ralph Campbell",
        "email": "ralph.campbell@qlogic.com",
        "time": "Tue Jul 22 14:18:33 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Jul 22 14:18:33 2008 -0700"
      },
      "message": "IB/sa_query: Check if sm_ah is NULL in ib_sa_remove_one()\n\nIf update_sm_ah() fails, it leaves the port\u0027s sm_ah as NULL.  Then if\nthe device or module is removed, ib_sa_remove_one() will dereference a\nNULL pointer when it calls kref_put().  Fix this by testing if sm_ah\nis NULL before dropping the reference.\n\nSigned-off-by: Ralph Campbell \u003cralph.campbell@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "1a867c33bb65f2921351a9bdd98548bb96f0ff8c",
      "tree": "9daeb99a600105643d737be1b22bb916e3e6c5b0",
      "parents": [
        "593e4d4a05c8263a6dbd5452c21d47c5bdadd40c"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Tue Jul 22 14:18:10 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Jul 22 14:18:10 2008 -0700"
      },
      "message": "IB/ehca: Release mutex in error path of alloc_small_queue_page()\n\nThe pd-\u003elock mutex is released on a successful return, so it should be\nreleased on an error return as well.\n\nThe semantic patch that makes this change is as follows:\n(http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@@\nexpression l;\n@@\n\nmutex_lock(l);\n... when !\u003d mutex_unlock(l)\n    when any\n    when strict\n(\nif (...) { ... when !\u003d mutex_unlock(l)\n+   mutex_unlock(l);\n    return ...;\n}\n|\nmutex_unlock(l);\n)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "593e4d4a05c8263a6dbd5452c21d47c5bdadd40c",
      "tree": "a6ae65ec6d4a880c7238489d34d65b09ee46ac0a",
      "parents": [
        "5b673b71c8ca0fbdb99dc1b1434cfb554212d6ff"
      ],
      "author": {
        "name": "Joachim Fenkes",
        "email": "fenkes@de.ibm.com",
        "time": "Tue Jul 22 14:18:08 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Jul 22 14:18:08 2008 -0700"
      },
      "message": "IB/ehca: Use default value for Local CA ACK Delay if FW returns 0\n\nSome firmware versions report a Local CA ACK Delay of 0.  In that\ncase, return a more sensible default value of 12 (-\u003e 16 msec) instead.\n\nSigned-off-by: Joachim Fenkes \u003cfenkes@de.ibm.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "5b673b71c8ca0fbdb99dc1b1434cfb554212d6ff",
      "tree": "6ef6d830a63e9fe417f6f05e819e5af56979d422",
      "parents": [
        "d35cb360c29956510b2fe1a953bd4968536f7216"
      ],
      "author": {
        "name": "Joachim Fenkes",
        "email": "fenkes@de.ibm.com",
        "time": "Tue Jul 22 14:18:07 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Jul 22 14:18:07 2008 -0700"
      },
      "message": "IB/ehca: Filter PATH_MIG events if QP was never armed\n\nCertain firmware versions sometimes cause spurious PATH_MIG events to\noccur during QP creation.  Filter these events by making sure PATH_MIG\nevents are only handed down when they actually make sense (i.e. when\nthe QP has been armed at least once).\n\nSigned-off-by: Joachim Fenkes \u003cfenkes@de.ibm.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "2f5de1512884da8c74bec2c76e8f114b972ab4be",
      "tree": "66590b1ec65138e125a6af65833a22f0553828b5",
      "parents": [
        "38ca83a588662f0af684ba2567dd910a564268ab"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@voltaire.com",
        "time": "Tue Jul 22 14:16:21 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Jul 22 14:16:21 2008 -0700"
      },
      "message": "IB/iser: Add support for RDMA_CM_EVENT_ADDR_CHANGE event\n\nEnhance iser to act upon notification on network stack changes that\nmake its RDMA connection unaligned with the link used by the stack for\nthe \u003csrc,dst\u003e IPs used to establish the connection.\n\nWhen RDMA_CM_EVENT_ADDR_CHANGE arrives, just disconnect the\nconnection, assuming that the user space iscsid daemon will reconnect,\nand the new connection will be aligned with the IP stack.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@voltaire.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\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": "110cf374a809817d5c080c0ac82d65d029820a66",
      "tree": "a6e96382a00597c7a4dc6d83351680a11eb4254f",
      "parents": [
        "d4c4196f24ade5f336882587480652efde2c739c"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue May 27 10:17:53 2008 +0300"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:49 2008 -0700"
      },
      "message": "infiniband: make cm_device use a struct device and not a kobject.\n\nThis object really should be a struct device, or at least contain a\npointer to a struct device, as it is trying to create a separate device\ntree outside of the main device tree.  This patch fixes this problem.\n\nIt is needed for the class core rework that is being done in the driver\ncore.\n\nCc: 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"
    },
    {
      "commit": "d4c4196f24ade5f336882587480652efde2c739c",
      "tree": "91e5f257a181b51c200d1b3b6e02bc2e3ee780cf",
      "parents": [
        "27f302519148f311307637d4c9a6d0fd87d07e4c"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue May 27 10:17:53 2008 +0300"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:49 2008 -0700"
      },
      "message": "infiniband: rename \"device\" to \"ib_device\" in cm_device\n\nThis pointer really is a struct ib_device, not a struct device, so name\nit properly to help prevent confusion.\n\nThis makes the followon patch in this series much smaller and easier to\nunderstand as well.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nCc: Hal Rosenstock \u003chal.rosenstock@gmail.com\u003e\nAcked-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "c76d3d28c31a68f45d6b5acaa4813138dd7883b3",
      "tree": "765746c107a907176aa90b1e78e0f7d15b5fdad5",
      "parents": [
        "f71674a09f374bb0b5371b3e7b943029867477c5"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 21 12:52:33 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:43 2008 -0700"
      },
      "message": "device create: infiniband: convert device_create to device_create_drvdata\n\ndevice_create() is race-prone, so use the race-free\ndevice_create_drvdata() instead as device_create() is going away.\n\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"
    },
    {
      "commit": "eb6a12c2428d21a9f3e0f1a50e927d5fd80fc3d0",
      "tree": "5ac6f43899648abeab1d43aad3107f664e7f13d5",
      "parents": [
        "c4762aba0b1f72659aae9ce37b772ca8bd8f06f4",
        "14b395e35d1afdd8019d11b92e28041fad591b71"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 21 17:19:50 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 21 17:19:50 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into cpus4096-for-linus\n\nConflicts:\n\n\tnet/sunrpc/svc.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bb2c018b09b681d43f5e08124b83e362647ea82b",
      "tree": "d794902c78f9fdd04ed88a4b8d451ed6f9292ec0",
      "parents": [
        "82638844d9a8581bbf33201cc209a14876eca167",
        "5b664cb235e97afbf34db9c4d77f08ebd725335e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 18 22:00:54 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 18 22:00:54 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into cpus4096\n\nConflicts:\n\n\tdrivers/acpi/processor_throttling.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "49997d75152b3d23c53b0fa730599f2f74c92c65",
      "tree": "46e93126170d02cfec9505172e545732c1b69656",
      "parents": [
        "a0c80b80e0fb48129e4e9d6a9ede914f9ff1850d",
        "5b664cb235e97afbf34db9c4d77f08ebd725335e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 02:39:39 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 02:39:39 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tDocumentation/powerpc/booting-without-of.txt\n\tdrivers/atm/Makefile\n\tdrivers/net/fs_enet/fs_enet-main.c\n\tdrivers/pci/pci-acpi.c\n\tnet/8021q/vlan.c\n\tnet/iucv/iucv.c\n"
    },
    {
      "commit": "89a93f2f4834f8c126e8d9dd6b368d0b9e21ec3d",
      "tree": "e731456fec0cab1225ad3e806dc8d3efefa0a78b",
      "parents": [
        "260eddf4391f162a69d1d163729249635fa7a78f",
        "fe9233fb6914a0eb20166c967e3020f7f0fba2c9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 15 18:58:04 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 15 18:58:04 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (102 commits)\n  [SCSI] scsi_dh: fix kconfig related build errors\n  [SCSI] sym53c8xx: Fix bogus sym_que_entry re-implementation of container_of\n  [SCSI] scsi_cmnd.h: remove double inclusion of linux/blkdev.h\n  [SCSI] make struct scsi_{host,target}_type static\n  [SCSI] fix locking in host use of blk_plug_device()\n  [SCSI] zfcp: Cleanup external header file\n  [SCSI] zfcp: Cleanup code in zfcp_erp.c\n  [SCSI] zfcp: zfcp_fsf cleanup.\n  [SCSI] zfcp: consolidate sysfs things into one file.\n  [SCSI] zfcp: Cleanup of code in zfcp_aux.c\n  [SCSI] zfcp: Cleanup of code in zfcp_scsi.c\n  [SCSI] zfcp: Move status accessors from zfcp to SCSI include file.\n  [SCSI] zfcp: Small QDIO cleanups\n  [SCSI] zfcp: Adapter reopen for large number of unsolicited status\n  [SCSI] zfcp: Fix error checking for ELS ADISC requests\n  [SCSI] zfcp: wait until adapter is finished with ERP during auto-port\n  [SCSI] ibmvfc: IBM Power Virtual Fibre Channel Adapter Client Driver\n  [SCSI] sg: Add target reset support\n  [SCSI] lib: Add support for the T10 (SCSI) Data Integrity Field CRC\n  [SCSI] sd: Move scsi_disk() accessor function to sd.h\n  ...\n"
    },
    {
      "commit": "82638844d9a8581bbf33201cc209a14876eca167",
      "tree": "961d7f9360194421a71aa644a9d0c176a960ce49",
      "parents": [
        "9982fbface82893e77d211fbabfbd229da6bdde6",
        "63cf13b77ab785e87c867defa8545e6d4a989774"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 16 00:29:07 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 16 00:29:07 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into cpus4096\n\nConflicts:\n\n\tarch/x86/xen/smp.c\n\tkernel/sched_rt.c\n\tnet/iucv/iucv.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6c9fcaf2eec1b9f85226a694230dd957dd7926b3",
      "tree": "f8c824c6c64dc411752c844f116e693760768bcc",
      "parents": [
        "b9d2252c1e44fa83a4e65fdc9eb93db6297c55af",
        "199a952876adbfc2b6c13b8b07adabebf4ff54b2"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 15 21:10:12 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 15 21:10:12 2008 +0200"
      },
      "message": "Merge branch \u0027core/rcu\u0027 into core/rcu-for-linus\n"
    },
    {
      "commit": "b9e40857682ecfc5bcd0356a23ff409883ffb982",
      "tree": "d241fd289bed6d16f36f6d26815c1e78e212c89a",
      "parents": [
        "e308a5d806c852f56590ffdd3834d0df0cbed8d7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 15 00:15:08 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 15 00:15:08 2008 -0700"
      },
      "message": "netdev: Do not use TX lock to protect address lists.\n\nNow that we have a specific lock to protect the network\ndevice unicast and multicast lists, remove extraneous\ngrabs of the TX lock in cases where the code only needs\naddress list protection.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e308a5d806c852f56590ffdd3834d0df0cbed8d7",
      "tree": "294ff654e90950f5162737c26f4799b0b710b748",
      "parents": [
        "f1f28aa3510ddb84c966bac65611bb866c77a092"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 15 00:13:44 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 15 00:13:44 2008 -0700"
      },
      "message": "netdev: Add netdev-\u003eaddr_list_lock protection.\n\nAdd netif_addr_{lock,unlock}{,_bh}() helpers.\n\nUse them to protect operations that operate on or read\nthe network device unicast and multicast address lists.\n\nAlso use them in cases where the code simply wants to\nblock calls into the driver\u0027s -\u003eset_rx_mode() and\n-\u003eset_multicast_list() methods.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f507d28bff0601f1a8a96b7939fa3855c50d25b6",
      "tree": "cc123185fdd19bac8c6309adeef0e39b47ef9b04",
      "parents": [
        "2d92865158d0e21ef4350703af64bc2a610d81d3"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@mellanox.co.il",
        "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": "IB/mlx4: Use kzalloc() for new QPs so flags are initialized to 0\n\nCurrent code uses kmalloc() and then just does a bitwise OR operation on\nqp-\u003eflags in create_qp_common(), which means that qp-\u003eflags may\npotentially have some unintended bits set.  This patch uses kzalloc()\nand avoids further explicit clearing of structure members, which also\nshrinks the code:\n\nadd/remove: 0/0 grow/shrink: 0/1 up/down: 0/-65 (-65)\nfunction                                     old     new   delta\ncreate_qp_common                            2024    1959     -65\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "de910bd92137005b5e1ecaf2ce68053d7d7d5350",
      "tree": "8c901c29a83263b7a6ff9ce77a9ac2962dbbb32c",
      "parents": [
        "64c5e613b9dd34ef1281ed6d22478609667ae36a"
      ],
      "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/cma: Simplify locking needed for serialization of callbacks\n\nThe RDMA CM has some logic in place to make sure that callbacks on a\ngiven CM ID are delivered to the consumer in a serialized manner.\nSpecifically it has code to protect against a device removal racing\nwith a running callback function.\n\nThis patch simplifies this logic by using a mutex per ID instead of a\nwait queue and atomic variable.  This means that cma_disable_remove()\nnow is more properly named to cma_disable_callback(), and\ncma_enable_remove() can now be removed because it just would become a\ntrivial wrapper around mutex_unlock().\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": "4ab928f69208d240d3681336f34589e4b151824f",
      "tree": "aca612ffbf703870cac63efb5ec5d8955ac2bc3c",
      "parents": [
        "96f15c03532282366364ecfd20f04e49b5d96f3a"
      ],
      "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/cxgb3: Fixes for zero STag\n\nHandling the zero STag in receive work request requires some extra\nlogic in the driver:\n\n - Only set the QP_PRIV bit for kernel mode QPs.\n\n- Add a zero STag build function for recv wrs. The uP needs a PBL\n  allocated and passed down in the recv WR so it can construct a HW\n  PBL for the zero STag S/G entries.  Note: we need to place a few\n  restrictions on zero STag usage because of this:\n\n  1) all SGEs in a recv WR must either be zero STag or not.  No mixing.\n\n  2) an individual SGE length cannot exceed 128MB for a zero-stag SGE.\n     This should be OK since it\u0027s not really practical to allocate\n     such a large chunk of pinned contiguous DMA mapped memory.\n\n- Add an optimized non-zero-STag recv wr format for kernel users.\n  This is needed to optimize both zero and non-zero STag cracking in\n  the recv path for kernel users.\n\n - Remove the iwch_ prefix from the static build functions.\n\n - Bump required FW version.\n\nSigned-off-by: Steve Wise \u003cswise@opengridcomputing.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": "aed012279d35e88e29fd55737d8821604433f50a",
      "tree": "48a1223fd53f471d61254d1eb2e3263bf0b33e99",
      "parents": [
        "c036925ac0e940a4e8525b08e89d2c64fe282c51"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:52 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:52 2008 -0700"
      },
      "message": "IB/mthca: Fix check of max_send_sge for special QPs\n\nThe MLX transport requires two extra gather entries for sends (one for\nthe header and one for the checksum at the end, as the comment says).\nHowever the code checked that max_recv_sge was not too big, instead of\nchecking max_send_sge as it should have.  Fix the code to check the\ncorrect condition.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "c036925ac0e940a4e8525b08e89d2c64fe282c51",
      "tree": "01bf048b52e4ae808303077440672c6e6fd5bcb1",
      "parents": [
        "4522e08ced48baaf28990e2674e940aae9940310"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:52 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:52 2008 -0700"
      },
      "message": "IB/mthca: Use round_jiffies() for catastrophic error polling timer\n\nExactly when the catastrophic error polling timer function runs is not\nimportant, so use round_jiffies() to save unnecessary wakeups.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "4522e08ced48baaf28990e2674e940aae9940310",
      "tree": "9c17d3aadb4adcd757c58331cc6a20e4a133cb50",
      "parents": [
        "bc3a290b51aaefc6a6af2d6e6d52ed32387c416c"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:52 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:52 2008 -0700"
      },
      "message": "IB/mthca: Remove \"stop\" flag for catastrophic error polling timer\n\nSince we use del_timer_sync() anyway, there\u0027s no need for an\nadditional flag to tell the timer not to rearm.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "bc3a290b51aaefc6a6af2d6e6d52ed32387c416c",
      "tree": "94b3358177c589796224c818b80ca4fdc0944719",
      "parents": [
        "e112373fd6aa280bd2cbc0d5cc3809115325a1be"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@dev.mellanox.co.il",
        "time": "Mon Jul 14 23:48:52 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:52 2008 -0700"
      },
      "message": "IPoIB: Double default RX/TX ring sizes\n\nIncrease IPoIB ring sizes to twice their original sizes (RX: 128-\u003e256,\nTX: 64-\u003e128) to act as a shock absorber for high traffic peaks.  With\nthe current settings, we have seen cases that there are many calls to\nnetif_stop_queue(), which causes degradation in throughput.  Also,\nlarger receive buffer sizes help IPoIB in CM mode to avoid experiencing\nRNR NAK conditions due to insufficient receive buffers at the SRQ.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "e112373fd6aa280bd2cbc0d5cc3809115325a1be",
      "tree": "aaefb13c2558ab1041e63035b71ee6d114b8c906",
      "parents": [
        "df8666198dd058b9498ebdbc52c61957206d30a5"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@dev.mellanox.co.il",
        "time": "Mon Jul 14 23:48:52 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:52 2008 -0700"
      },
      "message": "IPoIB/cm: Reduce connected mode TX object size\n\nSince IPoIB connected mode does not NETIF_F_SG, we only have one DMA\nmapping per send, so we don\u0027t need a mapping[] array.  Define a new\nstruct with a single u64 mapping member and use it for the CM tx_ring.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "df8666198dd058b9498ebdbc52c61957206d30a5",
      "tree": "7d2c8cacb34aa9e518f77b7b16587e2406e1571a",
      "parents": [
        "bd3606715effbf37df986548c43bbed0842b49d5"
      ],
      "author": {
        "name": "Ralph Campbell",
        "email": "ralph.campbell@qlogic.com",
        "time": "Mon Jul 14 23:48:52 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:52 2008 -0700"
      },
      "message": "IB/ipath: Use IEEE OUI for vendor_id reported by ibv_query_device()\n\nThe IB spe. for SubnGet(NodeInfo) and query HCA says that the vendor\nID field should be the IEEE OUI assigned to the vendor.  The ipath\ndriver was returning the PCI vendor ID instead.  This will affect\napplications which call ibv_query_device().  The old value was\n0x001fc1 or 0x001077, the new value is 0x001175.\n\nThe vendor ID doesn\u0027t appear to be exported via /sys so that should\nreduce possible compatibility issues.  I\u0027m only aware of Open MPI as a\nmajor application which depends on this change, and they have made\nnecessary adjustments.\n\nSigned-off-by: Ralph Campbell \u003cralph.campbell@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "bd3606715effbf37df986548c43bbed0842b49d5",
      "tree": "08f2a13d486a75b42244beca90ae78c0045c0fc1",
      "parents": [
        "c8c2afe360b7366f586f6bece1109a72ea334876"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@mellanox.co.il",
        "time": "Mon Jul 14 23:48:51 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:51 2008 -0700"
      },
      "message": "IPoIB: Use dev_set_mtu() to change mtu\n\nWhen the driver sets the MTU of the net device outside of its\nchange_mtu method, it should make use of dev_set_mtu() instead of\ndirectly setting the mtu field of struct netdevice.  Otherwise\nfunctions registered to be called upon MTU change will not get called\n(this is done through call_netdevice_notifiers() in dev_set_mtu()).\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "c8c2afe360b7366f586f6bece1109a72ea334876",
      "tree": "c132fc0580deebde3dc49c59bac9c4a559aef192",
      "parents": [
        "9eae554c171e086c89ab83da2a2d3c8bf958fcb5"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@mellanox.co.il",
        "time": "Mon Jul 14 23:48:51 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:51 2008 -0700"
      },
      "message": "IPoIB: Use rtnl lock/unlock when changing device flags\n\nUse of this lock is required to synchronize changes to the netdvice\u0027s\ndata structs.  Also move the call to ipoib_flush_paths() after the\nmodification of the netdevice flags in set_mode().\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "9eae554c171e086c89ab83da2a2d3c8bf958fcb5",
      "tree": "52023c51bf3ad116e3506f20f7c90fd9a29661b3",
      "parents": [
        "d0de13622d5ac658efe7c51521dbdbe0752aa3dd"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:50 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:50 2008 -0700"
      },
      "message": "IPoIB: Get rid of ipoib_mcast_detach() wrapper\n\nipoib_mcast_detach() does nothing except call ib_detach_mcast(), so just\nuse the core API in the one place that does a multicast group detach.\n\nadd/remove: 0/1 grow/shrink: 0/1 up/down: 0/-105 (-105)\nfunction                                     old     new   delta\nipoib_mcast_leave                            357     319     -38\nipoib_mcast_detach                            67       -     -67\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "d0de13622d5ac658efe7c51521dbdbe0752aa3dd",
      "tree": "c61104a706ff1122b72888e0ed466d8183ee79e3",
      "parents": [
        "5892eff91ad60ba365ae7f75050ce464036c5396"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@mellanox.co.il",
        "time": "Mon Jul 14 23:48:50 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:50 2008 -0700"
      },
      "message": "IPoIB: Only set Q_Key once: after joining broadcast group\n\nThe current code will set the Q_Key for any join of a non-sendonly\nmulticast group.  The operation involves a modify QP operation, which\nis fairly heavyweight, and is only really required after the join of\nthe broadcast group.  Fix this by adding a parameter to ipoib_mcast_attach()\nto control when the Q_Key is set.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "5892eff91ad60ba365ae7f75050ce464036c5396",
      "tree": "8f1ddce8b1f71688ed60d6d9a8f47ede4e7067fe",
      "parents": [
        "c03d4731b5b6de45b95a10bf1d510dde423d6757"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@mellanox.co.il",
        "time": "Mon Jul 14 23:48:50 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:50 2008 -0700"
      },
      "message": "IPoIB: Remove priv-\u003emcast_mutex\n\nNo need for a mutex around calls to ib_attach_mcast/ib_detach_mcast\nsince these operations are synchronized at the HW driver layer.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "c03d4731b5b6de45b95a10bf1d510dde423d6757",
      "tree": "c5635fc4061f716c4bc69228950fe3a44fcf7ab4",
      "parents": [
        "70fe1796a5ebc5f955be39bba5c42eee9eb89e1f"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@mellanox.co.il",
        "time": "Mon Jul 14 23:48:50 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:50 2008 -0700"
      },
      "message": "IPoIB: Remove unused IPOIB_MCAST_STARTED code\n\nThe IPOIB_MCAST_STARTED flag is not used at all since commit b3e2749b\n(\"IPoIB: Don\u0027t drop multicast sends when they can be queued\"), so\nremove it.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "70fe1796a5ebc5f955be39bba5c42eee9eb89e1f",
      "tree": "1d0b092919a50ba23a958cdad199ba5a5389d535",
      "parents": [
        "8294f29767c53e97664a27db9974adea8e2ea95b"
      ],
      "author": {
        "name": "Steve Wise",
        "email": "swise@opengridcomputing.com",
        "time": "Mon Jul 14 23:48:49 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:49 2008 -0700"
      },
      "message": "RDMA/cxgb3: Set rkey field for new memory windows in iwch_alloc_mw()\n\nSigned-off-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "8294f29767c53e97664a27db9974adea8e2ea95b",
      "tree": "b2c2ab078539b486667fcb1464a02bedeb5b7c85",
      "parents": [
        "52c8084b740c42af27d5bfa62cec7079d12fbc2b"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:49 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:49 2008 -0700"
      },
      "message": "RDMA/nes: Get rid of ring_doorbell parameter of nes_post_cqp_request()\n\nEvery caller of nes_post_cqp_request() passed it NES_CQP_REQUEST_RING_DOORBELL,\nso just remove that parameter and always ring the doorbell.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\nAcked-by: Faisal Latif \u003cflatif@neteffect.com\u003e\n"
    },
    {
      "commit": "52c8084b740c42af27d5bfa62cec7079d12fbc2b",
      "tree": "d6bbe61d127501b9d45a74fae7421c452cc2d084",
      "parents": [
        "1ff66e8c1faee7c2711b84b9c89e1c5fcd767839"
      ],
      "author": {
        "name": "Jon Mason",
        "email": "jon@opengridcomputing.com",
        "time": "Mon Jul 14 23:48:49 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:49 2008 -0700"
      },
      "message": "RDMA/cxgb3: Propagate HW page size capabilities\n\ncxgb3 does not currently report the page size capabilities, and\nincorrectly reports them internally.\n\nThis version changes the bit-shifting to a static value (per Steve\u0027s\nrequest).\n\nSigned-off-by: Jon Mason \u003cjon@opengridcomputing.com\u003e\nAcked-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "1ff66e8c1faee7c2711b84b9c89e1c5fcd767839",
      "tree": "7a42adc119605abd1acb54d16b8a93f1effd2069",
      "parents": [
        "ee1e2c82c245a5fb2864e9dbcdaab3390fde3fcc"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:49 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:49 2008 -0700"
      },
      "message": "RDMA/nes: Encapsulate logic nes_put_cqp_request()\n\nThe iw_nes driver repeats the logic\n\n\tif (atomic_dec_and_test(\u0026cqp_request-\u003erefcount)) {\n\t\tif (cqp_request-\u003edynamic) {\n\t\t\tkfree(cqp_request);\n\t\t} else {\n\t\t\tspin_lock_irqsave(\u0026nesdev-\u003ecqp.lock, flags);\n\t\t\tlist_add_tail(\u0026cqp_request-\u003elist, \u0026nesdev-\u003ecqp_avail_reqs);\n\t\t\tspin_unlock_irqrestore(\u0026nesdev-\u003ecqp.lock, flags);\n\t\t}\n\t}\n\nover and over.  Wrap this up in functions nes_free_cqp_request() and\nnes_put_cqp_request() to simplify such code.\n\nIn addition to making the source smaller and more readable, this shrinks\nthe compiled code quite a bit:\n\nadd/remove: 2/0 grow/shrink: 0/13 up/down: 164/-1692 (-1528)\nfunction                                     old     new   delta\nnes_free_cqp_request                           -     147    +147\nnes_put_cqp_request                            -      17     +17\nnes_modify_qp                               2316    2293     -23\nnes_hw_modify_qp                             737     657     -80\nnes_dereg_mr                                 945     860     -85\nflush_wqes                                   501     416     -85\nnes_manage_apbvt                             648     560     -88\nnes_reg_mr                                  1117    1026     -91\nnes_cqp_ce_handler                           927     769    -158\nnes_alloc_mw                                1052     884    -168\nnes_create_qp                               5314    5141    -173\nnes_alloc_fmr                               2212    2035    -177\nnes_destroy_cq                              1097     918    -179\nnes_create_cq                               2787    2598    -189\nnes_dealloc_mw                               762     566    -196\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\nAcked-by: Faisal Latif \u003cflatif@neteffect.com\u003e\n"
    },
    {
      "commit": "ee1e2c82c245a5fb2864e9dbcdaab3390fde3fcc",
      "tree": "2bd6686dcee9524352c1afce3cb772373ec83d5f",
      "parents": [
        "038919f29682b00ea95506e959210fc72d1aaf64"
      ],
      "author": {
        "name": "Moni Shoua",
        "email": "monis@Voltaire.COM",
        "time": "Mon Jul 14 23:48:49 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:49 2008 -0700"
      },
      "message": "IPoIB: Refresh paths instead of flushing them on SM change events\n\nThe patch tries to solve the problem of device going down and paths being\nflushed on an SM change event. The method is to mark the paths as candidates for\nrefresh (by setting the new valid flag to 0), and wait for an ARP\nprobe a new path record query.\n\nThe solution requires a different and less intrusive handling of SM\nchange event. For that, the second argument of the flush function\nchanges its meaning from a boolean flag to a level.  In most cases, SM\nfailover doesn\u0027t cause LID change so traffic won\u0027t stop.  In the rare\ncases of LID change, the remote host (the one that hadn\u0027t changed its\nLID) will lose connectivity until paths are refreshed. This is no\nworse than the current state.  In fact, preventing the device from\ngoing down saves packets that otherwise would be lost.\n\nSigned-off-by: Moni Levy \u003cmonil@voltaire.com\u003e\nSigned-off-by: Moni Shoua \u003cmonis@voltaire.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "038919f29682b00ea95506e959210fc72d1aaf64",
      "tree": "3631f2f0785968062a3b8b3a0005a3ad2a018866",
      "parents": [
        "af40da894e96d5c826d38be3ea53ee00d9de0367"
      ],
      "author": {
        "name": "Joachim Fenkes",
        "email": "fenkes@de.ibm.com",
        "time": "Mon Jul 14 23:48:49 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:49 2008 -0700"
      },
      "message": "IB/ehca: Make device table externally visible\n\nThis gives ehca an autogenerated modalias and therefore enables automatic loading.\n\nSigned-off-by: Joachim Fenkes \u003cfenkes@de.ibm.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "af40da894e96d5c826d38be3ea53ee00d9de0367",
      "tree": "15b8e850d4227ec04289e5bc67d1838f231c8d9f",
      "parents": [
        "12406734051a26e9fe4c8568e931dfddbb72d431"
      ],
      "author": {
        "name": "Vladimir Sokolovsky",
        "email": "vlad@mellanox.co.il",
        "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": "IPoIB: add LRO support\n\nAdd \"ipoib_use_lro\" module parameter to enable LRO and an\n\"ipoib_lro_max_aggr\" module parameter to set the max number of packets\nto be aggregated.  Make LRO controllable and LRO statistics accessible\nthrough ethtool.\n\nSigned-off-by: Vladimir Sokolovsky \u003cvlad@mellanox.co.il\u003e\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "12406734051a26e9fe4c8568e931dfddbb72d431",
      "tree": "731bbb97c981389fd04684714214b18388ec8b41",
      "parents": [
        "521e575b9a7324a0bca762622139f69582a042bf"
      ],
      "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": "IPoIB: Use multicast loopback blocking if available\n\nSet IB_QP_CREATE_BLOCK_MULTICAST_LOOPBACK for IPoIB\u0027s UD QPs if\nsupported by the underlying device.  This creates an improvement of up\nto 39% in bandwidth when sending multicast packets with IPoIB, and an\nimprovment of 12% in cpu usage.\n\nSigned-off-by: Ron Livne \u003cronli@voltaire.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "521e575b9a7324a0bca762622139f69582a042bf",
      "tree": "5962695835c6d11b424d76c64421ebd436b52a34",
      "parents": [
        "47ee1b9f2e7bf73950602efe0b74fa1a8481f222"
      ],
      "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/mlx4: Add support for blocking multicast loopback packets\n\nAdd support for handling the IB_QP_CREATE_MULTICAST_BLOCK_LOOPBACK\nflag by using the per-multicast group loopback blocking feature of\nmlx4 hardware.\n\nSigned-off-by: Ron Livne \u003cronli@voltaire.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "14cc180f7b032f8484c1a3d0533b1129ffe307fd",
      "tree": "0f544f596e00955f56cb38051c5e2ce3c40c0b40",
      "parents": [
        "7f624d023b5fb150831e02c1e4c0f2619ade72c2"
      ],
      "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/cxgb3: Add support for protocol statistics\n\n- Add a new rdma ctl command called RDMA_GET_MIB to the cxgb3 low\n  level driver to obtain the protocol mib from the rnic hardware.\n\n- Add new iw_cxgb3 provider method to get the MIB from the low level\n  driver.\n\nSigned-off-by: Steve Wise \u003cswise@opengridcomputing.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": "a7d834c4bc6be73e8f83eaa5072fac3c5549f7f2",
      "tree": "aec2ed171dee9fc29b2a968a8048808d85b2cec1",
      "parents": [
        "468f2239bcc71ae0f345c3fe58c797cf4627daf4"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:47 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:47 2008 -0700"
      },
      "message": "IPoIB/cm: Fix racy use of receive WR/SGL in ipoib_cm_post_receive_nonsrq()\n\nFor devices that don\u0027t support SRQs, ipoib_cm_post_receive_nonsrq() is\ncalled from both ipoib_cm_handle_rx_wc() and ipoib_cm_nonsrq_init_rx(),\nand these two callers are not synchronized against each other.\nHowever, ipoib_cm_post_receive_nonsrq() always reuses the same receive\nwork request and scatter list structures, so multiple callers can end\nup stepping on each other, which leads to posting garbled work\nrequests.\n\nFix this by having the caller pass in the ib_recv_wr and ib_sge\nstructures to use, and allocating new local structures in\nipoib_cm_nonsrq_init_rx().\n\nBased on a patch by Pradeep Satyanarayana \u003cpradeep@us.ibm.com\u003e and\nDavid Wilder \u003cdwilder@us.ibm.com\u003e, with debugging help from Hoang-Nam\nNguyen \u003chnguyen@de.ibm.com\u003e.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "468f2239bcc71ae0f345c3fe58c797cf4627daf4",
      "tree": "fc617ac292402787196c47e55ce8c3dc3da032e8",
      "parents": [
        "eec8845d29504a12fbd434e192d61aed3d9d74fa"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:47 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:47 2008 -0700"
      },
      "message": "RDMA/cma: Add missing newlines to printk()s\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\nAcked-by: Sean Hefty \u003csean.hefty@intel.com\u003e\n"
    },
    {
      "commit": "eec8845d29504a12fbd434e192d61aed3d9d74fa",
      "tree": "d8332777dfce7af169db842de54cdfb74d6e825d",
      "parents": [
        "97d1cc8055c7b3fbd35bf693775d61102e65d174"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:47 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:47 2008 -0700"
      },
      "message": "RDMA/cxgb3: Remove write-only iwch_rnic_attributes fields\n\nThe members struct iwch_rnic_attributes.vendor_id and .vendor_part_id\nare write-only, so we might as well get rid of them.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\nAcked-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "97d1cc8055c7b3fbd35bf693775d61102e65d174",
      "tree": "e120b64dacf4a7b2dc3de88aefbe4888807fd7fb",
      "parents": [
        "6f7bc01a7382641c61ec036d68ff3a9140b48a1c"
      ],
      "author": {
        "name": "Steve Wise",
        "email": "swise@opengridcomputing.com",
        "time": "Mon Jul 14 23:48:47 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:47 2008 -0700"
      },
      "message": "RDMA/cxgb3: Fix up some ib_device_attr fields\n\n- set fw_ver\n- set hw_ver\n- set max_qp_wr to something reasonable\n- set max_cqe to something reasonable\n\nSigned-off-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "6f7bc01a7382641c61ec036d68ff3a9140b48a1c",
      "tree": "debf518649e7af08c42465f6683bc66322ba1554",
      "parents": [
        "3e255eac561672cbc92844b9f16cae9304c2a783"
      ],
      "author": {
        "name": "Stefan Roscher",
        "email": "ossrosch@linux.vnet.ibm.com",
        "time": "Mon Jul 14 23:48:47 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:47 2008 -0700"
      },
      "message": "IB/ehca: In case of lost interrupts, trigger EOI to reenable interrupts\n\nDuring corner case testing, we noticed that some versions of ehca do\nnot properly transition to interrupt done in special load situations.\nThis can be resolved by periodically triggering EOI through H_EOI, if\nEQEs are pending.\n\nSigned-off-by: Stefan Roscher \u003cstefan.roscher@de.ibm.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "3e255eac561672cbc92844b9f16cae9304c2a783",
      "tree": "2e3181032185920f569b3dcaa0b1ad881674545e",
      "parents": [
        "7c27f358209a8ce7c57b584346d7b611e823f1b1"
      ],
      "author": {
        "name": "Joachim Fenkes",
        "email": "fenkes@de.ibm.com",
        "time": "Mon Jul 14 23:48:47 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:47 2008 -0700"
      },
      "message": "IB/ehca: Reject receive work requests if QP is in RESET state\n\nSigned-off-by: Joachim Fenkes \u003cfenkes@de.ibm.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "7c27f358209a8ce7c57b584346d7b611e823f1b1",
      "tree": "2978eba94e5b3a7e64086291c58c9dff8a7d231b",
      "parents": [
        "d3809ad0972297fbc7ef0585049ef465d9d8d79d"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:46 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:46 2008 -0700"
      },
      "message": "IB/mlx4: Remove extra code for RESET-\u003eERR QP state transition\n\nCommit 65adfa91 (\"IB/mlx4: Fix RESET to RESET and RESET to ERROR\ntransitions\") added some extra code to handle a QP state transition\nfrom RESET to ERROR.  However, the latest 1.2.1 version of the IB spec\nhas clarified that this transition is actually not allowed, so we can\nremove this extra code again.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "d3809ad0972297fbc7ef0585049ef465d9d8d79d",
      "tree": "a565a23430de36a1b8f49cc9cf5267efc65218a7",
      "parents": [
        "e5a5e7d59af5944a674b9cea420a1fedc60496f2"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:46 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:46 2008 -0700"
      },
      "message": "IB/mthca: Remove extra code for RESET-\u003eERR QP state transition\n\nCommit b18aad71 (\"IB/mthca: Fix RESET to ERROR transition\") added some\nextra code to handle a QP state transition from RESET to ERROR.\nHowever, the latest 1.2.1 version of the IB spec has clarified that\nthis transition is actually not allowed, so we can remove this extra\ncode again.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "e5a5e7d59af5944a674b9cea420a1fedc60496f2",
      "tree": "5a00e8f7821a7fbe90b0fe0d89b9694db1ac9d4f",
      "parents": [
        "6578cf33989a594bab37af988d45d87812b946b8"
      ],
      "author": {
        "name": "Ralph Campbell",
        "email": "ralph.campbell@qlogic.com",
        "time": "Mon Jul 14 23:48:46 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:46 2008 -0700"
      },
      "message": "IB/core: Reset to error QP state transition is not allowed\n\nI was reviewing the QP state transition diagram in the IB 1.2.1 spec\nand the code for qp_state_table[], and noticed that the code allows a\nQP to be modified from IB_QPS_RESET to IB_QPS_ERR whereas the notes\nfor figure 124 (pg 457) specifically says that this transition isn\u0027t\nallowed.  This is a clarification from earlier versions of the IB\nspec, which were ambiguous in this area and suggested that the RESET\nto ERR transition was allowed.\n\nFix up the qp_state_table[] to make RESET-\u003eERR not allowed.\n\nSigned-off-by: Ralph Campbell \u003cralph.campbell@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "6578cf33989a594bab37af988d45d87812b946b8",
      "tree": "59dd9f73c29443a5d1fa199418b7d5d982fe5341",
      "parents": [
        "d1f2cd895f8733faa9d79d09d825a2ed80002ac7"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@dev.mellanox.co.il",
        "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": "IB/mlx4: Pass congestion management class MADs to the HCA\n\nConnectX HCAs support the IB_MGMT_CLASS_CONG_MGMT management class, so\nprocess MADs of this class through the MAD_IFC firmware command.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "d1f2cd895f8733faa9d79d09d825a2ed80002ac7",
      "tree": "45d8f35de710b091af17611f3362f82834b5630f",
      "parents": [
        "e7e55829999deaab3f43e201a087731c02c54cf9"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@dev.mellanox.co.il",
        "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": "IB/mlx4: Configure QPs\u0027 max message size based on real device capability\n\nConnectX returns the max message size it supports through the\nQUERY_DEV_CAP firmware command.  When modifying a QP to RTR, the max\nmessage size for the QP must be specified.  This value must not exceed\nthe value declared through QUERY_DEV_CAP.  The current code ignores\nthe max allowed size and unconditionally sets the value to 2^31.  This\npatch sets all QPs to the max value allowed as returned from firmware.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "e7e55829999deaab3f43e201a087731c02c54cf9",
      "tree": "665f2ff291045af9469bbb929f99224e9707965b",
      "parents": [
        "00f7ec36c9324928e4cd23f02e6d8550f30c32ca"
      ],
      "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/cxgb3: MEM_MGT_EXTENSIONS support\n\n- set IB_DEVICE_MEM_MGT_EXTENSIONS capability bit if fw supports it.\n- set max_fast_reg_page_list_len device attribute.\n- add iwch_alloc_fast_reg_mr function.\n- add iwch_alloc_fastreg_pbl\n- add iwch_free_fastreg_pbl\n- adjust the WQ depth for kernel mode work queues to account for\n  fastreg possibly taking 2 WR slots.\n- add fastreg_mr work request support.\n- add local_inv work request support.\n- add send_with_inv and send_with_se_inv work request support.\n- removed useless duplicate enums/defines for TPT/MW/MR stuff.\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": "f89271da32bc1a636cf4eb078e615930886cd013",
      "tree": "7155618205af963d991f72766d1155702439f124",
      "parents": [
        "f3781d2e89f12dd5afa046dc56032af6e39bd116"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@dev.mellanox.co.il",
        "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": "IPoIB: Copy small received SKBs in connected mode\n\nThe connected mode implementation in the IPoIB driver has a large\noverhead in the way SKBs are handled in the receive flow.  It usually\nallocates an SKB with as big as was used in the currently received SKB\nand moves unused fragments from the old SKB to the new one. This\ninvolves a loop on all the remaining fragments and incurs overhead on\nthe CPU.  This patch, for small SKBs, allocates an SKB just large\nenough to contain the received data and copies to it the data from the\nreceived SKB.  The newly allocated SKB is passed to the stack and the\nold SKB is reposted.\n\nWhen running netperf, UDP small messages, without this pach I get:\n\n    UDP UNIDIRECTIONAL SEND TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to\n    14.4.3.178 (14.4.3.178) port 0 AF_INET\n    Socket  Message  Elapsed      Messages\n    Size    Size     Time         Okay Errors   Throughput\n    bytes   bytes    secs            #      #   10^6bits/sec\n\n    114688     128   10.00     5142034      0     526.31\n    114688           10.00     1130489            115.71\n\nWith this patch I get both send and receive at ~315 mbps.\n\nThe reason that send performance actually slows down is as follows:\nWhen using this patch, the overhead of the CPU for handling RX packets\nis dramatically reduced.  As a result, we do not experience RNR NAK\nmessages from the receiver which cause the connection to be closed and\nreopened again; when the patch is not used, the receiver cannot handle\nthe packets fast enough so there is less time to post new buffers and\nhence the mentioned RNR NACKs.  So what happens is that the\napplication *thinks* it posted a certain number of packets for\ntransmission but these packets are flushed and do not really get\ntransmitted.  Since the connection gets opened and closed many times,\neach time netperf gets the CPU time that otherwise would have been\ngiven to IPoIB to actually transmit the packets.  This can be verified\nwhen looking at the port counters -- the output of ifconfig and the\noputput of netperf (this is for the case without the patch):\n\n    tx packets\n    \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n    port counter:   1,543,996\n    ifconfig:       1,581,426\n    netperf:        5,142,034\n\n    rx packets\n    \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n    netperf         1,1304,089\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\n"
    },
    {
      "commit": "f3781d2e89f12dd5afa046dc56032af6e39bd116",
      "tree": "30d170dc1534daf283cfb9c7278c2c3926b31a0f",
      "parents": [
        "4deccd6d95f1f1536dad3c842e39c1ace577329d"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.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: Remove subversion $Id tags\n\nThey don\u0027t get updated by git and so they\u0027re worse than useless.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "fd91b1bf1bb6fb443cb8c7600c7314f093b31f40",
      "tree": "80f9efa76189711965243f13fee1fb01d5ec3930",
      "parents": [
        "9670e553915e67fb68f13258644342c68dc26b84"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "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": "IB/ipath: Simplify code using ARRAY_SIZE() macro\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    }
  ],
  "next": "9670e553915e67fb68f13258644342c68dc26b84"
}
