)]}'
{
  "log": [
    {
      "commit": "f59e842fc0871cd5baa213dc32e0ce8e5aaf4758",
      "tree": "5fc24fe6bc8e49d9d939485f3804a7ef977254c0",
      "parents": [
        "4ba3069fea9f0771dad3f4906b305ab50d5a1b30",
        "a42d985bd5b234da8b61347a78dc3057bf7bb94d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 18 16:29:42 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 18 16:29:42 2012 -0800"
      },
      "message": "Merge branch \u0027for-next-merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending\n\n* \u0027for-next-merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:\n  ib_srpt: Initial SRP Target merge for v3.3-rc1\n"
    },
    {
      "commit": "90ab5ee94171b3e28de6bb42ee30b527014e0be7",
      "tree": "fcf89889f6e881f2b231d3d20287c08174ce4b54",
      "parents": [
        "476bc0015bf09dad39d36a8b19f76f0c181d1ec9"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jan 13 09:32:20 2012 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jan 13 09:32:20 2012 +1030"
      },
      "message": "module_param: make bool parameters really bool (drivers \u0026 misc)\n\nmodule_param(bool) used to counter-intuitively take an int.  In\nfddd5201 (mid-2009) we allowed bool or int/unsigned int using a messy\ntrick.\n\nIt\u0027s time to remove the int/unsigned int option.  For this version\nit\u0027ll simply give a warning, but it\u0027ll break next kernel version.\n\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "69116f279a9eaf4c540934269342d9149538fc79",
      "tree": "eb335b97a99fb25ce548dd06f053a81e3c56016f",
      "parents": [
        "bafeafeab94b8d3019aac15c2df2ce47b08a6363"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jan 13 09:32:17 2012 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jan 13 09:32:17 2012 +1030"
      },
      "message": "module_param: avoid bool abuse, add bint for special cases.\n\nFor historical reasons, we allow module_param(bool) to take an int (or\nan unsigned int).  That\u0027s going away.\n\nA few drivers really want an int: they set it to -1 and a parameter\nwill set it to 0 or 1.  This sucks: reading them from sysfs will give\n\u0027Y\u0027 for both -1 and 1, but if we change it to an int, then the users\nmight be broken (if they did \"param\" instead of \"param\u003d1\").\n\nUse a new \u0027bint\u0027 parser for them.\n\n(ntfs has a different problem: it needs an int for debug_msgs because\nit\u0027s also exposed via sysctl.)\n\nCc: Steve Glendinning \u003csteve.glendinning@smsc.com\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\nCc: Hoang-Nam Nguyen \u003chnguyen@de.ibm.com\u003e\nCc: Christoph Raisch \u003craisch@de.ibm.com\u003e\nCc: Roland Dreier \u003croland@kernel.org\u003e\nCc: Sean Hefty \u003csean.hefty@intel.com\u003e\nCc: Hal Rosenstock \u003chal.rosenstock@gmail.com\u003e\nCc: linux390@de.ibm.com\nCc: Anton Altaparmakov \u003canton@tuxera.com\u003e\nCc: Jaroslav Kysela \u003cperex@perex.cz\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nCc: lm-sensors@lm-sensors.org\nCc: linux-rdma@vger.kernel.org\nCc: linux-s390@vger.kernel.org\nCc: linux-ntfs-dev@lists.sourceforge.net\nCc: alsa-devel@alsa-project.org\nAcked-by: Takashi Iwai \u003ctiwai@suse.de\u003e (For the sound part)\nAcked-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e (For the hwmon driver)\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "48fa57ac2c30a8a0b770b7ad50b4b30c1d12f005",
      "tree": "5a0b1a32b2e1639fdd07e9f1b946d698c093c3da",
      "parents": [
        "8e369672af8700299ab372bad9397f230b1d591a",
        "1583676d9e3f97371eaa726c4e061f9b23f43c44"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 14:05:48 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 14:05:48 2012 -0800"
      },
      "message": "Merge tag \u0027infiniband-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\ninfiniband changes for 3.3 merge window\n\n* tag \u0027infiniband-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:\n  rdma/core: Fix sparse warnings\n  RDMA/cma: Fix endianness bugs\n  RDMA/nes: Fix terminate during AE\n  RDMA/nes: Make unnecessarily global nes_set_pau() static\n  RDMA/nes: Change MDIO bus clock to 2.5MHz\n  IB/cm: Fix layout of APR message\n  IB/mlx4: Fix SL to 802.1Q priority-bits mapping for IBoE\n  IB/qib: Default some module parameters optimally\n  IB/qib: Optimize locking for get_txreq()\n  IB/qib: Fix a possible data corruption when receiving packets\n  IB/qib: Eliminate 64-bit jiffies use\n  IB/qib: Fix style issues\n  IB/uverbs: Protect QP multicast list\n"
    },
    {
      "commit": "972b2c719990f91eb3b2310d44ef8a2d38955a14",
      "tree": "b25a250ec5bec4b7b6355d214642d8b57c5cab32",
      "parents": [
        "02550d61f49266930e674286379d3601006b2893",
        "c3aa077648e147783a7a53b409578234647db853"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 12:19:57 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 12:19:57 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\n* \u0027for-linus2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (165 commits)\n  reiserfs: Properly display mount options in /proc/mounts\n  vfs: prevent remount read-only if pending removes\n  vfs: count unlinked inodes\n  vfs: protect remounting superblock read-only\n  vfs: keep list of mounts for each superblock\n  vfs: switch -\u003eshow_options() to struct dentry *\n  vfs: switch -\u003eshow_path() to struct dentry *\n  vfs: switch -\u003eshow_devname() to struct dentry *\n  vfs: switch -\u003eshow_stats to struct dentry *\n  switch security_path_chmod() to struct path *\n  vfs: prefer -\u003edentry-\u003ed_sb to -\u003emnt-\u003emnt_sb\n  vfs: trim includes a bit\n  switch mnt_namespace -\u003eroot to struct mount\n  vfs: take /proc/*/mounts and friends to fs/proc_namespace.c\n  vfs: opencode mntget() mnt_set_mountpoint()\n  vfs: spread struct mount - remaining argument of next_mnt()\n  vfs: move fsnotify junk to struct mount\n  vfs: move mnt_devname\n  vfs: move mnt_list to struct mount\n  vfs: switch pnode.h macros to struct mount *\n  ...\n"
    },
    {
      "commit": "1583676d9e3f97371eaa726c4e061f9b23f43c44",
      "tree": "bcef0195095874c1f76d8a2502a58c6ec60282b9",
      "parents": [
        "c89d1bedf8b130d5b20f56a484989a19a2c2842a",
        "6f233d300d301b08b4627fbcf29dfc4eda16e4d8",
        "9106c410697427363517ca6b4f463698aebc5f25",
        "196f40c8464799d185ee7417d2ee532468b374e6",
        "8d4548f2b7407f7212f71831bb7b457ceb752709",
        "e214a0fe2b382fa302c036ecd6e6ffe99e3b9875"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jan 04 09:18:20 2012 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jan 04 09:18:20 2012 -0800"
      },
      "message": "Merge branches \u0027cma\u0027, \u0027misc\u0027, \u0027mlx4\u0027, \u0027nes\u0027, \u0027qib\u0027 and \u0027uverbs\u0027 into for-next\n"
    },
    {
      "commit": "c89d1bedf8b130d5b20f56a484989a19a2c2842a",
      "tree": "ac1e78a8213553335639f21eb8bac4da534c13f2",
      "parents": [
        "46ea5061c750fc6b088b9566234287115fb70f98"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Tue Dec 06 21:13:10 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jan 04 09:17:45 2012 -0800"
      },
      "message": "rdma/core: Fix sparse warnings\n\nClean up sparse warnings in the rdma core layer.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "46ea5061c750fc6b088b9566234287115fb70f98",
      "tree": "db5ad08595bac4e37b508f697b950246bb87aba3",
      "parents": [
        "5f0a6e2d503896062f641639dacfe5055c2f593b"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Tue Dec 06 21:15:18 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jan 04 09:13:52 2012 -0800"
      },
      "message": "RDMA/cma: Fix endianness bugs\n\nFix endianness bugs reported by sparse in the RDMA core stack.  Note\nthat these are real bugs, but don\u0027t affect any existing code to the\nbest of my knowledge.  The mlid issue would only affect kernel users\nof rdma_join_multicast which have the rdma_cm attach/detach its QP.\nThere are no current in tree users that do this. (rdma_join_multicast\nmay be used called by user space applications, which does not have\nthis issue.)  And the pkey setting is simply returned as\ninformational.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "196f40c8464799d185ee7417d2ee532468b374e6",
      "tree": "a5227c763d7803f1c46b068fa19c1898d02ef903",
      "parents": [
        "b0fda90f2a8eeac269833e7ef9e32d199747072b"
      ],
      "author": {
        "name": "Tatyana Nikolova",
        "email": "Tatyana.E.Nikolova@intel.com",
        "time": "Mon Dec 05 11:39:12 2011 -0600"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jan 04 09:12:39 2012 -0800"
      },
      "message": "RDMA/nes: Fix terminate during AE\n\nFix for reset which happens right after sending a terminate message.\nTerminate timer is not deleted when the connection is closed.\n\nSigned-off-by: Tatyana Nikolova \u003cTatyana.E.Nikolova@intel.com\u003e\nSigned-off-by: Faisal Latif \u003cFaisal.Latif@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "b0fda90f2a8eeac269833e7ef9e32d199747072b",
      "tree": "4b5b500002ad23ff9de6b9d7e8f0dc4477b51807",
      "parents": [
        "30b7e117af450850b0fe813e1ee0780934bdcad3"
      ],
      "author": {
        "name": "Tatyana Nikolova",
        "email": "Tatyana.E.Nikolova@intel.com",
        "time": "Wed Dec 07 16:04:27 2011 -0600"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jan 04 09:07:24 2012 -0800"
      },
      "message": "RDMA/nes: Make unnecessarily global nes_set_pau() static\n\nWarned about by sparse.\n\nSigned-off-by: Tatyana Nikolova \u003cTatyana.E.Nikolova@intel.com\u003e\nSigned-off-by: Faisal Latif \u003cFaisal.Latif@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "30b7e117af450850b0fe813e1ee0780934bdcad3",
      "tree": "9f911fce20422a715883856cafb51370c3f28f2b",
      "parents": [
        "5f0a6e2d503896062f641639dacfe5055c2f593b"
      ],
      "author": {
        "name": "Tatyana Nikolova",
        "email": "Tatyana.E.Nikolova@intel.com",
        "time": "Wed Dec 07 16:24:06 2011 -0600"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jan 04 09:02:15 2012 -0800"
      },
      "message": "RDMA/nes: Change MDIO bus clock to 2.5MHz\n\nChange the PHY clock divisor to make the MDIO clock 2.5MHz, instead of\n3.5MHz (which is out of spec).\n\nSigned-off-by: Tatyana Nikolova \u003cTatyana.E.Nikolova@intel.com\u003e\nSigned-off-by: Faisal Latif \u003cFaisal.Latif@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "6f233d300d301b08b4627fbcf29dfc4eda16e4d8",
      "tree": "acb241753fcbff8bbe8cd616ac3f7c8189262a37",
      "parents": [
        "5f0a6e2d503896062f641639dacfe5055c2f593b"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@dev.mellanox.co.il",
        "time": "Mon Dec 19 21:46:53 2011 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Jan 03 21:04:18 2012 -0800"
      },
      "message": "IB/cm: Fix layout of APR message\n\nAdd a missing 16-bit reserved field between ap_status and info fields.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.com\u003e\nAcked-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "9106c410697427363517ca6b4f463698aebc5f25",
      "tree": "ddf079aeac48c40b479bb782f7e3de49153fca03",
      "parents": [
        "5f0a6e2d503896062f641639dacfe5055c2f593b"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Sun Dec 11 16:40:05 2011 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Jan 03 21:00:02 2012 -0800"
      },
      "message": "IB/mlx4: Fix SL to 802.1Q priority-bits mapping for IBoE\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 treats (decode/encode) the four\nbit SL field in various constructs such as QPC / UD WQE / CQE as PPP0\nand not as 0PPP. This correlates well to the fact that within the\nvlan tag the pbits are located in bits 15-13 and not 12-14.\n\nThe current code wasn\u0027t consistent around that area - the\nencoding was correct for the IBoE QPC.path.schedule_queue field,\nbut was wrong for IBoE CQEs and when MLX header was built.\n\nThese inconsistencies resulted in wrong SL \u003c--\u003e wire 802.1Q pbits\nmapping, which is fixed by using SL \u003c--\u003e PPP0 all around the place.\n\nSigned-off-by: Oren Duer \u003coren@mellanox.co.il\u003e\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "8d4548f2b7407f7212f71831bb7b457ceb752709",
      "tree": "ad1fb9783cccfbe803eeae77811f177659f9fd3d",
      "parents": [
        "489471095170ed1c6d0341739a243461638b0e06"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Fri Dec 23 11:12:10 2011 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Jan 03 20:54:01 2012 -0800"
      },
      "message": "IB/qib: Default some module parameters optimally\n\nMinimize the need for users to have to set module parameters to get\ngood performance.\n\nThe following two parameters are changed:\n - rcvhdrcnt to twice the rcvegrcnt\n - pcie_caps\u003d0x51\n\nThe rcvhdrcnt at twice the egrcount allows the preemptive NAK code\nduring reception to function in 100% of the cases rather than a sender\njiffies-based timeout.\n\nThe pcie_caps default of 0x51 will set the proposed MaxPayload and\nMaxReceiveReqest to 256 and 4096 respectively.  The capabilities on\nthe root complex will be used to limit those values.\n\nReviewed-by: Ram Vepa \u003cram.vepa@qlogic.com\u003e\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "489471095170ed1c6d0341739a243461638b0e06",
      "tree": "d5820187d1d24dac7526bba2dd4dafb47c1bb0b3",
      "parents": [
        "eddfb675256f49d14e8c5763098afe3eb2c93701"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Fri Dec 23 08:03:41 2011 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Jan 03 20:53:31 2012 -0800"
      },
      "message": "IB/qib: Optimize locking for get_txreq()\n\nThe current code locks the QP s_lock, followed by the pending_lock, I\nguess to to protect against the allocate failing.\n\nThis patch only locks the pending_lock, assuming that the empty case\nis an exeception, in which case the pending_lock is dropped, and the\noriginal code is executed.  This will save a lock of s_lock in the\nnormal case.\n\nThe observation is that the sdma descriptors will deplete at twice the\nrate of txreq\u0027s, so this should be rare.\n\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "eddfb675256f49d14e8c5763098afe3eb2c93701",
      "tree": "fefe361432c162a48f98076f7156920e083c42fb",
      "parents": [
        "8482d5d1bc18c17429a89ad37f8b74d5a16de239"
      ],
      "author": {
        "name": "Ram Vepa",
        "email": "ram.vepa@qlogic.com",
        "time": "Fri Dec 23 08:01:43 2011 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Jan 03 20:53:02 2012 -0800"
      },
      "message": "IB/qib: Fix a possible data corruption when receiving packets\n\nPrevent a receive data corruption by ensuring that the write to update\nthe rcvhdrheadn register to generate an interrupt is at the very end\nof the receive processing.\n\nSigned-off-by: Ramkrishna Vepa \u003cram.vepa@qlogic.com\u003e\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "8482d5d1bc18c17429a89ad37f8b74d5a16de239",
      "tree": "4d2f952d8960b198234d5f7f09efac30d96ff1a2",
      "parents": [
        "865b64be86ed6e3e6137ce6506f31051097bf9cb"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Wed Nov 09 13:36:08 2011 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Jan 03 20:52:12 2012 -0800"
      },
      "message": "IB/qib: Eliminate 64-bit jiffies use\n\nThe qib driver makes use of the the 64-bit jiffies API.\n\nCode inspection reveals that that version of the API is not really\nrequired.  This patch converts to use the \"normal\" jiffies.\n\nReviewed-by: Ram Vepa \u003cram.vepa@qlogic.com\u003e\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "865b64be86ed6e3e6137ce6506f31051097bf9cb",
      "tree": "d56ef5df8391d2304f2daf9cf02fba395f616fd7",
      "parents": [
        "5f0a6e2d503896062f641639dacfe5055c2f593b"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Wed Nov 09 13:35:55 2011 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Jan 03 20:51:42 2012 -0800"
      },
      "message": "IB/qib: Fix style issues\n\nMore style issues revealed with checkpatch.pl -f.\n\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "e214a0fe2b382fa302c036ecd6e6ffe99e3b9875",
      "tree": "6cfd92715630e3406521f700a3df3cf3295e7770",
      "parents": [
        "5f0a6e2d503896062f641639dacfe5055c2f593b"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@dev.mellanox.co.il",
        "time": "Tue Jan 03 20:36:48 2012 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Jan 03 20:36:48 2012 -0800"
      },
      "message": "IB/uverbs: Protect QP multicast list\n\nUserspace verbs multicast attach/detach operations on a QP are done\nwhile holding the rwsem of the QP for reading.  That\u0027s not sufficient\nsince a reader lock allows more than one reader to acquire the\nlock.  However, multicast attach/detach does list manipulation that\ncan corrupt the list if multiple threads run in parallel.\n\nFix this by acquiring the rwsem as a writer to serialize attach/detach\noperations.  Add idr_write_qp() and put_qp_write() to encapsulate\nthis.\n\nThis fixes oops seen when running applications that perform multicast\njoins/leaves.\n\nReported by: Mike Dubman \u003cmiked@mellanox.com\u003e\nSigned-off-by: Eli Cohen \u003celi@mellanox.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "f9ec80061af2116e9b6298a6334a6f288d7ea878",
      "tree": "b0c0a8a818e6aa8bcc468887f200af9e1d855ef4",
      "parents": [
        "faef2b6c9960b5ae288899f461a2218ec6bb7928"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 24 23:27:00 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:55:03 2012 -0500"
      },
      "message": "infiniband: umode_t noise, including open-coded S_ISDIR()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "587a1f1659e8b330b8738ef4901832a2b63f0bed",
      "tree": "b785c3f44ddba6ee036e02268502cdc961f55ea0",
      "parents": [
        "9104e427f3e21ddb380ddc39752624365b5bffea"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 23 23:11:19 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:55 2012 -0500"
      },
      "message": "switch -\u003eis_visible() to returning umode_t\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2c9ede55ecec58099b72e4bb8eab719f32f72c31",
      "tree": "8498a8c940fea97931b469fc73eb1a5022a2b28c",
      "parents": [
        "7d54fa6472609f2b0f2ea27e51ec2cf1fb27bd57"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 23 20:24:48 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:55 2012 -0500"
      },
      "message": "switch device_get_devnode() and -\u003edevnode() to umode_t *\n\nboth callers of device_get_devnode() are only interested in lower 16bits\nand nobody tries to return anything wider than 16bit anyway.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "abb434cb0539fb355c1c921f8fd761efbbac3462",
      "tree": "24a7d99ec161f8fd4dc9ff03c9c4cc93be883ce6",
      "parents": [
        "2494654d4890316e7340fb8b3458daad0474a1b9",
        "6350323ad8def2ac00d77cdee3b79c9b9fba75c4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 17:13:56 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 17:13:56 2011 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tnet/bluetooth/l2cap_core.c\n\nJust two overlapping changes, one added an initialization of\na local variable, and another change added a new local variable.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "480390c8f393b3c770b7b71faa094c733bd0ae09",
      "tree": "7b9c01f77c06475bd61d25b1f7a3520029ccf34b",
      "parents": [
        "04ded1672402577cd3f390c764f3046cc704a42a",
        "4af3ce0de0c12e5c17811eaefad36ab8e146c0fd",
        "29d1b16145e78e0f4af54751965c4a09e83bd872"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Dec 19 09:19:49 2011 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Dec 19 09:19:49 2011 -0800"
      },
      "message": "Merge branches \u0027cma\u0027, \u0027mlx4\u0027 and \u0027qib\u0027 into for-next\n"
    },
    {
      "commit": "29d1b16145e78e0f4af54751965c4a09e83bd872",
      "tree": "506014cf176583d3354e953128ceca1c509cc15c",
      "parents": [
        "5611cc4572e889b62a7b4c72a413536bf6a9c416"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Fri Dec 02 12:41:30 2011 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Dec 19 09:19:34 2011 -0800"
      },
      "message": "IB/qib: Correct sense on freectxts increment and decrement\n\nCommit 53ab1c64983 (\"IB/qib: Correct nfreectxts for multiple HCAs\")\nreversed the increments and decrements of dd-\u003enfreectxts.  Fix it.\n\nReviewed-by: Ram Vepa \u003cram.vepa@qlogic.com\u003e\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "04ded1672402577cd3f390c764f3046cc704a42a",
      "tree": "b87db81163685e91584ef4088009d2d107b447b6",
      "parents": [
        "5611cc4572e889b62a7b4c72a413536bf6a9c416"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Tue Dec 06 21:17:11 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Dec 19 09:15:33 2011 -0800"
      },
      "message": "RDMA/cma: Verify private data length\n\nprivate_data_len is defined as a u8.  If the user specifies a large\nprivate_data size (\u003e 220 bytes), we will calculate a total length that\nexceeds 255, resulting in private_data_len wrapping back to 0.  This\ncan lead to overwriting random kernel memory.  Avoid this by verifying\nthat the resulting size fits into a u8.\n\nReported-by: B. Thery \u003cbenjamin.thery@bull.net\u003e\nAddresses: \u003chttp://bugs.openfabrics.org/bugzilla/show_bug.cgi?id\u003d2335\u003e\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "a42d985bd5b234da8b61347a78dc3057bf7bb94d",
      "tree": "7c972f6da3192ebdd35125d9e2de80ac0ca185af",
      "parents": [
        "895f3022523361e9b383cf48f51feb1f7d5e7e53"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@acm.org",
        "time": "Fri Oct 14 01:30:46 2011 +0000"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Dec 16 06:33:56 2011 +0000"
      },
      "message": "ib_srpt: Initial SRP Target merge for v3.3-rc1\n\nThis patch adds the kernel module ib_srpt SCSI RDMA Protocol (SRP) target\nimplementation conforming to the SRP r16a specification for the mainline\ndrivers/target infrastructure.\n\nThis driver was originally developed by Vu Pham and has been optimized by\nBart Van Assche and merged into upstream LIO based on his srpt-lio-4.1\nbranch here:\n\n   https://github.com/bvanassche/srpt-lio/commits/srpt-lio-4.1/\n\nThis updated patch also contains the following two changes from\nlio-core-2.6.git/master.  One is to fix a bug with 1 \u003e\u003d task-\u003etask_sg[]\nchained mappings in ib_srpt, and the other to convert the configfs control\nplane to reference IB Port GUID and struct srpt_port directly following\nmainline v4.x target_core_fabric_configfs.c convertion for ib_srpt\nto work with rtslib/rtsadmin v2 code.\n\nThese seperate patches can be found here:\n\nib_srpt: Fix bug with chainged SGLs in srpt_map_sg_to_ib_sge\nhttp://www.risingtidesystems.com/git/?p\u003dlio-core-2.6.git;a\u003dcommitdiff;h\u003dea485147563b6555a97dbf811825fbb586519252\n\nib_srpt: Convert se_wwn endpoint reference to struct srpt_port-\u003eport_wwn\nhttp://www.risingtidesystems.com/git/?p\u003dlio-core-2.6.git;a\u003dcommitdiff;h\u003d4e544a210acb227df1bb4ca5086e65bdf4e648ea\n\nThis also includes the following recent v1 -\u003e v2 review changes:\n\nib_srpt: Fix potential out-of-bounds array access\nib_srpt: Avoid failed multipart RDMA transfers\nib_srpt: Fix srpt_alloc_fabric_acl failure case return value\nib_srpt: Update comments to reference $driver/$port layout\nib_srpt: Fix sport-\u003eport_guid formatting code\nib_srpt: Remove legacy use_port_guid_in_session_name module parameter\nib_srpt: Convert srp_max_rdma_size into per port configfs attribute\nib_srpt: Convert srp_max_rsp_size into per port configfs attribute\nib_srpt: Convert srpt_sq_size into per port configfs attribute\n\nand v2 -\u003e v3 review changes:\n\nib_srpt: Fix possible race with srp_sq_size in srpt_create_ch_ib\nib_srpt: Fix possible race with srp_max_rsp_size in srpt_release_channel_work\nib_srpt: Fix up MAX_SRPT_RDMA_SIZE define\nib_srpt: Make srpt_map_sg_to_ib_sge() failure case return -EAGAIN\nib_srpt: Convert port_guid to use subnet_prefix + interface_id formatting\nib_srpt: Make srpt_check_stop_free return kref_put status\nib_srpt: Make compilation with BUG\u003dn proceed`\nib_srpt: Use new target_core_fabric.h include\nib_srpt: Check hex2bin() return code to silence build warning\n\nCc: Bart Van Assche \u003cbvanassche@acm.org\u003e\nCc: Roland Dreier \u003croland@purestorage.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Vu Pham \u003cvu@mellanox.com\u003e\nCc: David Dillow \u003cdillowda@ornl.gov\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@risingtidesystems.com\u003e\n"
    },
    {
      "commit": "8e59d254feb3826230d19fb643691c89eabd71f8",
      "tree": "117964e91957e5bf1b96933a5246fd76c2fd5183",
      "parents": [
        "c82e9aa0a8bcf7a1643ccb71678bab57f3cb4bc6"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Tue Dec 13 04:15:46 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 13 13:56:07 2011 -0500"
      },
      "message": "mlx4_ib: disable SRIOV mode for IB ports (not yet supported)\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f9baff509f8a05a79626defdbdf4f4aa4efd373b",
      "tree": "d4f0e425cd8c8999775f0f135c9825e3bbdc180c",
      "parents": [
        "65dab25deb8da7dba4b6dd0145a9143be7f8369f"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Tue Dec 13 04:10:51 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 13 13:56:05 2011 -0500"
      },
      "message": "mlx4_core: Add \"native\" argument to mlx4_cmd and its callers (where needed)\n\nFor SRIOV, some Hypervisor commands can be executed directly (native \u003d 1).\nOthers should go through the command wrapper flow (for tracking resource\nusage, for example, or for changing some HCA configurations that slaves\nneed to be notified of).\n\nThis patch sets the groundwork for this capability -- adding the correct\nvalue of \"native\" in each case.\n\nNote that if SRIOV is not activated, this parameter has no effect.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "65dab25deb8da7dba4b6dd0145a9143be7f8369f",
      "tree": "a494864c9c97eef341f30529d71feceb08dcdb64",
      "parents": [
        "623ed84b1f9553bc962c2aca92f488aa6f27ecd1"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Tue Dec 13 04:10:41 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 13 13:56:05 2011 -0500"
      },
      "message": "mlx4: Extanding port_mask functionality\n\nPort mask now has additional state.\nPort can be set as \"none\". In this case neither the mlx4_en or mlx4_ib\ndrivers take ownership of the port.\nIn multifunction mode there is an option to set the vfs as single ported devices.\n(in single function mode, both physical ports belong to same function)\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4af3ce0de0c12e5c17811eaefad36ab8e146c0fd",
      "tree": "e243880d497d872c1c258799355598c13c00b737",
      "parents": [
        "5611cc4572e889b62a7b4c72a413536bf6a9c416"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Dec 06 10:47:37 2011 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Dec 06 10:47:37 2011 -0800"
      },
      "message": "IB/mlx4: Fix shutdown crash accessing a non-existent bitmap\n\nCommit cfcde11c3d7a (\"IB/mlx4: Use flow counters on IBoE ports\") added\ncode that sets elements of counters[] to -1 if no counter is allocated,\nbut then goes ahead and passes every entry to mlx4_counter_free() on\nshutdown.  This is a bad idea, especially if MLX4_DEV_CAP_FLAG_COUNTERS\nisn\u0027t set so there isn\u0027t even an underlying bitmap to free from.\n\nTested-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "17e6abeec4cb8df1e33ea0e2b889586c731a68be",
      "tree": "0e1dedd8afb3fffe9c67a5f61ce85f8da2bedd71",
      "parents": [
        "51e059bdd62f8da90973edf8a6180bd2c080f866"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 02 16:52:44 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 05 15:20:20 2011 -0500"
      },
      "message": "infiniband: ipoib: Sanitize neighbour handling in ipoib_main.c\n\nReduce the number of dst_get_neighbour_noref() calls within a single\ncall chain.  Primarily by passing the neighbour pointer down to the\nhelper functions.\n\nHandle dst_get_neighbour_noref() returning NULL in ipoib_start_xmit()\nby incrementing the dropped counter and freeing the packet.  We don\u0027t\nwant it to fall through into the ARP/RARP/multicast handling, since\nthat should only happen when skb_dst() is NULL.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "3786cf189f8b39cac870193368f9ad9f95fff9a4",
      "tree": "d7e8b85a1034ded69eec04efde443a31b349d477",
      "parents": [
        "40e2bb588f7712e4d58191ccc08b716927d9c7d0"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 02 16:52:31 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 05 15:20:20 2011 -0500"
      },
      "message": "infiniband: cxgb4: Consolidate 3 copies of the same operation into 1 helper function.\n\nThree pieces of code do the same thing, create a l2t entry and then\nimport this information into the c4iw_ep object.\n\nCreate a helper function and call it from these 3 locations instead.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "40e2bb588f7712e4d58191ccc08b716927d9c7d0",
      "tree": "32bb6a47e965619438923c659eeb45de22b8c6fc",
      "parents": [
        "c4be62a4d27cf4170c2e0eca5a4f8d6fa84d85e4"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 02 16:52:27 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 05 15:20:19 2011 -0500"
      },
      "message": "infiniband: nes: Use dst\u0027s neighbour entry.\n\nDo this instead of performing a by-hand lookup.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "a4757123aeadf450b5b3c5f51f214660e20477f3",
      "tree": "075d43113136926357be2863b2efb3b6a099e553",
      "parents": [
        "51d45974515c35cd401f6194a6e728a2d1c3e3c6"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 02 16:52:18 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 05 15:20:19 2011 -0500"
      },
      "message": "cxgb3: Rework t3_l2t_get to take a dst_entry instead of a neighbour.\n\nThis way we consolidate the RCU locking down into the place where it\nactually matters, and also we can make the code handle\ndst_get_neighbour_noref() returning NULL properly.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "51d45974515c35cd401f6194a6e728a2d1c3e3c6",
      "tree": "fba3f62f38214870f4cd5de6a0796dd72cf9fa67",
      "parents": [
        "2721745501a26d0dc3b88c0d2f3aa11471891388"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 02 16:52:14 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 05 15:20:19 2011 -0500"
      },
      "message": "infiniband: addr: Consolidate code to fetch neighbour hardware address from dst.\n\nIPV4 should do exactly what the IPV6 code does here, which is\nuse the neighbour obtained via the dst entry.\n\nAnd now that the two code paths do the same thing, use a common\nhelper function to perform the operation.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "2721745501a26d0dc3b88c0d2f3aa11471891388",
      "tree": "e9c09622b11ad7d9317b4b01824374a852867c28",
      "parents": [
        "761965eab38d2cbc59c36e355c59609e3a04705a"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 02 16:52:08 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 05 15:20:19 2011 -0500"
      },
      "message": "net: Rename dst_get_neighbour{, _raw} to dst_get_neighbour_noref{, _raw}.\n\nTo reflect the fact that a refrence is not obtained to the\nresulting neighbour entry.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "b3613118eb30a589d971e4eccbbb2a1314f5dfd4",
      "tree": "868c1ee59e1b5c19a4f2e43716400d0001a994e5",
      "parents": [
        "7505afe28c16a8d386624930a018d0052c75d687",
        "5983fe2b29df5885880d7fa3b91aca306c7564ef"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 02 13:49:21 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 02 13:49:21 2011 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "596b9b68ef118f7409afbc78487263e08ef96261",
      "tree": "0def3e591a0d5ede89e85339e35da3072f09330c",
      "parents": [
        "5b8b0060cbd6332ae5d1fa0bec0e8e211248d0e7"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 25 00:01:25 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 30 18:46:43 2011 -0500"
      },
      "message": "neigh: Add infrastructure for allocating device neigh privates.\n\nnetdev-\u003eneigh_priv_len records the private area length.\n\nThis will trigger for neigh_table objects which set tbl-\u003eentry_size\nto zero, and the first instances of this will be forthcoming.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a493f1a24a496711d96b91c4dc0a1bd35eb6954b",
      "tree": "6eaae9b9c9e42b8d2bf5a47324e2ea900d2d29a9",
      "parents": [
        "01b225e18fcb540c5d615ca79ef832473451f118",
        "3874397c0bdec3c21ce071711cd105165179b8eb",
        "580da35a31f91a594f3090b7a2c39b85cb051a12",
        "8ee887d74b3d741991edaa1836d22636c28926d9"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Nov 29 18:01:53 2011 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Nov 29 18:01:53 2011 -0800"
      },
      "message": "Merge branches \u0027cxgb4\u0027, \u0027ipoib\u0027, \u0027misc\u0027 and \u0027qib\u0027 into for-next\n"
    },
    {
      "commit": "580da35a31f91a594f3090b7a2c39b85cb051a12",
      "tree": "8cb8f106fe3c5df725dbde3efd2bfd19e0f38a2e",
      "parents": [
        "1ea6b8f48918282bdca0b32a34095504ee65bab5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Nov 29 22:31:23 2011 +0100"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Nov 29 13:37:11 2011 -0800"
      },
      "message": "IB: Fix RCU lockdep splats\n\nCommit f2c31e32b37 (\"net: fix NULL dereferences in check_peer_redir()\")\nforgot to take care of infiniband uses of dst neighbours.\n\nMany thanks to Marc Aurele who provided a nice bug report and feedback.\n\nReported-by: Marc Aurele La France \u003ctsi@ualberta.ca\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "3874397c0bdec3c21ce071711cd105165179b8eb",
      "tree": "d4ad5784650fff68d798d38af6c0533f25b4ed78",
      "parents": [
        "1ea6b8f48918282bdca0b32a34095504ee65bab5"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Mon Nov 21 08:43:54 2011 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Nov 29 13:20:02 2011 -0800"
      },
      "message": "IB/ipoib: Prevent hung task or softlockup processing multicast response\n\nThis following can occur with ipoib when processing a multicast reponse:\n\n    BUG: soft lockup - CPU#0 stuck for 67s! [ib_mad1:982]\n    Modules linked in: ...\n    CPU 0:\n    Modules linked in: ...\n    Pid: 982, comm: ib_mad1 Not tainted 2.6.32-131.0.15.el6.x86_64 #1 ProLiant DL160 G5\n    RIP: 0010:[\u003cffffffff814ddb27\u003e]  [\u003cffffffff814ddb27\u003e] _spin_unlock_irqrestore+0x17/0x20\n    RSP: 0018:ffff8802119ed860  EFLAGS: 00000246\n    0000000000000004 RBX: ffff8802119ed860 RCX: 000000000000a299\n    RDX: ffff88021086c700 RSI: 0000000000000246 RDI: 0000000000000246\n    RBP: ffffffff8100bc8e R08: ffff880210ac229c R09: 0000000000000000\n    R10: ffff88021278aab8 R11: 0000000000000000 R12: ffff8802119ed860\n    R13: ffffffff8100be6e R14: 0000000000000001 R15: 0000000000000003\n    FS:  0000000000000000(0000) GS:ffff880028200000(0000) knlGS:0000000000000000\n    CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b\n    CR2: 00000000006d4840 CR3: 0000000209aa5000 CR4: 00000000000406f0\n    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n    DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n    Call Trace:\n    [\u003cffffffffa032c247\u003e] ? ipoib_mcast_send+0x157/0x480 [ib_ipoib]\n    [\u003cffffffff8100bc8e\u003e] ? apic_timer_interrupt+0xe/0x20\n    [\u003cffffffff8100bc8e\u003e] ? apic_timer_interrupt+0xe/0x20\n    [\u003cffffffffa03283d4\u003e] ? ipoib_path_lookup+0x124/0x2d0 [ib_ipoib]\n    [\u003cffffffffa03286fc\u003e] ? ipoib_start_xmit+0x17c/0x430 [ib_ipoib]\n    [\u003cffffffff8141e758\u003e] ? dev_hard_start_xmit+0x2c8/0x3f0\n    [\u003cffffffff81439d0a\u003e] ? sch_direct_xmit+0x15a/0x1c0\n    [\u003cffffffff81423098\u003e] ? dev_queue_xmit+0x388/0x4d0\n    [\u003cffffffffa032d6b7\u003e] ? ipoib_mcast_join_finish+0x2c7/0x510 [ib_ipoib]\n    [\u003cffffffffa032dab8\u003e] ? ipoib_mcast_sendonly_join_complete+0x1b8/0x1f0 [ib_ipoib]\n    [\u003cffffffffa02a0946\u003e] ? mcast_work_handler+0x1a6/0x710 [ib_sa]\n    [\u003cffffffffa015f01e\u003e] ? ib_send_mad+0xfe/0x3c0 [ib_mad]\n    [\u003cffffffffa00f6c93\u003e] ? ib_get_cached_lmc+0xa3/0xb0 [ib_core]\n    [\u003cffffffffa02a0f9b\u003e] ? join_handler+0xeb/0x200 [ib_sa]\n    [\u003cffffffffa029e4fc\u003e] ? ib_sa_mcmember_rec_callback+0x5c/0xa0 [ib_sa]\n    [\u003cffffffffa029e79c\u003e] ? recv_handler+0x3c/0x70 [ib_sa]\n    [\u003cffffffffa01603a4\u003e] ? ib_mad_completion_handler+0x844/0x9d0 [ib_mad]\n    [\u003cffffffffa015fb60\u003e] ? ib_mad_completion_handler+0x0/0x9d0 [ib_mad]\n    [\u003cffffffff81088830\u003e] ? worker_thread+0x170/0x2a0\n    [\u003cffffffff8108e160\u003e] ? autoremove_wake_function+0x0/0x40\n    [\u003cffffffff810886c0\u003e] ? worker_thread+0x0/0x2a0\n    [\u003cffffffff8108ddf6\u003e] ? kthread+0x96/0xa0\n    [\u003cffffffff8100c1ca\u003e] ? child_rip+0xa/0x20\n\nCoinciding with stack trace is the following message:\n\n    ib0: ib_address_create failed\n\nThe code below in ipoib_mcast_join_finish() will note the above\nfailure in the address handle but otherwise continue:\n\n                ah \u003d ipoib_create_ah(dev, priv-\u003epd, \u0026av);\n                if (!ah) {\n                        ipoib_warn(priv, \"ib_address_create failed\\n\");\n                } else {\n\nThe while loop at the bottom of ipoib_mcast_join_finish() will attempt\nto send queued multicast packets in mcast-\u003epkt_queue and eventually\nend up in ipoib_mcast_send():\n\n        if (!mcast-\u003eah) {\n                if (skb_queue_len(\u0026mcast-\u003epkt_queue) \u003c IPOIB_MAX_MCAST_QUEUE)\n                        skb_queue_tail(\u0026mcast-\u003epkt_queue, skb);\n                else {\n                        ++dev-\u003estats.tx_dropped;\n                        dev_kfree_skb_any(skb);\n                }\n\nMy read is that the code will requeue the packet and return to the\nipoib_mcast_join_finish() while loop and the stage is set for the\n\"hung\" task diagnostic as the while loop never sees a non-NULL ah, and\nwill do nothing to resolve.\n\nThere are GFP_ATOMIC allocates in the provider routines, so this is\npossible and should be dealt with.\n\nThe test that induced the failure is associated with a host SM on the\nsame server during a shutdown.\n\nThis patch causes ipoib_mcast_join_finish() to exit with an error\nwhich will flush the queued mcast packets.  Nothing is done to unwind\nthe QP attached state so that subsequent sends from above will retry\nthe join.\n\nReviewed-by: Ram Vepa \u003cram.vepa@qlogic.com\u003e\nReviewed-by: Gary Leshner \u003cgary.leshner@qlogic.com\u003e\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "8ee887d74b3d741991edaa1836d22636c28926d9",
      "tree": "868723496669854e18779c4af3dfcee6575dd517",
      "parents": [
        "042f36e1560cedfe524607791fa44607a3121f63"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Wed Nov 09 17:07:22 2011 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Nov 28 12:17:33 2011 -0800"
      },
      "message": "IB/qib: Fix over-scheduling of QSFP work\n\nDon\u0027t over-schedule QSFP work on driver initialization.  It could end\nup being run simultaneously on two different CPUs resulting in bad\nEEPROM reads.  In combination with setting the physical IB link state\nprior to the IBC being brought out of reset, this can cause the link\nstate machine to start training early with wrong settings.\n\nSigned-off-by: Mitko Haralanov \u003cmitko@qlogic.com\u003e\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "01b225e18fcb540c5d615ca79ef832473451f118",
      "tree": "6516f14b03d731700a6ed0baa6f0ca935fdcdd13",
      "parents": [
        "c34c97ad8c7c3cdacab2327235c2df4454ff1a06"
      ],
      "author": {
        "name": "Kumar Sanghvi",
        "email": "kumaras@chelsio.com",
        "time": "Mon Nov 28 22:09:15 2011 +0530"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Nov 28 11:58:07 2011 -0800"
      },
      "message": "RDMA/cxgb4: Fix retry with MPAv1 logic for MPAv2\n\nFix logic so that we don\u0027t retry with MPAv1 once we have done that\nalready.  Otherwise, we end up retrying with MPAv1 even when its not\nneeded on getting peer aborts - and this could lead to kernel panic.\n\nSigned-off-by: Kumar Sanghvi \u003ckumaras@chelsio.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "c34c97ad8c7c3cdacab2327235c2df4454ff1a06",
      "tree": "846a82fd59ecd0d4730d91c1023584be0b1e8d40",
      "parents": [
        "1ea6b8f48918282bdca0b32a34095504ee65bab5"
      ],
      "author": {
        "name": "Jonathan Lallinger",
        "email": "jonathan@ogc.us",
        "time": "Thu Oct 20 13:25:14 2011 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Nov 28 11:53:05 2011 -0800"
      },
      "message": "RDMA/cxgb4: Fix iw_cxgb4 count_rcqes() logic\n\nFix another place in the code where logic dealing with the t4_cqe was\nusing the wrong QID.  This fixes the counting logic so that it tests\nagainst the SQ QID instead of the RQ QID when counting RCQES.\n\nSigned-off by: Jonathan Lallinger \u003cjonathan@ogc.us\u003e\nSigned-off by: Steve Wise \u003cswise@ogc.us\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "4e3fd7a06dc20b2d8ec6892233ad2012968fe7b6",
      "tree": "da3fbec7672ac6b967dfa31cec6c88f468a57fa2",
      "parents": [
        "40ba84993d66469d336099c5af74c3da5b73e28d"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Nov 21 03:39:03 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 22 16:43:32 2011 -0500"
      },
      "message": "net: remove ipv6_addr_copy()\n\nC assignment can handle struct in6_addr copying.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9ca36f7db29a1e4bde58fa7cf98b542c032b7180",
      "tree": "6fbdb669e9c4c66afc55425063984a5079820671",
      "parents": [
        "34324dc2bf27c1773045fea63cb11f7e2a6ad2b9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 16 18:05:50 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 16 18:05:50 2011 -0500"
      },
      "message": "infiniband: Update net drivers for netdev_features_t changes.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "042f36e1560cedfe524607791fa44607a3121f63",
      "tree": "f1becf10c844f2fbc9b2f52d2bf05e23bdd2d3c2",
      "parents": [
        "1ea6b8f48918282bdca0b32a34095504ee65bab5"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Tue Nov 08 13:27:31 2011 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Nov 08 10:37:53 2011 -0800"
      },
      "message": "IB/qib: Don\u0027t use schedule_work()\n\nIt was mistakenly introduced by dde05cbdf8b1 (\"IB/qib: Hold links\nuntil tuning data is available\").\n\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "32aaeffbd4a7457bf2f7448b33b5946ff2a960eb",
      "tree": "faf7ad871d87176423ff9ed1d1ba4d9c688fc23f",
      "parents": [
        "208bca0860406d16398145ddd950036a737c3c9d",
        "67b84999b1a8b1af5625b1eabe92146c5eb42932"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "message": "Merge branch \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\n* \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)\n  Revert \"tracing: Include module.h in define_trace.h\"\n  irq: don\u0027t put module.h into irq.h for tracking irqgen modules.\n  bluetooth: macroize two small inlines to avoid module.h\n  ip_vs.h: fix implicit use of module_get/module_put from module.h\n  nf_conntrack.h: fix up fallout from implicit moduleparam.h presence\n  include: replace linux/module.h with \"struct module\" wherever possible\n  include: convert various register fcns to macros to avoid include chaining\n  crypto.h: remove unused crypto_tfm_alg_modname() inline\n  uwb.h: fix implicit use of asm/page.h for PAGE_SIZE\n  pm_runtime.h: explicitly requires notifier.h\n  linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h\n  miscdevice.h: fix up implicit use of lists and types\n  stop_machine.h: fix implicit use of smp.h for smp_processor_id\n  of: fix implicit use of errno.h in include/linux/of.h\n  of_platform.h: delete needless include \u003clinux/module.h\u003e\n  acpi: remove module.h include from platform/aclinux.h\n  miscdevice.h: delete unnecessary inclusion of module.h\n  device_cgroup.h: delete needless include \u003clinux/module.h\u003e\n  net: sch_generic remove redundant use of \u003clinux/module.h\u003e\n  net: inet_timewait_sock doesnt need \u003clinux/module.h\u003e\n  ...\n\nFix up trivial conflicts (other header files, and  removal of the ab3550 mfd driver) in\n - drivers/media/dvb/frontends/dibx000_common.c\n - drivers/media/video/{mt9m111.c,ov6650.c}\n - drivers/mfd/ab3550-core.c\n - include/linux/dmaengine.h\n"
    },
    {
      "commit": "b8108d6886946cb50434bdbb0214ed81885da8b8",
      "tree": "804ec28a5cc61362b04e130d9d2dec6908758d16",
      "parents": [
        "52439540ea30396982b69662dd21aede6b336288",
        "e4221314a593b00e035f70efbef52021f9a3a5fc",
        "30ab7e230b996f750d4fc24b6bf8214e83effa12"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Nov 04 09:36:04 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Nov 04 09:36:04 2011 -0700"
      },
      "message": "Merge branches \u0027iser\u0027, \u0027mthca\u0027 and \u0027qib\u0027 into for-next\n"
    },
    {
      "commit": "30ab7e230b996f750d4fc24b6bf8214e83effa12",
      "tree": "83028e5d4700e44bd7d7e99c9e0251b39d5d3045",
      "parents": [
        "f470f8d4e702593ee1d0852871ad80373bce707b"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Fri Nov 04 08:26:52 2011 -0400"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Nov 04 09:35:44 2011 -0700"
      },
      "message": "IB/qib: Fix panic in RC error flushing logic\n\nThe following panic can occur when flushing a QP:\n\n    RIP: 0010:[\u003cffffffffa0168e8b\u003e]  [\u003cffffffffa0168e8b\u003e] qib_send_complete+0x3b/0x190 [ib_qib]\n    RSP: 0018:ffff8803cdc6fc90  EFLAGS: 00010046\n    RAX: 0000000000000000 RBX: ffff8803d84ba000 RCX: 0000000000000000\n    RDX: 0000000000000005 RSI: ffffc90015a53430 RDI: ffff8803d84ba000\n    RBP: ffff8803cdc6fce0 R08: ffff8803cdc6fc90 R09: 0000000000000001\n    R10: 00000000ffffffff R11: 0000000000000000 R12: ffff8803d84ba0c0\n    R13: ffff8803d84ba5cc R14: 0000000000000800 R15: 0000000000000246\n    FS:  0000000000000000(0000) GS:ffff880036600000(0000) knlGS:0000000000000000\n    CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b\n    CR2: 0000000000000034 CR3: 00000003e44f9000 CR4: 00000000000406f0\n    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n    DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n    Process qib/0 (pid: 1350, threadinfo ffff8803cdc6e000, task ffff88042728a100)\n    Stack:\n     53544c5553455201 0000000100000005 0000000000000000 ffff8803d84ba000\n     0000000000000000 0000000000000000 0000000000000000 0000000000000000\n     0000000000000000 0000000000000001 ffff8803cdc6fd30 ffffffffa0165d7a\n    Call Trace:\n     [\u003cffffffffa0165d7a\u003e] qib_make_rc_req+0x36a/0xe80 [ib_qib]\n     [\u003cffffffffa0165a10\u003e] ?  qib_make_rc_req+0x0/0xe80 [ib_qib]\n     [\u003cffffffffa01698b3\u003e] qib_do_send+0xf3/0xb60 [ib_qib]\n     [\u003cffffffff814db757\u003e] ? thread_return+0x4e/0x777\n     [\u003cffffffffa01697c0\u003e] ? qib_do_send+0x0/0xb60 [ib_qib]\n     [\u003cffffffff81088bf0\u003e] worker_thread+0x170/0x2a0\n     [\u003cffffffff8108e530\u003e] ?  autoremove_wake_function+0x0/0x40\n     [\u003cffffffff81088a80\u003e] ? worker_thread+0x0/0x2a0\n     [\u003cffffffff8108e1c6\u003e] kthread+0x96/0xa0\n     [\u003cffffffff8100c1ca\u003e] child_rip+0xa/0x20\n     [\u003cffffffff8108e130\u003e] ? kthread+0x0/0xa0\n     [\u003cffffffff8100c1c0\u003e] ? child_rip+0x0/0x20\n    RIP  [\u003cffffffffa0168e8b\u003e] qib_send_complete+0x3b/0x190 [ib_qib]\n\nThe RC error state flush logic in qib_make_rc_req() could return all\nof the acked wqes and potentially have emptied the queue.  It would\nthen unconditionally try return a flush completion via\nqib_send_complete() for an invalid wqe, or worse a valid one that is\nnot queued. The panic results when the completion code tries to\nmaintain an MR reference count for a NULL MR.\n\nThis fix modifies logic to only send one completion per\nqib_make_rc_req() call and changing the completion status from\nIB_WC_SUCCESS to IB_WC_WR_FLUSH_ERR as the completions progress.\n\nThe outer loop will call as many times as necessary to flush the queue.\n\nReviewed-by: Ram Vepa \u003cram.vepa@qlogic.com\u003e\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "52439540ea30396982b69662dd21aede6b336288",
      "tree": "2604bc377ec689ce1a23fa45e1a317196bd96a82",
      "parents": [
        "2c4ce609347f2a45792c8d9ebb5af11217766cb6"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Fri Nov 04 00:21:27 2011 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Nov 04 09:32:44 2011 -0700"
      },
      "message": "IB/iser: DMA unmap TX bufs used for iSCSI/iSER headers\n\nThe current driver never does DMA unmapping on these buffers.  Fix that\nby adding DMA unmapping to the task cleanup callback, and DMA mapping to\nthe task init function (drop the headers_initialized micro-optimization).\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "2c4ce609347f2a45792c8d9ebb5af11217766cb6",
      "tree": "a78125a35d5a277d395003651b4241eafc7dd52d",
      "parents": [
        "f470f8d4e702593ee1d0852871ad80373bce707b"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Fri Nov 04 00:19:46 2011 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Nov 04 09:30:52 2011 -0700"
      },
      "message": "IB/iser: Use separate buffers for the login request/response\n\nThe driver counted on the transactional nature of iSCSI login/text\nflows and used the same buffer for both the request and the response.\nWe also went further and did DMA mapping only once, with\nDMA_FROM_DEVICE, which violates the DMA mapping API.  Fix that by\nusing different buffers, one for requests and one for responses, and\nuse the correct DMA mapping direction for each.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "e4221314a593b00e035f70efbef52021f9a3a5fc",
      "tree": "6ffdc286c4f414851c52086bfd7aa3a1e0e5e70d",
      "parents": [
        "f470f8d4e702593ee1d0852871ad80373bce707b"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Nov 03 17:48:25 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Nov 03 17:48:25 2011 -0700"
      },
      "message": "IB/mthca: Fix buddy-\u003enum_free allocation size\n\nThe num_free field of mthca_buddy has a type of array of unsigned int\nwhile it was allocated as an array of pointers.  On 64-bit platforms\nthis allocates twice more than required.  Fix this by allocating the\ncorrect size for the type.\n\nThis is the same bug just fixed in mlx4 by Eli Cohen \u003celi@mellanox.co.il\u003e.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n\n"
    },
    {
      "commit": "f470f8d4e702593ee1d0852871ad80373bce707b",
      "tree": "85a67e65c5e5b9777639bd8f4c763a4cf8787e0e",
      "parents": [
        "dc47d3810cdcb4f32bfa31d50f26af97aced0638",
        "504255f8d0480cf293962adf4bc3aecac645ae71"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 01 10:51:38 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 01 10:51:38 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (62 commits)\n  mlx4_core: Deprecate log_num_vlan module param\n  IB/mlx4: Don\u0027t set VLAN in IBoE WQEs\u0027 control segment\n  IB/mlx4: Enable 4K mtu for IBoE\n  RDMA/cxgb4: Mark QP in error before disabling the queue in firmware\n  RDMA/cxgb4: Serialize calls to CQ\u0027s comp_handler\n  RDMA/cxgb3: Serialize calls to CQ\u0027s comp_handler\n  IB/qib: Fix issue with link states and QSFP cables\n  IB/mlx4: Configure extended active speeds\n  mlx4_core: Add extended port capabilities support\n  IB/qib: Hold links until tuning data is available\n  IB/qib: Clean up checkpatch issue\n  IB/qib: Remove s_lock around header validation\n  IB/qib: Precompute timeout jiffies to optimize latency\n  IB/qib: Use RCU for qpn lookup\n  IB/qib: Eliminate divide/mod in converting idx to egr buf pointer\n  IB/qib: Decode path MTU optimization\n  IB/qib: Optimize RC/UC code by IB operation\n  IPoIB: Use the right function to do DMA unmap pages\n  RDMA/cxgb4: Use correct QID in insert_recv_cqe()\n  RDMA/cxgb4: Make sure flush CQ entries are collected on connection close\n  ...\n"
    },
    {
      "commit": "504255f8d0480cf293962adf4bc3aecac645ae71",
      "tree": "5ae8663d2bc2eb9e796bfb689f3e462a14742e06",
      "parents": [
        "2be6053318aa4f2787b7bc5cf5160017d7d1586b",
        "615eb715ae10cbaa8079ab8cacf8f4596be4087a",
        "f7cc25d018f1e9af6767ee7774bbe83452e9fdf4",
        "d32ae393dbf0daf778f9e33b0bc6591cd102391e",
        "a5e12dff757b562bbecd6a2359fdc4c43d4d97de",
        "3e60a77ea218d1915bdc9127f88ab866fd2ac643",
        "787adb9d6ad9afb498a1580a7d8ad05f779c488a",
        "caf6e3f221ddc12ccabd1cd0ba149561db0090d4",
        "cb29688aaa4caa4d54df2976118fe99a839bb433",
        "0f0bee8bbc2b3e49baa703118041f99db9ef41a1",
        "16d99812d58b8af2df29cd337a74cd965b53da04",
        "42849b2697c36abdafa6aef64186b15055392046"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Nov 01 09:37:08 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Nov 01 09:37:08 2011 -0700"
      },
      "message": "Merge branches \u0027amso1100\u0027, \u0027cma\u0027, \u0027cxgb3\u0027, \u0027cxgb4\u0027, \u0027fdr\u0027, \u0027ipath\u0027, \u0027ipoib\u0027, \u0027misc\u0027, \u0027mlx4\u0027, \u0027misc\u0027, \u0027nes\u0027, \u0027qib\u0027 and \u0027xrc\u0027 into for-next\n"
    },
    {
      "commit": "bc3e53f682d93df677dbd5006a404722b3adfe18",
      "tree": "f386c29f13626e2b7d98d5a52525a78a9b59e447",
      "parents": [
        "f11c0ca501af89fc07b0d9f17531ba3b68a4ef39"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Mon Oct 31 17:07:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:46 2011 -0700"
      },
      "message": "mm: distinguish between mlocked and pinned pages\n\nSome kernel components pin user space memory (infiniband and perf) (by\nincreasing the page count) and account that memory as \"mlocked\".\n\nThe difference between mlocking and pinning is:\n\nA. mlocked pages are marked with PG_mlocked and are exempt from\n   swapping. Page migration may move them around though.\n   They are kept on a special LRU list.\n\nB. Pinned pages cannot be moved because something needs to\n   directly access physical memory. They may not be on any\n   LRU list.\n\nI recently saw an mlockalled process where mm-\u003elocked_vm became\nbigger than the virtual size of the process (!) because some\nmemory was accounted for twice:\n\nOnce when the page was mlocked and once when the Infiniband\nlayer increased the refcount because it needt to pin the RDMA\nmemory.\n\nThis patch introduces a separate counter for pinned pages and\naccounts them seperately.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Mike Marciniszyn \u003cinfinipath@qlogic.com\u003e\nCc: Roland Dreier \u003croland@kernel.org\u003e\nCc: Sean Hefty \u003csean.hefty@intel.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fec14d2fcebe824377ef0305babc365d039f6b39",
      "tree": "9fa6b49e51183f84a9ca208a3125a7b221efb983",
      "parents": [
        "b108d9764cff25262bf764542ed1998d3e568962"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Tue Aug 30 12:32:52 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:31:36 2011 -0400"
      },
      "message": "infiniband: add moduleparam.h to drivers/infiniband as required\n\nThese files were getting the moduleparam infrastructure from the\nimplicit presence of module.h being everywhere, but that is going\naway soon.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "b108d9764cff25262bf764542ed1998d3e568962",
      "tree": "12e08e711d77d0f84e4b2fe905a1219dc91c7e46",
      "parents": [
        "e4dd23d753c3cb0d8533d353069e8b2e8a666360"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Fri May 27 15:29:33 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:31:35 2011 -0400"
      },
      "message": "infiniband: add in export.h for files using EXPORT_SYMBOL/THIS_MODULE\n\nThese were getting it implicitly via device.h --\u003e module.h but\nwe are going to stop that when we clean up the headers.\n\nFix these in advance so the tree remains biscect-clean.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "e4dd23d753c3cb0d8533d353069e8b2e8a666360",
      "tree": "8c28dcf2675a55549689fdee90f8ec0a2fb23cf8",
      "parents": [
        "fc87af74af7f856bb8e7585308fb1fdaaa69ec73"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Fri May 27 15:35:46 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:31:35 2011 -0400"
      },
      "message": "infiniband: Fix up module files that need to include module.h\n\nThey had been getting it implicitly via device.h but we can\u0027t\nrely on that for the future, due to a pending cleanup so fix\nit now.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "fc87af74af7f856bb8e7585308fb1fdaaa69ec73",
      "tree": "bc8cfa53f4326402b8c91ead8d0e3cd2982be712",
      "parents": [
        "355b200bacdb6017669cdc5bc9e7b1037aac42a2"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Fri May 27 13:27:45 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:31:34 2011 -0400"
      },
      "message": "infiniband: Fix up users implicitly relying on getting stat.h\n\nThey get it via module.h (via device.h) but we want to clean that up.\nWhen we do, we\u0027ll get things like:\n\n  CC [M]  drivers/infiniband/core/sysfs.o\n  sysfs.c:361: error: \u0027S_IRUGO\u0027 undeclared here (not in a function)\n  sysfs.c:654: error: \u0027S_IWUSR\u0027 undeclared here (not in a function)\n\nso add in the stat header it is using explicitly in advance.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "80a2dcd8d05c11d42f4e606d7a5f3eaa2794ab34",
      "tree": "4407b7481a5382bc10e5f91c77dec3b98f7f8b9c",
      "parents": [
        "bcacb897569f0e7aab7643b22567d8de22ef9dfc"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Mon Oct 10 10:54:42 2011 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Oct 31 11:57:51 2011 -0700"
      },
      "message": "IB/mlx4: Don\u0027t set VLAN in IBoE WQEs\u0027 control segment\n\nThere\u0027s no need to set the vlan-related fields in an IBoE send WQE\ncontrol segment:\n\n - the vlan to be used by a UD QP is set in the datagram segment.\n - for GSI (CM) QP, all the headers down to 8021q and MAC are built by\n   the software anyway.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "bcacb897569f0e7aab7643b22567d8de22ef9dfc",
      "tree": "3f04a8eb2b01b203edc2ca4bb3278cf7016ca582",
      "parents": [
        "a8312755db7ac800c83ec036058c3109892e0949"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Mon Oct 10 10:53:41 2011 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Oct 31 11:55:15 2011 -0700"
      },
      "message": "IB/mlx4: Enable 4K mtu for IBoE\n\nThe IBoE port MTU is derived from the corresponding Ethernet netdevice\nMTU, which can support jumbo frames of 9K, and hence surely supports\nthe max IB mtu of 4K.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "d32ae393dbf0daf778f9e33b0bc6591cd102391e",
      "tree": "a2f79e3e262ebb1454c737fc074e14b6f5e5a020",
      "parents": [
        "581bbe2cd0694a935e0c3ccd7f011e10094f1df6"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@ogc.us",
        "time": "Tue Oct 25 16:38:30 2011 +0530"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Oct 31 11:36:08 2011 -0700"
      },
      "message": "RDMA/cxgb4: Mark QP in error before disabling the queue in firmware\n\nQPs need to be moved to error before telling the firwmare to shutdown\nthe queue.  Otherwise, the application can submit WRs that will never\nget fetched by the hardware and never flushed by the driver.\n\nSigned-off-by: Kumar Sanghvi \u003ckumaras@chelsio.com\u003e\nAcked-by: Steve Wise \u003cswsie@opengridcomputing.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "581bbe2cd0694a935e0c3ccd7f011e10094f1df6",
      "tree": "38e536efa0d05d76964b09836def2210a00b41b5",
      "parents": [
        "e14d62c05c0b8eff61c6fd46b4a78fb27c8cf38b"
      ],
      "author": {
        "name": "Kumar Sanghvi",
        "email": "kumaras@chelsio.com",
        "time": "Mon Oct 24 21:20:21 2011 +0530"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Oct 31 11:34:53 2011 -0700"
      },
      "message": "RDMA/cxgb4: Serialize calls to CQ\u0027s comp_handler\n\nCommit 01e7da6ba53c (\"RDMA/cxgb4: Make sure flush CQ entries are\ncollected on connection close\") introduced a potential problem where a\nCQ\u0027s comp_handler can get called simultaneously from different places\nin the iw_cxgb4 driver.  This does not comply with\nDocumentation/infiniband/core_locking.txt, which states that at a\ngiven point of time, there should be only one callback per CQ should\nbe active.\n\nThis problem was reported by Parav Pandit \u003cParav.Pandit@Emulex.Com\u003e.\nBased on discussion between Parav Pandit and Steve Wise, this patch\nfixes the above problem by serializing the calls to a CQ\u0027s\ncomp_handler using a spin_lock.\n\nReported-by: Parav Pandit \u003cParav.Pandit@Emulex.Com\u003e\nSigned-off-by: Kumar Sanghvi \u003ckumaras@chelsio.com\u003e\nAcked-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "f7cc25d018f1e9af6767ee7774bbe83452e9fdf4",
      "tree": "43d10d7038f8295b4ad92e938b0c705db5ce58b3",
      "parents": [
        "976d167615b64e14bc1491ca51d424e2ba9a5e84"
      ],
      "author": {
        "name": "Kumar Sanghvi",
        "email": "kumaras@chelsio.com",
        "time": "Mon Oct 24 21:20:22 2011 +0530"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Oct 31 11:33:17 2011 -0700"
      },
      "message": "RDMA/cxgb3: Serialize calls to CQ\u0027s comp_handler\n\niw_cxgb3 has a potential problem where a CQ\u0027s comp_handler can get\ncalled simultaneously from different places in iw_cxgb3 driver.  This\ndoes not comply with Documentation/infiniband/core_locking.txt, which\nstates that at a given point of time, there should be only one\ncallback per CQ should be active.\n\nSuch problem was reported by Parav Pandit \u003cParav.Pandit@Emulex.Com\u003e\nfor iw_cxgb4 driver.  Based on discussion between Parav Pandit and\nSteve Wise, this patch fixes the above problem by serializing the\ncalls to a CQ\u0027s comp_handler using a spin_lock.\n\nSigned-off-by: Kumar Sanghvi \u003ckumaras@chelsio.com\u003e\nAcked-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "16d99812d58b8af2df29cd337a74cd965b53da04",
      "tree": "b370dec6b40a274ef2192414ce6377c974dea8d5",
      "parents": [
        "dde05cbdf8b1c404344c370fe6e18ff160d6da6a"
      ],
      "author": {
        "name": "Mitko Haralanov",
        "email": "mitko@qlogic.com",
        "time": "Wed Oct 19 18:46:47 2011 -0400"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Oct 31 10:57:59 2011 -0700"
      },
      "message": "IB/qib: Fix issue with link states and QSFP cables\n\nFix an issue where the link would come up after replugging a cable\neven if it has been DISABLED manually.\n\nSigned-off-by: Mitko Haralanov \u003cmitko@qlogic.com\u003e\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "ec7ae517537ae5c7b0b2cd7f562dfa3e7a05b954",
      "tree": "e6b0c64a51a7c0aa0efd09d4f7a80872e3b1657a",
      "parents": [
        "97d2eb13a019ec09cc1a7ea2d3705c0b117b3c0d",
        "590134fa78fbdbe5fea78c7ae0b2c3364bc9572f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 28 16:44:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 28 16:44:18 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (204 commits)\n  [SCSI] qla4xxx: export address/port of connection (fix udev disk names)\n  [SCSI] ipr: Fix BUG on adapter dump timeout\n  [SCSI] megaraid_sas: Fix instance access in megasas_reset_timer\n  [SCSI] hpsa: change confusing message to be more clear\n  [SCSI] iscsi class: fix vlan configuration\n  [SCSI] qla4xxx: fix data alignment and use nl helpers\n  [SCSI] iscsi class: fix link local mispelling\n  [SCSI] iscsi class: Replace iscsi_get_next_target_id with IDA\n  [SCSI] aacraid: use lower snprintf() limit\n  [SCSI] lpfc 8.3.27: Change driver version to 8.3.27\n  [SCSI] lpfc 8.3.27: T10 additions for SLI4\n  [SCSI] lpfc 8.3.27: Fix queue allocation failure recovery\n  [SCSI] lpfc 8.3.27: Change algorithm for getting physical port name\n  [SCSI] lpfc 8.3.27: Changed worst case mailbox timeout\n  [SCSI] lpfc 8.3.27: Miscellanous logic and interface fixes\n  [SCSI] megaraid_sas: Changelog and version update\n  [SCSI] megaraid_sas: Add driver workaround for PERC5/1068 kdump kernel panic\n  [SCSI] megaraid_sas: Add multiple MSI-X vector/multiple reply queue support\n  [SCSI] megaraid_sas: Add support for MegaRAID 9360/9380 12GB/s controllers\n  [SCSI] megaraid_sas: Clear FUSION_IN_RESET before enabling interrupts\n  ...\n"
    },
    {
      "commit": "a5e12dff757b562bbecd6a2359fdc4c43d4d97de",
      "tree": "1a0a922fec52b6169a449949cd0483e46e138271",
      "parents": [
        "97285b78174423e5576b2e06aa45f64df009da5b"
      ],
      "author": {
        "name": "Marcel Apfelbaum",
        "email": "marcela@dev.mellanox.co.il",
        "time": "Mon Oct 03 19:04:20 2011 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Oct 28 11:36:16 2011 -0700"
      },
      "message": "IB/mlx4: Configure extended active speeds\n\n\nSet the extended active speeds based on the hardware configuration.\n\nSigned-off-by: Marcel Apfelbaum \u003cmarcela@dev.mellanox.co.il\u003e\nReviewed-by: Hal Rosenstock \u003chal@mellanox.com\u003e\n\n[ Move FDR-10 handling into ib_link_query_port().  - Roland ]\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "dde05cbdf8b1c404344c370fe6e18ff160d6da6a",
      "tree": "6c480da3c7e8e41ad6b24a51eaa27caeb6ea22b2",
      "parents": [
        "44d75d3d92304a1df8131f48b38de08df9011fa2"
      ],
      "author": {
        "name": "Mitko Haralanov",
        "email": "mitko@qlogic.com",
        "time": "Wed Oct 19 18:46:40 2011 -0400"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Oct 21 15:08:20 2011 -0700"
      },
      "message": "IB/qib: Hold links until tuning data is available\n\nHold the link state machine until the tuning data is read from the\nQSFP EEPROM so correct tuning settings are applied before the state\nmachine attempts to bring the link up.  Link is also held on cable\nunplug in case a different cable is used.\n\nSigned-off-by: Mitko Haralanov \u003cmitko@qlogic.com\u003e\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "44d75d3d92304a1df8131f48b38de08df9011fa2",
      "tree": "90330b16e725d62bb1ee9d1e35b640532d422ccc",
      "parents": [
        "9fd5473deb421eb7e5575a5f9d7e43ca67c04fe9"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Wed Oct 19 16:42:23 2011 -0400"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Oct 21 15:08:18 2011 -0700"
      },
      "message": "IB/qib: Clean up checkpatch issue\n\nThis was probably present from initial submission.\n\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "9fd5473deb421eb7e5575a5f9d7e43ca67c04fe9",
      "tree": "cf4314fee9e1e4f501ac1114ed200c004ebadf91",
      "parents": [
        "d0f2faf72d51dacf5c5e8dec7dca22d0395896e2"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Fri Sep 23 13:17:00 2011 -0400"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Oct 21 09:38:57 2011 -0700"
      },
      "message": "IB/qib: Remove s_lock around header validation\n\nReview of qib_ruc_check_hdr() shows that the s_lock is not required in\nthe normal case.  The r_lock is held in all cases, and protects the qp\nfields that are read.\n\nThe s_lock will be needed to around the call to qib_migrate_qp() to\ninsure that the send engine sees a consistent set of fields.\n\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "d0f2faf72d51dacf5c5e8dec7dca22d0395896e2",
      "tree": "9cdae5f02f9d17dac30c9a140123dc912d897278",
      "parents": [
        "af061a644a0e4d4778fe6cd2246479c1962e153b"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Fri Sep 23 13:16:49 2011 -0400"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Oct 21 09:38:56 2011 -0700"
      },
      "message": "IB/qib: Precompute timeout jiffies to optimize latency\n\nA new field is added to qib_qp called timeout_jiffies. It is\ninitialized upon create and modify.\n\nThe field is now used instead of a computation based on qp-\u003etimeout.\n\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "af061a644a0e4d4778fe6cd2246479c1962e153b",
      "tree": "01ed5c508274adc6e46f99d4091fffe70632711f",
      "parents": [
        "9e1c0e43257b6df1ef012dd37c3f0f93b1ee47af"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Fri Sep 23 13:16:44 2011 -0400"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Oct 21 09:38:54 2011 -0700"
      },
      "message": "IB/qib: Use RCU for qpn lookup\n\nThe heavy weight spinlock in qib_lookup_qpn() is replaced with RCU.\nThe hash list itself is now accessed via jhash functions instead of mod.\n\nThe changes should benefit multiple receive contexts in different\nprocessors by not contending for the lock just to read the hash\nstructures.\n\nThe patch also adds a lookaside_qp (pointer) and a lookaside_qpn in\nthe context.  The interrupt handler will test the current packet\u0027s qpn\nagainst lookaside_qpn if the lookaside_qp pointer is non-NULL.  The\npointer is NULL\u0027ed when the interrupt handler exits.\n\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "9e1c0e43257b6df1ef012dd37c3f0f93b1ee47af",
      "tree": "be40833860d385491b1ac8fa13dffe414954ee76",
      "parents": [
        "cc6ea1385b43487f6ef03bdc91416c8366d28311"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Fri Sep 23 13:16:39 2011 -0400"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Oct 21 09:38:52 2011 -0700"
      },
      "message": "IB/qib: Eliminate divide/mod in converting idx to egr buf pointer\n\nThe context init now saves a shift from rcvegrbufs_perchunk\nrcvegrbufs_perchunk_shift using ilog2.   A BUG_ON() protects the\npower of 2 assumption.\n\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "cc6ea1385b43487f6ef03bdc91416c8366d28311",
      "tree": "013266a6ebb9c9e810761677614bddd42a45932b",
      "parents": [
        "2fc109c890f7d9620cfed8d439be071a8b2a8bbd"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Fri Sep 23 13:16:34 2011 -0400"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Oct 21 09:38:50 2011 -0700"
      },
      "message": "IB/qib: Decode path MTU optimization\n\nStore both the encoded and decoded MTU in the QP structure as a minor\noptimization for UC/RC receive routines.\n\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "2fc109c890f7d9620cfed8d439be071a8b2a8bbd",
      "tree": "4d00e76ae4ea129a68321993bdb4190b3c7bca02",
      "parents": [
        "53ab1c6498371723c31b18400fab10a902a15a63"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Fri Sep 23 13:16:29 2011 -0400"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Oct 21 09:38:49 2011 -0700"
      },
      "message": "IB/qib: Optimize RC/UC code by IB operation\n\nThe memset for zeroing work completions had been unconditional.\n\nThis patch removes the memset and moves the zeroing into the work\ncompletion with a more explicit field by field set.  With this patch,\nnon-ONLY/non-LAST packets will avoid the overhead since they will not\ngenerate a completion.\n\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "9e903e085262ffbf1fc44a17ac06058aca03524a",
      "tree": "4acefc97ba38c1733474d25c0b2053b56af97db1",
      "parents": [
        "dd767856a36e00b631d65ebc4bb81b19915532d6"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Oct 18 21:00:24 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 19 03:10:46 2011 -0400"
      },
      "message": "net: add skb frag size accessors\n\nTo ease skb-\u003etruesize sanitization, its better to be able to localize\nall references to skb frags size.\n\nDefine accessors : skb_frag_size() to fetch frag size, and\nskb_frag_size_{set|add|sub}() to manipulate it.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "787adb9d6ad9afb498a1580a7d8ad05f779c488a",
      "tree": "9ab5e25a27fac6b66b1af0c903f3f9cb4517a69c",
      "parents": [
        "976d167615b64e14bc1491ca51d424e2ba9a5e84"
      ],
      "author": {
        "name": "Dotan Barak",
        "email": "dotanb@dev.mellanox.co.il",
        "time": "Tue Oct 18 15:22:14 2011 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Oct 18 10:08:31 2011 -0700"
      },
      "message": "IPoIB: Use the right function to do DMA unmap pages\n\nPages that were mapped using ib_dma_map_page() should be unmapped\nusing ib_dma_unmap_page().\n\nSigned-off-by: Dotan Barak \u003cdotanb@dev.mellanox.co.il\u003e\nReviewed-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "e14d62c05c0b8eff61c6fd46b4a78fb27c8cf38b",
      "tree": "bc47a8d6e12ac7d3ef12aa5de600d2bd5c62ff97",
      "parents": [
        "01e7da6ba53ca4d6189a1eae45607c0331c871f2"
      ],
      "author": {
        "name": "Jonathan Lallinger",
        "email": "jonathan@ogc.us",
        "time": "Thu Oct 13 13:56:59 2011 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Oct 14 14:23:40 2011 -0700"
      },
      "message": "RDMA/cxgb4: Use correct QID in insert_recv_cqe()\n\nWhen creating flushed receive CQEs, set the QPID field in the t4_cqe\nto the SQ QID and not the RQ QID.  Otherwise the poll code will not\nfind the correct QP context.\n\nSigned-off by: Jonathan Lallinger \u003cjonathan@ogc.us\u003e\nSigned-off by: Steve Wise \u003cswise@ogc.us\u003e\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "01e7da6ba53ca4d6189a1eae45607c0331c871f2",
      "tree": "01cf49e2294c455d0ee2536d47e9d2e5550057ec",
      "parents": [
        "9efe10a1e1a1ab1dba0af0f520e0697f6e81ebf1"
      ],
      "author": {
        "name": "Kumar Sanghvi",
        "email": "kumaras@chelsio.com",
        "time": "Thu Oct 13 13:51:30 2011 +0530"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Oct 14 14:23:04 2011 -0700"
      },
      "message": "RDMA/cxgb4: Make sure flush CQ entries are collected on connection close\n\nAt the time when a peer closes the connection, iw_cxgb4 will not send\na cq event if ibqp.uobject exists.  In that case, its possible for a\nuser application to get blocked in ibv_get_cq_event().\n\nTo resolve this, call the cq\u0027s comp_handler to unblock any read from\nibv_get_cq_event().  This will trigger userspace to poll the cq and\ncollect flush status completions for any pending work requests.\n\nSigned-off-by: Kumar Sanghvi \u003ckumaras@chelsio.com\u003e\nAcked-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "42849b2697c36abdafa6aef64186b15055392046",
      "tree": "40d683c9321a7d689aa8f0f765a31e4c4ad4fc02",
      "parents": [
        "0e0ec7e0638ef48e0c661873dfcc8caccab984c6"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Thu Aug 11 13:57:43 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:50:56 2011 -0700"
      },
      "message": "RDMA/uverbs: Export ib_open_qp() capability to user space\n\nAllow processes that share the same XRC domain to open an existing\nshareable QP.  This permits those processes to receive events on the\nshared QP and transfer ownership, so that any process may modify the\nQP.  The latter allows the creating process to exit, while a remaining\nprocess can still transition it for path migration purposes.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "0e0ec7e0638ef48e0c661873dfcc8caccab984c6",
      "tree": "54314a25a402244036a5417f098c70af441a56a8",
      "parents": [
        "0a1405da9952a72dd587829a3321695adde7dca1"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Mon Aug 08 15:31:51 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:49:51 2011 -0700"
      },
      "message": "RDMA/core: Export ib_open_qp() to share XRC TGT QPs\n\nXRC TGT QPs are shared resources among multiple processes.  Since the\ncreating process may exit, allow other processes which share the same\nXRC domain to open an existing QP.  This allows us to transfer\nownership of an XRC TGT QP to another process.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "0a1405da9952a72dd587829a3321695adde7dca1",
      "tree": "b22e101a1555a65b2f9c75fa1315f51a8c5f5f7e",
      "parents": [
        "18abd5ea571608a7c726fc56e21d3e31f9febfd0"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Thu Jun 02 11:32:15 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:44:18 2011 -0700"
      },
      "message": "IB/mlx4: Add support for XRC QPs\n\nSupport the creation of XRC INI and TGT QPs.  To handle the case where\na CQ or PD is not provided, we allocate them internally with the xrcd.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "18abd5ea571608a7c726fc56e21d3e31f9febfd0",
      "tree": "e2694cadf06a995e658ec30f7a3bd22835dcda7a",
      "parents": [
        "012a8ff577f95211c6ffd3b77a94c34ebae009b6"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Thu Jun 02 10:43:26 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:43:46 2011 -0700"
      },
      "message": "IB/mlx4: Add support for XRC SRQs\n\nAllow the user to create XRC SRQs.  This patch is based on a patch\nfrom Jack Morgenstrein \u003cjackm@dev.mellanox.co.il\u003e.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "012a8ff577f95211c6ffd3b77a94c34ebae009b6",
      "tree": "7d1e8d3ca131cc46ca12e879c4554870e0be76f2",
      "parents": [
        "2622e18ef407a8e8e3ddc3d6f0c77b756c493798"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Thu Jun 02 09:01:33 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:43:03 2011 -0700"
      },
      "message": "IB/mlx4: Add support for XRC domains\n\nSupport creating and destroying XRC domains.  Any sharing of the XRCD\nis managed above the low-level driver.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "2622e18ef407a8e8e3ddc3d6f0c77b756c493798",
      "tree": "9efa00db02370ff8da639f83eb397f017fd94fe2",
      "parents": [
        "18c441a6c3741991bfb87a3c6c541d30f0eb9c7c"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Mon May 30 22:30:46 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:42:06 2011 -0700"
      },
      "message": "IB/cm: Do not automatically disconnect XRC TGT QPs\n\nBecause an XRC TGT QP can end up being shared among multiple\nprocesses, don\u0027t have the ib_cm automatically send a DREQ when the\nuserspace process that owns the ib_cm_id exits.  Disconnect can be\ninitiated by the user directly; otherwise, the owner of the XRC INI QP\ncontrols the connection.\n\nNote that as a result of the process exiting, the ib_cm will stop\ntracking the XRC connection on the target side.  For the purposes of\ndisconnecting, this isn\u0027t a big deal.  The ib_cm will respond to the\nDREQ appropriately.  For other messages, mainly LAP, the CM will\nreject the request, since there\u0027s no one available to route the\nrequest to.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "18c441a6c3741991bfb87a3c6c541d30f0eb9c7c",
      "tree": "560fed8fd7d8c535603ab9e74550cd76cff9d7b9",
      "parents": [
        "638ef7a6c6a599b2e4c00ebf35d281721d2a42f6"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Sat May 28 23:26:06 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:41:36 2011 -0700"
      },
      "message": "RDMA/cma: Support XRC QPs\n\nAllow users to connect XRC QPs through the rdma_cm.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "638ef7a6c6a599b2e4c00ebf35d281721d2a42f6",
      "tree": "13a1e34b0c4cccbffba11ed71cad28bbcfd03fda",
      "parents": [
        "2d2e94152928209de13dea0535242c0e457bdcbb"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Tue Jun 14 16:31:53 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:40:36 2011 -0700"
      },
      "message": "RDMA/ucm: Allow user to specify QP type when creating id\n\nAllow the user to indicate the QP type separately from the port space\nwhen allocating an rdma_cm_id.  With RDMA_PS_IB, there is no longer a\n1:1 relationship between the QP type and port space, so we need to\nswitch on the QP type to select between UD and connected QPs.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "2d2e94152928209de13dea0535242c0e457bdcbb",
      "tree": "81405715a043ad9896085cdcd6565c0b7355fdee",
      "parents": [
        "ef70044647b260cb6b7863f392384a06670d0b2a"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Sat May 28 21:56:39 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:39:52 2011 -0700"
      },
      "message": "RDMA/cm: Define new RDMA port space specific to IB\n\nAdd RDMA_PS_IB.  XRC QP types will use the IB port space when operating\nover the RDMA CM.  For the \u0027IP protocol\u0027 field value, we select 0x3F,\nwhich is listed as being for \u0027any local network\u0027.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "ef70044647b260cb6b7863f392384a06670d0b2a",
      "tree": "8f916d6155e93dfe02886e20c23fccb480aae5f2",
      "parents": [
        "d26a360b776d527429cf13300837711b0b2fde20"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Tue Aug 02 11:08:22 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:38:35 2011 -0700"
      },
      "message": "IB/cm: Update XRC support based on XRC annex errata\n\nThe XRC annex was updated to have XRC behave more like RD. Specifically,\nthe XRC TGT QPN moves from the local QPN to local EECN field.  Lookup of\nSRQN is done using the REQ/REP protocol.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "d26a360b776d527429cf13300837711b0b2fde20",
      "tree": "70462d3c1f74f18ac212960deebd1edba307530e",
      "parents": [
        "b93f3c18727634a2e847f067e549762d096921cf"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Fri May 13 10:46:20 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:37:55 2011 -0700"
      },
      "message": "IB/cm: Update protocol to support XRC\n\nUpdate the REQ and REP messages to support XRC connection setup\naccording to the XRC Annex.  Several existing fields must be set to 0 or\n1 when connecting XRC QPs, and a reserved field is changed to an\nextended transport type.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "b93f3c18727634a2e847f067e549762d096921cf",
      "tree": "33157295d2d637a6592b1606b28cd98eae15d1c1",
      "parents": [
        "9977f4f64bfeb5d907a793a6880aab2d43b0bed2"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Fri May 27 00:00:12 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:37:07 2011 -0700"
      },
      "message": "RDMA/uverbs: Export XRC TGT QPs to user space\n\nAllow user space to operate on XRC TGT QPs the same way as other types\nof QPs, with one notable exception: since XRC TGT QPs may be shared\namong multiple processes, the XRC TGT QP is allowed to exist beyond the\nlifetime of the creating process.\n\nThe process that creates the QP is allowed to destroy it, but if the\nprocess exits without destroying the QP, then the QP will be left bound\nto the lifetime of the XRCD.\n\nTGT QPs are not associated with CQs or a PD.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "9977f4f64bfeb5d907a793a6880aab2d43b0bed2",
      "tree": "0cb064c43fcaa8c7289e6d410ed1f63e9e80e4e6",
      "parents": [
        "8541f8de0583f562c652008a4e7a65e537842a7e"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Thu May 26 08:17:04 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:32:27 2011 -0700"
      },
      "message": "RDMA/uverbs: Export XRC INI QPs to userspace\n\nXRC INI QPs are similar to send only RC QPs.  Allow user space to create\nINI QPs.  Note that INI QPs do not require receive CQs.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "8541f8de0583f562c652008a4e7a65e537842a7e",
      "tree": "af4e70e38a18534cf30d311aebc18e15285265a5",
      "parents": [
        "53d0bd1e7ff2fc626321f337c609fb76ae5d12c9"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Wed May 25 17:08:38 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:29:18 2011 -0700"
      },
      "message": "RDMA/uverbs: Export XRC SRQs to user space\n\nWe require additional information to create XRC SRQs than we can\nexchange using the existing create SRQ ABI.  Provide an enhanced create\nABI for extended SRQ types.\n\nBased on patches by Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nand Roland Dreier \u003croland@purestorage.com\u003e\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "53d0bd1e7ff2fc626321f337c609fb76ae5d12c9",
      "tree": "92f117b0356cebeb56c42cc76f0fb7ab84cc779a",
      "parents": [
        "d3d72d909e783d048ee39046aa7b4fa798a4dda8"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Tue May 24 08:33:46 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:21:24 2011 -0700"
      },
      "message": "RDMA/uverbs: Export XRC domains to user space\n\nAllow user space to create XRC domains.  Because XRCDs are expected to\nbe shared among multiple processes, we use inodes to identify an XRCD.\n\nBased on patches by Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "d3d72d909e783d048ee39046aa7b4fa798a4dda8",
      "tree": "b773014148c09565b02ad542295b5c6caa7fd498",
      "parents": [
        "b42b63cf0dde2af6eec462b2d6cca7d938702a28"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Thu May 26 23:06:44 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:20:27 2011 -0700"
      },
      "message": "RDMA/verbs: Cleanup XRC TGT QPs when destroying XRCD\n\nXRC TGT QPs are intended to be shared among multiple users and\nprocesses.  Allow the destruction of an XRC TGT QP to be done explicitly\nthrough ib_destroy_qp() or when the XRCD is destroyed.\n\nTo support destroying an XRC TGT QP, we need to track TGT QPs with the\nXRCD.  When the XRCD is destroyed, all tracked XRC TGT QPs are also\ncleaned up.\n\nTo avoid stale reference issues, if a user is holding a reference on a\nTGT QP, we increment a reference count on the QP.  The user releases the\nreference by calling ib_release_qp.  This releases any access to the QP\nfrom a user above verbs, but allows the QP to continue to exist until\ndestroyed by the XRCD.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "b42b63cf0dde2af6eec462b2d6cca7d938702a28",
      "tree": "abb1c06c6903bdc816b5a09a25ea3e4b2bda7842",
      "parents": [
        "418d51307d102e72e745031adb4f5ba0ddb646e2"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Mon May 23 19:59:25 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:16:19 2011 -0700"
      },
      "message": "RDMA/core: Add XRC QPs\n\nXRC (\"eXtended reliable connected\") is an IB transport that provides\nbetter scalability by allowing senders to specify which shared receive\nqueue (SRQ) should be used to receive a message, which essentially\nallows one transport context (QP connection) to serve multiple\ndestinations (as long as they share an adapter, of course).\n\nXRC communication is between an initiator (INI) QP and a target (TGT)\nQP.  Target QPs are associated with SRQs through an XRCD.  An XRC TGT QP\nbehaves like a receive-only RD QP.  XRC INI QPs behave similarly to RC\nQPs, except that work requests posted to an XRC INI QP must specify the\nremote SRQ that is the target of the work request.\n\nWe define two new QP types for XRC, to distinguish between INI and TGT\nQPs, and update the core layer to support XRC QPs.\n\nThis patch is derived from work by Jack Morgenstein\n\u003cjackm@dev.mellanox.co.il\u003e\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "418d51307d102e72e745031adb4f5ba0ddb646e2",
      "tree": "929f9e9331541535013a302e8ff9432480ae635e",
      "parents": [
        "96104eda01695a26da2c8f7423ec0ba3509c8c97"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Mon May 23 19:42:29 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:14:31 2011 -0700"
      },
      "message": "RDMA/core: Add XRC SRQ type\n\nXRC (\"eXtended reliable connected\") is an IB transport that provides\nbetter scalability by allowing senders to specify which shared receive\nqueue (SRQ) should be used to receive a message, which essentially\nallows one transport context (QP connection) to serve multiple\ndestinations (as long as they share an adapter, of course).\n\nXRC defines SRQs that are specifically used by XRC connections.  Expand\nthe SRQ code to support XRC SRQs.  An XRC SRQ is currently restricted to\nonly XRC use according to the IB XRC Annex.\n\nPortions of this patch were derived from work by\nJack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "96104eda01695a26da2c8f7423ec0ba3509c8c97",
      "tree": "04e38bfe564245ebd9a62738d54a111b2d24da4a",
      "parents": [
        "59991f94eb32e954aa767f659eb642461e9e8b37"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Mon May 23 16:31:36 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:13:26 2011 -0700"
      },
      "message": "RDMA/core: Add SRQ type field\n\nCurrently, there is only a single (\"basic\") type of SRQ, but with XRC\nsupport we will add a second.  Prepare for this by defining an SRQ type\nand setting all current users to IB_SRQT_BASIC.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    }
  ],
  "next": "59991f94eb32e954aa767f659eb642461e9e8b37"
}
