)]}'
{
  "log": [
    {
      "commit": "56fb61aae5ea53150224ea464aababd2f579e39e",
      "tree": "85ae065001ef9185129b88e35edad847cd0f39b9",
      "parents": [
        "d2c392bb754a626c04e268739e7a076367bfbdc3"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 06 10:11:42 2014 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 06 10:34:32 2014 -0700"
      },
      "message": "Roll libmlx4 1.0.6 release\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "d2c392bb754a626c04e268739e7a076367bfbdc3",
      "tree": "1dd4653fee6ca4237de6950d5e3d53854a509b01",
      "parents": [
        "73c0a80ebaeaddde47de29b1aa62f7cbf94501dc"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 06 10:33:24 2014 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 06 10:34:32 2014 -0700"
      },
      "message": "Enable subdir-objects for automake\n\nFollow the advice automake gives us:\n\n    automake: warning: possible forward-incompatibility.\n    automake: At least a source file is in a subdirectory, but the \u0027subdir-objects\u0027\n    automake: automake option hasn\u0027t been enabled.  For now, the corresponding output\n    automake: object file(s) will be placed in the top-level directory.  However,\n    automake: this behaviour will change in future Automake versions: they will\n    automake: unconditionally cause object files to be placed in the same subdirectory\n    automake: of the corresponding sources.\n    automake: You are advised to start using \u0027subdir-objects\u0027 option throughout your\n    automake: project, to avoid future incompatibilities.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "73c0a80ebaeaddde47de29b1aa62f7cbf94501dc",
      "tree": "9f1738d73efc53a09b58ea0aa2108d8d83425165",
      "parents": [
        "1b6875d4c2cba3b751ad0b4286cf52b6a22bff97"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Sat May 03 16:04:09 2014 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon May 05 11:14:05 2014 -0700"
      },
      "message": "Use dh-autoreconf to fix build on ppc64el\n\nPatch from Logan Rosen \u003clogan@ubuntu.com\u003e / https://bugs.debian.org/cgi-bin/bugreport.cgi?bug\u003d733843\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "1b6875d4c2cba3b751ad0b4286cf52b6a22bff97",
      "tree": "a92dd3fb500b71cfa49bc115565134059807d3ad",
      "parents": [
        "dc6ef6957ed2a50b603ffe9354d030e5a871946f"
      ],
      "author": {
        "name": "Matan Barak",
        "email": "matanb@mellanox.com",
        "time": "Wed Jan 29 17:13:44 2014 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon May 05 11:14:05 2014 -0700"
      },
      "message": "Add receive flow steering support\n\nThe implementation uses the default commands from libibverbs.\n\nSigned-off-by: Matan Barak \u003cmatanb@mellanox.com\u003e\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "dc6ef6957ed2a50b603ffe9354d030e5a871946f",
      "tree": "3067e2d7239f1e6c680787d1f33924268bdffd1e",
      "parents": [
        "d00cfeb15ef4516539725b2f6c7d992e7201e13d"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Thu Aug 01 18:05:55 2013 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jan 29 13:46:12 2014 -0800"
      },
      "message": "Add support for XRC QPs\n\nImplement the XRC APIs for libmlx4.  Hook the XRC functions as part of\nmlx4_init_context(), then make relevant changes on both control and\ndata path to work properly with XRC.\n\nMain changes include using verbs_qp, verbs_srq, which are extendable\nbased as part of calling libibverbs command API (i.e. cmd.c), managing\nan XRC SRQ table for mapping between mlx4_srq and srqn, differentiating\nbetween IBV_QPT_XRC_SEND and IBV_QPT_XRC_RECV.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Yishai Hadas \u003cyishaih@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "d00cfeb15ef4516539725b2f6c7d992e7201e13d",
      "tree": "78816d201a178308a9539386dcfc2ff0242c4170",
      "parents": [
        "bcc5d064268073cb996bdbac1ae36728db3b2c96"
      ],
      "author": {
        "name": "Yishai Hadas",
        "email": "yishaih@mellanox.com",
        "time": "Thu Aug 01 18:05:54 2013 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jan 29 13:46:12 2014 -0800"
      },
      "message": "Update to use libiverbs extension support / verbs_register_driver()\n\nHave libmlx4 register with libibverbs with verbs_register_driver() to\nindicate that libmlx4 supports verbs extensions, supplying its\nverbs_init_func() for further initialization.  This will be used to\nadd XRC support.\n\nAcked-by: Jason Gunthorpe \u003cjgunthorpe@obsidianresearch.com\u003e\nSigned-off-by: Yishai Hadas \u003cyishaih@mellanox.com\u003e\nSigned-off-by: Tzahi Oved \u003ctzahio@mellanox.com\u003e\n\n[ Update configure script and deb/rpm packaging to check for new enough\n  libibverbs.  - Roland ]\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "bcc5d064268073cb996bdbac1ae36728db3b2c96",
      "tree": "4ee28e16dd3c75585fd0ff978cb012d1a4f951fa",
      "parents": [
        "65585f680dc08d45d05f82320aab52c3d3221e82"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jan 01 00:23:43 2014 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jan 29 13:46:10 2014 -0800"
      },
      "message": "Remove compatibility with libibverbs \u003c 1.1.7\n\nSince the changes to add verbs extensions / XRC support will break\ncompatibility with libibverbs \u003c 1.1.8, take this chance to strip out all\nthe backwards compatibility code that won\u0027t make any sense once we do that.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "65585f680dc08d45d05f82320aab52c3d3221e82",
      "tree": "0e31503bfac56e067a355ee9b7fc01e3cfb0d928",
      "parents": [
        "bac599fc367bfb1313cc3e203112832eada818f3"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Nov 15 10:24:08 2013 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Nov 15 10:24:08 2013 -0800"
      },
      "message": "resize_cq: Fix possible endless loop scanning CQ\n\nWhen calling get_sw_cqe() we need pass the consumer_index and not the\nmasked value. Failure to do so will cause incorrect result of\nget_sw_cqe() possibly leading to endless loop.\n\nBased on a patch by Eli Cohen \u003celi@dev.mellanox.co.il\u003e fixing the same\nbug in the kernel.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "bac599fc367bfb1313cc3e203112832eada818f3",
      "tree": "b36c202dbce41259fbfb73ce0e433b595a0c5a7a",
      "parents": [
        "36bb40e8980ba904a1c7acef4336d8002b6b99ab"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu May 30 10:41:42 2013 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu May 30 10:41:42 2013 -0700"
      },
      "message": "Roll libmlx4 1.0.5 release\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "36bb40e8980ba904a1c7acef4336d8002b6b99ab",
      "tree": "7f396d2b15eb3bd72f62e0bf7545848ef1c1255f",
      "parents": [
        "3b256d004faf2dcf82921498fb329833c5b3f516"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 28 09:23:05 2013 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 28 09:23:05 2013 -0700"
      },
      "message": "configure: Minor updates suggested by autoupdate\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "3b256d004faf2dcf82921498fb329833c5b3f516",
      "tree": "d51c239f658a4c2762e17361b4fa5bd65d1a81c3",
      "parents": [
        "22196711aadf64544df5b5147205984916e6fe1a"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 21 10:37:12 2013 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 21 10:37:12 2013 -0700"
      },
      "message": "Use autoreconf in autogen.sh\n\nThe old sequence of Autotools commands listed in autogen.sh is no longer\ncorrect.  Instead, just use the single \"autoreconf\" command, which will\ninvoke all the Right Autotools commands in the correct order.\n\nIdentical to a libibverbs patch from Jeff Squyres \u003cjsquyres@cisco.com\u003e.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "22196711aadf64544df5b5147205984916e6fe1a",
      "tree": "2df1d9cc5009efbba6f52b3f1f8c43994c89c012",
      "parents": [
        "d37c5ba83e77e6d0699fdbd11cb283d2dbd4e88b"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 21 10:36:07 2013 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 21 10:36:07 2013 -0700"
      },
      "message": "Rename configure.in -\u003e configure.ac\n\nRename configure.in -\u003e configure.ac to accomodate newer GNU Autotools.\n(http://lists.gnu.org/archive/html/autotools-announce/2012-11/msg00000.html\nannounced the intent to drop support for \"configure.in\" in future\nversions of Autoconf).\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "d37c5ba83e77e6d0699fdbd11cb283d2dbd4e88b",
      "tree": "e77a59d61d9a07d306ea09b79f77b9ee4241aa72",
      "parents": [
        "5fb42246f2b68f981b3facf97279dd93cdefc2f8"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Sun Sep 23 06:58:27 2012 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Apr 03 11:40:53 2013 -0700"
      },
      "message": "Add raw packet QP support\n\nImplement raw packet QPs for Ethernet ports.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\n\n[ Fix to build against old libibverbs without IBV_QPT_RAW_PACKET.  - Roland ]\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "5fb42246f2b68f981b3facf97279dd93cdefc2f8",
      "tree": "f28e262de68c5a921adc3e13d9925468eafff33c",
      "parents": [
        "f1457e788c23f31e5aa78cbc002fd31baf61f6b4"
      ],
      "author": {
        "name": "Dotan Barak",
        "email": "dotanb@dev.mellanox.co.il",
        "time": "Thu Sep 20 20:31:07 2012 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Apr 03 11:21:48 2013 -0700"
      },
      "message": "Have ibv_modify_qp() return right value when ibv_query_port() fails\n\nWhen the ibv_query_port() call made by mlx4_modify_qp() fails, the\nreturn value from the latter should indicate the error status of the\nformer and not simply -1.\n\nSigned-off-by: Dotan Barak \u003cdotanb@dev.mellanox.co.il\u003e\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "f1457e788c23f31e5aa78cbc002fd31baf61f6b4",
      "tree": "1f28536097b040c160f8beac76faadaefcd55ceb",
      "parents": [
        "ef656a513d0667d5c0ecd86a555353442ba5751e"
      ],
      "author": {
        "name": "Dotan Barak",
        "email": "dotanb@dev.mellanox.co.il",
        "time": "Thu Sep 20 20:31:06 2012 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Apr 03 11:21:48 2013 -0700"
      },
      "message": "Change enumeration names for masked atomic opcodes\n\nChange the enumeration names of the masked atomic opcodes to be\nconsistent with the ones used by the mlx4 kernel driver.\n\nSigned-off-by: Dotan Barak \u003cdotanb@dev.mellanox.co.il\u003e\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "ef656a513d0667d5c0ecd86a555353442ba5751e",
      "tree": "ae85566c598f71c16e48c852c7d806799b492800",
      "parents": [
        "7b47c7aaa1721f864bf57cd030fae6cb418da97a"
      ],
      "author": {
        "name": "Dotan Barak",
        "email": "dotanb@dev.mellanox.co.il",
        "time": "Thu Sep 20 20:31:05 2012 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Apr 03 11:21:48 2013 -0700"
      },
      "message": "Use BlueFlame for RDMA Write [with immediate] without data\n\nUse Blue-Flame for RDMA Write and RDMA Write with immediate without\nany data (no s/g).  This improves latency for those messages.\n\nSigned-off-by: Dotan Barak \u003cdotanb@dev.mellanox.co.il\u003e\nReviewed-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "7b47c7aaa1721f864bf57cd030fae6cb418da97a",
      "tree": "b87b91e5e323fdad5766d9821c95528324abc578",
      "parents": [
        "2ca39871bed5ef380a3133ca89bf81fb2f2e2181"
      ],
      "author": {
        "name": "Dotan Barak",
        "email": "dotanb@dev.mellanox.co.il",
        "time": "Thu Sep 20 20:31:04 2012 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Apr 03 11:21:48 2013 -0700"
      },
      "message": "Allow using the whole Blue Flame buffer\n\nIncrease the maximum size of messages (from 192 to 208) that will use\nthe Blue Flame buffer -- the old code will not use the buffer if the\nsize to be copied fits in the buffer exactly.\n\nSigned-off-by: Dotan Barak \u003cdotanb@dev.mellanox.co.il\u003e\nReviewed-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "2ca39871bed5ef380a3133ca89bf81fb2f2e2181",
      "tree": "0ee26d462e315b8ff383337a27d0acc5c85d509a",
      "parents": [
        "9a901768806221f259fc448a0f0a9da96e7886d0"
      ],
      "author": {
        "name": "Dotan Barak",
        "email": "dotanb@dev.mellanox.co.il",
        "time": "Thu Sep 20 20:31:03 2012 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Apr 03 11:21:44 2013 -0700"
      },
      "message": "Replace sscanf() with strtol()\n\nWhen converting a string to a numeric value, strtol() is safer to use.\n\nSigned-off-by: Dotan Barak \u003cdotanb@dev.mellanox.co.il\u003e\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "9a901768806221f259fc448a0f0a9da96e7886d0",
      "tree": "ef41f8aa5a2b4d62c292750250d447b1730da4c4",
      "parents": [
        "b039d0592259a79675618a36b2eb33b7e9e75221"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Wed Oct 17 16:43:01 2012 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Mar 22 18:11:41 2013 -0700"
      },
      "message": "Add support for 64B CQEs\n\nConnectX-3 devices can work with 64- or 32-byte CQEs. Using 64-byte\nCQEs allows better utilization of new chipsets for higher performance.\nThis patch reads the configured size of a CQE from the kernel and uses\nthis size in CQ-related code.\n\nThe code is changed to store the per-device ABI version read from the\ndevice uverbs sysfs entry, and uses this to determine the CQE size\nif/as advertised by the kernel mlx4_ib driver.  Older kernel mlx4_ib\nABI versions are still supported.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "b039d0592259a79675618a36b2eb33b7e9e75221",
      "tree": "9ecff99351574c6e0c9fdd2915230fb412a80b79",
      "parents": [
        "7a2218523717315436acaaf0c7f240fd3fbab3ae"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Mar 28 10:56:58 2012 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Mar 28 10:56:58 2012 -0700"
      },
      "message": "Roll libmlx4 1.0.4 release\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "7a2218523717315436acaaf0c7f240fd3fbab3ae",
      "tree": "18615a7ccaa025ce845cce050dd6821548e3f75e",
      "parents": [
        "d9c111c54463da3e711ca9dd19c0080cbcd66789"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Mar 28 10:30:05 2012 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Mar 28 10:30:05 2012 -0700"
      },
      "message": "Update maintainer now that I\u0027m a DD\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "d9c111c54463da3e711ca9dd19c0080cbcd66789",
      "tree": "c30040e27365bc000181e2f86c8a584449580ed3",
      "parents": [
        "0c429092fe0bdc14d8ca051a3f6b0895b11a1db0"
      ],
      "author": {
        "name": "Shawn Bohrer",
        "email": "sbohrer@rgmadvisors.com",
        "time": "Fri Feb 24 10:32:30 2012 -0600"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Mar 26 15:09:35 2012 -0700"
      },
      "message": "Add IBoE multicast support\n\nAdd multicast support for IBoE to the address handle creation flow.\nDerived from work by Eli Cohen \u003celi@mellanox.co.il\u003e\n\nSigned-off-by: Shawn Bohrer \u003csbohrer@rgmadvisors.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "0c429092fe0bdc14d8ca051a3f6b0895b11a1db0",
      "tree": "1d8a854d80e975e788d7cb2ac0c7d4b9a1aaf2af",
      "parents": [
        "92884a0a1b5ce6991fa4322187d8df05ed4f0704"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Mar 26 09:40:39 2012 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Mar 26 09:40:39 2012 -0700"
      },
      "message": "Roll libmlx4 1.0.3 release\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "92884a0a1b5ce6991fa4322187d8df05ed4f0704",
      "tree": "a57b4e03f2e80e037db3619c00e1053135774e19",
      "parents": [
        "39d3d19b4f0f01f3fe173c0f777e7a078f5c3dc6"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Sun Dec 11 16:45:40 2011 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Mar 23 14:44:34 2012 -0700"
      },
      "message": "Fix IBoE SL -\u003e 802.1Q priority-bits mapping\n\nFor IBoE, SLs 0-7 are mapped to Ethernet 802.1Q user priority bits\n(pbits) which are part of the VLAN tag.  SLs 8-15 are reserved.\n\nUnder Ethernet, the ConnectX firmware decodes/encodes the four-bit SL\nfield in various constructs such as QPC / UD WQE / CQE as PPP0 and not\nas 0PPP.  This matches the fact that within the VLAN tag the pbits are\nlocated in bits 15-13 and not 12-14.\n\nThe current code was buggy around this:\n\n - The encoding into the address handle was wrong which resulted in\n   wrong priority-bits for datagram WQEs.\n - Decoding from the CQE was wrong, which resulted in wrong input into\n   an AH built up from a completion, eg consumers of ibv_init_ah_from_wc().\n\nThis is fixed by using PPP0 where appropriate.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "39d3d19b4f0f01f3fe173c0f777e7a078f5c3dc6",
      "tree": "8fd4b5ea619a11148737d5db42876726856a1f3d",
      "parents": [
        "8145c59c81b8d829e26f98dcc007431a7590ba71"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Sun Dec 11 16:44:13 2011 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Mar 23 14:44:09 2012 -0700"
      },
      "message": "Add link_layer field to mlx4 QPs\n\nThe link layer field is to be used in few flows, including some\nfast-path operations such as CQ polling.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "8145c59c81b8d829e26f98dcc007431a7590ba71",
      "tree": "de20809032da94c456bac3a4137aa9e31f665ee4",
      "parents": [
        "ed13892a51d2ba852bf4fe7ac8b149c34134334e"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Sun Dec 11 16:42:22 2011 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Mar 23 14:40:11 2012 -0700"
      },
      "message": "Use Ethernet 802.1Q VLAN-related fields in CQE\n\nWhen running IBoE traffic, the hardware places Ethernet fields into\nthe CQE.  This patch adds the ones related to VLANs.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "ed13892a51d2ba852bf4fe7ac8b149c34134334e",
      "tree": "2d86cecce445f965055467c29f8d049df941a977",
      "parents": [
        "60dade7a5e97da3b2eedf5839169c044f67577b3"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Mar 06 17:30:40 2012 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Mar 06 17:30:40 2012 -0800"
      },
      "message": "Fix possible missed completion event\n\nIf an erroneous CQE is polled in the first iteration (i.e. npolled \u003d\u003d\n0), we don\u0027t update the consumer index and hence the hardware could\nget a wrong notion of how many CQEs software polled.  Fix this by\nupdating the doorbell record on error too.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "60dade7a5e97da3b2eedf5839169c044f67577b3",
      "tree": "1a51ac4cd7e6c132c9c8c93ea20f716ba595941a",
      "parents": [
        "1488631df283f03aefb1a7f67367c6e4e371a9a3"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Aug 11 09:35:20 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Aug 11 09:35:20 2011 -0700"
      },
      "message": "Add \"foreign\" option to AM_INIT_AUTOMAKE\n\nSwitch to the modern form of the AM_INIT_AUTOMAKE macro and tell\nautomake that the libmlx4 package does not follow the GNU standards.\nThis change makes it possible to use \u0027autoreconf\u0027 for libmlx4.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "1488631df283f03aefb1a7f67367c6e4e371a9a3",
      "tree": "3e9c888c1bfc76226c40eb8d82f2b3c21d0eaea6",
      "parents": [
        "3e73678e88d2ea414a9f4ae187f6412593bd0a1f"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Tue Jul 19 09:36:13 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Jul 26 13:15:57 2011 -0700"
      },
      "message": "Align the list of supported ConnectX devices with kernel\n\nAlign the list of ConnectX devices supported by the library to be the\nsame as the mlx4 driver from the upstream kernel.\n\nThese two simple awk/cut commands can be used to actually validate the\nclaim made by the changelog:\n\n    grep MELLANOX libmlx4.git/src/mlx4.c | grep HCA | awk \u0027{ print $2 }\u0027 | cut -d \")\" -f 1 \u003e lib\n    grep MELLANOX linux-2.6.git/drivers/net/mlx4/main.c | awk \u0027{ print $3 }\u0027 | cut -d \")\" -f 1 \u003e ker\n    diff lib ker\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\n"
    },
    {
      "commit": "3e73678e88d2ea414a9f4ae187f6412593bd0a1f",
      "tree": "5537863111f09811354795646d9706fd6ba0b85a",
      "parents": [
        "902aa188c156e8e2832f5afdf76eb2655fa80582"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Tue Jul 19 09:34:15 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Jul 26 13:15:57 2011 -0700"
      },
      "message": "Add IBoE UD/VLANs support\n\nAdd VLAN support for the UD address handle creation flow, where the\nVLAN id is taken from the destination GID and the VLAN priority from\nthe IB SL specified by the application.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\n"
    },
    {
      "commit": "902aa188c156e8e2832f5afdf76eb2655fa80582",
      "tree": "3d127bfa25f109f21cef669713d3f9e50abf2f47",
      "parents": [
        "cf4d953999915657cec81472f51e91205d3664dc"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Tue Jul 19 09:32:52 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Jul 26 13:15:57 2011 -0700"
      },
      "message": "Add IBoE support\n\nModify libmlx4 to support IBoE.  The only user space piece to handle\nis the creation of UD address handles - the L2 Ethernet attributes\nhave to be resolved from the DGID.  Derived from work by Eli Cohen\n\u003celi@mellanox.co.il\u003e\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\n"
    },
    {
      "commit": "cf4d953999915657cec81472f51e91205d3664dc",
      "tree": "ed76bf15282396db3326d69f99924966b5db873d",
      "parents": [
        "0e7d5e9b8ab9d46f208bf804434957d25d75d25f"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jul 06 23:55:04 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jul 06 23:55:04 2011 -0700"
      },
      "message": "Moving plugin out of /usr/lib means we now depend on libibverbs 1.1.3\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "0e7d5e9b8ab9d46f208bf804434957d25d75d25f",
      "tree": "eccfc71d9e81f7b4bef8f52fbc0c259d6b6b6001",
      "parents": [
        "f4ed3be3a91c66ae52cf897f25515dafb17a535f"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jul 06 13:45:45 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jul 06 13:45:45 2011 -0700"
      },
      "message": "Acknowledge Debian NMU\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "f4ed3be3a91c66ae52cf897f25515dafb17a535f",
      "tree": "936df1314b49b586ad733a2b1404790e9a447e86",
      "parents": [
        "ef8df71a9a7fcd419216725c6df985502250c366"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jul 06 13:33:08 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jul 06 13:33:08 2011 -0700"
      },
      "message": "Update to Debian standards version 3.9.2\n\nAlso collapse Debian changelog, since 1.0.1 was never uploaded to Debian.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "ef8df71a9a7fcd419216725c6df985502250c366",
      "tree": "abd7690cb736e6cb1aee5feace19f15af12233eb",
      "parents": [
        "1a132f8341df2fe5c481308bc8353f9288933531"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jul 06 09:16:33 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jul 06 09:20:20 2011 -0700"
      },
      "message": "Roll libmlx4 1.0.2 release\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "1a132f8341df2fe5c481308bc8353f9288933531",
      "tree": "0b5280343cf6e21b712d1962d20c1b9c6deb3962",
      "parents": [
        "64670397753cc6ea9d169ae6cc02e973f105b5d3"
      ],
      "author": {
        "name": "Jason Gunthorpe",
        "email": "jgunthorpe@obsidianresearch.com",
        "time": "Wed Mar 09 01:28:10 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jul 06 09:13:18 2011 -0700"
      },
      "message": "Return ERRNO codes from ibv_post_send/recv instead of -1\n\nThe man pages for these functions document a positive return of errno, not -1.\n\nSigned-off-by: Jason Gunthorpe \u003cjgunthorpe@obsidianresearch\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "64670397753cc6ea9d169ae6cc02e973f105b5d3",
      "tree": "bb736116b7afffbe834e0a2805649ac19de2c391",
      "parents": [
        "5813185c8badcba493d308a2f5192fb2f2f5d457"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jul 06 01:29:09 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jul 06 01:29:09 2011 -0700"
      },
      "message": "Move plugin .so to /usr/lib/libibverbs\n\nThis fixes multiple lintian warnings such as package-name-doesnt-match-sonames,\npkg-has-shlibs-control-file-but-no-actual-shared-libs etc.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "5813185c8badcba493d308a2f5192fb2f2f5d457",
      "tree": "97f69a1c827a693a413588e16743697d27ff3f4d",
      "parents": [
        "2373091cd7a41598450930259d99727ddddb43e7"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jul 06 01:26:04 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jul 06 01:26:04 2011 -0700"
      },
      "message": "Enable quiet build rules with automake 1.11+\n\nConditionally use the new AM_SILENT_RULES macro in configure.in.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "2373091cd7a41598450930259d99727ddddb43e7",
      "tree": "8b1dc89fa36d6aff82d55bc7bcf2f23a9c461e6b",
      "parents": [
        "85347b20de767bfa52780722d18a28020680a7c1"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jul 06 01:25:22 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jul 06 01:25:22 2011 -0700"
      },
      "message": "Revert \"Update build system to use shave\"\n\nThis reverts commit aff8bf0a2eb7f6ab3e74d44d0925ca4c7ae887aa.  Rather\nthan using shave, we\u0027ll use automake 1.11\u0027s native quiet build.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "85347b20de767bfa52780722d18a28020680a7c1",
      "tree": "0891935ab12f6ad227a608d3ced129f234068a0b",
      "parents": [
        "0307b9563ef3f37253273a88d75d819ec514d2cb"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jul 06 01:24:46 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jul 06 01:24:46 2011 -0700"
      },
      "message": "Small configure.in modernizations\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "0307b9563ef3f37253273a88d75d819ec514d2cb",
      "tree": "67324637c105aedcd1ba2efc3445211677d9c890",
      "parents": [
        "338248115922fded58723073a516dea39d119cdb"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jul 06 01:23:36 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jul 06 01:23:36 2011 -0700"
      },
      "message": "Change Debian build system from cdbs to debhelper 7\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "338248115922fded58723073a516dea39d119cdb",
      "tree": "96aa20e5e6e7c653c328b782196a101044dcfb9b",
      "parents": [
        "387ddff406d938d871132287a9b969cc26e71967"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jul 06 01:18:10 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jul 06 01:18:10 2011 -0700"
      },
      "message": "Don\u0027t ship .la files in Debian libmlx4-dev\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "387ddff406d938d871132287a9b969cc26e71967",
      "tree": "075dcd8fd4ed84aace95443b2b02513b7a8d607d",
      "parents": [
        "3d551604f25fe874bb2e5d3722dcf94e083ff292"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jul 06 01:16:51 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jul 06 01:16:51 2011 -0700"
      },
      "message": "Note that we fix Debian bug about maintainer address in Debian changelog\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "3d551604f25fe874bb2e5d3722dcf94e083ff292",
      "tree": "5804c3ad5d087bdfe0d4647c0eb2d9984156e8a7",
      "parents": [
        "5301b171eabadbbe8f45a2625055bf91264b2755"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Jul 05 15:20:23 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Jul 05 15:20:23 2011 -0700"
      },
      "message": "Convert to new 3.0 (quilt) source format.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "5301b171eabadbbe8f45a2625055bf91264b2755",
      "tree": "780c4c0b37f00a660441c3f59b02b1f60257266b",
      "parents": [
        "7ebd8efde1af76f5b3178cb9f6ff8807a8d0ca8f"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Jun 27 23:51:12 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Jun 27 23:51:12 2011 -0700"
      },
      "message": "Set DM-Upload-Allowed now that Roland is a Debian Maintainer\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "7ebd8efde1af76f5b3178cb9f6ff8807a8d0ca8f",
      "tree": "0dbb8c30311ee13838d755290cb68fd534e747ab",
      "parents": [
        "c142d49388aeb6ef28c41f31857aeaea87e81caa"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Apr 26 14:03:00 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Apr 26 14:03:00 2011 -0700"
      },
      "message": "Package description shouldn\u0027t start with an article\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "c142d49388aeb6ef28c41f31857aeaea87e81caa",
      "tree": "7c80a76ec9c8476f17f4d2da803305f38a129718",
      "parents": [
        "444f634f38155fa84224eaa260753811455fee71"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Thu Dec 17 17:15:40 2009 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Feb 08 09:08:06 2010 -0800"
      },
      "message": "Initialize SRQ scatter entries when creating an SRQ\n\nConnectX requires SRQ WQE scatter entries to be initialized with the\ninvalid L_Key at SRQ creation time.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "444f634f38155fa84224eaa260753811455fee71",
      "tree": "a708f40eb324351b1e643c506cbca5a68f52abb4",
      "parents": [
        "ec9d1ca2fa87984d0656e811b03fa60d44459930"
      ],
      "author": {
        "name": "Jason Gunthorpe",
        "email": "jgunthorpe@obsidianresearch.com",
        "time": "Thu Jul 23 10:03:12 2009 -0600"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Sep 14 11:21:47 2009 -0700"
      },
      "message": "Update function prototypes to match libibverbs enum type change\n\nChange enum bit flags to int to match libibverbs prototype changes.\n\nSigned-off-by: Jason Gunthorpe \u003cjgunthorpe@obsidianresearch.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "ec9d1ca2fa87984d0656e811b03fa60d44459930",
      "tree": "74559369aa719faf803791cd65e1313c145ca8b1",
      "parents": [
        "cf744a2ef8343e5f74f9c59de3990e3e46ec301c"
      ],
      "author": {
        "name": "Sebastien Dugue",
        "email": "sebastien.dugue@bull.net",
        "time": "Mon Aug 03 13:47:43 2009 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Aug 03 13:47:43 2009 -0700"
      },
      "message": "Fix version in taball filename in RPM spec file\n\nForgot to bump the tarball filename when releasing libmlx4-1.0.1.\n\nSigned-off-by: Sebastien Dugue \u003csebastien.dugue@bull.net\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "cf744a2ef8343e5f74f9c59de3990e3e46ec301c",
      "tree": "f876ff35a4925ba2a5b06fc86761e5fdd90e7d44",
      "parents": [
        "87750d1db4bc73933e92d862ff73d10d06ff4f5d"
      ],
      "author": {
        "name": "Sebastien Dugue",
        "email": "sebastien.dugue@bull.net",
        "time": "Mon Aug 03 15:40:01 2009 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Aug 03 13:45:33 2009 -0700"
      },
      "message": "mmap() needs some includes\n\nAdd errno.h and sys/mman.h includes in buf.c for mmap().  The includes\nwere left out of 87750d1d (\"Use mmap(MAP_ANONYMOUS) to allocate queue\nbuffers\") by mistake.\n\nSigned-off-by: Sebastien Dugue \u003csebastien.dugue@bull.net\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "87750d1db4bc73933e92d862ff73d10d06ff4f5d",
      "tree": "5c9d0785df94a0f53f8430f0eb08343e33172836",
      "parents": [
        "09f8dcd3769a52eebceeae15e2c5a844e6ee4586"
      ],
      "author": {
        "name": "Sebastien Dugue",
        "email": "sebastien.dugue@bull.net",
        "time": "Wed Jul 29 11:45:55 2009 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Jul 29 11:54:28 2009 -0700"
      },
      "message": "Use mmap(MAP_ANONYMOUS) to allocate queue buffers\n\nInternal buffers for QPs, CQs, SRQs etc. are allocated with\nmlx4_alloc_buf(), which rounds the buffer\u0027s size to the page size and\nthen allocates page aligned memory using posix_memalign().\n\nHowever, this allocation is quite wasteful on architectures using 64K\npages (ia64 for example) because we then hit glibc\u0027s MMAP_THRESHOLD\nmalloc parameter and chunks are allocated using mmap.  Thus we end up\nallocating:\n\n  (requested size rounded to the page size) + (page size) + (malloc overhead)\n\nrounded internally to the page size.\n\nSo for example, if we request a buffer of page_size bytes, we end up\nconsuming 3 pages.  In short, for each buffer we allocate, there is an\noverhead of 2 pages.  This is quite visible on large clusters where\nthe number of QPs can reach several thousands.\n\nThis patch replaces the call to posix_memalign() in mlx4_alloc_buf()\nwith a direct call to mmap().\n\nSigned-off-by: Sebastien Dugue \u003csebastien.dugue@bull.net\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "09f8dcd3769a52eebceeae15e2c5a844e6ee4586",
      "tree": "9f600c33f918c61908cc847b75cbe3e9e6b08fbf",
      "parents": [
        "46f88005c45dd98837262c200343f9bdef913e60"
      ],
      "author": {
        "name": "Jason Gunthorpe",
        "email": "jgunthorpe@obsidianresearch.com",
        "time": "Mon Jul 20 16:37:24 2009 -0600"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Jul 22 11:24:59 2009 -0700"
      },
      "message": "Remove empty stubs for detach/attach_mcast\n\nJust use ibv_cmd_* directly.  Simplifies the code and fixes const\ncorrectness warnings due to changes in libibverbs.\n\nSigned-off-by: Jason Gunthorpe \u003cjgunthorpe@obsidianresearch.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "46f88005c45dd98837262c200343f9bdef913e60",
      "tree": "0eef41a4ab9d083c6bc08fd381a399f3fce52595",
      "parents": [
        "880fd2e3e852a2efce99f074947d9e3ba7ce19fc"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Jun 17 11:00:51 2009 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Jun 17 11:00:51 2009 -0700"
      },
      "message": "Roll libmlx4-1.0.1 release\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "880fd2e3e852a2efce99f074947d9e3ba7ce19fc",
      "tree": "c0410d83fc24bf3bf584230261195457ebae03a4",
      "parents": [
        "ef7ac070a7bc3be6c300c9e98363d6cd5af21404"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Jun 17 10:53:29 2009 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Jun 17 10:53:29 2009 -0700"
      },
      "message": "Merge spec file changelog from Fedora\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "ef7ac070a7bc3be6c300c9e98363d6cd5af21404",
      "tree": "1ec3e1c0d98cf817a454fedaad104726d427b6ff",
      "parents": [
        "aff8bf0a2eb7f6ab3e74d44d0925ca4c7ae887aa"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Jun 17 10:27:02 2009 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Jun 17 10:27:02 2009 -0700"
      },
      "message": "Move -dbg Debian package to section debug\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "aff8bf0a2eb7f6ab3e74d44d0925ca4c7ae887aa",
      "tree": "d53476d051fa983d194f6056efc3f7838b6d3b2f",
      "parents": [
        "dccd88db11fa31a984e61db3a14e40815e8e3de2"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Jun 17 10:21:49 2009 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Jun 17 10:21:49 2009 -0700"
      },
      "message": "Update build system to use shave\n\nAdd shave (git://git.lespiau.name/shave) to make build output of libmlx4\nmuch more readable by abbreviating the outputed commands so that\nwarnings become visible, etc.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "dccd88db11fa31a984e61db3a14e40815e8e3de2",
      "tree": "82698bd9395c63c4d858a192801acc8a2fe7c973",
      "parents": [
        "7cad1a1d412ea0e7566f27ce83e224c29c7dbdbe"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Jun 17 10:04:49 2009 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Jun 17 10:04:49 2009 -0700"
      },
      "message": "Update Debian policy version to 3.8.2\n\nNone of the changes 3.7.3 -\u003e 3.8.2 affect us.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "7cad1a1d412ea0e7566f27ce83e224c29c7dbdbe",
      "tree": "7cf471e9550af60da9fc79bb32eb2d50748fbcd9",
      "parents": [
        "cbe93dcaf11f6c73d68a90067e83d145bb93f94b"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Sun Dec 14 18:14:20 2008 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Dec 24 20:34:02 2008 -0800"
      },
      "message": "Set ownership bit correctly when copying over CQEs during CQ resize\n\nWhen resizing a CQ, when copying over unpolled CQEs from the old CQE\nbuffer to the new buffer, the ownership bit must be set appropriately\nfor the new buffer, or the ownership bit in the new buffer gets\ncorrupted.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "cbe93dcaf11f6c73d68a90067e83d145bb93f94b",
      "tree": "e7258935a88600031d118fbbc8f23a6fdedc789e",
      "parents": [
        "80c5a3720ed111b202809671b3614f84cb1d3724"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Tue Nov 25 08:40:07 2008 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Nov 25 14:52:56 2008 -0800"
      },
      "message": "Fix race between create QP and destroy QP\n\nThere is a race in libmlx4 because mlx4_create_qp() and\nmlx4_destroy_qp() are not atomic WRT each other.  If one thread is\ndestroying a QP while another is creating a QP, the following can\nhappen: the destroying thread can be scheduled out after it has\ndeleted the QP from kernel space, but before it has cleared it from\nuserspace store (mlx4_clear_qp()).  If the other thread creates a QP\nduring this break, it gets the same QP base number and overwrites the\ndestroyed QP\u0027s entry with mlx4_store_qp().  When the destroying thread\nresumes, it clears the new entry from the userspace store via\nmlx4_clear_qp.\n\nFix this by expanding where qp_table_mutex is held to serialize the\nfull create and destroy operations against each other.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "80c5a3720ed111b202809671b3614f84cb1d3724",
      "tree": "dbfd17d9ef2b7e3f8b5a8b875f88676c6dd2c86c",
      "parents": [
        "cb026cc2b080322a51f23fe06a661c1f31afde0d"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@dev.mellanox.co.il",
        "time": "Mon Jun 16 11:09:18 2008 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jun 23 13:24:34 2008 -0700"
      },
      "message": "Optimize QP stamping\n\nOptimize samping by reading the value of the DS field just before we\nstamp, which would give the effective size of the descriptor as used\nin the previous post and. Then we stamp only that area, since the rest\nof the descriptor is already stamped.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "cb026cc2b080322a51f23fe06a661c1f31afde0d",
      "tree": "dcaff5a9902ce40a93b2fe120877806e19e62bc0",
      "parents": [
        "5936553a34198878d9c898b1563315c92a72d83b"
      ],
      "author": {
        "name": "Vladimir Sokolovsky",
        "email": "vlad@dev.mellanox.co.il",
        "time": "Mon Mar 31 11:51:18 2008 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Apr 23 11:30:47 2008 -0700"
      },
      "message": "Implement resize CQ\n\nSigned-off-by: Vladimir Sokolovsky \u003cvlad@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "5936553a34198878d9c898b1563315c92a72d83b",
      "tree": "bb32909411f239757be207681d320013d6d50a0e",
      "parents": [
        "563b4f6cb350cbce4cb83c8dffa5b617888d411d"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Apr 04 12:14:57 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Apr 04 12:18:48 2008 -0700"
      },
      "message": "Fix CQ cleanup when QP is destroyed\n\nThe current code is mlx4_destroy_qp() cleans completions from the QP\nbeing destroyed out of CQs before calling into the kernel to actually\ndestroy the QP.  This leaves a window where new completions could be\nadded and left in the CQ, which leads to problems when that completion\nis polled.  Fix this by cleaning the CQ and removing the QP from the\nQP table after the QP is really gone.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "563b4f6cb350cbce4cb83c8dffa5b617888d411d",
      "tree": "a473a1f406b3125e572736f0674b33f28c3c85a4",
      "parents": [
        "904b1a6c77896cc7a9fb47ebb9d884115852cc4d"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sun Mar 30 18:31:31 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sun Mar 30 18:31:31 2008 -0700"
      },
      "message": "Change openib.org URLs to openfabrics.org URLs\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "904b1a6c77896cc7a9fb47ebb9d884115852cc4d",
      "tree": "302526e409bec446ffe64f7bcf8c83631598b2a0",
      "parents": [
        "ba2581a1c006283bb1bddca37cbdd120522a3ccd"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Mar 12 10:35:53 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Mar 12 10:40:37 2008 -0700"
      },
      "message": "Add debian/watch file\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "ba2581a1c006283bb1bddca37cbdd120522a3ccd",
      "tree": "ddc1aa67f800dae49a22d4a66571fa30378a8503",
      "parents": [
        "505b8c2f20c83e0710a9855826c2c0afe85b8643"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jan 28 13:33:39 2008 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jan 28 13:33:39 2008 -0800"
      },
      "message": "Update RPM spec changelog to avoid a macro\n\nDon\u0027t risk confusion by using the \"%config\" macro in the spec file\nchangelog section.  This fixes an rpmlint warning.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "505b8c2f20c83e0710a9855826c2c0afe85b8643",
      "tree": "beec66384debf84bb532440ccd3b4d7bbd118b80",
      "parents": [
        "f2533e88c1c7daf4d5618612520eb58b0cff6373"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sun Jan 27 20:30:03 2008 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sun Jan 27 20:30:03 2008 -0800"
      },
      "message": "Spec file cleanups based on Fedora review\n\n - Don\u0027t mark libmlx4.driver as a %config, since it is not user modifiable.\n - Change the name of the -devel-static package to plain -devel, since\n   it would be empty without the static library.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "f2533e88c1c7daf4d5618612520eb58b0cff6373",
      "tree": "7ba37265c810183ba07a6108336298cb99f2ef84",
      "parents": [
        "16ec68c225c41ea0e090b6200385e11e783c2ef7"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@mellanox.co.il",
        "time": "Thu Jan 24 15:53:26 2008 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Jan 24 15:53:26 2008 -0800"
      },
      "message": "Don\u0027t use memcpy() to write blueflame sends\n\nSome memcpy() implementations may use move-string-buffer assembly\ninstructions, which do not guarantee copy order into the blueflame\nbuffer.  This causes problems when writing into a blueflame buffer, so\nuse our own copy function instead.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "16ec68c225c41ea0e090b6200385e11e783c2ef7",
      "tree": "cfd549b9a6f0784d7188426271de5e8e11a44a7a",
      "parents": [
        "6bd4582bee9b87743e44c53408ec4d172c568348"
      ],
      "author": {
        "name": "Dotan Barak",
        "email": "dotanb@dev.mellanox.co.il",
        "time": "Fri Jan 11 11:04:22 2008 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Jan 11 11:04:22 2008 -0800"
      },
      "message": "Fix value of pkey_index in QP1 completions\n\nFix the value of pkey_index in completions.  Since userspace can\u0027t\ncreate QP1, this doesn\u0027t matter, but we might as well have correct code.\n\nSigned-off-by: Dotan Barak \u003cdotanb@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "6bd4582bee9b87743e44c53408ec4d172c568348",
      "tree": "86ac0151c39d6fba42d9a8846da2090fd80c5b66",
      "parents": [
        "e6a3ccdffb36f94ee72b2bc97944a50777ff72e0"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Jan 10 09:52:14 2008 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Jan 10 09:52:14 2008 -0800"
      },
      "message": "Revert \"Don\u0027t add an extra entry to CQs\"\n\nThis reverts commit 216b90eac10cc8e11b9abaa710385986e26fbf85.\n\nThe extra CQ entry will be required to implement resize CQ.\n\nReported-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003ey\n"
    },
    {
      "commit": "e6a3ccdffb36f94ee72b2bc97944a50777ff72e0",
      "tree": "61b62f533714e4a25f657c00783ff7528fa973b6",
      "parents": [
        "b2b26f8a73108f971ade988fac3eb9d0446bbbb6"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Jan 03 19:59:05 2008 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Jan 03 19:59:05 2008 -0800"
      },
      "message": "Micro-optimize mlx4_poll_one()\n\nRather than byte-swapping cqe-\u003eg_mlpath_rqpn each time we extract a\nfield from it, byte-swap it once into a temporary variable.  This\nresults in smaller, better code.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "b2b26f8a73108f971ade988fac3eb9d0446bbbb6",
      "tree": "516770d6348ea669d32d6c344347adec78c32e9f",
      "parents": [
        "03554590f8b5fcf673d424dd48d66dd465c27bed"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Mon Dec 24 13:54:01 2007 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Jan 03 19:14:05 2008 -0800"
      },
      "message": "Fix test for GRH presence in mlx4_poll_one()\n\nThe CQE member g_mlpath_rqpn is 32 bits, so we need to use ntohl().\n\nFound by Reuven Amitai of Mellanox.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "03554590f8b5fcf673d424dd48d66dd465c27bed",
      "tree": "c8567cacc7aa8f8d191243401fc4dcb4fe139801",
      "parents": [
        "2928d7724eef10fd770237af4b266ec59e9772f2"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Mon Dec 17 10:19:21 2007 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Dec 18 11:11:55 2007 -0800"
      },
      "message": "Clear context struct at allocation time\n\nFuture versions of libibverbs will add additional ops to the end of\nstruct ibv_context.  This means that driver libraries should zero the\nentire struct ibv_context at allocation time, so that any new ops will\nbe NULL by default.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "2928d7724eef10fd770237af4b266ec59e9772f2",
      "tree": "613cca75baa0bd01861631600871bd5c9901cf1b",
      "parents": [
        "c081b40a2e62f60ca9cfe7c34ba98867cbcc65e1"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Dec 14 22:15:11 2007 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Dec 14 22:15:11 2007 -0800"
      },
      "message": "Use real Homepage: tag instead of pseudo-header inside description\n\nNew dpkg can actually parse Header: fields in debian/control.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "c081b40a2e62f60ca9cfe7c34ba98867cbcc65e1",
      "tree": "b84a8d49f7d533b2fb248b6746c5c13d8577b8ac",
      "parents": [
        "e4bc5f1eeada3d96d255a35745002ecea5708d14"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Dec 14 13:29:20 2007 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Dec 14 13:29:20 2007 -0800"
      },
      "message": "Add Closes: tag for Debian ITP bug\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "e4bc5f1eeada3d96d255a35745002ecea5708d14",
      "tree": "3b3dedc461dca7375bc3f437c9f622ca45e9cd38",
      "parents": [
        "bd2007fe4acdcd5d4f2d1c51f99ed6f4b8a2ef97"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Dec 14 10:02:11 2007 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Dec 14 10:02:11 2007 -0800"
      },
      "message": "Move to using cdbs to generate Debian/control for better Build-depends\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "bd2007fe4acdcd5d4f2d1c51f99ed6f4b8a2ef97",
      "tree": "d6da7cb99c3e6d900be354b96e9407f3e795191d",
      "parents": [
        "27016e9d88d6c818d4bb888e95c42ea46825d01c"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Dec 14 09:51:59 2007 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Dec 14 09:51:59 2007 -0800"
      },
      "message": "Update Debian version to 1.0-1\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "27016e9d88d6c818d4bb888e95c42ea46825d01c",
      "tree": "6651a604c4f9eb6551587fee8b305ab410b51b94",
      "parents": [
        "2031ff1eaeff1853e08acd323a9124acae4885d0"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sun Dec 09 11:07:55 2007 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sun Dec 09 11:07:55 2007 -0800"
      },
      "message": "Roll libmlx4 1.0 release\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "2031ff1eaeff1853e08acd323a9124acae4885d0",
      "tree": "ee5d940d20df160892271a52cde223b50e102586",
      "parents": [
        "75dee2e1caf59dca02782a083d17dcc81e058fc1"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Dec 03 14:05:58 2007 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Dec 03 14:05:58 2007 -0800"
      },
      "message": "Update summary line to mention \"ConnectX\" in Fedora RPM spec file\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "75dee2e1caf59dca02782a083d17dcc81e058fc1",
      "tree": "054b04ee2122f0a74fe4e30f31de1f23020a2eaf",
      "parents": [
        "c3a30f3dfb4a04860b2cde416cd6b1f349106cb9"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Dec 03 14:05:39 2007 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Dec 03 14:05:39 2007 -0800"
      },
      "message": "Update Debian policy version to 3.7.3\n\nNone of the changes 3.7.2 -\u003e 3.7.3 affect us.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "c3a30f3dfb4a04860b2cde416cd6b1f349106cb9",
      "tree": "7356cedc9346fb96d5173afc9aa7a012ce0d24d7",
      "parents": [
        "922cfee3cd4bcaf90d2b68893985d9f94b3de0a2"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Nov 30 13:54:03 2007 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Nov 30 16:06:35 2007 -0800"
      },
      "message": "Roll libmlx4-1.0-rc1 release\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "922cfee3cd4bcaf90d2b68893985d9f94b3de0a2",
      "tree": "1c2ea307fa810692767abfdb5552df876aa1f888",
      "parents": [
        "a634a7d736d9dc1e91b9851cabddbf82a6e8a6ea"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Nov 30 16:06:30 2007 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Nov 30 16:06:30 2007 -0800"
      },
      "message": "Use DEB_AUTO_UPDATE_LIBTOOL to avoid setting RPATH\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "a634a7d736d9dc1e91b9851cabddbf82a6e8a6ea",
      "tree": "7774f25ce36d7875ca8e31c57073caa78250c897",
      "parents": [
        "216b90eac10cc8e11b9abaa710385986e26fbf85"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Nov 30 15:31:10 2007 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Nov 30 15:31:10 2007 -0800"
      },
      "message": "Mark \"driver\" file in sysconfdir with %config\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "216b90eac10cc8e11b9abaa710385986e26fbf85",
      "tree": "8551af681d60488e1521b7c621971a9d78717124",
      "parents": [
        "651abe8e1979a698805e023d44035178eba7fbc9"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Nov 29 14:52:36 2007 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Nov 29 15:04:43 2007 -0800"
      },
      "message": "Don\u0027t add an extra entry to CQs\n\nWith mlx4 hardware, there is no need to add an extra entry when\ncreating a CQ.  This potentially saves a lot of memory if a consumer\nasks for an exact power of 2 entries.\n\nThis change works without changing the kernel mlx4_ib driver\u0027s ABI by\nsubtracting 1 from the number of CQ entries before passing the value\nto the kernel; the kernel will add 1 and end up with the same value\nactually used by libmlx4.\n\nBased on work from  Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "651abe8e1979a698805e023d44035178eba7fbc9",
      "tree": "ddae083112a830e4e4fbd68ec4de6814531fb75c",
      "parents": [
        "dc5e086a4e259f3bec3015a8080f52261f1acd0d"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Nov 29 14:44:45 2007 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Nov 29 14:44:45 2007 -0800"
      },
      "message": "Update download URL\n\nDownloads directory on openfabrics.org is downloads/mlx4/ now.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "dc5e086a4e259f3bec3015a8080f52261f1acd0d",
      "tree": "942cf4af1c2581e86358e854407f2f667075bb43",
      "parents": [
        "af257cd5a6a2ff7c041fccff60fd714e2d2d93a0"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Nov 29 14:42:31 2007 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Nov 29 14:42:31 2007 -0800"
      },
      "message": "Slightly improve wording in README\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "af257cd5a6a2ff7c041fccff60fd714e2d2d93a0",
      "tree": "70f2f383fe7139c4d798297e279598bc9785a524",
      "parents": [
        "f5cf65dcc6dfc494c4652d323e7e104a135d29b5"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Wed Nov 28 12:44:20 2007 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Nov 28 19:46:24 2007 -0800"
      },
      "message": "max_recv_wr must be \u003e 0 for non-SRQ QPs\n\nmax_recv_wr must also be non-zero for QPs which are not associated\nwith an SRQ.\n\nWithout this patch, if the userspace caller specifies max_recv_wr \u003d\u003d 0\nfor a non-srq QP, the creation will be rejected in kernel space in\nfile infiniband/hw/mlx4/qp.c, function set_rq_size():\n\n\t} else {\n\t\t/* HW requires \u003e\u003d 1 RQ entry with \u003e\u003d 1 gather entry */\n\u003d\u003d\u003e NOTE:\tif (is_user \u0026\u0026 (!cap-\u003emax_recv_wr || !cap-\u003emax_recv_sge))\n\t\t\treturn -EINVAL;\n\nWe make sure max_recv_sge is at least 1, but not max_recv_wr.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "f5cf65dcc6dfc494c4652d323e7e104a135d29b5",
      "tree": "3d6a353790b479bf743f8e8822d799f0b245696e",
      "parents": [
        "b844d345c2f90fa3ef49907f922bd4b5ea6c8995"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "glebn@voltaire.com",
        "time": "Wed Nov 28 17:15:07 2007 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Nov 28 19:43:51 2007 -0800"
      },
      "message": "Return ENOSYS instead of -ENOSYS\n\nReturn ENOSYS instead of -ENOSYS from mlx4_resize_cq(), since we are\nin userspace, not the kernel.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "b844d345c2f90fa3ef49907f922bd4b5ea6c8995",
      "tree": "a928bc4cce4bea627677a56177172677f5e3c2f2",
      "parents": [
        "d8aa0ddd4ca9e5647188baefaafccf2d6c632d86"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Oct 26 13:11:21 2007 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Oct 26 13:11:21 2007 -0700"
      },
      "message": "Fix spec file License: tag\n\nOur license information is properly described as \"GPLv2 or BSD\".\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "d8aa0ddd4ca9e5647188baefaafccf2d6c632d86",
      "tree": "0fb3dcf04ad4a87012c39dfd9a4a0cd38f467ac7",
      "parents": [
        "aa363c4b8913fa9cd97b45c70f3842ae90e31d62"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Oct 23 11:44:24 2007 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Oct 23 11:44:24 2007 -0700"
      },
      "message": "Change __always_inline to inline\n\n__always_inline is a kernel macro, so we can\u0027t use it in userspace code.\nThe inline keyword seems to work just as well in the one place libmlx4\nuses it, so just change __always_inline to inline.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "aa363c4b8913fa9cd97b45c70f3842ae90e31d62",
      "tree": "386d6fc5619f7f8acf5041c8a03d826ea300fe81",
      "parents": [
        "c45efd89ef667b30b84e4f63d8c712d1ebcabde2"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Mon Oct 22 15:30:39 2007 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Oct 22 14:43:52 2007 -0700"
      },
      "message": "Fix thinko in headroom marking order commit\n\nFix a thinko bug in commit c45efd89 (\"Fix data corruption triggered by\nwrong headroom marking order\"), which leaves s/g entries being written\nin forward (rather than reverse) order.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "c45efd89ef667b30b84e4f63d8c712d1ebcabde2",
      "tree": "d1c418c61fe83de7e1b27a496d5861b34a52b976",
      "parents": [
        "338a180f3ca81d12dbc5b6587433d557769ee098"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Thu Sep 20 11:22:37 2007 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Sep 20 11:23:50 2007 -0700"
      },
      "message": "Fix data corruption triggered by wrong headroom marking order\n\nThis is an addendum to commit 561da8d1 (\"Handle new FW requirement for\nsend request prefetching\").  We also need to handle prefetch marking\nproperly for S/G segments, or else the HCA may end up processing S/G\nsegments that are not fully written and end up sending the wrong data.\n\nWe write S/G segments in reverse order into the WQE, in order to\nguarantee that the first dword of all cachelines containing S/G\nsegments is written last (overwriting the headroom invalidation\npattern).  The entire cacheline will thus contain valid data when the\ninvalidation pattern is overwritten.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "338a180f3ca81d12dbc5b6587433d557769ee098",
      "tree": "2be29193ec6cd60926207ef9b605f6372baeb4df",
      "parents": [
        "e244b919e350ef27e004173bb123dad64bf2f502"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Sep 18 20:41:11 2007 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Sep 18 20:41:11 2007 -0700"
      },
      "message": "Factor out setting WQE segment entries\n\nClean up setting WQE segment entries by moving code out of the main\nwork request posting functions into inline functions.  This also lets\nthe compiler do a better job of optimizing.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "e244b919e350ef27e004173bb123dad64bf2f502",
      "tree": "a7035c5976b38c640bc1ebd61f8fe29c605be92e",
      "parents": [
        "fac700ddac424a8fdd815f979eb941af4bb542fc"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@mellanox.co.il",
        "time": "Sun Sep 09 12:01:21 2007 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Sep 10 21:57:58 2007 -0700"
      },
      "message": "Reset RQ doorbell counter to 0 when QP is reset\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "fac700ddac424a8fdd815f979eb941af4bb542fc",
      "tree": "afdcf08d38d85bdc217a457fea6764951d203b03",
      "parents": [
        "fb0ea6cad5fa6f9115e859e70b5589ee69356af1"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Aug 21 07:29:46 2007 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Aug 21 07:29:46 2007 -0700"
      },
      "message": "libmlx4 has no ChangeLog, so remove mention from spec file\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "fb0ea6cad5fa6f9115e859e70b5589ee69356af1",
      "tree": "f5d26ddbbb4fa92d3a19d5106e23498daaf17ec3",
      "parents": [
        "fc9edce51069fd38e33c9e627d9a89bc1e329b67"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Aug 21 07:28:58 2007 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Aug 21 07:28:58 2007 -0700"
      },
      "message": "Kernel module is called mlx4_ib, not ib_mlx4\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "fc9edce51069fd38e33c9e627d9a89bc1e329b67",
      "tree": "25fab474dcdc51f246dfefa32af6d4d30c8fd0c6",
      "parents": [
        "cfe59bb9c1fc1cdd88911ab304470a22fd18c78c"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Aug 08 13:10:05 2007 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Aug 08 13:10:05 2007 -0700"
      },
      "message": "Remove ibv_driver_init from linker version script\n\nibv_driver_init isn\u0027t defined anywhere, and the name is just an\nobsolete leftover in the linker version script, so delete it.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "cfe59bb9c1fc1cdd88911ab304470a22fd18c78c",
      "tree": "eb701f085cb446a7bb28e3ae77d26262fe785e99",
      "parents": [
        "aebd40033702fd80b1fe7f659c2bcbc7a5c76ab0"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "glebn@voltaire.com",
        "time": "Tue Jul 24 15:14:40 2007 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Jul 27 21:34:46 2007 -0700"
      },
      "message": "Fix inline sends with num_sge \u003e 1\n\nA work request with IBV_SEND_INLINE set and more than one gather entry\ndoes not have its data copied into the WQE correctly, because the\noffset is not updated properly.  Add the missing update of off when a\ngather entry does not fill an inline segment exactly.\n\nSigned-off-by: Gleb Natapov \u003cglebn@voltaire.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "aebd40033702fd80b1fe7f659c2bcbc7a5c76ab0",
      "tree": "5938f45dc67c4e4ef1575c4e75f80fafd3658e53",
      "parents": [
        "662a7652320c6c2cd986b2c61fea7efa7bd03939"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Tue Jul 17 21:07:44 2007 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Jul 17 21:07:44 2007 -0700"
      },
      "message": "Fill in send queue sizes in userspace query QP function\n\nThe kernel doesn\u0027t know the real size of the send queue so we have to\nfill in the info in userspace.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "662a7652320c6c2cd986b2c61fea7efa7bd03939",
      "tree": "945f21ae057cfc0a09a5fe21671397c73a80f9b4",
      "parents": [
        "98277f51b0a0c7c7afaf10c55802b2de8dc91430"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Thu Jun 21 12:01:58 2007 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Jul 10 13:48:53 2007 -0700"
      },
      "message": "Use BlueFlame for RDMA_READ work requests too\n\nUse BlueFlame for RDMA READ requests too.  This improves latency.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "98277f51b0a0c7c7afaf10c55802b2de8dc91430",
      "tree": "28eea533df703fe57d9d781dedaf94bc43d70c71",
      "parents": [
        "6368315dc2bde00a533e64b984a8cd5b739aedcd"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Jul 03 11:55:03 2007 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Jul 03 11:55:03 2007 -0700"
      },
      "message": "Fix Valgrind annotations so they can actually be built\n\nThe AC_CHECK_HEADER() test for \u003cvalgrind/memcheck.h\u003e will never result\nin HAVE_VALGRIND_MEMCHECK_H being defined, so ibverbs.h will never\ninclude \u003cvalgrind/memcheck.h\u003e and Valgrind annotations will never actually\nget built.  Fix this by adding an AC_DEFINE() of HAVE_VALGRIND_MEMCHECK_H\nif the header is found.\n\nPointed out by Jeff Squyres \u003cjsquyres@cisco.com\u003e.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    }
  ],
  "next": "6368315dc2bde00a533e64b984a8cd5b739aedcd"
}
