)]}'
{
  "log": [
    {
      "commit": "764f2dd92f5cd308d1c4372b33fea2b265c093f5",
      "tree": "f979329a2b5bfb0c92fc83e951d9ac7654c4ba78",
      "parents": [
        "c83188dcd76b1f0c17c31b4bbd8de57c634b19f8"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Apr 22 21:59:15 2010 -0400"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:12:28 2010 -0700"
      },
      "message": "rds: rcu-ize rds_ib_get_device()\n\nrds_ib_get_device is called very often as we turn an\nip address into a corresponding device structure.  It currently\ntake a global spinlock as it walks different lists to find active\ndevices.\n\nThis commit changes the lists over to RCU, which isn\u0027t very complex\nbecause they are not updated very often at all.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "c83188dcd76b1f0c17c31b4bbd8de57c634b19f8",
      "tree": "1d66c7996693e36d88f9fa7bebcb28281612675d",
      "parents": [
        "976673ee1b92d939168c8c1fbad3e16c45caa545"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Apr 21 13:09:28 2010 -0700"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:12:27 2010 -0700"
      },
      "message": "rds: per-rm flush_wait waitq\n\nThis removes a global waitqueue used to wait for rds messages\nand replaces it with a waitqueue inside the rds_message struct.\n\nThe global waitqueue turns into a global lock and significantly\nbottlenecks operations on large machines.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "976673ee1b92d939168c8c1fbad3e16c45caa545",
      "tree": "36c682f96789118bebe0c14e3a5a5353b184a22b",
      "parents": [
        "ce47f52f42e69d48d1b63fa618fce9cd7ffa9417"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Apr 21 13:04:43 2010 -0700"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:12:26 2010 -0700"
      },
      "message": "rds: switch to rwlock on bind_lock\n\nThe bind_lock is almost entirely readonly, but it gets\nhammered during normal operations and is a major bottleneck.\n\nThis commit changes it to an rwlock, which takes it from 80%\nof the system time on a big numa machine down to much lower\nnumbers.\n\nA better fix would involve RCU, which is done in a later commit\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "ce47f52f42e69d48d1b63fa618fce9cd7ffa9417",
      "tree": "6abfde17a22d48b2659ae33e69b69a3349afb749",
      "parents": [
        "9e29db0e3645cafa980e68a9c717a761448389e1"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Thu Apr 15 17:19:29 2010 -0700"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:12:25 2010 -0700"
      },
      "message": "RDS: Update comments in rds_send_xmit()\n\nUpdate comments to reflect changes in previous commit.\n\nKeeping as separate commits due to different authorship.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "9e29db0e3645cafa980e68a9c717a761448389e1",
      "tree": "4ce87432acbda8e16c27c97f3d1ae5339bb53559",
      "parents": [
        "acfcd4d4ec4ed8cb504f96d4fabb7a94029b362b"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Apr 15 16:38:14 2010 -0400"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:12:24 2010 -0700"
      },
      "message": "RDS: Use a generation counter to avoid rds_send_xmit loop\n\nrds_send_xmit is required to loop around after it releases the lock\nbecause someone else could done a trylock, found someone working on the\nlist and backed off.\n\nBut, once we drop our lock, it is possible that someone else does come\nin and make progress on the list.  We should detect this and not loop\naround if another process is actually working on the list.\n\nThis patch adds a generation counter that is bumped every time we\nget the lock and do some send work.  If the retry notices someone else\nhas bumped the generation counter, it does not need to loop around and\ncontinue working.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "acfcd4d4ec4ed8cb504f96d4fabb7a94029b362b",
      "tree": "af63be50f94cdcb0338095142b1890b75f7ff2e8",
      "parents": [
        "a40aa9233aa22d69212d02f92e5b607bd4d658f4"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Mar 31 18:56:25 2010 -0700"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:12:23 2010 -0700"
      },
      "message": "RDS: Get pong working again\n\nCall send_xmit() directly from pong()\n\nSet pongs as op_active\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "a40aa9233aa22d69212d02f92e5b607bd4d658f4",
      "tree": "f8c60fc02cb5ab58ea47fe5d381c140074149bbc",
      "parents": [
        "fcc5450c6386526034edc437e4cb2c67a6fdd7e9"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Mon Mar 29 17:10:01 2010 -0700"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:12:22 2010 -0700"
      },
      "message": "RDS: Do wait_event_interruptible instead of wait_event\n\nCan\u0027t see a reason not to allow signals to interrupt the wait.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "fcc5450c6386526034edc437e4cb2c67a6fdd7e9",
      "tree": "87b98163a69413de3c14a37220edf22350cb25d9",
      "parents": [
        "51e2cba8b5936c13b40f0fa11aa4e84683dbc751"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Mon Mar 29 17:08:49 2010 -0700"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:12:21 2010 -0700"
      },
      "message": "RDS: Remove send_quota from send_xmit()\n\nThe purpose of the send quota was really to give fairness\nwhen different connections were all using the same\nworkq thread to send backlogged msgs -- they could only send\nso many before another connection could make progress.\n\nNow that each connection is pushing the backlog from its\ncompletion handler, they are all guaranteed to make progress\nand the quota isn\u0027t needed any longer.\n\nA thread *will* have to send all previously queued data, as well\nas any further msgs placed on the queue while while c_send_lock\nwas held. In a pathological case a single process can get\nroped into doing this for long periods while other threads\nget off free. But, since it can only do this until the transport\nreports full, this is a bounded scenario.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "51e2cba8b5936c13b40f0fa11aa4e84683dbc751",
      "tree": "13a6924d085f0e6e734ad1a2a43c1d3af5208101",
      "parents": [
        "ab1a6926f589c51e7a57ce7544d85272c4acc854"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Mon Mar 29 17:47:30 2010 -0700"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:12:20 2010 -0700"
      },
      "message": "RDS: Move atomic stats from general to ib-specific area\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "ab1a6926f589c51e7a57ce7544d85272c4acc854",
      "tree": "dbe19519db76e5dea8d01864fcd4c39441d26b64",
      "parents": [
        "cf4b7389ee812817deeb11da1422004e01b50646"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Mon Mar 29 16:52:12 2010 -0700"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:12:19 2010 -0700"
      },
      "message": "RDS: rds_message_unmapped() doesn\u0027t need to check if queue active\n\nIf the queue has nobody on it, then wake_up does nothing.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "cf4b7389ee812817deeb11da1422004e01b50646",
      "tree": "318d1e1da095880a19fc41992a3b57e9190e3b23",
      "parents": [
        "f2ec76f288118fb18449402d75383212cbcb6762"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Mon Mar 29 16:50:54 2010 -0700"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:12:18 2010 -0700"
      },
      "message": "RDS: Fix locking in send on m_rs_lock\n\nDo not nest m_rs_lock under c_lock\n\nDisable interrupts in {rdma,atomic}_send_complete\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "f2ec76f288118fb18449402d75383212cbcb6762",
      "tree": "0b5969496be44c1c94ec73fec1d97d7ccc88fcc7",
      "parents": [
        "2fa57129df61bf3fb7d90c5486fe15df94091f61"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Mon Mar 29 16:46:46 2010 -0700"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:12:17 2010 -0700"
      },
      "message": "RDS: Use NOWAIT in message_map_pages()\n\nCan no longer block, so use NOWAIT.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "2fa57129df61bf3fb7d90c5486fe15df94091f61",
      "tree": "50d444045d3d116ae0771369a42f5b14f55a7c8f",
      "parents": [
        "a7d3a281483684f77e350b045af7f80a149fc4c7"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Mon Mar 29 16:45:40 2010 -0700"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:12:16 2010 -0700"
      },
      "message": "RDS: Bypass workqueue when queueing cong updates\n\nNow that rds_send_xmit() does not block, we can call it directly\ninstead of going through the helper thread.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "a7d3a281483684f77e350b045af7f80a149fc4c7",
      "tree": "d15beb494e7d7cf0691adec8ffebe098608c6620",
      "parents": [
        "2ad8099b58f274dc23bc866ca259d7e5db87fa1a"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Mon Mar 29 16:20:18 2010 -0700"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:12:15 2010 -0700"
      },
      "message": "RDS: Call rds_send_xmit() directly from sendmsg()\n\nrds_sendmsg() is calling the send worker function to\nsend the just-queued datagrams, presumably because it wants\nthe behavior where anything not sent will re-call the send\nworker. We now ensure all queued datagrams are sent by retrying\nfrom the send completion handler, so this isn\u0027t needed any more.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "2ad8099b58f274dc23bc866ca259d7e5db87fa1a",
      "tree": "e659d7178d1e2729fc306d3b5dbb4e5e5f47544a",
      "parents": [
        "049ee3f500954176a87f22e6ee3e98aecb1b8958"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Tue Mar 23 17:48:04 2010 -0700"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:12:13 2010 -0700"
      },
      "message": "RDS: rds_send_xmit() locking/irq fixes\n\nrds_message_put() cannot be called with irqs off, so move it after\nirqs are re-enabled.\n\nSpinlocks throughout the function do not to use _irqsave because\nthe lock of c_send_lock at top already disabled irqs.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "049ee3f500954176a87f22e6ee3e98aecb1b8958",
      "tree": "5dfd8cf3e6d9a7a15e80f6ddee7f4ce7c4aa7a8c",
      "parents": [
        "f17a1a55fb672d7f64be7f2e940ef5669e5efa0a"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Tue Mar 23 17:39:07 2010 -0700"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:12:12 2010 -0700"
      },
      "message": "RDS: Change send lock from a mutex to a spinlock\n\nThis change allows us to call rds_send_xmit() from a tasklet,\nwhich is crucial to our new operating model.\n\n* Change c_send_lock to a spinlock\n* Update stats fields \"sem_\" to \"_lock\"\n* Remove unneeded rds_conn_is_sending()\n\nAbout locking between shutdown and send -- send checks if the\nconnection is up. Shutdown puts the connection into\nDISCONNECTING. After this, all threads entering send will exit\nimmediately. However, a thread could be *in* send_xmit(), so\nshutdown acquires the c_send_lock to ensure everyone is out\nbefore proceeding with connection shutdown.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "f17a1a55fb672d7f64be7f2e940ef5669e5efa0a",
      "tree": "ed1651f64ade2676101766af764d11ef98e30f41",
      "parents": [
        "77dd550e5547846604ff6f90c4dc6bba4414e485"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Thu Mar 18 17:19:52 2010 -0700"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:12:11 2010 -0700"
      },
      "message": "RDS: Refill recv ring directly from tasklet\n\nPerformance is better if we use allocations that don\u0027t block\nto refill the receive ring. Since the whole reason we were\nkicking out to the worker thread was so we could do blocking\nallocs, we no longer need to do this.\n\nRemove gfp params from rds_ib_recv_refill(); we always use\nGFP_NOWAIT.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "77dd550e5547846604ff6f90c4dc6bba4414e485",
      "tree": "ea37afea7f0d857e01f214f703018426f6d8b920",
      "parents": [
        "e32b4a70495aac6a612e13f4c21db09dd756ff2c"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Mon Mar 22 15:22:04 2010 -0700"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:12:10 2010 -0700"
      },
      "message": "RDS: Stop supporting old cong map sending method\n\nWe now ask the transport to give us a rm for the congestion\nmap, and then we handle it normally. Previously, the\ntransport defined a function that we would call to send\na congestion map.\n\nConvert TCP and loop transports to new cong map method.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "e32b4a70495aac6a612e13f4c21db09dd756ff2c",
      "tree": "2f0a7187e5ddb8a79d5bec0cefade198b99ea138",
      "parents": [
        "ff3d7d36134ef7138803734fdbf91cc986ea7976"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Mar 03 19:25:21 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:12:09 2010 -0700"
      },
      "message": "RDS/IB: Do not wait for send ring to be empty on conn shutdown\n\nNow that we are signaling send completions much less, we are likely\nto have dirty entries in the send queue when the connection is\nshut down (on rmmod, for example.) These are cleaned up a little\nfurther down in conn_shutdown, but if we wait on the ring_empty_wait\nfor them, it\u0027ll never happen, and we hand on unload.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "ff3d7d36134ef7138803734fdbf91cc986ea7976",
      "tree": "77ef55e071f84f1b97550dbc6d6755cb3089339b",
      "parents": [
        "aa0a4ef4ac3a3c5ffa35e32520bfbc0922ef3630"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Mon Mar 01 14:03:09 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:12:08 2010 -0700"
      },
      "message": "RDS: Perform unmapping ops in stages\n\nPreviously, RDS would wait until the final send WR had completed\nand then handle cleanup. With silent ops, we do not know\nif an atomic, rdma, or data op will be last. This patch\nhandles any of these cases by keeping a pointer to the last\nop in the message in m_last_op.\n\nWhen the TX completion event fires, rds dispatches to per-op-type\ncleanup functions, and then does whole-message cleanup, if the\nlast op equalled m_last_op.\n\nThis patch also moves towards having op-specific functions take\nthe op struct, instead of the overall rm struct.\n\nrds_ib_connection has a pointer to keep track of a a partially-\ncompleted data send operation. This patch changes it from an\nrds_message pointer to the narrower rm_data_op pointer, and\nmodifies places that use this pointer as needed.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "aa0a4ef4ac3a3c5ffa35e32520bfbc0922ef3630",
      "tree": "13b078f08c9411e3f8f7052c79add9db228a00b6",
      "parents": [
        "2c3a5f9abb1dc5efdab8ba9a568b1661c65fd1e3"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Tue Apr 13 12:00:35 2010 -0700"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:12:07 2010 -0700"
      },
      "message": "RDS: Make sure cmsgs aren\u0027t used in improper ways\n\nIt hasn\u0027t cropped up in the field, but this code ensures it is\nimpossible to issue operations that pass an rdma cookie (DEST, MAP)\nin the same sendmsg call that\u0027s actually initiating rdma or atomic\nops.\n\nDisallowing this perverse-but-technically-allowed usage makes silent\nRDMA heuristics slightly easier.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "2c3a5f9abb1dc5efdab8ba9a568b1661c65fd1e3",
      "tree": "72b6a4c5298fecf46637987fd8ae42296dc90a97",
      "parents": [
        "7e3bd65ebfd5d6cd76b8b979920c632d6e6b4b2a"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Mon Mar 01 16:10:40 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:12:06 2010 -0700"
      },
      "message": "RDS: Add flag for silent ops. Do atomic op before RDMA\n\nAdd a flag to the API so users can indicate they want\nsilent operations. This is needed because silent ops\ncannot be used with USE_ONCE MRs, so we can\u0027t just\nassume silent.\n\nAlso, change send_xmit to do atomic op before rdma op if\nboth are present, and centralize the hairy logic to determine if\nwe want to attempt silent, or not.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "7e3bd65ebfd5d6cd76b8b979920c632d6e6b4b2a",
      "tree": "eb43094639021ef9c2d587b6e386be2aa9643dbe",
      "parents": [
        "940786eb0a0faf3f30898a1cc7c1540d54c1aff6"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Mon Mar 01 16:04:59 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:12:05 2010 -0700"
      },
      "message": "RDS: Move some variables around for consistency\n\nAlso, add a comment.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "940786eb0a0faf3f30898a1cc7c1540d54c1aff6",
      "tree": "a8ca1a5df3154b57cc43380ff529898215c625a3",
      "parents": [
        "ee4c7b47e46a9dea789aadb8279c8505f755b3ee"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Fri Feb 19 18:04:58 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:12:04 2010 -0700"
      },
      "message": "RDS: queue failure notifications for dropped atomic ops\n\nWhen dropping ops in the send queue, we notify the client\nof failed rdma ops they asked for notifications on, but not\natomic ops. It should be for both.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "ee4c7b47e46a9dea789aadb8279c8505f755b3ee",
      "tree": "6528275276bcd963b0d8fcd3fadac39e6d6c3e6f",
      "parents": [
        "372cd7dedfd1ea93a9ae8d9c282e910dc1b76773"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Feb 03 19:41:52 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:12:03 2010 -0700"
      },
      "message": "RDS: Add a warning if trying to allocate 0 sgs\n\nrds_message_alloc_sgs() only works when nents is nonzero.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "372cd7dedfd1ea93a9ae8d9c282e910dc1b76773",
      "tree": "248c672e0fd7fdb8015c51d02a0e74df8d9feef9",
      "parents": [
        "5b2366bd2835919e2e6a836e837eab4a9274bd46"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Feb 03 19:40:32 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:12:02 2010 -0700"
      },
      "message": "RDS: Do not set op_active in r_m_copy_from_user().\n\nDo not allocate sgs for data for 0-length datagrams\n\nSet data.op_active in rds_sendmsg() instead of\nrds_message_copy_from_user().\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "5b2366bd2835919e2e6a836e837eab4a9274bd46",
      "tree": "ee0be5166dfec4acc006a23ddc9ea5788dbb90ea",
      "parents": [
        "6c7cc6e4694dc464ae884332f2a322973497e3cf"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Feb 03 19:36:44 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:12:01 2010 -0700"
      },
      "message": "RDS: Rewrite rds_send_xmit\n\nSimplify rds_send_xmit().\n\nSend a congestion map (via xmit_cong_map) without\ndecrementing send_quota.\n\nMove resetting of conn xmit variables to end of loop.\n\nUpdate comments.\n\nImplement a special case to turn off sending an rds header\nwhen there is an atomic op and no other data.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "6c7cc6e4694dc464ae884332f2a322973497e3cf",
      "tree": "9af8e2e0874ce78f9a500e22a79f9274f5efe0fd",
      "parents": [
        "f8b3aaf2ba8ca9e27b47f8bfdff07c8b968f2c05"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Jan 27 18:04:18 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:11:59 2010 -0700"
      },
      "message": "RDS: Rename data op members prefix from m_ to op_\n\nFor consistency.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "f8b3aaf2ba8ca9e27b47f8bfdff07c8b968f2c05",
      "tree": "42de574167e590ca2e413314b6486df916cd1f31",
      "parents": [
        "d0ab25a83c4a08cd98b73a37d3f4c069f7b4f50b"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Mon Mar 01 14:11:53 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:11:58 2010 -0700"
      },
      "message": "RDS: Remove struct rds_rdma_op\n\nA big changeset, but it\u0027s all pretty dumb.\n\nstruct rds_rdma_op was already embedded in struct rm_rdma_op.\nRemove rds_rdma_op and put its members in rm_rdma_op. Rename\nmembers with \"op_\" prefix instead of \"r_\", for consistency.\n\nOf course this breaks a lot, so fixup the code accordingly.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "d0ab25a83c4a08cd98b73a37d3f4c069f7b4f50b",
      "tree": "d21dad44f483e684c35209f61b905b53ae582050",
      "parents": [
        "4324879df06ba4db01a0b455af2d003f117e6aa3"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Jan 27 16:15:48 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:11:57 2010 -0700"
      },
      "message": "RDS: purge atomic resources too in rds_message_purge()\n\nAdd atomic_free_op function, analogous to rdma_free_op,\nand call it in rds_message_purge().\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "4324879df06ba4db01a0b455af2d003f117e6aa3",
      "tree": "04629863049eb51433052669541ccd300b33c74a",
      "parents": [
        "241eef3e2f51fe4ad50abacd7f79c4e2d468197e"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Jan 27 16:07:30 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:11:56 2010 -0700"
      },
      "message": "RDS: Inline rdma_prepare into cmsg_rdma_args\n\ncmsg_rdma_args just calls rdma_prepare and does a little\narg checking -- not quite enough to justify its existence.\nPlus, it is the only caller of rdma_prepare().\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "241eef3e2f51fe4ad50abacd7f79c4e2d468197e",
      "tree": "020170cb9c3bea79d767b19cd7362a51b8446667",
      "parents": [
        "d37c9359056f4f07b37e59810f0ece1031e280b2"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Tue Jan 19 21:25:26 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:11:55 2010 -0700"
      },
      "message": "RDS: Implement silent atomics\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "d37c9359056f4f07b37e59810f0ece1031e280b2",
      "tree": "a8521aadd8d6373c0f6944d6447b000ea73aab71",
      "parents": [
        "c8de3f1005e8359ea07083e37f3f993646e1adba"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Tue Jan 19 18:14:56 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:11:54 2010 -0700"
      },
      "message": "RDS: Move loop-only function to loop.c\n\nAlso, try to better-document the locking around the\nrm and its m_inc in loop.c.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "c8de3f1005e8359ea07083e37f3f993646e1adba",
      "tree": "c453d9c52e3569617014e6da54f307f75d1c49d8",
      "parents": [
        "1d34f175712b59ad292ecbbaa8fc05402a1fd8ed"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Fri Jan 15 15:55:26 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:11:53 2010 -0700"
      },
      "message": "RDS/IB: Make all flow control code conditional on i_flowctl\n\nMaybe things worked fine with the flow control code running\neven in the non-flow-control case, but making it explicitly\nconditional helps the non-fc case be easier to read.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "1d34f175712b59ad292ecbbaa8fc05402a1fd8ed",
      "tree": "93a7072243dfc511e8bdbb24516df957db983454",
      "parents": [
        "da5a06cef5724737af4315715632f0a07dd5e116"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Thu Jan 14 15:08:33 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:11:52 2010 -0700"
      },
      "message": "RDS: Remove unsignaled_bytes sysctl\n\nRemoved unsignaled_bytes sysctl and code to signal\nbased on it. I believe unsignaled_wrs is more than\nsufficient for our purposes.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "da5a06cef5724737af4315715632f0a07dd5e116",
      "tree": "fef68cae6cc0894247aeb6384708d58eb2c5fd8b",
      "parents": [
        "919ced4ce7d6ac62dd5be62d8993fe22a527d53a"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Thu Jan 14 12:18:11 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:11:51 2010 -0700"
      },
      "message": "RDS: rewrite rds_ib_xmit\n\nNow that the header always goes first, it is possible to\nsimplify rds_ib_xmit. Instead of having a path to handle 0-byte\ndgrams and another path to handle \u003e0, these can both be handled\nin one path. This lets us eliminate xmit_populate_wr().\n\nRename sent to bytes_sent, to differentiate better from other\nvariable named \"send\".\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "919ced4ce7d6ac62dd5be62d8993fe22a527d53a",
      "tree": "f201cb777e39cee0fa030ebf0e71558b3227b9c9",
      "parents": [
        "6f3d05db0da0b874afd2dd229bed715133532f8d"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Jan 13 16:32:24 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:11:50 2010 -0700"
      },
      "message": "RDS/IB: Remove ib_[header/data]_sge() functions\n\nThese functions were to cope with differently ordered\nsg entries depending on RDS 3.0 or 3.1+. Now that\nwe\u0027ve dropped 3.0 compatibility we no longer need them.\n\nAlso, modify usage sites for these to refer to sge[0] or [1]\ndirectly. Reorder code to initialize header sgs first.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "6f3d05db0da0b874afd2dd229bed715133532f8d",
      "tree": "6594e9bf871477af62eae2d1090d8905887db8ef",
      "parents": [
        "f147dd9ecabf23fd63d2562ffe64252a0453ecde"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Jan 13 16:29:37 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:11:49 2010 -0700"
      },
      "message": "RDS/IB: Remove dead code\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "f147dd9ecabf23fd63d2562ffe64252a0453ecde",
      "tree": "1e3cdab2dc27b37ff2b820cd8081b33da95ab08c",
      "parents": [
        "9c030391e8741695ff6114703e4edccccb634479"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Jan 13 15:50:09 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:11:48 2010 -0700"
      },
      "message": "RDS/IB: Disallow connections less than RDS 3.1\n\nRDS 3.0 connections (in OFED 1.3 and earlier) put the\nheader at the end. 3.1 connections put it at the head.\nThe code has significant added complexity in order to\nhandle both configurations. In OFED 1.6 we can\ndrop this and simplify the code by only supporting\n\"header-first\" configuration.\n\nThis patch checks the protocol version, and if prior\nto 3.1, does not complete the connection.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "9c030391e8741695ff6114703e4edccccb634479",
      "tree": "20e1a55a0f952c85d07dc02662e1b85605464791",
      "parents": [
        "809fa148a29467954280fe8b7f97c92403f6293c"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Tue Jan 12 14:43:06 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:11:47 2010 -0700"
      },
      "message": "RDS/IB: eliminate duplicate code\n\nboth atomics and rdmas need to convert ib-specific completion codes\ninto RDS status codes. Rename rds_ib_rdma_send_complete to\nrds_ib_send_complete, and have it take a pointer to the function to\ncall with the new error code.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "809fa148a29467954280fe8b7f97c92403f6293c",
      "tree": "cd04f946f9490a42606436bdf89c7cb5f0ccc733",
      "parents": [
        "6200ed7799d9225f363f157ab61f1566cfd80e19"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Tue Jan 12 14:41:46 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:11:46 2010 -0700"
      },
      "message": "RDS: inc_purge() transport function unused - remove it\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "6200ed7799d9225f363f157ab61f1566cfd80e19",
      "tree": "2c623f0c0c28bdb3b67a911b60b07a9a7566b9f0",
      "parents": [
        "d22faec22c2ab2364fd8fc3c8159b0b5b28b0fd1"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Tue Jan 12 10:53:05 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:11:44 2010 -0700"
      },
      "message": "RDS: Whitespace\n\nTidy up some whitespace issues.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "d22faec22c2ab2364fd8fc3c8159b0b5b28b0fd1",
      "tree": "90a286b17b500447e413d8d6a1f119f696a06e3c",
      "parents": [
        "40589e74f7ba855f3a887c9d4abe9d100c5b039c"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Tue Jan 12 10:52:28 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:11:43 2010 -0700"
      },
      "message": "RDS: Do not mask address when pinning pages\n\nThis does not appear to be necessary.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "40589e74f7ba855f3a887c9d4abe9d100c5b039c",
      "tree": "f32b0414ae3cfe8868fbdb130f9b24ac19794ae3",
      "parents": [
        "15133f6e67d8d646d0744336b4daa3135452cb0d"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Tue Jan 12 10:50:48 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:11:42 2010 -0700"
      },
      "message": "RDS: Base init_depth and responder_resources on hw values\n\nInstead of using a constant for initiator_depth and\nresponder_resources, read the per-QP values when the\ndevice is enumerated, and then use these values when creating\nthe connection.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "15133f6e67d8d646d0744336b4daa3135452cb0d",
      "tree": "e5675d5a3ab240edc9a66af6b891dd75fa9eabae",
      "parents": [
        "a63273d4992603979ddb181b6a8f07082839b39f"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Tue Jan 12 14:33:38 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:11:41 2010 -0700"
      },
      "message": "RDS: Implement atomic operations\n\nImplement a CMSG-based interface to do FADD and CSWP ops.\n\nAlter send routines to handle atomic ops.\n\nAdd atomic counters to stats.\n\nAdd xmit_atomic() to struct rds_transport\n\nInline rds_ib_send_unmap_rdma into unmap_rm\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "a63273d4992603979ddb181b6a8f07082839b39f",
      "tree": "2132efc5d723b02df281dc308d4e892aca295be7",
      "parents": [
        "f4dd96f7b27743e568cec519eff0f951c56833c6"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Tue Jan 12 14:19:32 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:11:40 2010 -0700"
      },
      "message": "RDS: Clear up some confusing code in send_remove_from_sock\n\nThe previous code was correct, but made the assumption that\nif r_notifier was non-NULL then either r_recverr or r_notify\nwas true. Valid, but fragile. Changed to explicitly check\nr_recverr (shows up in greps for recverr now, too.)\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "f4dd96f7b27743e568cec519eff0f951c56833c6",
      "tree": "7190122e832f3ce6ed394fb7293c037562b346f6",
      "parents": [
        "ff87e97a9d70c9ae133d3d3d7792b26ab85f4297"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Tue Jan 12 14:17:31 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:11:39 2010 -0700"
      },
      "message": "RDS: make sure all sgs alloced are initialized\n\nrds_message_alloc_sgs() now returns correctly-initialized\nsg lists, so calleds need not do this themselves.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "ff87e97a9d70c9ae133d3d3d7792b26ab85f4297",
      "tree": "32de73cdf5e4353e89b3351eaae695f69faa868b",
      "parents": [
        "21f79afa5fda2820671a8f64c3d0e43bb118053b"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Tue Jan 12 14:13:15 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:11:38 2010 -0700"
      },
      "message": "RDS: make m_rdma_op a member of rds_message\n\nThis eliminates a separate memory alloc, although\nit is now necessary to add an \"r_active\" flag, since\nit is no longer to use the m_rdma_op pointer as an\nindicator of if an rdma op is present.\n\nrdma SGs allocated from rm sg pool.\n\nrds_rm_size also gets bigger. It\u0027s a little inefficient to\nrun through CMSGs twice, but it makes later steps a lot smoother.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "21f79afa5fda2820671a8f64c3d0e43bb118053b",
      "tree": "54029e0dbe3e4a68d579c02c5e9ed9d1fb63cfae",
      "parents": [
        "fc445084f185cdd877bec323bfe724a361e2292a"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Tue Jan 12 12:57:27 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:11:37 2010 -0700"
      },
      "message": "RDS: fold rdma.h into rds.h\n\nRDMA is now an intrinsic part of RDS, so it\u0027s easier to just have\na single header.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "fc445084f185cdd877bec323bfe724a361e2292a",
      "tree": "eda014c09872cbbacc411ea3b89f359291ccb577",
      "parents": [
        "3ef13f3c22aaea28aff383cb0883481d24885456"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Tue Jan 12 12:56:06 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:11:36 2010 -0700"
      },
      "message": "RDS: Explicitly allocate rm in sendmsg()\n\nr_m_copy_from_user used to allocate the rm as well as kernel\nbuffers for the data, and then copy the data in. Now, sendmsg()\nallocates the rm, although the data buffer alloc still happens\nin r_m_copy_from_user.\n\nSGs are still allocated with rm, but now r_m_alloc_sgs() is\nused to reserve them. This allows multiple SG lists to be\nallocated from the one rm -- this is important once we also\nwant to alloc our rdma sgl from this pool.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "3ef13f3c22aaea28aff383cb0883481d24885456",
      "tree": "2d7277a9401c5d47c0a42d5de3e27f1df042da6b",
      "parents": [
        "e779137aa76d38d5c33a98ed887092ae4e4f016f"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Tue Jan 12 12:37:17 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:11:35 2010 -0700"
      },
      "message": "RDS: cleanup/fix rds_rdma_unuse\n\nFirst, it looks to me like the atomic_inc is wrong.\nWe should be decrementing refcount only once here, no? It\u0027s\nalready being done by the mr_put() at the end.\n\nSecond, simplify the logic a bit by bailing early (with a warning)\nif !mr.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "e779137aa76d38d5c33a98ed887092ae4e4f016f",
      "tree": "af0a34f9334bd11ca507d4e63a963c561ff981ae",
      "parents": [
        "8690bfa17aea4c42da1bcf90a7af93d161eca624"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Tue Jan 12 12:15:02 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:11:33 2010 -0700"
      },
      "message": "RDS: break out rdma and data ops into nested structs in rds_message\n\nClearly separate rdma-related variables in rm from data-related ones.\nThis is in anticipation of adding atomic support.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "8690bfa17aea4c42da1bcf90a7af93d161eca624",
      "tree": "88c4c5fa63aab0c18cf13228c4b3a6f980aa74be",
      "parents": [
        "2dc393573430f853e56e25bf4b41c34ba2aa8fd6"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Tue Jan 12 11:56:44 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:11:32 2010 -0700"
      },
      "message": "RDS: cleanup: remove \"\u003d\u003d NULL\"s and \"!\u003d NULL\"s in ptr comparisons\n\nFavor \"if (foo)\" style over \"if (foo !\u003d NULL)\".\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "2dc393573430f853e56e25bf4b41c34ba2aa8fd6",
      "tree": "f7a3ddb99aab472aa5054a10043419d4b22bb312",
      "parents": [
        "9de0864cf55927a7383b5ba6e48834ff3ef053de"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Fri Jun 11 13:49:13 2010 -0700"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:10:13 2010 -0700"
      },
      "message": "RDS: move rds_shutdown_worker impl. to rds_conn_shutdown\n\nThis fits better in connection.c, rather than threads.c.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "9de0864cf55927a7383b5ba6e48834ff3ef053de",
      "tree": "875dcd8ecf01f539ac050763b449573d4210dadf",
      "parents": [
        "7c82eaf00ec7d460932be9314b29997006b799b6"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Mon Mar 29 16:50:54 2010 -0700"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:07:32 2010 -0700"
      },
      "message": "RDS: Fix locking in send on m_rs_lock\n\nDo not nest m_rs_lock under c_lock\n\nDisable interrupts in {rdma,atomic}_send_complete\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "7c82eaf00ec7d460932be9314b29997006b799b6",
      "tree": "dd1e46ceb37ab4d5b6688d04805240eb9fcb7fbe",
      "parents": [
        "35b52c70534cb7193b218ec12efe6bc595312097"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Fri Feb 19 18:01:41 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:07:32 2010 -0700"
      },
      "message": "RDS: Rewrite rds_send_drop_to() for clarity\n\nThis function has been the source of numerous bugs; it\u0027s just\ntoo complicated. Simplified to nest spinlocks cleanly within\nthe second loop body, and kick out early if there are no\nrms to drop.\n\nThis will be a little slower because conn lock is grabbed for\neach entry instead of \"caching\" the lock across rms, but this\nshould be entirely irrelevant to fastpath performance.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "35b52c70534cb7193b218ec12efe6bc595312097",
      "tree": "8370e4b3e9d0ed1cc353f8b23531c97f8cc63ddc",
      "parents": [
        "9e2effba2c16fc3bd47da605116485afe01e0be0"
      ],
      "author": {
        "name": "Tina Yang",
        "email": "tina.yang@oracle.com",
        "time": "Thu Apr 01 14:09:00 2010 -0700"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:07:31 2010 -0700"
      },
      "message": "RDS: Fix corrupted rds_mrs\n\nOn second look at this bug (OFED #2002), it seems that the\ncollision is not with the retransmission queue (packet acked\nby the peer), but with the local send completion.  A theoretical\nsequence of events (from time t0 to t3) is thought to be as\nfollows,\n\nThread #1\nt0:\n    sock_release\n    rds_release\n    rds_send_drop_to /* wait on send completion */\nt2:\n    rds_rdma_drop_keys()   /* destroy \u0026 free all mrs */\n\nThread #2\nt1:\n    rds_ib_send_cq_comp_handler\n    rds_ib_send_unmap_rm\n    rds_message_unmapped   /* wake up #1 @ t0 */\nt3:\n    rds_message_put\n    rds_message_purge\n    rds_mr_put   /* memory corruption detected */\n\nThe problem with the rds_rdma_drop_keys() is it could\nremove a mr\u0027s refcount more than its due (i.e. repeatedly\nas long as it still remains in the tree (mr-\u003er_refcount \u003e 0)).\nTheoretically it should remove only one reference - reference\nby the tree.\n\n        /* Release any MRs associated with this socket */\n        while ((node \u003d rb_first(\u0026rs-\u003ers_rdma_keys))) {\n                mr \u003d container_of(node, struct rds_mr, r_rb_node);\n                if (mr-\u003er_trans \u003d\u003d rs-\u003ers_transport)\n                        mr-\u003er_invalidate \u003d 0;\n                rds_mr_put(mr);\n        }\n\nI think the correct way of doing it is to remove the mr from\nthe tree and rds_destroy_mr it first, then a rds_mr_put()\nto decrement its reference count by one.  Whichever thread\nholds the last reference will free the mr via rds_mr_put().\n\nSigned-off-by: Tina Yang \u003ctina.yang@oracle.com\u003e\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "9e2effba2c16fc3bd47da605116485afe01e0be0",
      "tree": "a423d21a3abee4a5979ce13f7627d81e558c32ed",
      "parents": [
        "db40980fcdb560d7992b0511df16cdd3f7e381f3"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Fri Mar 12 16:22:32 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:07:31 2010 -0700"
      },
      "message": "RDS: Fix BUG_ONs to not fire when in a tasklet\n\nin_interrupt() is true in softirqs. The BUG_ONs are supposed\nto check for if irqs are disabled, so we should use\nBUG_ON(irqs_disabled()) instead, duh.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "db40980fcdb560d7992b0511df16cdd3f7e381f3",
      "tree": "337b5c41bd55915a4b894ea6fe09a865e7dcb0e4",
      "parents": [
        "d61702f1273b71c2809365a7806d7fe84fd77f15"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Sep 06 11:13:50 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:48:45 2010 -0700"
      },
      "message": "net: poll() optimizations\n\nNo need to test twice sk-\u003esk_shutdown \u0026 RCV_SHUTDOWN\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d61702f1273b71c2809365a7806d7fe84fd77f15",
      "tree": "6d20c5ce94ea924405c046a4537bb459c48d10b5",
      "parents": [
        "ebc872c7bd7155bcc7db2343155729d13bf4a2ee"
      ],
      "author": {
        "name": "Yevgeny Petrilin",
        "email": "yevgenyp@mellanox.co.il",
        "time": "Sun Sep 05 22:20:24 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:48:44 2010 -0700"
      },
      "message": "mlx4_en: Fixed Ethtool statistics report\n\nThe values didn\u0027t match the title after removing the LRO\nstatistics in commit fa37a9586f92051de03a13e55e5ec3880bb6783e\n\nSigned-off-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ebc872c7bd7155bcc7db2343155729d13bf4a2ee",
      "tree": "c95e65e37519c7267c4f1dea22b84aacbf1d8039",
      "parents": [
        "f6c9322c3a0cd50a6996094327347c87cd2f4bd8"
      ],
      "author": {
        "name": "Yevgeny Petrilin",
        "email": "yevgenyp@mellanox.co.il",
        "time": "Sun Sep 05 22:20:11 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:48:44 2010 -0700"
      },
      "message": "mlx4_en: Consider napi_get_frags() failure.\n\nIf failed to get skb frags using napi_get_frags(),\nthe packet is dropped.\n\nReported-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f6c9322c3a0cd50a6996094327347c87cd2f4bd8",
      "tree": "63685e0f5dd9eb6ac0c9f4c0017a21ef2e0f0c29",
      "parents": [
        "b31fa5bad576cd8180a5ad70c648333b44320d44"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Sep 05 22:08:09 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:48:43 2010 -0700"
      },
      "message": "net/caifcaif_dev.c: Use netdev_\u003clevel\u003e\n\nConvert pr_\u003clevel\u003e(\"%s\" ..., (struct netdev *)-\u003ename ...)\nto netdev_\u003clevel\u003e((struct netdev *), ...)\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b31fa5bad576cd8180a5ad70c648333b44320d44",
      "tree": "b31239e8828e7e5b36ef85a0715ababc4f556e42",
      "parents": [
        "a0ece28539d49c9bdcc6da0bbb26771dceb57581"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Sep 05 21:31:11 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:48:43 2010 -0700"
      },
      "message": "net/caif: Use pr_fmt\n\nThis patch standardizes caif message logging prefixes.\n\nAdd #define pr_fmt(fmt) KBUILD_MODNAME \":%s(): \" fmt, __func__\nAdd missing \"\\n\"s to some logging messages\nConvert pr_warning to pr_warn\n\nThis changes the logging message prefix from CAIF: to caif:\nfor all uses but caif_socket.c and chnl_net.c.  Those now use\ntheir filename without extension.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a0ece28539d49c9bdcc6da0bbb26771dceb57581",
      "tree": "c16f0a52b3008a315b1d814ced5a295afe12ce8d",
      "parents": [
        "29af9309dba25077f711f5f975977714bc43a0c3"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Sun Sep 05 09:00:23 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:48:42 2010 -0700"
      },
      "message": "drivers/atm/firestream.c: Fix unsigned return type\n\nThe function has an unsigned return type, but returns a negative constant\nto indicate an error condition.  The result of calling the function is\nalways stored in a variable of type (signed) int, and thus unsigned can be\ndropped from the return type.\n\nA sematic match that finds this problem is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@exists@\nidentifier f;\nconstant C;\n@@\n\n unsigned f(...)\n { \u003c+...\n*  return -C;\n ...+\u003e }\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "29af9309dba25077f711f5f975977714bc43a0c3",
      "tree": "5ff0faaa913d2ab8b431c272cab627b4f8778b59",
      "parents": [
        "e04c4dc87c4af296982ff44123e064d483e826c4"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Sun Sep 05 09:00:21 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:48:42 2010 -0700"
      },
      "message": "net/9p/trans_fd.c: Fix unsigned return type\n\nThe function has an unsigned return type, but returns a negative constant\nto indicate an error condition.  The result of calling the function is\nalways stored in a variable of type (signed) int, and thus unsigned can be\ndropped from the return type.\n\nA sematic match that finds this problem is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@exists@\nidentifier f;\nconstant C;\n@@\n\n unsigned f(...)\n { \u003c+...\n*  return -C;\n ...+\u003e }\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e04c4dc87c4af296982ff44123e064d483e826c4",
      "tree": "55d84e2cafac312075dc2089611bc94d0ee3a8bc",
      "parents": [
        "49d70c4856acfce943fab35fc199b3074961313f"
      ],
      "author": {
        "name": "Christian Dietrich",
        "email": "qy03fugy@stud.informatik.uni-erlangen.de",
        "time": "Mon Sep 06 04:36:25 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:48:41 2010 -0700"
      },
      "message": "drivers/net: Removing undead ifdef CHELSIO_T1_1G\n\nThe CHELSIO_T1_1G ifdef isn\u0027t necessary at this point, because it is\nchecked in an outer ifdef level already and has no effect here.\n\nSigned-off-by: Christian Dietrich \u003cqy03fugy@stud.informatik.uni-erlangen.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "49d70c4856acfce943fab35fc199b3074961313f",
      "tree": "7c8ab8e552fe05a5f6619f04fb2a8b0277911667",
      "parents": [
        "f417f5e4ba79a08e992c79a4bb84c8a8c5062017"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sat Sep 04 22:21:05 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:29:19 2010 -0700"
      },
      "message": "drivers/net/jme: Use pr_\u003clevel\u003e\n\nAdd #define pr_fmt(fmt) KBUILD_MODNAME \": \" fmt\nConvert jeprintk to pr_err\nRemove jeprintk macro define\nRemove periods from end of logging messages\nCoalesce format strings\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f417f5e4ba79a08e992c79a4bb84c8a8c5062017",
      "tree": "4142b1329e245ad62a144e0e6fedd64554b9af00",
      "parents": [
        "017d79ef0073fdb170dcf185dc4c2456a304d659"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Sat Sep 04 08:33:03 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:29:19 2010 -0700"
      },
      "message": "isdn: cleanup: make buffer smaller\n\nThis showed up in my audit because we use strcpy() to copy \"ds\" into a\n32 character buffer inside the isdn_tty_dial() function.  But it turns\nout that we only ever use the first 32 characters so it\u0027s OK.  I have\nchanged the declaration to make the static checkers happy.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "017d79ef0073fdb170dcf185dc4c2456a304d659",
      "tree": "6a1b6cadc0f43745a60840910c5e52d9d993ad9e",
      "parents": [
        "ca1cef3a3a8af961f504abfcf9e13dac088e1ad1"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Sat Sep 04 08:38:59 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:29:18 2010 -0700"
      },
      "message": "isdn: potential buffer overflows\n\ncs-\u003eics.parm.setup.phone is a 32 character array.  In each of these\ncases we\u0027re copying from a 35 character array into a 32 character array\nso we should use strlcpy() instead of strcpy().\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ca1cef3a3a8af961f504abfcf9e13dac088e1ad1",
      "tree": "e7a09c304271f05c88fdc1d787bca576163afa93",
      "parents": [
        "e8f7f43a4ad451ecfb2689985f99a9e276a08bba"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Sat Sep 04 02:08:41 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:29:18 2010 -0700"
      },
      "message": "NET: bna, fix lock imbalance\n\nbnad_set_rx_mode omit to unlock bna_lock on one fail path. Fix that.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Debashis Dutt \u003cddutt@brocade.com\u003e\nCc: Rasesh Mody \u003crmody@brocade.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e8f7f43a4ad451ecfb2689985f99a9e276a08bba",
      "tree": "013683284acf99afd3530a7751680fa0dab53bfc",
      "parents": [
        "1fd63041c49c5c6ed1fe58b7bccc2de462d51e2b"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Sat Sep 04 00:12:43 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:29:17 2010 -0700"
      },
      "message": "drivers/net/fs_enet/fs_enet-main.c: Add of_node_put to avoid memory leak\n\nIn this case, a device_node structure is stored in another structure that\nis then freed without first decrementing the reference count of the\ndevice_node structure.\n\nThe semantic match that finds this problem is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@r exists@\nexpression x;\nidentifier f;\nposition p1,p2;\n@@\n\nx@p1-\u003ef \u003d \\(of_find_node_by_path\\|of_find_node_by_name\\|of_find_node_by_phandle\\|of_get_parent\\|of_get_next_parent\\|of_get_next_child\\|of_find_compatible_node\\|of_match_node\\|of_find_node_by_type\\|of_find_node_with_property\\|of_find_matching_node\\|of_parse_phandle\\|of_node_get\\)(...);\n... when !\u003d of_node_put(x)\nkfree@p2(x)\n\n@script:python@\np1 \u003c\u003c r.p1;\np2 \u003c\u003c r.p2;\n@@\ncocci.print_main(\"call\",p1)\ncocci.print_secs(\"free\",p2)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nAcked-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1fd63041c49c5c6ed1fe58b7bccc2de462d51e2b",
      "tree": "aac2e108e2c8c545669bd9fe655f04ac026f5e15",
      "parents": [
        "9d348af47656a65a697ff55a53daf294ea4d5662"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Sep 02 23:09:32 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:24:59 2010 -0700"
      },
      "message": "net: pskb_expand_head() optimization\n\npskb_expand_head() blindly takes references on fragments before calling\nskb_release_data(), potentially releasing these references.\n\nWe can add a fast path, avoiding these atomic operations, if we own the\nlast reference on skb-\u003ehead.\n\nBased on a previous patch from David\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9d348af47656a65a697ff55a53daf294ea4d5662",
      "tree": "ab68117d8cb037a26ad90f76697f25f24679ace4",
      "parents": [
        "c22960977ad4b01dc608579e0865eac3b2bc9ce8"
      ],
      "author": {
        "name": "Santiago Leon",
        "email": "santil@linux.vnet.ibm.com",
        "time": "Fri Sep 03 18:29:53 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:21:56 2010 -0700"
      },
      "message": "ibmveth: Update module information and version\n\nAdd an entry to the MAINTAINERS file for ibmveth, clean up the copyright\nand add all authors. Change the name of the module to reflect the product name\nover the last number of years.\n\nConsidering all the changes we have made, bump the driver version.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Santiago Leon \u003csantil@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c22960977ad4b01dc608579e0865eac3b2bc9ce8",
      "tree": "1298fd11623e9f8575c522a330ac548fa00cbeff",
      "parents": [
        "6485911a5c04c328939113528805f15b90ae28cf"
      ],
      "author": {
        "name": "Santiago Leon",
        "email": "santil@linux.vnet.ibm.com",
        "time": "Fri Sep 03 18:29:47 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:21:55 2010 -0700"
      },
      "message": "ibmveth: Remove some unnecessary include files\n\nThese files probably came across from the skeleton driver. Remove them.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Santiago Leon \u003csantil@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6485911a5c04c328939113528805f15b90ae28cf",
      "tree": "8f3bad7bf57307715f2edbd61a286bc4562a3dae",
      "parents": [
        "be35ae9e08dbbc70f1cd50de8639627fa501692d"
      ],
      "author": {
        "name": "Santiago Leon",
        "email": "santil@linux.vnet.ibm.com",
        "time": "Fri Sep 03 18:29:41 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:21:55 2010 -0700"
      },
      "message": "ibmveth: Convert driver specific assert to BUG_ON\n\nWe had a driver specific assert function which wasn\u0027t enabled most of the\ntime. Convert them to BUG_ON and enable them all the time.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Santiago Leon \u003csantil@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "be35ae9e08dbbc70f1cd50de8639627fa501692d",
      "tree": "49be406d5b1b06104a4fcfd787755b81223f57f0",
      "parents": [
        "f148f61d89995660e8aa20a2784ecd9c7f25e2a6"
      ],
      "author": {
        "name": "Santiago Leon",
        "email": "santil@linux.vnet.ibm.com",
        "time": "Fri Sep 03 18:29:36 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:21:54 2010 -0700"
      },
      "message": "ibmveth: Return -EINVAL on all -\u003eprobe errors\n\nWe had a few cases where we returned success on error.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Santiago Leon \u003csantil@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f148f61d89995660e8aa20a2784ecd9c7f25e2a6",
      "tree": "1fdfea202141509ec4853ed9c822703f23ad2740",
      "parents": [
        "517e80e6786974651d460a11bb066eab2628ddf1"
      ],
      "author": {
        "name": "Santiago Leon",
        "email": "santil@linux.vnet.ibm.com",
        "time": "Fri Sep 03 18:29:30 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:21:54 2010 -0700"
      },
      "message": "ibmveth: Coding style fixes\n\nFix most of the kernel coding style issues in ibmveth.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Santiago Leon \u003csantil@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "517e80e6786974651d460a11bb066eab2628ddf1",
      "tree": "26af62f72e53afa69ce4ae0ea9c964533fa31c94",
      "parents": [
        "21c2decea0f52980a34c79167fe69df3a84d2788"
      ],
      "author": {
        "name": "Santiago Leon",
        "email": "santil@linux.vnet.ibm.com",
        "time": "Fri Sep 03 18:29:25 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:21:53 2010 -0700"
      },
      "message": "ibmveth: Some formatting fixes\n\nIbmVethNumBufferPools -\u003e IBMVETH_NUM_BUFF_POOLS\n\nAlso change IBMVETH_MAX_MTU -\u003e IBMVETH_MIN_MTU, it refers to the minimum\nsize not the maximum.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Santiago Leon \u003csantil@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "21c2decea0f52980a34c79167fe69df3a84d2788",
      "tree": "97bf41ad57f230c73630f6a4d952745da20a4b4d",
      "parents": [
        "c43ced18a515bef29166f22c01a6d9062aa3008e"
      ],
      "author": {
        "name": "Santiago Leon",
        "email": "santil@linux.vnet.ibm.com",
        "time": "Fri Sep 03 18:29:19 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:21:53 2010 -0700"
      },
      "message": "ibmveth: Convert driver specific error functions to netdev_err\n\nUse netdev_err to standardise the error output.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Santiago Leon \u003csantil@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c43ced18a515bef29166f22c01a6d9062aa3008e",
      "tree": "ed2384361d33b1483419f5abcaadf16c72395acb",
      "parents": [
        "e295fe83755213fb5991be577485525a7453213c"
      ],
      "author": {
        "name": "Santiago Leon",
        "email": "santil@linux.vnet.ibm.com",
        "time": "Fri Sep 03 18:29:14 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:21:52 2010 -0700"
      },
      "message": "ibmveth: Convert driver specific debug to netdev_dbg\n\nUse netdev_dbg to standardise the debug output.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Santiago Leon \u003csantil@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e295fe83755213fb5991be577485525a7453213c",
      "tree": "5000be03bb0472c90b05ed3722407a75275c53a0",
      "parents": [
        "003212cc599cdc006de486e28c1f6b327bcb9808"
      ],
      "author": {
        "name": "Santiago Leon",
        "email": "santil@linux.vnet.ibm.com",
        "time": "Fri Sep 03 18:29:08 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:21:51 2010 -0700"
      },
      "message": "ibmveth: Remove redundant function prototypes\n\nThese functions appear before their use, so we can remove the redundant\nprototypes.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Santiago Leon \u003csantil@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "003212cc599cdc006de486e28c1f6b327bcb9808",
      "tree": "9174a37ccd0e1557116d15d981f7425c92462469",
      "parents": [
        "d2684b516020c162b2852a2171ec588713c6cec0"
      ],
      "author": {
        "name": "Santiago Leon",
        "email": "santil@linux.vnet.ibm.com",
        "time": "Fri Sep 03 18:29:03 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:21:51 2010 -0700"
      },
      "message": "ibmveth: Convert to netdev_alloc_skb\n\nWe were using alloc_skb which doesn\u0027t create any headroom. Change it to\nuse netdev_alloc_skb to match most other drivers.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Santiago Leon \u003csantil@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d2684b516020c162b2852a2171ec588713c6cec0",
      "tree": "54e8b5a658fabe8fcf88ec727a87be5fc5952bf0",
      "parents": [
        "ab78df75cac4d90b5b5471af795a64141243c02a"
      ],
      "author": {
        "name": "Santiago Leon",
        "email": "santil@linux.vnet.ibm.com",
        "time": "Fri Sep 03 18:28:58 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:21:50 2010 -0700"
      },
      "message": "ibmveth: remove procfs code\n\nWe export all the driver specific statistics via ethtool, so there is no need\nto duplicate this in procfs.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Santiago Leon \u003csantil@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ab78df75cac4d90b5b5471af795a64141243c02a",
      "tree": "d645048489a624d90687cb1d90747927150f3f80",
      "parents": [
        "bc4c6f54e4e9971717d84c630acef0c7c3c75a97"
      ],
      "author": {
        "name": "Santiago Leon",
        "email": "santil@linux.vnet.ibm.com",
        "time": "Fri Sep 03 18:28:52 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:21:50 2010 -0700"
      },
      "message": "ibmveth: Enable IPv6 checksum offload\n\nThis patch enables TCP checksum offload support for IPv6 on ibmveth.\nThis completely eliminates the generation and checking of the checksum\nfor IPv6 packets that are completely virtual and never touch a physical\nnetwork.  A basic TCPIPV6_STREAM netperf run showed a ~30% throughput\nimprovement when an MTU of 64000 was used.\n\nThis featured is enabled by default, as is the case for IPv4 checksum\noffload.  When checksum offload is enabled the driver will negotiate\nIPv4 and IPv6 offload with the firmware separately and enable what\nis available.  As long as either IPv4 or IPv6 offload is supported\nand enabled the device will report that checksum offload is enabled.\nThe device stats, available through ethtool, will display which\nchecksum offload features are supported/enabled by firmware.\n\nPerformance testing against a stock kernel shows no regression for IPv4\nor IPv6 in terms of throughput or processor utilization with checksum\ndisabled or enabled.\n\nSigned-off-by: Robert Jennings \u003crcj@linux.vnet.ibm.com\u003e\nSigned-off-by: Santiago Leon \u003csantil@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bc4c6f54e4e9971717d84c630acef0c7c3c75a97",
      "tree": "b7c41670c2337107486848c44a699b3c40699edf",
      "parents": [
        "0c26b6775f36ce447722e8752bc3a006ec832df3"
      ],
      "author": {
        "name": "Santiago Leon",
        "email": "santil@linux.vnet.ibm.com",
        "time": "Fri Sep 03 18:28:47 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:21:49 2010 -0700"
      },
      "message": "ibmveth: Remove duplicate checksum offload setup code\n\nRemove code in the device probe function where we set up the checksum\noffload feature and replace it with a call to an existing function that\nis doing the same.  This is done to clean up the driver in preparation\nof adding IPv6 checksum offload support.\n\nSigned-off-by: Robert Jennings \u003crcj@linux.vnet.ibm.com\u003e\nSigned-off-by: Santiago Leon \u003csantil@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c26b6775f36ce447722e8752bc3a006ec832df3",
      "tree": "7c8a4b5b268fd3898d9f008c0aa38882e0ae32cc",
      "parents": [
        "6e8ab30ec677925e8999a9f5bdb028736d22d48c"
      ],
      "author": {
        "name": "Santiago Leon",
        "email": "santil@linux.vnet.ibm.com",
        "time": "Fri Sep 03 18:28:41 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:21:49 2010 -0700"
      },
      "message": "ibmveth: Add optional flush of rx buffer\n\nOn some machines we can improve the bandwidth by ensuring rx buffers are\nnot in the cache. Add a module option that is disabled by default that flushes\nrx buffers on insertion.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Santiago Leon \u003csantil@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6e8ab30ec677925e8999a9f5bdb028736d22d48c",
      "tree": "23738f9382f6d0f1b1cd6dba62394ac53aeeb12e",
      "parents": [
        "f89e49e79f839dbe79364ec6cd7e2274ad11b120"
      ],
      "author": {
        "name": "Santiago Leon",
        "email": "santil@linux.vnet.ibm.com",
        "time": "Fri Sep 03 18:28:36 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:21:48 2010 -0700"
      },
      "message": "ibmveth: Add scatter-gather support\n\nibmveth can scatter gather up to 6 segments. If we go over this then\nwe have no option but to call skb_linearize, like other drivers with\nsimilar limitations do.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Santiago Leon \u003csantil@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f89e49e79f839dbe79364ec6cd7e2274ad11b120",
      "tree": "45d75386c47d38f940770326ade59bc57a27c93c",
      "parents": [
        "8d86c61ae41d9068fd5e5cc01a4abd53c4fe3ab5"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Mon Sep 06 18:21:41 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:21:41 2010 -0700"
      },
      "message": "ibmveth: Use lighter weight read memory barrier in ibmveth_poll\n\nWe want to order the read in ibmveth_rxq_pending_buffer and the read of\nibmveth_rxq_buffer_valid which are both cacheable memory. smp_rmb() is good\nenough for this.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Santiago Leon \u003csantil@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8d86c61ae41d9068fd5e5cc01a4abd53c4fe3ab5",
      "tree": "ac612e5ddbb624ebb6500334d16b648cc7545471",
      "parents": [
        "c08cc3ccebd46dce44d13a8ce81d249e687eeb8a"
      ],
      "author": {
        "name": "Santiago Leon",
        "email": "santil@linux.vnet.ibm.com",
        "time": "Fri Sep 03 18:28:25 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:20:34 2010 -0700"
      },
      "message": "ibmveth: Add rx_copybreak\n\nFor small packets, create a new skb and copy the packet into it so we\navoid tearing down and creating a TCE entry.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Santiago Leon \u003csantil@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c08cc3ccebd46dce44d13a8ce81d249e687eeb8a",
      "tree": "1e44318be42fbbef6c6cc224c9d4a2adafef4e98",
      "parents": [
        "e8cb7eb473ac47703282db6f90b4926f31cdf376"
      ],
      "author": {
        "name": "Santiago Leon",
        "email": "santil@linux.vnet.ibm.com",
        "time": "Fri Sep 03 18:28:20 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:20:33 2010 -0700"
      },
      "message": "ibmveth: Add tx_copybreak\n\nUse the existing bounce buffer if we send a buffer under a certain size.\nThis saves the overhead of a TCE map/unmap.\n\nI can\u0027t see any reason for the wmb() in the bounce buffer case, if we need\na barrier it will be before we call h_send_logical_lan but we have\nnothing in the common case. Remove it.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Santiago Leon \u003csantil@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e8cb7eb473ac47703282db6f90b4926f31cdf376",
      "tree": "9855055dd1cf1a0498e6000a72c449943dc3698b",
      "parents": [
        "c033a6d1390bb6cc0c11c3b4137b856dfd8cb7c8"
      ],
      "author": {
        "name": "Santiago Leon",
        "email": "santil@linux.vnet.ibm.com",
        "time": "Fri Sep 03 18:28:15 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:20:33 2010 -0700"
      },
      "message": "ibmveth: Remove LLTX\n\nThe ibmveth adapter needs locking in the transmit routine to protect\nthe bounce_buffer but it sets LLTX and forgets to add any of its own\nlocking.\n\nJust remove the deprecated LLTX option. Remove the stats lock in the process.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Santiago Leon \u003csantil@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c033a6d1390bb6cc0c11c3b4137b856dfd8cb7c8",
      "tree": "ff296183b963b75d0da43e3c809b58083316e3af",
      "parents": [
        "a613f581489aff23189c4945aec9567f6663b0c6"
      ],
      "author": {
        "name": "Santiago Leon",
        "email": "santil@linux.vnet.ibm.com",
        "time": "Fri Sep 03 18:28:09 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:20:32 2010 -0700"
      },
      "message": "ibmveth: batch rx buffer replacement\n\nAt the moment we try and replenish the receive ring on every rx interrupt.\nWe even have a pool-\u003ethreshold but aren\u0027t using it.\n\nTo limit the maximum latency incurred when refilling, change the threshold\nfrom 1/2 to 7/8 and reduce the largest rx pool from 768 buffers to 512 which\nshould be more than enough.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Santiago Leon \u003csantil@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a613f581489aff23189c4945aec9567f6663b0c6",
      "tree": "76a06cf3d63f85770a8afd9c56beecd57cb48843",
      "parents": [
        "a5d31e0faf025ca8f64b85fc6938b702105725b7"
      ],
      "author": {
        "name": "Santiago Leon",
        "email": "santil@linux.vnet.ibm.com",
        "time": "Fri Sep 03 18:28:04 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:20:32 2010 -0700"
      },
      "message": "ibmveth: Remove integer divide caused by modulus\n\nReplace some modulus operators with an increment and compare to avoid\nan integer divide.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Santiago Leon \u003csantil@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a5d31e0faf025ca8f64b85fc6938b702105725b7",
      "tree": "86b4de17f586c4fac158618f184c6b8581933cda",
      "parents": [
        "3c083edc6d0d53a050672b15e3594d07d81b42e5"
      ],
      "author": {
        "name": "Denis Kirjanov",
        "email": "dkirjanov@hera.kernel.org",
        "time": "Fri Sep 03 10:05:41 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:15:37 2010 -0700"
      },
      "message": "ns83820: Use predefined autoneg constants\n\nSigned-off-by: Denis Kirjanov \u003cdkirjanov@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3c083edc6d0d53a050672b15e3594d07d81b42e5",
      "tree": "ce7184eef759fe81cf05e1b866bc4873baebda4e",
      "parents": [
        "7457e911c72eb0041b007943b0a29aab5a1c4a39"
      ],
      "author": {
        "name": "Denis Kirjanov",
        "email": "dkirjanov@hera.kernel.org",
        "time": "Fri Sep 03 10:05:40 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:15:37 2010 -0700"
      },
      "message": "ns83820: Add copper device settings\n\nSigned-off-by: Denis Kirjanov \u003cdkirjanov@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7457e911c72eb0041b007943b0a29aab5a1c4a39",
      "tree": "9129312fcda00061657ecb20061bbcbdcc4cc11c",
      "parents": [
        "d1fb62796cdac6899ebd4319e4a610684db063e9"
      ],
      "author": {
        "name": "Denis Kirjanov",
        "email": "dkirjanov@hera.kernel.org",
        "time": "Fri Sep 03 10:05:39 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:15:36 2010 -0700"
      },
      "message": "ns83820: Remove unused have_optical variable.\n\nSigned-off-by: Denis Kirjanov \u003cdkirjanov@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d1fb62796cdac6899ebd4319e4a610684db063e9",
      "tree": "10cedaa8eb09b412bf229190d5c7089b8f2dd42b",
      "parents": [
        "9fbfca013176f9b90d186f3b446fd93e4d972b25"
      ],
      "author": {
        "name": "Allan Stephens",
        "email": "allan.stephens@windriver.com",
        "time": "Fri Sep 03 08:33:42 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:12:57 2010 -0700"
      },
      "message": "tipc: Fix misleading error code when enabling Ethernet bearers\n\nCause TIPC to return EAGAIN if it is unable to enable a new Ethernet\nbearer because one or more recently disabled Ethernet bearers are\ntemporarily consuming resources during shut down.  (The previous error\ncode, EDQUOT, is now returned only if all available Ethernet bearer\ndata structures are fully enabled at the time the request to enable an\nadditional bearer is received.)\n\nSigned-off-by: Allan Stephens \u003callan.stephens@windriver.com\u003e\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9fbfca013176f9b90d186f3b446fd93e4d972b25",
      "tree": "8af12e9242f8156bb8636b59896a63094bd65525",
      "parents": [
        "5d9c54c1e9ececcf7e99c4f014f9bec7ee3a7def"
      ],
      "author": {
        "name": "Allan Stephens",
        "email": "allan.stephens@windriver.com",
        "time": "Fri Sep 03 08:33:40 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:12:56 2010 -0700"
      },
      "message": "tipc: Ensure outgoing messages on Ethernet have sufficient headroom\n\nAdd code to expand the headroom of an outgoing TIPC message if the\nsk_buff has insufficient room to hold the header for the associated\nEthernet device.  This change is necessary to ensure that messages\nTIPC does not create itself (eg. incoming messages that are being\nrouted to another node) do not cause problems, since TIPC has no\ncontrol over the amount of headroom available in such messages.\n\nSigned-off-by: Allan Stephens \u003callan.stephens@windriver.com\u003e\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5d9c54c1e9ececcf7e99c4f014f9bec7ee3a7def",
      "tree": "b901d720e08c5762a0bd52b404393bb8532a6a15",
      "parents": [
        "dcfc5d787a24b9a20be3e18e3dbbab5280d35e38"
      ],
      "author": {
        "name": "Allan Stephens",
        "email": "allan.stephens@windriver.com",
        "time": "Fri Sep 03 08:33:39 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:12:56 2010 -0700"
      },
      "message": "tipc: Minor optimizations to name table translation code\n\nOptimizes TIPC\u0027s name table translation code to avoid unnecessary\nmanipulation of the node address field of the resulting port id when\nname translation fails.  This change is possible because a valid port\nid cannot have a reference field of zero, so examining the reference\nonly is sufficient to determine if the translation was successful.\n\nSigned-off-by: Allan Stephens \u003callan.stephens@windriver.com\u003e\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dcfc5d787a24b9a20be3e18e3dbbab5280d35e38",
      "tree": "da976087c2112809566f4b9e5736e0ed354554a5",
      "parents": [
        "adea1ac7effbddbe60a9de6d63462bfe79289e59"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Sep 02 14:29:35 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 13:32:20 2010 -0700"
      },
      "message": "wan: make read-only data const\n\nChange several wan drivers to make strings and other initialize\nonly parameters const.\n\nCompile tested only (with no new warnings)\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "adea1ac7effbddbe60a9de6d63462bfe79289e59"
}
