)]}'
{
  "log": [
    {
      "commit": "5e28599a6e45eb8ce7e50510b06c3a34ebf1a8fa",
      "tree": "ff6a34c677f1c16a5fd0921f75fbe58a1568ca6e",
      "parents": [
        "6c583248083c30c5305ec561e79f666ca465b376"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Oct 04 14:43:09 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:35 2007 -0700"
      },
      "message": "[CCID2]: Sequence number wraparound issues\n\nThis replaces several uses of standard arithmetic with the DCCP\nsequence number arithmetic functions. The problem here is that the\nsequence number wrap-around was not taken into consideration.\n\n * Condition \"seqp-\u003eccid2s_seq \u003c\u003d prev-\u003eccid2s_seq\" has been replaced\n   by\n\n   \tdccp_delta_seqno(seqp-\u003eccid2s_seq, prev-\u003eccid2s_seq) \u003e\u003d 0\n\n   since if seqp is `before\u0027 prev, then the delta_seqno() is positive.\n\n * The test whether sequence numbers `a\u0027 and `b\u0027 are consecutive has\n   the form\n\n   \tdccp_delta_seqno(a, b) \u003d\u003d 1\n\n * Increment of ccid2hctx_rpseq could be done using dccp_inc_seqno(),\n   but since here the incremented ccid2hctx_rpseq \u003d\u003d seqno, used\n   assignment instead.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6c583248083c30c5305ec561e79f666ca465b376",
      "tree": "b23e2787e6ce0208395aa7b879b924470592c8e3",
      "parents": [
        "ee196c2186d24d82088c94962598470e5abc081f"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Oct 04 14:42:19 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:35 2007 -0700"
      },
      "message": "[CCID2]: Remove redundant case block\n\nskb\u0027s passed to ccid2_hc_tx_send_packet() are headerless, the packet\ntype is decided later, in dccp_write_xmit(). Therefore the first test\nof the switch/case block is always true, the others are never reached.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ee196c2186d24d82088c94962598470e5abc081f",
      "tree": "18d6f4382ae847c9e6091de8f766eb2918f11a99",
      "parents": [
        "7d9e8931f93683e575679e41f188d3b465269f08"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Oct 04 14:41:55 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:34 2007 -0700"
      },
      "message": "[CCID2]: Remove redundant BUG_ON\n\nThis removes a test for `val \u003c 1\u0027 which would only have been triggered\nwhen val \u003c 0, due to a preceding test for 0.  Fixed by using an\nunsigned type for cwnd (as in TCP) instead.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7d9e8931f93683e575679e41f188d3b465269f08",
      "tree": "6ce6b1c15dae53beedf3330d1500a44be86f842d",
      "parents": [
        "cd1f7d347c9e51f348119811bd41b74346ec57b8"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Oct 04 14:41:26 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:34 2007 -0700"
      },
      "message": "[CCID2]: Remove ugly BUG_ON\n\nThis removes an ugly BUG_ON which has been pointed out by Arnaldo.\n\nInstead of freezing up the machine, a `critical\u0027 message is now issued\nto the system log.\n\nThere is potential of doing this more gracefully (eg. there are a few\ninternal variables which could be updated despite the lack of memory),\nbut that requires more complicated changes to the algorithm; thus a\n`FIXME\u0027 has been added.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cd1f7d347c9e51f348119811bd41b74346ec57b8",
      "tree": "1c444753fb2587fbeaeb2679facbeff03903f8b3",
      "parents": [
        "126acd5bf769fcb80e38a5360ad12b842d6d29d4"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Oct 04 14:41:00 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:33 2007 -0700"
      },
      "message": "[CCID2]: Simplify interface\n\nThis patch simplifies the interface of ccid2_hc_tx_alloc_seq():\n\n   * ccid2_hc_tx_alloc_seq() is always called with an argument of\n     CCID2_SEQBUF_LEN;\n\n   * other code - ccid2_hc_tx_check_sanity() - even depends on the\n     assumption that ccid2_hc_tx_alloc_seq() has been called with this\n     particular size;\n\n   * passing the `gfp_t\u0027 argument to ccid2_hc_tx_alloc_seq() is\n     redundant with gfp_any().\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "042d18f9f39a51716683b4e156fbee689314bb22",
      "tree": "63038a347f9a9321c5c671cff606b71186b5f967",
      "parents": [
        "7c559a9e44ee61faf2f339604ce708decb345a93"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Oct 04 14:39:53 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:32 2007 -0700"
      },
      "message": "[DCCP]: Make all `debug\u0027 parameters bool\n\nThis just sets the parameter to bool, since debugging messages are\neither on or off.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bb293e6a24cc2031f74775d95925e003e7250232",
      "tree": "aac9c26203189543a0818e3ec11c7be8df7133ac",
      "parents": [
        "cecd8d0ec4cb4fec728f67163bb0a78f80c292eb"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Wed Sep 26 19:38:55 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:45 2007 -0700"
      },
      "message": "[CCID3]: Remove ifdef surrounding BUG_ON\n\nAs suggested by DaveM.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\n"
    },
    {
      "commit": "2e86908f7dfb71b67ca4739d9a6c678b83b01078",
      "tree": "34000d4935057601e86b448698ff5fa55910b852",
      "parents": [
        "08831700cc65f85a497d6b32b1c83ca84d71de4a"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Sep 26 11:24:28 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:41 2007 -0700"
      },
      "message": "[CCID3]: Move NULL-protection into function\n\nThis moves several instances of testing against NULL into the function which is\nused to de-reference the CCID-private data.\n\nCommitter note: Made the BUG_ON depend on having CONFIG_IP_DCCP_CCID3_DEBUG, as it\n                is too much to have this on production code. Also made sure that\n                the macro is used only after checking if sk_state is not LISTEN,\n                to make it equivalent to what we had before.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\n"
    },
    {
      "commit": "3393da8241ae3a53e183ba15f8bd822995ec97cd",
      "tree": "28e6d2823d901976844982319e4c53b76a55967c",
      "parents": [
        "4c70f383e0c0273c4092c4efdb414be0966978b7"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Sep 25 22:40:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:35 2007 -0700"
      },
      "message": "[DCCP]: Simplify interface of dccp_sample_rtt\n\nThe third parameter of dccp_sample_rtt now becomes useless and is removed.\n\nAlso combined the subtraction of the timestamp echo and the elapsed time.\nThis is safe, since (a) presence of timestamp echo is tested first and (b)\nelapsed time is either present and non-zero or it is not set and equals 0\ndue to the memset in dccp_parse_options.\n\nTo avoid measuring option-processing time, the timestamp for measuring the\ninitial Request/Response RTT sample is taken directly when the function is\ncalled (the Linux implementation always adds a timestamp on the Request,\nso there is no loss in doing this).\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aa97efd97acefb7d3dcd864adb878c7ce34061b3",
      "tree": "1cad4e0193364c6b601c1ebc2ec8bc4aa8f600ae",
      "parents": [
        "e0eb68596232788bc352368f2fbc3cb088e42e41"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Sep 25 22:39:16 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:34 2007 -0700"
      },
      "message": "[DCCP]: Reuse ktime_get_real() calls again\n\nThis patch reduces the number of timestamps taken in the receive path\nfor each packet.\n\nThe ccid3_hc_tx_update_x() routine is called in\n * the receive path for each CCID3-controlled packet\n * for the nofeedback timer (if no feedback arrives during 4 RTT)\n\nCurrently, when there is no loss, each packet gets timestamped twice.\nThe patch resolves this by recycling the first timestamp taken on packet\nreception for RTT sampling.\n\nWhen the no_feedback_timer() is called, then the timestamp argument is\nsimply set to NULL - so that ccid3_hc_tx_update_x() takes care of the logic.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0740d49c2465bdd2644455c4bc49794395b73433",
      "tree": "2c8e2ef42b4b6d78730561f01b3607ca08888cd2",
      "parents": [
        "e7c2335794b949292ecfd01902c429e2ac3937e1"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sun Aug 19 17:18:13 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:15 2007 -0700"
      },
      "message": "[DCCP] packet_history: Convert dccphtx_tstamp to ktime_t\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e7c2335794b949292ecfd01902c429e2ac3937e1",
      "tree": "1e10116e6635e1b4c1da7890817fd89d6eab285d",
      "parents": [
        "b8bda9d70842dab7902f0681e1297dcf0460fc94"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sun Aug 19 17:17:51 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:14 2007 -0700"
      },
      "message": "[DCCP] packet_history: convert dccphrx_tstamp to ktime_t\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "668348a4232d3dd0ee48b3dc13228b5a7eb57565",
      "tree": "901c41d72c9202a503333acf854d761cb6121e6e",
      "parents": [
        "9823b7b5542858afe5b6a1e2df83b3847c28f3d6"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sun Aug 19 17:17:02 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:13 2007 -0700"
      },
      "message": "[DCCP] CCID3: Stop using dccp_timestamp\n\nNow to convert the ackvec code to ktime_t so that we can get rid of\ndccp_timestamp and the epoch thing in dccp_sock.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9823b7b5542858afe5b6a1e2df83b3847c28f3d6",
      "tree": "14be62612143fbcec66cd1b28a1d76564c578453",
      "parents": [
        "a272378d1128d1c60a463a315646c86d174ff74c"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sun Aug 19 17:16:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:13 2007 -0700"
      },
      "message": "[DCCP]: Convert dccp_sample_rtt to ktime_t\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e7a81c6d62cbefdeb23d92ad891f429bde1c49d2",
      "tree": "a0261c00db634bb307ee9e5a583c371307ec905d",
      "parents": [
        "1faf0a1f5d9cafe031b8faa91636b67cdca726a3"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sun Aug 19 17:15:37 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:12 2007 -0700"
      },
      "message": "[DCCP]: Convert ccid3hcrx_tstamp_last_feedback to ktime_t\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1faf0a1f5d9cafe031b8faa91636b67cdca726a3",
      "tree": "0bff5703afba827e3abe6c3ba713d3cd179ed84d",
      "parents": [
        "23f062af6e90654ef939462c2c060ad103dec6f2"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sun Aug 19 17:15:13 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:11 2007 -0700"
      },
      "message": "[DCCP]: Convert ccid3hcrx_tstamp_last_ack to ktime_t\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "23f062af6e90654ef939462c2c060ad103dec6f2",
      "tree": "d4583cbd5cae080cff0b9af699e375f2e5c1e892",
      "parents": [
        "ac198ea8d94a46830080372a539420cf4a8de4a3"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sun Aug 19 17:14:52 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:11 2007 -0700"
      },
      "message": "[DCCP]: Convert ccid3hctx_t_ld to ktime_t\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ac198ea8d94a46830080372a539420cf4a8de4a3",
      "tree": "c7d78474bf451d63c93f155f4d145b69f3b4371c",
      "parents": [
        "4d93df0abd50b9c9e2d4561439a1a1d21ec5e68f"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sun Aug 19 17:14:27 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:10 2007 -0700"
      },
      "message": "[DCCP]: Make ccid3_hc_tx_update_x get a timestamp if needed\n\nThe code was too complicated, if p \u003e 0 in ccid3_hc_tx_no_feedback_timer the\ntimestamp was being obtained to be passed to ccid3_hc_tx_update_x, where only\nif p \u003e 0 the timestamp was needed, so just leave it to ccid3_hc_tx_update_x to\nobtain the timestamp if needed.\n\nThis will help in the upcoming changesets where we\u0027ll convert t_ld to ktime_t.\nWe\u0027ll eventually try to reuse ktime_get_real() calls again.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "39dad26c37fdb1382e4173172a2704fa278f7fd6",
      "tree": "3c53ca38e7879b309e0e93b3106987afd885a18f",
      "parents": [
        "cb00e99c0abd844b884c64c6b54aa3b7d345ebb1"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Aug 19 17:12:50 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Aug 21 20:58:06 2007 -0700"
      },
      "message": "[DCCP]: Allocation in atomic context\n\nThis fixes the following bug reported in syslog:\n\n[ 4039.051658] BUG: sleeping function called from invalid context at /usr/src/davem-2.6/mm/slab.c:3032\n[ 4039.051668] in_atomic():1, irqs_disabled():0\n[ 4039.051670] INFO: lockdep is turned off.\n[ 4039.051674]  [\u003cc0104c0f\u003e] show_trace_log_lvl+0x1a/0x30\n[ 4039.051687]  [\u003cc0104d4d\u003e] show_trace+0x12/0x14\n[ 4039.051691]  [\u003cc0104d65\u003e] dump_stack+0x16/0x18\n[ 4039.051695]  [\u003cc011371e\u003e] __might_sleep+0xaf/0xbe\n[ 4039.051700]  [\u003cc0157b66\u003e] __kmalloc+0xb1/0xd0\n[ 4039.051706]  [\u003cf090416f\u003e] ccid2_hc_tx_alloc_seq+0x35/0xc3 [dccp_ccid2]\n[ 4039.051717]  [\u003cf09048d6\u003e] ccid2_hc_tx_packet_sent+0x27f/0x2d9 [dccp_ccid2]\n[ 4039.051723]  [\u003cf085486b\u003e] dccp_write_xmit+0x1eb/0x338 [dccp]\n[ 4039.051741]  [\u003cf085603d\u003e] dccp_sendmsg+0x113/0x18f [dccp]\n[ 4039.051750]  [\u003cc03907fc\u003e] inet_sendmsg+0x2e/0x4c\n[ 4039.051758]  [\u003cc033a47d\u003e] sock_aio_write+0xd5/0x107\n[ 4039.051766]  [\u003cc015abc1\u003e] do_sync_write+0xcd/0x11c\n[ 4039.051772]  [\u003cc015b296\u003e] vfs_write+0x118/0x11f\n[ 4039.051840]  [\u003cc015b932\u003e] sys_write+0x3d/0x64\n[ 4039.051845]  [\u003cc0103e7c\u003e] syscall_call+0x7/0xb\n[ 4039.051848]  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nThe problem was that GFP_KERNEL was used; fixed by using gfp_any().\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "20c2df83d25c6a95affe6157a4c9cac4cf5ffaac",
      "tree": "415c4453d2b17a50abe7a3e515177e1fa337bd67",
      "parents": [
        "64fb98fc40738ae1a98bcea9ca3145b89fb71524"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "message": "mm: Remove slab destructors from kmem_cache_create().\n\nSlab destructors were no longer supported after Christoph\u0027s\nc59def9f222d44bb7e2f0a559f2906191a0862d7 change. They\u0027ve been\nBUGs for both slab and slub, and slob never supported them\neither.\n\nThis rips out support for the dtor pointer from kmem_cache_create()\ncompletely and fixes up every single callsite in the kernel (there were\nabout 224, not including the slab allocator definitions themselves,\nor the documentation references).\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "23248005fbe5fa32a3f6d00cdec1ecfb115d28eb",
      "tree": "06ff4987adb7cdebe1edbd6fe11da0f32bd16fcd",
      "parents": [
        "40b77c943468236c6dfad3e7b94348fe70c70331"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Jul 19 10:43:28 2007 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Jul 19 10:43:28 2007 +0900"
      },
      "message": "[NET] DCCP: Fix whitespace errors.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "4fda25a2cd7a18e0ef9f29ba3dd6f6cd9b7ca43f",
      "tree": "ad9e55895315b49c7bcf43a949cb07c4e0c6a8ec",
      "parents": [
        "aa4291108f434a183207e645379414270118dccb"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Jul 09 13:18:57 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:18:52 2007 -0700"
      },
      "message": "[DCCP]: Make struct dccp_li_cachep static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "49d66a70cf9fd94057aacd6055334299ab3a5eac",
      "tree": "2feed7f094e3b2a45b7d3a211c2a3b33c61cbfb1",
      "parents": [
        "8132da4d412ad51c34bad11133a8f0941e2a1972"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Jun 16 13:48:50 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:15:34 2007 -0700"
      },
      "message": "[CCID3]: Fix a bug in the send time processing\n\nccid3_hc_tx_send_packet currently returns 0 when the time difference between\ncurrent time and t_nom is less than 1000 microseconds.\n\nIn this case the packet is sent immediately; but, unlike other packets that can\nbe emitted on first attempt, it will not have its window counter updated and\nits options set as required. This is a bug.\n\nFix: Require the time difference to be at least 1000 microseconds. The\nalgorithm then converges: time differences \u003e 1000 microseconds trigger the\ntimer in dccp_write_xmit; after timer expiry this function is tried again; when\nthe time difference is less than 1000, the packet will have its options added\nand window counter updated as required.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\n"
    },
    {
      "commit": "8132da4d412ad51c34bad11133a8f0941e2a1972",
      "tree": "9c8539609c1fce671d3b060cef98ad98e0c59fe6",
      "parents": [
        "1e180f726a58089d15637b5495fecbad8c50c833"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Jun 16 13:34:02 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:15:27 2007 -0700"
      },
      "message": "[CCID3]: Sending time: update to ktime_t\n\nThis updates the computation of t_nom and t_last_win_count to use the newer\ngettimeofday interface.\n\nCommitter note: used ktime_to_timeval to set the \u0027now\u0027 variable to t_ld in\n                ccid3hctx_no_feedback_timer\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\n"
    },
    {
      "commit": "dd36a9aba44e4ddbac011de2cb14a70444487303",
      "tree": "6a218c6b7300c8b710ecc1ea2788cad6fe2f53b1",
      "parents": [
        "cc4d6a3a34ce3976d7d01d044f3093cddc2921c2"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon May 28 18:56:44 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:15:24 2007 -0700"
      },
      "message": "loss_interval: make struct dccp_li_hist_entry private\n\nnet/dccp/ccids/lib/loss_interval.c is the only place where this struct is used.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "cc4d6a3a34ce3976d7d01d044f3093cddc2921c2",
      "tree": "ddf0a5d4aaac4661f3bb1fadd60082febc21b9ef",
      "parents": [
        "c70b729e662a1b3ee2ef5370c1e4c9bc3ddc239f"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon May 28 18:53:08 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:15:23 2007 -0700"
      },
      "message": "loss_interval: Nuke dccp_li_hist\n\nIt had just a slab cache, so, for the sake of simplicity just make\ndccp_trfc_lib module init routine create the slab cache, no need for users of\nthe lib to create a private loss_interval object.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "c70b729e662a1b3ee2ef5370c1e4c9bc3ddc239f",
      "tree": "eddbd3ddd84e5ebfc0513f8c4dbe23c9eabd8492",
      "parents": [
        "8c281780c6f867460c84bd78d9c3885c10f00ae1"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon May 28 18:25:12 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:15:22 2007 -0700"
      },
      "message": "loss_interval: Make dccp_li_hist_entry_{new,delete} private\n\nNot used outside the loss_interval code anymore.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "8c281780c6f867460c84bd78d9c3885c10f00ae1",
      "tree": "01e690f1fb96bb671dc2c730c2c5391a96931aa4",
      "parents": [
        "cc0a910b942d11069d35f52b2c0ed0e229e2fb46"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon May 28 18:21:53 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:15:21 2007 -0700"
      },
      "message": "loss_interval: unexport dccp_li_hist_interval_new\n\nNow its only used inside the loss_interval code.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "cc0a910b942d11069d35f52b2c0ed0e229e2fb46",
      "tree": "9d378b79a25b7c5f03ce9f713f00648781953dbd",
      "parents": [
        "878ac60023c4ba11a7fbf0b1dfe07b8472c0d6ce"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Jun 14 17:41:28 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:15:20 2007 -0700"
      },
      "message": "[DCCP] loss_interval: Move ccid3_hc_rx_update_li to loss_interval\n\nRenaming it to dccp_li_update_li.\n\nAlso based on previous work by Ian McDonald.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\n"
    },
    {
      "commit": "878ac60023c4ba11a7fbf0b1dfe07b8472c0d6ce",
      "tree": "91c32ebc926cc34906dbe2766da169d4302aff92",
      "parents": [
        "d83258a3da1d3c7ae7b75549c8bf7ed689562c62"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Jun 14 12:24:46 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:15:19 2007 -0700"
      },
      "message": "[CCID3]: Pass ccid3_li_hist to ccid3_hc_rx_update_li\n\nNow ccid3_hc_rx_update_li is ready to be moved to\nnet/dccp/ccids/lib/loss_interval, it uses the same interface as the other\nfunctions there.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "d83258a3da1d3c7ae7b75549c8bf7ed689562c62",
      "tree": "e19e448fd411c9006e96d6add09ed56d8c5a9e4e",
      "parents": [
        "6bc7efe8efa627077f8f65d01dbb762fc9356a2f"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon May 28 18:04:14 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:15:18 2007 -0700"
      },
      "message": "Remove accesses to ccid3_hc_rx_sock in ccid3_hc_rx_{update,calc_first}_li\n\nThis is a preparatory patch for moving these loss interval functions from\nnet/dccp/ccids/ccid3.c to net/dccp/ccids/lib/loss_interval.c.\n\nBased on a patch by Ian McDonald.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\n"
    },
    {
      "commit": "6bc7efe8efa627077f8f65d01dbb762fc9356a2f",
      "tree": "0e84e3602911a290e0d49bd5523cc2b09c479d0a",
      "parents": [
        "e961811fcde4202ae5c3c9ce81dcfc244e8959bb"
      ],
      "author": {
        "name": "Ian McDonald",
        "email": "ian.mcdonald@jandi.co.nz",
        "time": "Mon May 28 16:37:45 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:15:06 2007 -0700"
      },
      "message": "loss_interval: Fix timeval initialisation\n\nWhen compiling with EXTRA_CFLAGS\u003d-W noticed that tstamp is not initialised\ncorrectly in dccp_li_calc_first_li.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\n"
    },
    {
      "commit": "b2f41ff4139c0df8d06f352acc962a62fc07a0c3",
      "tree": "6c099cbecccb37aafee2c0bbd2d6cfd0e1f3d5b1",
      "parents": [
        "07b5b17e157b7018d0ca40ca0d1581a23096fb45"
      ],
      "author": {
        "name": "Ian McDonald",
        "email": "ian.mcdonald@jandi.co.nz",
        "time": "Mon May 28 12:23:29 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:15:04 2007 -0700"
      },
      "message": "ccid3: Update copyrights\n\nSigned-off-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\n"
    },
    {
      "commit": "1b07a95a5be77dc1291de12b216f930aee04eb4f",
      "tree": "16778348c496625d9374db9c2395aec3e514e152",
      "parents": [
        "cb283ead710c342d9856af8507e2a42bf5c6576c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed May 23 17:43:11 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu May 24 16:36:55 2007 -0700"
      },
      "message": "[DCCP]: Fix build warning when debugging is disabled.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b2449fdc30ccac550344df5e60d38bb8427b109c",
      "tree": "e0371a1474a6d28cbb2826c2401abf2a1a7fcbcf",
      "parents": [
        "cb8c181f288a1157bc717cc7a02412d4d1dc19bc"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Fri Apr 20 13:02:55 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:54 2007 -0700"
      },
      "message": "[DCCP]: Fix bug in the calculation of very low sending rates\n\nThis fixes an error in the calculation of t_ipi when X converges towards\nvery low sending rates (between 1 and 64 bytes per second).\n\nAlthough this case may not sound likely, it can be reproduced by connecting,\nhitting enter (1 byte sent) and waiting for some time, during which the\nnofeedback timer halves the sending rate until finally it reaches the region\n1..64 bytes/sec. Computing X is handled correctly (tested separately); but by\ndividing X _before_ entering the calculation of t_ipi, X becomes zero as\na result.  This in turn triggers a BUG condition caught in scaled_div().\n\nFixed by replacing with equivalent statement and explicit typecast for good\nmeasure.\n\nCalculation verified and effect of patch tested - reduced never below 1 byte\nper 64 seconds afterwards, i.e. not allowing divide-by-zero.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "30833ffead66e1f0052150a51db0b45151189ac1",
      "tree": "2fcd4907a8d6295455c686e54aa6d02fa9533934",
      "parents": [
        "89560b53b92a07c529e13a462aa7fd87a844f1f5"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Mar 20 15:31:56 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:04 2007 -0700"
      },
      "message": "[CCID3]: Use initial RTT sample from SYN exchange\n\nThe patch follows the following recommendation made in an erratum to RFC 4342:\n\n  \"Senders MAY additionally make use of other available RTT measurements,\n   including those from the initial Request-Response packet exchange.\"\n\nIt implements larger initial windows with regard to this inital RTT measurement,\nusing the mechanism suggested in draft-ietf-dccp-rfc3448bis, section 4.2.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7dfee1a9c07f80a82aa5fbad340146f2b5c794b4",
      "tree": "e59036f22f10b1fa8527537158a435d86f82f048",
      "parents": [
        "4712a792ee661921374c163eb6a4d06e33fd305f"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Mar 20 15:24:37 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:01 2007 -0700"
      },
      "message": "[CCID3]: Use function for RTT sampling\n\nThis replaces the existing occurrences of RTT sampling with\nthe use of the new function dccp_sample_rtt.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c150efb280986db7958cf2a559b91d826241e59",
      "tree": "f74291b4ea523ad2461192f680b892d2e19f2652",
      "parents": [
        "a21f9f96cd035b0d9aec32d80ea0152672fbed42"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Mar 20 15:19:07 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:59 2007 -0700"
      },
      "message": "[CCID3]: Handle Idle and Application-Limited periods\n\nThis updates the code with regard to handling idle and application-limited\nperiods as specified in [RFC 4342, 5.1].\n\nBackground:\n"
    },
    {
      "commit": "a21f9f96cd035b0d9aec32d80ea0152672fbed42",
      "tree": "fa868d6bc48b46eae10ed864e74bb9f790579dfc",
      "parents": [
        "1761f7d7fea32c2290710f5c0afa0c3d93220593"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Mar 20 15:12:10 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:58 2007 -0700"
      },
      "message": "[CCID3]: Wrap computation of RFC3390-initial rate into separate function\n\nThe CCID 3 and TFRC specs (RFC 4342, RFC 3448, draft-3448bis) make frequent\nreference to the computation of the RFC-3390 initial sending rate:\n\n  1. Initial sending rate when RTT is known (RFC 4342, p. 6)\n  2. Response to Idle/Application-Limited periods (RFC 4342, 5.1)\n\nThis warrants putting the code into its own function, for later code reuse.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1761f7d7fea32c2290710f5c0afa0c3d93220593",
      "tree": "834c1eefb9e75ea708be860ec372b0554b550614",
      "parents": [
        "fddc2feb94c1f734dc27d44d166e97ab2e005ec1"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Mar 20 15:04:30 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:57 2007 -0700"
      },
      "message": "[CCID3]: Remove build warnings for 64bit\n\nThis clears the following sparc64 build warnings:\n 1) warning: format \"%ld\" expects type \"long int\", but argument 3 has type \"suseconds_t\"\n 2) warning: format \"%llu\" expects type \"long long unsigned int\", but argument 3 has type \"__u64\"\nFixed by using typecast to unsigned. This is argued to be safe, since the quantities, after\nde-scaling (factor 2^6) fit all in u32.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1266adee12d25385a25e1c57b1e3ff05a90bb4d7",
      "tree": "eb42be8ede3ca9d5ac00076ebee20be5771c30ee",
      "parents": [
        "8699be7d240e37c91a84bdf32e79941d72bc7bd5"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Mar 20 14:56:11 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:52 2007 -0700"
      },
      "message": "[CCID3]: Remove race condition and update t_ipi when `s\u0027 changes\n\nThis:\n\n 1. removes a race condition in the access to the scheduled send time t_nom which\n    results from allowing asynchronous r/w access to t_nom without locks;\n\n 2. updates the inter-packet interval t_ipi \u003d s/X when `s\u0027 changes, following a\n    suggestion by Ian McDonald.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8699be7d240e37c91a84bdf32e79941d72bc7bd5",
      "tree": "cad4d9eb3b408899b7476ce9abc7de93b167ce87",
      "parents": [
        "551dc5f7a11cfb66685bfd36cbbdb209c5a11d14"
      ],
      "author": {
        "name": "Ian McDonald",
        "email": "ian.mcdonald@jandi.co.nz",
        "time": "Tue Mar 20 14:49:20 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:51 2007 -0700"
      },
      "message": "[CCID3]: More verbose debugging\n\nThis adds a few debugging statements to ccid3.c\n\nSigned-off-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "551dc5f7a11cfb66685bfd36cbbdb209c5a11d14",
      "tree": "54fe446ac294e4bbe8229bb5dc9921e84a468916",
      "parents": [
        "371fe7779cad6557a58df9a1b5543652e067400f"
      ],
      "author": {
        "name": "Ian McDonald",
        "email": "ian.mcdonald@jandi.co.nz",
        "time": "Tue Mar 20 14:46:52 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:50 2007 -0700"
      },
      "message": "[CCID3]: Fix use of invalid loss intervals\n\nThis fixes a bug which uses an invalid comparison.\nThe bug resulted in the use of invalid loss intervals.\n\nSigned-off-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nAcked-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "371fe7779cad6557a58df9a1b5543652e067400f",
      "tree": "037be0b166906ff91f2b4a7c7d11a01180a0db61",
      "parents": [
        "9bf17475eb658a920125bd8f05edf9c57c2dd950"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Mar 20 14:28:44 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:49 2007 -0700"
      },
      "message": "[CCID3]: Use MSS for larger initial windows\n\nThis improves the slow-start phase by using the MSS\n(as suggested in RFC 4342, sec. 5) instead of the packet size s.\nAlso figured out that __u32 is ample resource enough.\n\nAfter applying, I got the following in the logs:\n\n  ccid3_hc_tx_packet_recv: client(f7421700), s\u003d6, MSS\u003d1424, w_init\u003d4380, R_sample\u003d176us, X\u003d24886363\n\nHad the previous variant been used, w_init would have been as low as 24.\n\nCommitter note: removed unneeded cast to unsigned long long that was\n                causing a compiler warning on 64bit architectures.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9bf17475eb658a920125bd8f05edf9c57c2dd950",
      "tree": "2e3e66c47ad4326771118397ed52d0231b503595",
      "parents": [
        "353b13e10a3f1a18c6b33858fb3337bcd2692eb5"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Mar 20 13:11:24 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:48 2007 -0700"
      },
      "message": "[CCID3]: Re-order CCID 3 source file\n\nNo code change at all.\nThis splits ccid3.c into a RX and a TX section, so that the file has an\norganisation similar to the other ones (e.g. packet_history.{h,c}).\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "353b13e10a3f1a18c6b33858fb3337bcd2692eb5",
      "tree": "de428797382777f58a30648a64296825f03cd8a5",
      "parents": [
        "8d13bf9a0bd4984756e234ce54299b92acefab99"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Mar 20 13:10:15 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:47 2007 -0700"
      },
      "message": "[CCID3]: Remove redundant `len\u0027 test\n\nSince CCID3 avoids  sending 0-byte data packets (cf. ccid3_hc_tx_send_packet),\ntesting for zero-payload length, as performed by ccid3_hc_tx_update_s, is\nredundant - hence removed by this patch.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "151a99317ee9efcfd3e642da62e1edf4f47fcb3e",
      "tree": "8abf1427c3e25fc7ec6d48c863a4a2cf33ddc004",
      "parents": [
        "286930797d74b2c9a5beae84836044f6a836235f"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Mar 07 12:53:48 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Mar 07 16:08:07 2007 -0800"
      },
      "message": "[DCCP]: Revert patch which disables bidirectional mode\n\nThis reverts an earlier patch which disabled bidirectional mode, meaning that\na listening (passive) socket was not allowed to write to the other (active)\nend of the connection.\n\nThis mode had been disabled when there were problems with CCID3, but it\nimposes a constraint on socket programming and thus hinders deployment.\n\nA change is included to ignore RX feedback received by the TX CCID3 module.\n\nMany thanks to Andre Noll for pointing out this issue.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c9eaf17341834de00351bf79f16b2d879c8aea96",
      "tree": "d8b2005197444fa6b6bdf8e8c8fd6eaf2db9ecd7",
      "parents": [
        "4ec93edb14fe5fdee9fae6335f2cbba204627eac"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Feb 09 23:24:38 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Feb 10 23:19:27 2007 -0800"
      },
      "message": "[NET] DCCP: Fix whitespace errors.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0f08461ebf89e10f7db9042fb028359b810c3c81",
      "tree": "3a8bdeebfd307483d3a6ab094a770449112b4135",
      "parents": [
        "919afbd68863550665b328a78107bc2919c5e3f4"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Feb 05 18:18:21 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Feb 08 12:38:56 2007 -0800"
      },
      "message": "[DCCP]: Warning fixes.\n\nnet/dccp/ccids/ccid3.c: In function `ccid3_hc_rx_packet_recv\u0027:\nnet/dccp/ccids/ccid3.c:1007: warning: long int format, different type arg (arg 3)\nnet/dccp/ccids/ccid3.c:1007: warning: long int format, different type arg (arg 4)\n\nopaque types must be suitably cast for printing.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "832e3ca62d6ee1893db05f5202c24ae5331e19ba",
      "tree": "c6cf0507bd9a4e48363748b0a2f2c89ad40ab6ab",
      "parents": [
        "e1b4b9f3986b80d5785d91dbd8d72cfaf9fd1117"
      ],
      "author": {
        "name": "Ian McDonald",
        "email": "ian.mcdonald@jandi.co.nz",
        "time": "Tue Dec 12 00:47:59 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Dec 13 16:48:24 2006 -0800"
      },
      "message": "[DCCP] ccid3: return value in ccid3_hc_rx_calc_first_li\n\nIn a recent patch we introduced invalid return codes which will result in the\nopposite of what is intended (i.e. send more packets in face of peculiar\nnetwork conditions).\n\nThis fixes it by returning ~0 which means not calculated as per\ndccp_li_hist_calc_i_mean.\n\nSigned-off-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "8109b02b5397ed52a32c116163a62a34f4768b26",
      "tree": "0dbeae8cc999d2f6b71807b942eda7ff686ba7d2",
      "parents": [
        "1fba78b6cba14bd37fdb12c5367f1e4d58ff2e0f"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Sun Dec 10 16:01:18 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Dec 11 14:35:00 2006 -0800"
      },
      "message": "[DCCP]: Whitespace cleanups\n\nThat accumulated over the last months hackaton, shame on me for not\nusing git-apply whitespace helping hand, will do that from now on.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "1fba78b6cba14bd37fdb12c5367f1e4d58ff2e0f",
      "tree": "dc606497372ac469f698fa2a31d956a67a62d739",
      "parents": [
        "9e8efc824098c241a1cde81f5558d222cb6f9369"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Sun Dec 10 15:39:29 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Dec 11 14:34:59 2006 -0800"
      },
      "message": "[DCCP] ccid3: Fixup some type conversions related to rtts\n\nSpotted by David Miller when compiling on sparc64, I reproduced it here on\nparisc64, that are the only platforms to define __kernel_suseconds_t as an\n\u0027int\u0027, all the others, x86_64 and x86 included typedef it as a \u0027long\u0027, but from\nthe definition of suseconds_t it should just be an \u0027int\u0027 on platforms where it\nis \u003e\u003d 32bits, it would not require all the castings from suseconds_t to (int)\nwhen printking variables of this type, that are not needed on parisc64 and\nsparc64.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "9e8efc824098c241a1cde81f5558d222cb6f9369",
      "tree": "443c107edcac509a93857184f1d2e00933369dcb",
      "parents": [
        "7af5af3013f84693a7af581e3c8b32f9db493cf5"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Dec 10 00:24:57 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Dec 11 14:34:58 2006 -0800"
      },
      "message": "[DCCP] ccid3: BUG-FIX - conversion errors\n\nThis fixes conversion errors which arose by not properly type-casting\nfrom u32 to __u64. Fixed by explicitly casting each type which is not\n__u64, or by performing operation after assignment.\n\nThe patch further adds missing debug information to track the current\nvalue of X_recv.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "7af5af3013f84693a7af581e3c8b32f9db493cf5",
      "tree": "4434c3993e0a6da3cd5b5ade8db06c9491773ade",
      "parents": [
        "85dcb1f78039cc55ccddd9622657a338b718aafe"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Dec 10 00:24:33 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Dec 11 14:34:57 2006 -0800"
      },
      "message": "[DCCP] ccid3: Reorder packet history source file\n\nNo code change at all.\n\nThis reorders the source file to follow the same order as the corresponding\nheader file.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "85dcb1f78039cc55ccddd9622657a338b718aafe",
      "tree": "66cf39fbb6c147a013588142ba5488fcd8e666d9",
      "parents": [
        "a967241129f6dc1db92fee2c808f73a90f5f47a3"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Dec 10 00:24:11 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Dec 11 14:34:56 2006 -0800"
      },
      "message": "[DCCP] ccid3: Reorder packet history header file\n\nNo code change at all.\n\nTo make the header file easier to read, the following ordering is established\namong the declarations:\n\t* hist_new\n\t* hist_delete\n\t* hist_entry_new\n\t* hist_head\n\t* hist_find_entry\n\t* hist_add_entry\n\t* hist_entry_delete\n\t* hist_purge\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "a967241129f6dc1db92fee2c808f73a90f5f47a3",
      "tree": "7fb9aaedfcd47260b341050bb006729df5c6ec87",
      "parents": [
        "c5a1ae9a4cc4aef1505fa0aba079f834c3ee1af1"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Dec 10 00:14:12 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Dec 11 14:34:55 2006 -0800"
      },
      "message": "[DCCP] ccid3: Make debug output consistent\n\nThis patch does not alter any algorithm, just the debug message format:\n\n * s#%s, sk\u003d%p#%s(%p)#g\n\n * when a statename is present, it now uses %s(%p, state\u003d%s)\n\n * when only function entry is debugged, it adds an `- entry\u0027\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "c5a1ae9a4cc4aef1505fa0aba079f834c3ee1af1",
      "tree": "ce26c29076ae01f762fd5b09becca79ac602a63b",
      "parents": [
        "e312d100f19fdfe1019512b07a9d15653f254abf"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Dec 10 00:09:21 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Dec 11 14:34:54 2006 -0800"
      },
      "message": "[DCCP] ccid3: Perform history operations only after packet has been sent\n\n This migrates all packet history operations into the routine\n ccid3_hc_tx_packet_sent, thereby removing synchronization problems\n that occur when, as before, the operations are spread over multiple\n routines.\n The following minor simplifications are also applied:\n  * several simplifications now follow from this change - several tests\n    are now no longer required\n  * removal of one unnecessary variable (dp)\n\nJustification:\n\n Currently packet history operations span two different routines,\n one of which is likely to pass through several iterations of sleeping\n and awakening.\n The first routine, ccid3_hc_tx_send_packet, allocates an entry and\n sets a few fields. The remaining fields are filled in when the second\n routine (which is not within a sleeping context), ccid3_hc_tx_packet_sent,\n is called. This has several strong drawbacks:\n  * it is not necessary to split history operations - all fields can be\n    filled in by the second routine\n  * the first routine is called multiple times, until a packet can be sent,\n    and sleeps meanwhile - this causes a lot of difficulties with regard to\n    keeping the list consistent\n  * since both routines do not have a producer-consumer like synchronization,\n    it is very difficult to maintain data across calls to these routines\n  * the fact that the routines are called in different contexts (sleeping, not\n    sleeping) adds further problems\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "e312d100f19fdfe1019512b07a9d15653f254abf",
      "tree": "96b3275b746b2c871ab3d2d0f6e1d683ea0ae030",
      "parents": [
        "9f8681db961de6d75e43844e9664f1f81e05e1b7"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Dec 10 00:08:09 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Dec 11 14:34:53 2006 -0800"
      },
      "message": "[DCCP] ccid3: TX history - remove unused field\n\nThis removes the `dccphtx_ccval\u0027 field since it is nowhere used in the code and\nin fact not necessary for the accounting.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "9f8681db961de6d75e43844e9664f1f81e05e1b7",
      "tree": "07679d0ea408127119bc8b2ce74b38031da204e5",
      "parents": [
        "de553c189e3faa0d0c38f366f73379b46587b80e"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Dec 10 00:07:37 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Dec 11 14:34:52 2006 -0800"
      },
      "message": "[DCCP] ccid3: Shift window counter computation\n\n This puts the window counter computation [RFC 4342, 8.1] into a separate\n function which is called whenever a new packet is ready for immediate\n transmission in ccid3_hc_tx_send_packet.\n\nJustification:\n\n The window counter update was previously computed after the packet was sent. This has\n two drawbacks, both fixed by this patch:\n   1) re-compute another timestamp almost directly after the packet was sent (expensive),\n   2) the CCVal for the window counter is needed at the instant the packet is sent.\n\nFurther details:\n\n The initialisation of the window counter is left in the state NO_SENT, as before.\n The algorithm will do nothing if either RTT is initialised to 0 (which is ok) or if\n the RTT value remains below 4 microseconds (which is almost pathological).\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "de553c189e3faa0d0c38f366f73379b46587b80e",
      "tree": "0fbc7bd2c042518383ee07287812453176ae8b0d",
      "parents": [
        "fe0499ae95f5f636bda1f6e0bdba5b7b023ea827"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Dec 10 00:06:32 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Dec 11 14:34:51 2006 -0800"
      },
      "message": "[DCCP] ccid3: Sanity-check RTT samples\n\nCCID3 performance depends much on the accuracy of RTT samples.  If RTT\nsamples grow too large, performance can be catastrophically poor.\n\nTo limit the amount of possible damage in such cases, the patch\n * introduces an upper limit which identifies a maximum `sane\u0027 RTT value;\n * uses a macro to enforce this upper limit.\n\nUsing a macro was given preference, since it is necessary to identify the\ncalling function in the warning message. Since exceeding this threshold\nidentifies a critical condition, DCCP_CRIT is used and not DCCP_WARN.\n\nMany thanks to Ian McDonald for collaboration on this issue.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "fe0499ae95f5f636bda1f6e0bdba5b7b023ea827",
      "tree": "d944ebcdaa0b689de58e3c98adf3d3b707385493",
      "parents": [
        "65d6c2b42ecc0ca77bb3c0fe27fcbdc84fc7a79a"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Dec 10 00:06:01 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Dec 11 14:34:50 2006 -0800"
      },
      "message": "[DCCP] ccid3: Initialise RTT values\n\nIn both the sender and the receiver it is possible that the stored\nRTT value is accessed before an actual RTT estimate has been computed.\n\nThis patch\n * initialises the sender RTT to 0\n     - the sender always accesses the RTT in ccid3_hc_tx_packet_sent\n     - the RTT is further needed for the window counter algorithm\n\n * replaces the receiver initialisation of 5msec with 0\n     - which has the same effect and removes an `XXX\u0027\n     - the RTT value is needed in ccid3_hc_rx_packet_recv as rtt_prev\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "65d6c2b42ecc0ca77bb3c0fe27fcbdc84fc7a79a",
      "tree": "f38a54545125cf0c736fd484f03ec3e3ee3d971a",
      "parents": [
        "f6282f4da5eb67e08eff94d73a1911c3a008846a"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Dec 10 00:05:38 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Dec 11 14:34:49 2006 -0800"
      },
      "message": "[DCCP] ccid: Deprecate ccid_hc_tx_insert_options\n\n The function ccid3_hc_tx_insert_options only does a redundant no-op,\n as the operation\n\n  DCCP_SKB_CB(skb)-\u003edccpd_ccval \u003d hctx-\u003eccid3hctx_last_win_count;\n\n is already performed _unconditionally_ in ccid3_hc_tx_send_packet.\n\n Since there is further no current need for this function, it is removed\n entirely. Since furthermore, there is actually no present need for the\n entire interface function ccid_hc_tx_insert_options, it was decided to\n remove it also, to clean up the interface.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "bf58a381e8106fe73247c753e3da58fcb5eabd2e",
      "tree": "4f0539a3d96930bddc5291b136f4fa08c1af8e77",
      "parents": [
        "d63d8364cfe17fc9bb738f554f452595f76f21d2"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Dec 10 00:04:43 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Dec 11 14:34:47 2006 -0800"
      },
      "message": "[DCCP]: Only deliver to the CCID rx side in charge\n\nThis is an optimisation to reduce CPU load. The received feedback is now\nonly directed to the active CCID component, without requiring processing\nalso by the inactive one.\n\nAs a consequence, a similar test in ccid3.c is now redundant and is\nalso removed.\n\nJustification:\n\n Currently DCCP works as a unidirectional service, i.e. a listening server\n is not at the same time a connecting client.\n As far as I can see, several modifications are necessary until that\n becomes possible.\n At the present time, received feedback is both fed to the rx/tx CCID\n modules. In unidirectional service, only one of these is active at any\n one time.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "d63d8364cfe17fc9bb738f554f452595f76f21d2",
      "tree": "32bd2371deb9ddc8a7c7bd835f33c2290cc0e8bf",
      "parents": [
        "0f9e5b573f7249b0e04a03457b55081d1f60f2bf"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Dec 10 00:04:16 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Dec 11 14:34:46 2006 -0800"
      },
      "message": "[DCCP]: Simplify TFRC calculation\n\nIn migrating towards using the newer functions scaled_div/scaled_div32\nfor TFRC computations mapped from floating-point onto integer arithmetic,\nthis completes the last stage of modifications.\n\nIn particular, the overflow case for computing X_calc is circumvented by\n * breaking the computation into two stages\n * the first stage, res \u003d (s*1E6)/R, cannot overflow due to use of u64\n * in the second stage, res \u003d (res*1E6)/f, overflow on u32 is avoided due\n   to (i) returning UINT_MAX in this case (which is logically appropriate)\n   and (ii) issuing a warning message into the system log (since very likely\n   there is a problem somewhere else with the parameters)\n\nLastly, all such scaling operations are now exported into tfrc.h, since\nactually this form of scaled computation is specific to TFRC and not to CCID3.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "0f9e5b573f7249b0e04a03457b55081d1f60f2bf",
      "tree": "fa33e3252d5df520348bb22d2a14aeac0e6b2bfc",
      "parents": [
        "bfe24a6cc222d27e1491f850802fa6932232b8ef"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Dec 10 00:03:51 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Dec 11 14:34:45 2006 -0800"
      },
      "message": "[DCCP]: Debug timeval operations\n\nProblem:\n\n Most target types in the CCID3 code are u32, so subtle conversion errors\n can occur if signed time calculations yield negative results: the original\n values are lost in the conversion to unsigned, calculation errors go undetected.\n\n This patch therefore\n   * sets all critical time types from unsigned to suseconds_t\n   * avoids comparison between signed/unsigned via type-casting\n   * provides ample warning messages in case time calculations are negative\n\n These warning messages can be removed at a later stage when the code\n has undergone more testing.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "bfe24a6cc222d27e1491f850802fa6932232b8ef",
      "tree": "a1782cdb20b19ffb07e1e7ce1ab7aba34fddcecd",
      "parents": [
        "b9039a2a8df974d7702564318722434bb276a995"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Dec 10 00:03:30 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Dec 11 14:34:44 2006 -0800"
      },
      "message": "[DCCP] ccid3: Simplify calculation for reverse lookup of p\n\n This simplifies the calculation of a value p for a given fval when the\n first loss interval is computed (RFC 3448, 6.3.1). It makes use of the\n two new functions scaled_div/scaled_div32 to provide overflow protection.\n\n Additionally, protection against divide-by-zero is extended - in this\n case the function will return the maximally possible value of p\u003d100%.\n\nBackground:\n\n The maximum fval, f(100%), is approximately 244, i.e. the scaled value of fval\n should never exceed 244E6, which fits easily into u32. The problem is the scaling\n by 10^6, since additionally R(TT) is in microseconds.\n This is resolved by breaking the division into two stages: the first stage\n computes fval\u003d(s*10^6)/R, stores that into u64; the second stage computes\n fval \u003d (fval*10^6)/X_recv and complains if overflow is reached for u32.\n This case is safe since the TFRC reverse-lookup routine then returns p\u003d100%.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "b9039a2a8df974d7702564318722434bb276a995",
      "tree": "ee67d87ec5b6e0a7f3100f63c31050270593146d",
      "parents": [
        "1a21e49a8d60f588c1276f765198b14d5688a778"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Dec 10 00:02:51 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Dec 11 14:34:43 2006 -0800"
      },
      "message": "[DCCP] ccid3: Replace scaled division operations\n\nThis replaces the remaining uses of usecs_div with scaled_div32, which\ninternally uses 64bit division and produces a warning on overflow.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "1a21e49a8d60f588c1276f765198b14d5688a778",
      "tree": "4b8770be71047437f30da694649719948977b189",
      "parents": [
        "179ebc9f92da88e15ea86d7d27308c92712d8ee9"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Dec 10 00:02:12 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Dec 11 14:34:42 2006 -0800"
      },
      "message": "[DCCP] ccid3: Finer-grained resolution of sending rates\n\nThis patch\n * resolves a bug where packets smaller than 32/64 bytes resulted in sending rates of 0\n * supports all sending rates from 1/64 bytes/second up to 4Gbyte/second\n * simplifies the present overflow problems in calculations\n\nCurrent sending rate X and the cached value X_recv of the receiver-estimated\nsending rate are both scaled by 64 (2^6) in order to\n * cope with low sending rates (minimally 1 byte/second)\n * allow upgrading to use a packets-per-second implementation of CCID 3\n * avoid calculation errors due to integer arithmetic cut-off\n\nThe patch implements a revised strategy from\nhttp://www.mail-archive.com/dccp@vger.kernel.org/msg01040.html\n\nThe only difference with regard to that strategy is that t_ipi is already\nused in the calculation of the nofeedback timeout, which saves one division.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "179ebc9f92da88e15ea86d7d27308c92712d8ee9",
      "tree": "6b8a18fd9e5b3447b8b32560d258f92276c358b7",
      "parents": [
        "ff58629824c068e2a75402b5b83f12af0b36d394"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Dec 10 00:01:22 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Dec 11 14:34:41 2006 -0800"
      },
      "message": "[DCCP] ccid3: Fix two bugs in sending rate computation\n\nThis fixes\n 1) a bug in the recomputation of the sending rate by the nofeedback\n    timer when no feedback at all has so far been sent by the receiver:\n    min_t was used instead of max_t, which is wrong (cf. RFC 3448, p. 10);\n\n 2) an error in the computation of larger initial windows: instead of\n    min(... max()) (cf. RFC 4342, 5.), the code had used max(... max()).\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "ff58629824c068e2a75402b5b83f12af0b36d394",
      "tree": "0d8f4a64dbe4e52879cac33174df406adf77da44",
      "parents": [
        "45393a66a2c30fc8ed86e6c79a63a3cd5231c69f"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Dec 10 00:00:14 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Dec 11 14:34:40 2006 -0800"
      },
      "message": "[DCCP] ccid3: Two optimisations for sending rate recomputation\n\nThis performs two optimisations for the recomputation of the sending rate.\n\n1) Currently the target sending rate X_calc is recalculated whenever\n\ta) the nofeedback timer expires, or\n\tb) a feedback packet is received.\n   In the (a) case, recomputing X_calc is redundant, since\n\n    * the parameters p and RTT do not change in between the\n      reception of feedback packets;\n\n    * the parameter X_recv is either modified from received\n      feedback or via the nofeedback timer;\n\n    * a test (`p \u003d\u003d 0\u0027) in the nofeedback timer avoids using\n      a stale/undefined value of X_calc if p was previously 0.\n\n2) The nofeedback timer now only recomputes a timestamp when p \u003d\u003d 0.\n   This is according to step (4) of [RFC 3448, 4.3] and avoids\n   unnecessarily determining a timestamp.\n\nA debug statement about not updating X is also removed - it helps very\nlittle in debugging and just clutters the logs.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "45393a66a2c30fc8ed86e6c79a63a3cd5231c69f",
      "tree": "628feedd3d6d1fbdb1728d57e4bb62e1fc61e5c4",
      "parents": [
        "5fce9a2da8a3b4ed088d9c0ac7c938a638044fdb"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Dec 09 23:59:14 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Dec 11 14:34:39 2006 -0800"
      },
      "message": "[DCCP] ccid3: Check against too large p\n\nThis patch follows a suggestion by Ian McDonald and ensures that in\nthe current code the value of p can not exceed 100%.  Such a value is\nillegal and would consequently cause a bug condition in tfrc_calc_x().\n\nThe receiver case is also tested, and a warning message is added.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "e18b890bb0881bbab6f4f1a6cd20d9c60d66b003",
      "tree": "4828be07e1c24781c264b42c5a75bcd968223c3f",
      "parents": [
        "441e143e95f5aa1e04026cb0aa71c801ba53982f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:25 2006 -0800"
      },
      "message": "[PATCH] slab: remove kmem_cache_t\n\nReplace all uses of kmem_cache_t with struct kmem_cache.\n\nThe patch was generated using the following script:\n\n\t#!/bin/sh\n\t#\n\t# Replace one string by another in all the kernel sources.\n\t#\n\n\tset -e\n\n\tfor file in `find * -name \"*.c\" -o -name \"*.h\"|xargs grep -l $1`; do\n\t\tquilt add $file\n\t\tsed -e \"1,\\$s/$1/$2/g\" $file \u003e/tmp/$$\n\t\tmv /tmp/$$ $file\n\t\tquilt refresh\n\tdone\n\nThe script was run like this\n\n\tsh replace kmem_cache_t \"struct kmem_cache\"\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "54e6ecb23951b195d02433a741c7f7cb0b796c78",
      "tree": "c8885c49f37c8d383945b8af69d51597494ed62c",
      "parents": [
        "f7267c0c0721fd02ad3dc37c3d6dd24ccd81d4d6"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:16 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:24 2006 -0800"
      },
      "message": "[PATCH] slab: remove SLAB_ATOMIC\n\nSLAB_ATOMIC is an alias of GFP_ATOMIC\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2bbf29acd8f7adcf161de7e5d891b4095687a59f",
      "tree": "955b15fa3bcdee1f879949d8639c5e9d5b82e84e",
      "parents": [
        "44158306d756c88272c8faf243ca68897498e219"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Dec 03 14:53:27 2006 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Sun Dec 03 14:53:27 2006 -0200"
      },
      "message": "[DCCP] tfrc: Binary search for reverse TFRC lookup\n\nThis replaces the linear search algorithm for reverse lookup with\nbinary search.\n\nIt has the advantage of better scalability: O(log2(N)) instead of O(N).\nThis means that the average number of iterations is reduced from 250\n(linear search if each value appears equally likely) down to at most 9.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "44158306d756c88272c8faf243ca68897498e219",
      "tree": "b5406da158950a099336a67c507a0dd55c04fa25",
      "parents": [
        "006042d7e1a0aae35c9dd9eb8ec71fa379679adb"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Dec 03 14:53:07 2006 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Sun Dec 03 14:53:07 2006 -0200"
      },
      "message": "[DCCP] ccid3: Deprecate TFRC_SMALLEST_P\n\n This patch deprecates the existing use of an arbitrary value TFRC_SMALLEST_P\n for low-threshold values of p. This avoids masking low-resolution errors.\n Instead, the code now checks against real boundaries (implemented by preceding\n patch) and provides warnings whenever a real value falls below the threshold.\n\n If such messages are observed, it is a better solution to take this as an\n indication that the lookup table needs to be re-engineered.\n\nChangelog:\n----------\n This patch\n   * makes handling all TFRC resolution errors local to the TFRC library\n\n   * removes unnecessary test whether X_calc is \u0027infinity\u0027 due to p\u003d\u003d0 -- this\n     condition is already caught by tfrc_calc_x()\n\n   * removes setting ccid3hctx_p \u003d TFRC_SMALLEST_P in ccid3_hc_tx_packet_recv\n     since this is now done by the TFRC library\n\n   * updates BUG_ON test in ccid3_hc_tx_no_feedback_timer to take into account\n     that p now is either 0 (and then X_calc is irrelevant), or it is \u003e 0; since\n     the handling of TFRC_SMALLEST_P is now taken care of in the tfrc library\n\nJustification:\n--------------\n The TFRC code uses a lookup table which has a bounded resolution.\n The lowest possible value of the loss event rate `p\u0027 which can be\n resolved is currently 0.0001.  Substituting this lower threshold for\n p when p is less than 0.0001 results in a huge, exponentially-growing\n error.  The error can be computed by the following formula:\n\n    (f(0.0001) - f(p))/f(p) * 100      for p \u003c 0.0001\n\n Currently the solution is to use an (arbitrary) value\n     TFRC_SMALLEST_P  \u003d   40 * 1E-6   \u003d   0.00004\n and to consider all values below this value as `virtually zero\u0027.  Due to\n the exponentially growing resolution error, this is not a good idea, since\n it hides the fact that the table can not resolve practically occurring cases.\n Already at p \u003d\u003d TFRC_SMALLEST_P, the error is as high as 58.19%!\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "006042d7e1a0aae35c9dd9eb8ec71fa379679adb",
      "tree": "e0f7a4f351fbf147bd452ff45061245fd985f27d",
      "parents": [
        "8d0086adac0041de66b5f41b77eec0d8d239e16c"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Dec 03 14:52:41 2006 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Sun Dec 03 14:52:41 2006 -0200"
      },
      "message": "[DCCP] tfrc: Identify TFRC table limits and simplify code\n\nThis\n * adds documentation about the lowest resolution that is possible within\n   the bounds of the current lookup table\n * defines a constant TFRC_SMALLEST_P which defines this resolution\n * issues a warning if a given value of p is below resolution\n * combines two previously adjacent if-blocks of nearly identical\n   structure into one\n\nThis patch does not change the algorithm as such.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "8d0086adac0041de66b5f41b77eec0d8d239e16c",
      "tree": "9830f9188a9ba57bf75c0fa7c2246866f8a8789a",
      "parents": [
        "90fb0e60dd9178dbca2e42c682c483cdb7ea9f2d"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Dec 03 14:52:26 2006 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Sun Dec 03 14:52:26 2006 -0200"
      },
      "message": "[DCCP] tfrc: Add protection against invalid parameters to TFRC routines\n\n 1) For the forward X_calc lookup, it\n    * protects effectively against RTT\u003d0 (this case is possible), by\n      returning the maximal lookup value instead of just setting it to 1\n    * reformulates the array-bounds exceeded condition: this only happens\n      if p is greater than 1E6 (due to the scaling)\n    * the case of negative indices can now with certainty be excluded,\n      since documentation shows that the formulas are within bounds\n    * additional protection against p \u003d 0 (would give divide-by-zero)\n\n 2) For the reverse lookup, it warns against\n    * protects against exceeding array bounds\n    * now returns 0 if f(p) \u003d 0, due to function definition\n    * warns about minimal resolution error and returns the smallest table\n      value instead of p\u003d0 [this would mask congestion conditions]\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "90fb0e60dd9178dbca2e42c682c483cdb7ea9f2d",
      "tree": "09e750ded7fb3b34a0b146ef96a03a9495a9c37f",
      "parents": [
        "50ab46c790a3408c441ba4c2faa9555cacc20028"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Dec 03 14:52:01 2006 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Sun Dec 03 14:52:01 2006 -0200"
      },
      "message": "[DCCP] tfrc: Fix small error in reverse lookup of p for given f(p)\n\nThis fixes the following small error in tfrc_calc_x_reverse_lookup.\n\n 1) The table is generated by the following equations:\n\tlookup[index][0] \u003d g((index+1) * 1000000/TFRC_CALC_X_ARRSIZE);\n\tlookup[index][1] \u003d g((index+1) * TFRC_CALC_X_SPLIT/TFRC_CALC_X_ARRSIZE);\n    where g(q) is 1E6 * f(q/1E6)\n\n 2) The reverse lookup assigns an entry in lookup[index][small]\n\n 3) This index needs to match the above, i.e.\n    * if small\u003d0 then\n\n      \t\tp  \u003d (index + 1) * 1000000/TFRC_CALC_X_ARRSIZE\n\n    * if small\u003d1 then\n\n\t\tp \u003d (index+1) * TFRC_CALC_X_SPLIT/TFRC_CALC_X_ARRSIZE\n\nThese are exactly the changes that the patch makes; previously the code did\nnot conform to the way the lookup table was generated (this difference resulted\nin a mean error of about 1.12%).\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "50ab46c790a3408c441ba4c2faa9555cacc20028",
      "tree": "c1d1a93375908ad66fb6599532351bfcb3785269",
      "parents": [
        "26af3072b035daadf34a99d02510f0ff98f41f90"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Dec 03 14:51:29 2006 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Sun Dec 03 14:51:29 2006 -0200"
      },
      "message": "[DCCP] tfrc: Document boundaries and limits of the TFRC lookup table\n\nThis adds documentation for the TCP Reno throughput equation which is at\nthe heart of the TFRC sending rate / loss rate calculations.\n\nIt spells out precisely how the values were determined and what they mean.\nThe equations were derived through reverse engineering and found to be\nfully accurate (verified using test programs).\n\nThis patch does not change any code.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "26af3072b035daadf34a99d02510f0ff98f41f90",
      "tree": "2e3bde9b1b8c4bf9f9f74f0b7c2ee0f512664ecf",
      "parents": [
        "5c3fbb6acf9d32772ec7fc01cedd9478d0e26f44"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Dec 03 14:51:14 2006 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Sun Dec 03 14:51:14 2006 -0200"
      },
      "message": "[DCCP] ccid3: Fix warning message about illegal ACK\n\nThis avoids a (harmless) warning message being printed at the DCCP server\n(the receiver of a DCCP half connection).\n\nIncoming packets are both directed to\n\n * ccid_hc_rx_packet_recv() for the server half\n * ccid_hc_tx_packet_recv() for the client half\n\nThe message gets printed since on a server the client half is currently not\nsending data packets.\nThis is resolved for the moment by checking the DCCP-role first. In future\ntimes (bidirectional DCCP connections), this test may have to be more\nsophisticated.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "5c3fbb6acf9d32772ec7fc01cedd9478d0e26f44",
      "tree": "25d83ea9d776714b15d172aebb861e5d3f49f31a",
      "parents": [
        "76d127779e51fbf67ad6793214369aa1fea90278"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Dec 03 14:50:56 2006 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Sun Dec 03 14:50:56 2006 -0200"
      },
      "message": "[DCCP] ccid3: Fix bug in calculation of send rate\n\nThe main object of this patch is the following bug:\n \u003d\u003d\u003e In ccid3_hc_tx_packet_recv, the parameters p and X_recv were updated\n     _after_ the send rate was calculated. This is clearly an error and is\n     resolved by re-ordering statements.\n\nIn addition,\n  * r_sample is converted from u32 to long to check whether the time difference\n    was negative (it would otherwise be converted to a large u32 value)\n  * protection against RTT\u003d0 (this is possible) is provided in a further patch\n  * t_elapsed is also converted to long, to match the type of r_sample\n  * adds a a more debugging information regarding current send rates\n  * various trivial comment/documentation updates\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "76d127779e51fbf67ad6793214369aa1fea90278",
      "tree": "cc6cbeb3b7eb6c59b5e13bb12a74e0fc89988c78",
      "parents": [
        "8a508ac26e72aa203677aa6a8464bd3ea44216a6"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Dec 03 14:50:42 2006 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Sun Dec 03 14:50:42 2006 -0200"
      },
      "message": "[DCCP]: Fix BUG in retransmission delay calculation\n\nThis bug resulted in ccid3_hc_tx_send_packet returning negative\ndelay values, which in turn triggered silently dequeueing packets in\ndccp_write_xmit. As a result, only a few out of the submitted packets made\nit at all onto the network.  Occasionally, when dccp_wait_for_ccid was\ninvolved, this also triggered a bug warning since ccid3_hc_tx_send_packet\nreturned a negative value (which in reality was a negative delay value).\n\nThe cause for this bug lies in the comparison\n\n if (delay \u003e\u003d hctx-\u003eccid3hctx_delta)\n\treturn delay / 1000L;\n\nThe type of `delay\u0027 is `long\u0027, that of ccid3hctx_delta is `u32\u0027. When comparing\nnegative long values against u32 values, the test returned `true\u0027 whenever delay\nwas smaller than 0 (meaning the packet was overdue to send).\n\nThe fix is by casting, subtracting, and then testing the difference with\nregard to 0.\n\nThis has been tested and shown to work.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "8a508ac26e72aa203677aa6a8464bd3ea44216a6",
      "tree": "5a2167652960e2dc7300ad6ff3247bc0c31eed5c",
      "parents": [
        "2b5f6dcce5bf94b9b119e9ed8d537098ec61c3d2"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Dec 03 14:50:23 2006 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Sun Dec 03 14:50:23 2006 -0200"
      },
      "message": "[DCCP]: Use higher RTO default for CCID3\n\nThe TFRC nofeedback timer normally expires after the maximum of 4\nRTTs and twice the current send interval (RFC 3448, 4.3). On LANs\nwith a small RTT this can mean a high processing load and reduced\nperformance, since then the nofeedback timer is triggered very\nfrequently.\n\nThis patch provides a configuration option to set the bound for the\nnofeedback timer, using as default 100 milliseconds.\n\nBy setting the configuration option to 0, strict RFC 3448 behaviour\ncan be enforced for the nofeedback timer.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "6b57c93dc3aa0115b589cb89ef862d46ab9bd95e",
      "tree": "f825b1288d7839ade26225bb0a630540e38ffe41",
      "parents": [
        "a79ef76f4d8424324c2f108824a7398571193f43"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Nov 28 19:55:06 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:31:02 2006 -0800"
      },
      "message": "[DCCP]: Use `unsigned\u0027 for packet lengths\n\nThis patch implements a suggestion by Ian McDonald and\n\n 1) Avoids tests against negative packet lengths by using unsigned int\n    for packet payload lengths in the CCID send_packet()/packet_sent() routines\n\n 2) As a consequence, it removes an now unnecessary test with regard to `len \u003e 0\u0027\n    in ccid3_hc_tx_packet_sent: that condition is always true, since\n      * negative packet lengths are avoided\n      * ccid3_hc_tx_send_packet flags an error whenever the payload length is 0.\n        As a consequence, ccid3_hc_tx_packet_sent is never called as all errors\n        returned by ccid_hc_tx_send_packet are caught in dccp_write_xmit\n\n 3) Removes the third argument of ccid_hc_tx_send_packet (the `len\u0027 parameter),\n    since it is currently always set to skb-\u003elen. The code is updated with regard\n    to this parameter change.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "a79ef76f4d8424324c2f108824a7398571193f43",
      "tree": "a80e84d19c867e1432fc05ae50199487ce2ea2b2",
      "parents": [
        "841bac1d607d8bf2e068e4b24393fb77372814e3"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Nov 28 19:51:42 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:31:01 2006 -0800"
      },
      "message": "[DCCP] ccid3: Larger initial windows\n\nThis implements the larger-initial-windows feature for CCID 3, as described in\nsection 5 of RFC 4342. When the first feedback packet arrives, the sender can\nsend up to 2..4 packets per RTT, instead of just one.\n\nThe patch further\n * reduces the number of timestamping calls by passing the timestamp value\n   (which is computed in one of the calling functions anyway) as argument\n\n * renames one constant with a very long name into one which is shorter and\n   resembles the one in RFC 3448 (t_mbi)\n\n * simplifies some of the min_t/max_t cases where both `x\u0027, `y\u0027 have the same\n   type\n\nCommiter note: renamed TFRC_t_mbi to TFRC_T_MBI, to follow Linux coding style.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "5aed324369c94a2c38469c8288e42eb1a9fac400",
      "tree": "76290075540058745b53d34db1672f5e292e6b1a",
      "parents": [
        "78ad713da673a2977763521c347176137f3e493f"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Nov 28 19:33:36 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:30:59 2006 -0800"
      },
      "message": "[DCCP]: Tidy up unused structures\n\nThis removes and cleans up unused variables and structures which have become\nunnecessary following the introduction of the EWMA patch to automatically track\nthe CCID 3 receiver/sender packet sizes `s\u0027.\n\nIt deprecates the PACKET_SIZE socket option by returning an error code and\nprinting a deprecation warning if an application tries to read or write this\nsocket option.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "78ad713da673a2977763521c347176137f3e493f",
      "tree": "2ad817e9c90a46b8f0f2e41f60792fe5f00c865d",
      "parents": [
        "2a1fda6f6c01d7ac195c040f14edcf9f64a5451e"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Nov 28 19:22:33 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:30:58 2006 -0800"
      },
      "message": "[DCCP] ccid3: Track RX/TX packet size `s\u0027 using moving-average\n\nProblem:\n"
    },
    {
      "commit": "2a1fda6f6c01d7ac195c040f14edcf9f64a5451e",
      "tree": "81fb2bf85277d1f686bd484c89bf9fc4777a2396",
      "parents": [
        "4384260443efe90a2ec0d907568dbc58ae792cd0"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Nov 28 18:34:34 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:30:57 2006 -0800"
      },
      "message": "[DCCP] ccid3: Set NoFeedback Timeout according to RFC 3448\n\nThis corrects the setting of the nofeedback timer with regard to RFC\n3448 - previously it was not set to max(4*R, 2*s/X) as specified. Using\nthe maximum of 1 second as upper bound (as it was done before) can have\ndetrimental effects, especially if R is small.\n\nSigned-off-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "5d0dbc4a9b2d325458dcbf9a8329bd1d2cc7bd7e",
      "tree": "43aeec866470135e0b16420587ae04b7c41d43eb",
      "parents": [
        "17893bc1a632e195574dc0dd9751243f0d5993d2"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Mon Nov 27 20:32:37 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:30:52 2006 -0800"
      },
      "message": "[DCCP] ccid3: Consolidate handling of t_RTO\n\nThis patch\n * removes setting t_RTO in ccid3_hc_tx_init (per [RFC 3448, 4.2], t_RTO is\n   undefined until feedback has been received);\n\n * makes some trivial changes (updates of comments);\n\n * performs a small optimisation by exploiting that the feedback timeout\n   uses the value of t_ipi. The way it is done is safe, because the timeouts\n   appear after the changes to t_ipi, ensuring that up-to-date values are used;\n\n * in ccid3_hc_tx_packet_recv, moves the t_rto statement closer to the calculation\n   of the next_tmout. This makes the code clearer to read and is also safe, since\n   t_rto is not updated until the next call of ccid3_hc_tx_packet_recv, and is not\n   read by the functions called via ccid_wait_for_ccid();\n\n * removes a `max\u0027 statement in sk_reset_timer, this is not needed since the timeout\n   value is always greater than 1E6 microseconds.\n\n * adds `XXX\u0027es to highlight that currently the nofeedback timer is set\n   in a non-standard way\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "17893bc1a632e195574dc0dd9751243f0d5993d2",
      "tree": "7c036e23439d1cf5afbc63b147b7d1fbd8345eca",
      "parents": [
        "48e03eee715b9e19df03153f2bcce6413632afcb"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Mon Nov 27 20:31:33 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:30:51 2006 -0800"
      },
      "message": "[DCCP] ccid3: Consistently update t_nom, t_ipi, t_delta\n\nThis patch:\n\n * consolidates updating of parameters (t_nom, t_ipi, t_delta) which\n   need to be updated at the same time, since they are inter-dependent\n\n * removes two inline functions which are no longer needed as a result of\n   the above consolidation\n\n * resolves a FIXME regarding the re-calculation of t_ipi within the nofeedback\n   timer, in the state where no feedback has previously been received\n\n * ties updating these parameters to updating the sending rate X, exploiting\n   that all three parameters in turn depend on X; and using a small optimisation\n   which can reduce the number of required instructions: only update the three\n   parameters when X really changes\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "48e03eee715b9e19df03153f2bcce6413632afcb",
      "tree": "7a2995b3ac6bad9cac4309e97690dc0aa63a2868",
      "parents": [
        "b798a9ede2b2434b9cbf0f3aee3e8598586fa89c"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Mon Nov 27 20:29:27 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:30:50 2006 -0800"
      },
      "message": "[DCCP] ccid3: Consolidate timer resets\n\nThis patch concerns updating the value of the nofeedback timer when no feedback\nhas been received so far.\n\nSince in this case the value of R is still undefined according to [RFC 3448,\n4.2], we can not perform step (3) of [RFC 3448, 4.3].  A clarification is\nprovided in [RFC 4342, sec. 5], which states that in these cases the nofeedback\ntimer (still) expires \"after two seconds\".\n\nMany thanks to Ian McDonald for pointing this out and providing the\nclarification.\n\nThe patch\n  * implements [RFC 4342, sec. 5] with regard to the above case\n  * consolidates handling timer restart by\n\t- adding an appropriate jump label and\n\t- initialising the timeout value\n\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "5e19e3fcd7351de1ca87c4797cca27ba55c7e55e",
      "tree": "4d96f6c0c8fd8dc15a90c0172d433e4cb67ca3c3",
      "parents": [
        "70dbd5b0ef3915f1e018e6437c8db9e999b0d701"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Mon Nov 27 12:28:48 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:30:41 2006 -0800"
      },
      "message": "[DCCP] ccid3: Resolve small FIXME\n\nThis considers the  case - ACK received while no packet has been sent\nso far. Resolved by printing a (rate-limited) warning message.\n\nFurther removes an unnecessary BUG_ON in ccid3_hc_tx_packet_recv,\nreceived feedback on a terminating connection is simply ignored.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "70dbd5b0ef3915f1e018e6437c8db9e999b0d701",
      "tree": "370f202cff866337ba3c2520bd33e9ef4ab17178",
      "parents": [
        "da335baf9e788edfb00ee3b96f7b9526b6b2f8a9"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Mon Nov 27 12:27:55 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:30:40 2006 -0800"
      },
      "message": "[DCCP] ccid3: Remove redundant statements in ccid3_hc_tx_packet_sent\n\nThis patch removes a switch statement which is redundant since,\n * nothing is done in states TFRC_SSTATE_NO_SENT/TFRC_SSTATE_NO_FBACK\n * it is impossible that the function is called in the state TFRC_SSTATE_TERM, since\n       --the function is called, in dccp_write_xmit, after ccid3_hc_tx_send_packet\n       --if ccid3_hc_tx_send_packet is called in state TFRC_SSTATE_TERM, it returns\n         -EINVAL, which means that ccid3_hc_tx_packet_sent will not be called\n\t (compare dccp_write_xmit)\n       --\u003e therefore, this case is logically impossible\n * the remaining state is TFRC_SSTATE_FBACK which conditionally updates t_ipi, t_nom,\n   and t_delta. This is a no-op, since\n       --t_ipi only changes when feedback is received\n       --however, when feedback arrives via ccid3_hc_tx_packet_recv, there is an identical\n         code block which performs the same set of operations\n       --performing the same set of operations again in ccid3_hc_tx_packet_sent therefore\n         does not change anything, since between the time of receiving the last feedback\n\t (and therefore update of t_ipi, t_nom, and t_delta), the value of t_ipi has not\n\t changed\n       --since t_ipi has not changed, the values of t_delta and t_nom also do not change,\n         they depend fully on t_ipi\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "da335baf9e788edfb00ee3b96f7b9526b6b2f8a9",
      "tree": "1eea49e2f94f359d9293025c64f381d43dd5922f",
      "parents": [
        "7da7f456d7bc0e52009f882e8af0ac910293e157"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Mon Nov 27 12:26:57 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:30:39 2006 -0800"
      },
      "message": "[DCCP] ccid3: Avoid congestion control on zero-sized data packets\n\nThis resolves an `XXX\u0027 in ccid3_hc_tx_send_packet().\n\nThe function is only called on Data and DataAck packets and returns a negative\nresult on zero-sized messages. This is a reasonable policy since CCID 3 is a\ncongestion-control module and congestion control on zero-sized Data(Ack)\npackets is in a way pathological.\n\nThe patch uses a more suitable error code for this case, it returns the Posix.1\ncode `EBADMSG\u0027 (\"Not a data message\") instead of `ENOTCONN\u0027.\n\nAs a result of ignoring zero-sized packets, a the condition for a warning\n\"First packet is data\" in ccid3_hc_tx_packet_sent is always satisfied; this\nmessage has been removed since it will always be printed.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "7da7f456d7bc0e52009f882e8af0ac910293e157",
      "tree": "c49cecb21030022b951fcdeed98728782f37d034",
      "parents": [
        "91cf5a17257e1d2ef936fbf0223c3436ca583af9"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Mon Nov 27 12:26:03 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:30:38 2006 -0800"
      },
      "message": "[DCCP] ccid3: Simplify control flow of ccid3_hc_tx_send_packet\n\nThis makes some logically equivalent simplifications, by replacing\nrc - values plus goto\u0027s with direct return statements.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "91cf5a17257e1d2ef936fbf0223c3436ca583af9",
      "tree": "eb7386ab5729d299bda6534c783378eb3fd73c4c",
      "parents": [
        "f5c2d6367b04fd5ba98a5f9846b5fb870423968a"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Mon Nov 27 12:25:10 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:30:37 2006 -0800"
      },
      "message": "[DCCP] ccid3: Fix calculation of t_ipi time of scheduled transmission\n\nProblem:\n"
    },
    {
      "commit": "f5c2d6367b04fd5ba98a5f9846b5fb870423968a",
      "tree": "139687b3ec6b86b1938e7d55571880b9a88bf936",
      "parents": [
        "90feeb951f61a80d3a8f8e5ced25b9ec78867eaf"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Mon Nov 27 12:22:48 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:30:36 2006 -0800"
      },
      "message": "[DCCP] ccid3: Simplify control flow in the calculation of t_ipi\n\nThis patch performs a simplifying (performance) optimisation:\n\n In each call of the inline function ccid3_calc_new_t_ipi(), the state is\n tested against TFRC_SSTATE_NO_FBACK. This is expensive when the function\n is called very often. A simpler solution, implemented by this patch, is\n to adapt the control flow.\n\nBackground:\n"
    },
    {
      "commit": "90feeb951f61a80d3a8f8e5ced25b9ec78867eaf",
      "tree": "da51cfafc387972099ab2540ae301f8ae3fd7e8c",
      "parents": [
        "6472c051fcc5e571a9abee7f7a1ac58cc6e7bafa"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Mon Nov 27 12:13:38 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:30:35 2006 -0800"
      },
      "message": "[DCCP] ccid3: Fix bug in calculation of first t_nom and first t_ipi\n\nProblem:\n"
    },
    {
      "commit": "6472c051fcc5e571a9abee7f7a1ac58cc6e7bafa",
      "tree": "85060704f370434b82e29270ef17f67eb9ff22f7",
      "parents": [
        "522f1d095bf76dbe2430fb9a9a257c0f27033f31"
      ],
      "author": {
        "name": "Andrea Bittau",
        "email": "a.bittau@cs.ucl.ac.uk",
        "time": "Sun Nov 26 01:07:50 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:30:34 2006 -0800"
      },
      "message": "[DCCP] ccid2: Allow window to grow larger\n\nNow that we can stuff bigger ack vectors into options.\n\nSigned-off-by: Andrea Bittau \u003ca.bittau@cs.ucl.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "455431739ca2f4c7f02d0a5979559ac5a68a6f95",
      "tree": "b3ee30c13997b0411040f0641b1712f001a290b0",
      "parents": [
        "ddfe10b82455a5a524055fc606d1f1562d388dc8"
      ],
      "author": {
        "name": "Ian McDonald",
        "email": "ian.mcdonald@jandi.co.nz",
        "time": "Mon Nov 20 18:44:03 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:24:41 2006 -0800"
      },
      "message": "[DCCP] CCID3: Remove non-referenced variable\n\nThis removes a non-referenced variable.\n\nSigned-off-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    }
  ],
  "next": "23ea8945f6be2287fec67c85abcf24736c1ded80"
}
