)]}'
{
  "log": [
    {
      "commit": "45e9c0de2e86485f8b6633fd64ab19cfbff167f6",
      "tree": "0d4b478f259ea083e3f94363eebdf518413162ae",
      "parents": [
        "c8b0f4382cd7b5e58b17bd30d16898b7f249813c"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Sep 15 16:43:18 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 16 19:39:33 2008 -0700"
      },
      "message": "warn: Turn the netdev timeout WARN_ON() into a WARN()\n\nthis patch turns the netdev timeout WARN_ON_ONCE() into a WARN_ONCE(),\nso that the device and driver names are inside the warning message.\nThis helps automated tools like kerneloops.org to collect the data\nand do statistics, as well as making it more likely that humans\ncut-n-paste the important message as part of a bugreport.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "102396ae65108b026e4e1868e30fa013f45a169e",
      "tree": "1164f9020a3fa47460a2ab72e07c3308be2290ee",
      "parents": [
        "3cc76caa98b092a8fb3e7b4303c70f847db0651f"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Fri Aug 29 14:21:52 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 29 14:27:52 2008 -0700"
      },
      "message": "pkt_sched: Fix locking of qdisc_root with qdisc_root_sleeping_lock()\n\nUse qdisc_root_sleeping_lock() instead of qdisc_root_lock() where\nappropriate. The only difference is while dev is deactivated, when\ncurrently we can use a sleeping qdisc with the lock of noop_qdisc.\nThis shouldn\u0027t be dangerous since after deactivation root lock could\nbe used only by gen_estimator code, but looks wrong anyway.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f6f9b93f1624206c802ac9162c9302edaf59bfd9",
      "tree": "643bd211bf909118311138e588a78834fad7a40d",
      "parents": [
        "f7a54c13c7b072d9426bd5cec1cdb8306df5ef55"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Wed Aug 27 02:25:17 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 27 02:25:17 2008 -0700"
      },
      "message": "pkt_sched: Fix gen_estimator locks\n\nWhile passing a qdisc root lock to gen_new_estimator() and\ngen_replace_estimator() dev could be deactivated or even before\ngrafting proper root qdisc as qdisc_sleeping (e.g. qdisc_create), so\nusing qdisc_root_lock() is not enough. This patch adds\nqdisc_root_sleeping_lock() for this, plus additional checks, where\nnecessary.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f7a54c13c7b072d9426bd5cec1cdb8306df5ef55",
      "tree": "12134183d09f0826e0488fd281e6c0b830270d37",
      "parents": [
        "666d9bbedfff7c2c37eab92e715641922dee6864"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Wed Aug 27 02:22:07 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 27 02:22:07 2008 -0700"
      },
      "message": "pkt_sched: Use rcu_assign_pointer() to change dev_queue-\u003eqdisc\n\nThese pointers are RCU protected, so proper primitives should be used.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "666d9bbedfff7c2c37eab92e715641922dee6864",
      "tree": "5df5a04cad7fb147fca45fa3afc45703765ecc7d",
      "parents": [
        "c2d42545774c4bba7232521d836d0793330e3a4e"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Wed Aug 27 02:12:52 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 27 02:15:20 2008 -0700"
      },
      "message": "pkt_sched: Fix dev_graft_qdisc() locking\n\nDuring dev_graft_qdisc() dev is deactivated, so qdisc_root_lock()\nreturns wrong lock of noop_qdisc instead of qdisc_sleeping.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f6e0b239a2657ea8cb67f0d83d0bfdbfd19a481b",
      "tree": "9d6e3c97a81869fde3958cdbcf431ee3739f9b2c",
      "parents": [
        "2540e0511ea17e25831be543cdf9381e6209950d"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Fri Aug 22 03:24:05 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 22 03:31:39 2008 -0700"
      },
      "message": "pkt_sched: Fix qdisc list locking\n\nSince some qdiscs call qdisc_tree_decrease_qlen() (so qdisc_lookup())\nwithout rtnl_lock(), adding and deleting from a qdisc list needs\nadditional locking. This patch adds global spinlock qdisc_list_lock\nand wrapper functions for modifying the list. It is considered as a\ntemporary solution until hfsc_dequeue(), netem_dequeue() and\ntbf_dequeue() (or qdisc_tree_decrease_qlen()) are redone.\n\nWith feedback from Herbert Xu and David S. Miller.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2540e0511ea17e25831be543cdf9381e6209950d",
      "tree": "31c505b9957d82125cd7e779d83da0d389f9d336",
      "parents": [
        "5e739d1752aca4e8f3e794d431503bfca3162df4"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Thu Aug 21 05:11:14 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 21 05:11:14 2008 -0700"
      },
      "message": "pkt_sched: Fix qdisc_watchdog() vs. dev_deactivate() race\n\ndev_deactivate() can skip rescheduling of a qdisc by qdisc_watchdog()\nor other timer calling netif_schedule() after dev_queue_deactivate().\nWe prevent this checking aliveness before scheduling the timer. Since\nduring deactivation the root qdisc is available only as qdisc_sleeping\nadditional accessor qdisc_root_sleeping() is created.\n\nWith feedback from Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f3b9605d744df537dee10fd06630f35a62b343ec",
      "tree": "ca59a163fa700b36620358940f57f88057db7d8a",
      "parents": [
        "deb3abf15fb92a608fba630da2e8719862731714"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 18 22:33:05 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 18 22:33:05 2008 -0700"
      },
      "message": "Revert \"pkt_sched: Add BH protection for qdisc_stab_lock.\"\n\nThis reverts commit 1cfa26661a85549063e369e2b40275eeaa7b923c.\n\nqdisc_destroy() runs fully under RTNL again and not from softint any\nlonger, so this change is no longer needed.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e5befbd9525d92bb074b70192eb2c69aae65fc60",
      "tree": "ad9a3ce178096938f3ccb8c4445d71ace63f3e61",
      "parents": [
        "9f593653742d1dd816c4e94c6e5154a57ccba6d1"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Aug 18 22:30:01 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 18 22:30:01 2008 -0700"
      },
      "message": "pkt_sched: remove bogus block (cleanup)\n\n...Last block local var got just deleted.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4d8863a29c4755a0461cd31b6865026187d6c43a",
      "tree": "502b355314b1ff2e6cef52bf3778aba3bdae80cd",
      "parents": [
        "25bfcd5a78a377ea4c54a3c21e44590e2fc478a6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 18 21:03:15 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 18 21:06:19 2008 -0700"
      },
      "message": "pkt_sched: Don\u0027t hold qdisc lock over qdisc_destroy().\n\nBased upon reports by Denys Fedoryshchenko, and feedback\nand help from Jarek Poplawski and Herbert Xu.\n\nWe always either:\n\n1) Never made an external reference to this qdisc.\n\nor\n\n2) Did a dev_deactivate() which purged all asynchronous\n   references.\n\nSo do not lock the qdisc when we call qdisc_destroy(),\nit\u0027s illegal anyways as when we drop the lock this is\nfree\u0027d memory.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "25bfcd5a78a377ea4c54a3c21e44590e2fc478a6",
      "tree": "6abe3cb036c724206ec0996351aa8eec12d12b42",
      "parents": [
        "8608db031b4d2932d645709e2cfe8fbcd91a7305"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Mon Aug 18 20:53:34 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 18 21:06:09 2008 -0700"
      },
      "message": "pkt_sched: Add lockdep annotation for qdisc locks\n\nQdisc locks are initialized in the same function, qdisc_alloc(), so\nlockdep can\u0027t distinguish tx qdisc lock from rx and reports \"possible\nrecursive locking detected\" when both these locks are taken eg. while\nusing act_mirred with ifb. This looks like a false positive. Anyway,\nafter this patch these locks will be reported more exactly.\n\nReported-by: Denys Fedoryshchenko \u003cdenys@visp.net.lb\u003e\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8608db031b4d2932d645709e2cfe8fbcd91a7305",
      "tree": "01b2e63f9f28dddcb5c0dd72e9c8c5b73c866685",
      "parents": [
        "69747650c814a8a79fef412c7416adf823293a3e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 18 20:51:18 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 18 21:05:56 2008 -0700"
      },
      "message": "pkt_sched: Never schedule non-root qdiscs.\n\nBased upon initial discovery and patch by Jarek Poplawski.\n\nThe qdisc watchdogs can be attached to any qdisc, not just the root,\nso make sure we schedule the correct one.\n\nCBQ has a similar bug.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "69747650c814a8a79fef412c7416adf823293a3e",
      "tree": "c1c83e9ae903b0e93029f0071fdca544d2add340",
      "parents": [
        "96d203169d1d851ac1468f7d4459a09581be364c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 17 23:55:36 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 18 00:39:41 2008 -0700"
      },
      "message": "pkt_sched: Fix return value corruption in HTB and TBF.\n\nBased upon a bug report by Josip Rodin.\n\nPacket schedulers should only return NET_XMIT_DROP iff\nthe packet really was dropped.  If the packet does reach\nthe device after we return NET_XMIT_DROP then TCP can\ncrash because it depends upon the enqueue path return\nvalues being accurate.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4cf7cb280e4fcfcd7ae7429e17d798d3a44087af",
      "tree": "d0635d3fa1dcb475efb576b25818be66aa99e479",
      "parents": [
        "0d40b6e564bad2047b57a9afc48b701ef3243b89"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 17 22:45:17 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 17 22:45:17 2008 -0700"
      },
      "message": "sch_prio: Use NET_XMIT_SUCCESS instead of \"0\" constant.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0d40b6e564bad2047b57a9afc48b701ef3243b89",
      "tree": "66ec0052d32deacef2892a1cb9c3708b8add5027",
      "parents": [
        "1e0d5a5747772182d1bb2525d8153da640fdfb58"
      ],
      "author": {
        "name": "Jussi Kivilinna",
        "email": "jussi.kivilinna@mbnet.fi",
        "time": "Sun Aug 17 22:43:56 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 17 22:43:56 2008 -0700"
      },
      "message": "sch_prio: Use return value from inner qdisc requeue\n\nUse return value from inner qdisc requeue when value returned isn\u0027t\nNET_XMIT_SUCCESS, instead of always returning NET_XMIT_DROP.\n\nSigned-off-by: Jussi Kivilinna \u003cjussi.kivilinna@mbnet.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1e0d5a5747772182d1bb2525d8153da640fdfb58",
      "tree": "266a7c3e9a01728f7661d5b2976cc33d106b463c",
      "parents": [
        "3a76e3716b4e571f5d91a20b6afb412560599083"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 17 22:31:26 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 17 22:31:26 2008 -0700"
      },
      "message": "pkt_sched: No longer destroy qdiscs from RCU.\n\nWe can now kill them synchronously with all of the\nprevious dev_deactivate() cures.\n\nThis makes netdev destruction and shutdown saner as\nthe qdiscs hold references to the device.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3a76e3716b4e571f5d91a20b6afb412560599083",
      "tree": "caf2e5e493774bef0bcf82eb489c00b68a0144bf",
      "parents": [
        "4335cd2da1e8986fa8aff21a91144d986cb0a5fc"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Sun Aug 17 22:02:11 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 17 22:02:11 2008 -0700"
      },
      "message": "pkt_sched: Grab correct lock in notify_and_destroy().\n\nFrom: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\n\nWhen we are destroying non-root qdiscs, we need to lock\nthe root of the qdisc tree not the the qdisc itself.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4335cd2da1e8986fa8aff21a91144d986cb0a5fc",
      "tree": "7c39163199086fedc39adad6c733526658d4bc86",
      "parents": [
        "def82a1db1fdc4f861c77009e2ee86870c3743b0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 17 21:58:07 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 17 21:58:07 2008 -0700"
      },
      "message": "pkt_sched: Simplify dev_deactivate() polling loop.\n\nThe condition under which the previous qdisc has no more references\nafter we\u0027ve attached \u0026noop_qdisc is that both RUNNING and SCHED\nare both seen clear while holding the root lock.\n\nSo just make specifically that check in the polling loop, instead\nof this overly complex \"check without then check with lock held\"\nsequence.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a9312ae89324438b0edc554eb36c3ec6bf927d04",
      "tree": "8a440aa75a9ac5aba1447082ec43ed48951aa121",
      "parents": [
        "08013fa353fdcfc0a03cae805393abfc56722387"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 17 21:51:03 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 17 21:51:03 2008 -0700"
      },
      "message": "pkt_sched: Add \u0027deactivated\u0027 state.\n\nThis new state lets dev_deactivate() mark a qdisc as having been\ndeactivated.\n\ndev_queue_xmit() and ing_filter() check for this bit and do not\ntry to process the qdisc if the bit is set.\n\ndev_deactivate() polls the qdisc after setting the bit, waiting\nfor both __QDISC_STATE_RUNNING and __QDISC_STATE_SCHED to clear.\n\nThis isn\u0027t perfect yet, but subsequent changesets will make it so.\nThis part is just one piece of the puzzle.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "323c048836f73a11ded6f9743feda21c00465cb0",
      "tree": "2cbb7cf162da13586df959919739dd8f852ecf44",
      "parents": [
        "191cd582500f49b32a63040fedeebb0168c720af"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Thu Aug 14 17:01:10 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 14 17:01:10 2008 -0700"
      },
      "message": "pkt_sched: Fix unlocking in tc_ctl_tfilter()\n\nFix a bug with spin_lock_bh() inserted instead of spin_unlock_bh() by\nsome recent patch. \n\nReported-by: Denys Fedoryshchenko \u003cdenys@visp.net.lb\u003e\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b9a3b1102bc80b4044224494100f67de132d5448",
      "tree": "26d693207ad5c5e9ea79a2b21de48b1e409f628e",
      "parents": [
        "26b284de54a5ca3dfbe2fd9a51ac1923e80085a2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 13 15:18:38 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 13 15:18:38 2008 -0700"
      },
      "message": "pkt_sched: Fix queue quiescence testing in dev_deactivate().\n\nBased upon discussions with Jarek P. and Herbert Xu.\n\nFirst, we\u0027re testing the wrong qdisc.  We just reset the device\nqueue qdiscs to \u0026noop_qdisc and checking it\u0027s state is completely\npointless here.\n\nWe want to wait until the previous qdisc that was sitting at\nthe -\u003eqdisc pointer is not busy any more.  And that would be\n-\u003eqdisc_sleeping.\n\nBecause of how we propagate the samples qdisc pointer down into\nqdisc_run and friends via per-cpu -\u003eoutput_queue and netif_schedule,\nwe have to wait also for the __QDISC_STATE_SCHED bit to clear as\nwell.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "26b284de54a5ca3dfbe2fd9a51ac1923e80085a2",
      "tree": "949d06bd4dca0b43cb7247c2013c89337a8ca18b",
      "parents": [
        "64c00d81b5c2491bd140b3c8eb2e8c351513f971"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Wed Aug 13 15:16:43 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 13 15:16:43 2008 -0700"
      },
      "message": "pkt_sched: Fix oops in htb_delete.\n\nRecent changes introduced a bug in htb_delete(): cl-\u003eparent-\u003echildren\ncounter update misses checking cl-\u003eparent for NULL, which is used for\nroot classes, so deleting them causes an oops.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "36723873b664fb6b5cfe06d291df948126e43f50",
      "tree": "fa4fdae50b25ff2ce8dd57cc9cb59ede897d4017",
      "parents": [
        "f97017cdefefdb6a0e19266024b0c6f9fd411eeb"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "hadi@cyberus.ca",
        "time": "Wed Aug 13 02:41:45 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 13 02:41:45 2008 -0700"
      },
      "message": "net-sched: fix Action flushing return code\n\nFlushing must consistently return ENOMEM on failure of any allocation\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f97017cdefefdb6a0e19266024b0c6f9fd411eeb",
      "tree": "d223eabc477ff3bd172aac7dd9ab83e1566acf17",
      "parents": [
        "34093d055e09d1bb549efc11c8d448373437bbe4"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "hadi@cyberus.ca",
        "time": "Wed Aug 13 02:41:22 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 13 02:41:22 2008 -0700"
      },
      "message": "net-sched: Fix actions flushing\n\nFlushing of actions has been broken since we changed\nthe semantics of netlink parsed tb[X] to mean X is an attribute type.\nThis makes the flushing work.\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1cfa26661a85549063e369e2b40275eeaa7b923c",
      "tree": "c2d10164ad6b46cd9ac4123a7b2e7b4e2e6ac745",
      "parents": [
        "0a37c10ed460872d41259659f7f589edebdc42b7"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Mon Aug 11 18:11:06 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 11 18:11:06 2008 -0700"
      },
      "message": "pkt_sched: Add BH protection for qdisc_stab_lock.\n\nSince qdisc_stab_lock is used in qdisc_put_stab(), which is called in\nBH context from __qdisc_destroy() RCU callback, softirq safe locking\nis needed.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8123b421e8ed944671d7241323ed3198cccb4041",
      "tree": "fb9e5634b36cce181781e764e71406c972dd2e8c",
      "parents": [
        "76aab2c1eae491a5d73ac83deec97dd28ebac584"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 08 23:23:39 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 08 23:23:39 2008 -0700"
      },
      "message": "pkt_sched: Fix ingress deletion and filter attachment.\n\nBased upon bug reports by Stephen Hemminger.\n\nWe still had some cases using -\u003eqdisc instead of -\u003eqdisc_sleeping.\n\nAlso, qdisc_lookup() should return ingress qdiscs.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "76aab2c1eae491a5d73ac83deec97dd28ebac584",
      "tree": "ba680489b5dc20cc1afad6c5c0fef36b31918d9a",
      "parents": [
        "4ab84d450e24b3a309608182a8d8e30626b46f8f"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "hadi@cyberus.ca",
        "time": "Thu Aug 07 20:37:22 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 07 20:37:22 2008 -0700"
      },
      "message": "pkt_sched: Fix actions referencing\n\nWhen an action is added several times with the same exact index\nit gets deleted on every even-numbered attempt.\nThis fixes that issue.\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "827ebd6410005b05b3c930ef6a116666c6986886",
      "tree": "7b9c0fcf0b6f1502620453c5050d68e8e9325caa",
      "parents": [
        "22c7fdf4a7acfa24d9d498b1357e6c07d0e6c553"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 07 20:26:40 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 07 20:26:40 2008 -0700"
      },
      "message": "pkt_sched: Fix qdisc config when link is down.\n\nBug reported by Stephen Hemminger.\n\nWe need to fetch the root from -\u003eqdisc_sleeping not -\u003eqdisc.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ee7af8264dafa0c8c76a8dc596803966c2e29ebc",
      "tree": "2dfd9066bcf677ec4b1e7becb39d6f8187961385",
      "parents": [
        "11d46123bfea068a48483f00518d301f452647fb"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 06 23:35:59 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 06 23:35:59 2008 -0700"
      },
      "message": "pkt_sched: Fix \"parent is root\" test in qdisc_create().\n\nAs noticed by Stephen Hemminger, the root qdisc is denoted by\nTC_H_ROOT, not zero.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c27f339af90bb874a7a9c680b17abfd32d4a727b",
      "tree": "5af236e0b3835976c70c1d5daa2f30be11adf35b",
      "parents": [
        "378a2f090f7a478704a372a4869b8a9ac206234e"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Mon Aug 04 22:39:11 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 04 22:39:11 2008 -0700"
      },
      "message": "net_sched: Add qdisc __NET_XMIT_BYPASS flag\n\nPatrick McHardy \u003ckaber@trash.net\u003e noticed that it would be nice to\nhandle NET_XMIT_BYPASS by NET_XMIT_SUCCESS with an internal qdisc flag\n__NET_XMIT_BYPASS and to remove the mapping from dev_queue_xmit().\n\nDavid Miller \u003cdavem@davemloft.net\u003e spotted a serious bug in the first\nversion of this patch.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "378a2f090f7a478704a372a4869b8a9ac206234e",
      "tree": "cf324a45a9dc21231d1d3225c51c9d5d2b57bbee",
      "parents": [
        "6e583ce5242f32e925dcb198f7123256d0798370"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Mon Aug 04 22:31:03 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 04 22:31:03 2008 -0700"
      },
      "message": "net_sched: Add qdisc __NET_XMIT_STOLEN flag\n\nPatrick McHardy \u003ckaber@trash.net\u003e noticed:\n\"The other problem that affects all qdiscs supporting actions is\nTC_ACT_QUEUED/TC_ACT_STOLEN getting mapped to NET_XMIT_SUCCESS\neven though the packet is not queued, corrupting upper qdiscs\u0027\nqlen counters.\"\n\nand later explained:\n\"The reason why it translates it at all seems to be to not increase\nthe drops counter. Within a single qdisc this could be avoided by\nother means easily, upper qdiscs would still increase the counter\nwhen we return anything besides NET_XMIT_SUCCESS though.\n\nThis means we need a new NET_XMIT return value to indicate this to\nthe upper qdiscs. So I\u0027d suggest to introduce NET_XMIT_STOLEN,\nreturn that to upper qdiscs and translate it to NET_XMIT_SUCCESS\nin dev_queue_xmit, similar to NET_XMIT_BYPASS.\"\n\nDavid Miller \u003cdavem@davemloft.net\u003e noticed:\n\"Maybe these NET_XMIT_* values being passed around should be a set of\nbits. They could be composed of base meanings, combined with specific\nattributes.\n\nSo you could say \"NET_XMIT_DROP | __NET_XMIT_NO_DROP_COUNT\"\n\nThe attributes get masked out by the top-level -\u003eenqueue() caller,\nsuch that the base meanings are the only thing that make their\nway up into the stack. If it\u0027s only about communication within the\nqdisc tree, let\u0027s simply code it that way.\"\n\nThis patch is trying to realize these ideas.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5fb662297b8a4bdadd60371c34b760efca948ebc",
      "tree": "ef1def70cfa440ab3d367f6f67d466227ffdf0ef",
      "parents": [
        "82f97b8d3cb3982ec97e081598c671fab2c321b0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 02 20:02:43 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 02 20:02:43 2008 -0700"
      },
      "message": "pkt_sched: Use qdisc_lock() on already sampled root qdisc.\n\nBased upon a bug report by Jeff Kirsher.\n\nDon\u0027t use qdisc_root_lock() in these cases as the root\nqdisc could have been changed, and we\u0027d thus lock the\nwrong object.\n\nTested by Emil S Tantilov who confirms that this seems\nto fix the problem.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c3f26a269c2421f97f10cf8ed05d5099b573af4d",
      "tree": "d0602cbb48742b3e39ab6bdcaa08c342d4cd2cae",
      "parents": [
        "967ab999a090b1a4e7d3c7febfd6d89b42fb4cf4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 31 16:58:50 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 31 16:58:50 2008 -0700"
      },
      "message": "netdev: Fix lockdep warnings in multiqueue configurations.\n\nWhen support for multiple TX queues were added, the\nnetif_tx_lock() routines we converted to iterate over\nall TX queues and grab each queue\u0027s spinlock.\n\nThis causes heartburn for lockdep and it\u0027s not a healthy\nthing to do with lots of TX queues anyways.\n\nSo modify this to use a top-level lock and a \"frozen\"\nstate for the individual TX queues.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8d50b53d66a8a6ae41bafbdcabe401467803f33a",
      "tree": "7a23efd740161b5b32d3fd473cf024e1a8931ce1",
      "parents": [
        "38c080ffa9c1b840390832b42ce8621464ab9f97"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 30 02:37:46 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 30 02:44:25 2008 -0700"
      },
      "message": "pkt_sched: Fix OOPS on ingress qdisc add.\n\nBug report from Steven Jan Springl:\n\n\tIssuing the following command causes a kernel oops:\n\t\ttc qdisc add dev eth0 handle ffff: ingress\n\nThe problem mostly stems from all of the special case handling of\ningress qdiscs.\n\nSo, to fix this, do the grafting operation the same way we do for TX\nqdiscs.  Which means that dev_activate() and dev_deactivate() now do\nthe \"qdisc_sleeping \u003c--\u003e qdisc\" transitions on dev-\u003erx_queue too.\n\nFuture simplifications are possible now, mainly because it is\nimpossible for dev_queue-\u003e{qdisc,qdisc_sleeping} to be NULL.  There\nare NULL checks all over to handle the ingress qdisc special case\nthat used to exist before this commit.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4836e3007882984279ca63d3c42bf0b14616eb78",
      "tree": "28bf22726964e068b825491d71a141eefedbe5f8",
      "parents": [
        "5c7c204aeca51ccfad63caab4fcdc5d8026c0fd8",
        "4e1e018ecc6f7bfd10fc75b3ff9715cc8164e0a2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 20:23:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 20:23:44 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (39 commits)\n  [PATCH] fix RLIM_NOFILE handling\n  [PATCH] get rid of corner case in dup3() entirely\n  [PATCH] remove remaining namei_{32,64}.h crap\n  [PATCH] get rid of indirect users of namei.h\n  [PATCH] get rid of __user_path_lookup_open\n  [PATCH] f_count may wrap around\n  [PATCH] dup3 fix\n  [PATCH] don\u0027t pass nameidata to __ncp_lookup_validate()\n  [PATCH] don\u0027t pass nameidata to gfs2_lookupi()\n  [PATCH] new (local) helper: user_path_parent()\n  [PATCH] sanitize __user_walk_fd() et.al.\n  [PATCH] preparation to __user_walk_fd cleanup\n  [PATCH] kill nameidata passing to permission(), rename to inode_permission()\n  [PATCH] take noexec checks to very few callers that care\n  Re: [PATCH 3/6] vfs: open_exec cleanup\n  [patch 4/4] vfs: immutable inode checking cleanup\n  [patch 3/4] fat: dont call notify_change\n  [patch 2/4] vfs: utimes cleanup\n  [patch 1/4] vfs: utimes: move owner check into inode_change_ok()\n  [PATCH] vfs: use kstrdup() and check failing allocation\n  ...\n"
    },
    {
      "commit": "516e0cc5646f377ab80fcc2ee639892eccb99853",
      "tree": "e06296dcedb42dbe397d237887873e70c5823d51",
      "parents": [
        "3c333937ee3be114b181c4861188cfe8f6a59697"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 00:39:17 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 20:53:40 2008 -0400"
      },
      "message": "[PATCH] f_count may wrap around\n\nmake it atomic_long_t; while we are at it, get rid of useless checks in affs,\nhfs and hpfs - -\u003eopen() always has it equal to 1, -\u003erelease() - to 0.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "cdec7e50a4896c5197d5575d9ca635eea6825149",
      "tree": "0071b43c923cd73b4a5d2d09fbb876ed39a3a06d",
      "parents": [
        "509e2562adfd63964aa30c1ddd9ddf4e57949351"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 26 02:28:09 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 26 02:28:09 2008 -0700"
      },
      "message": "Revert \"pkt_sched: sch_sfq: dump a real number of flows\"\n\nThis reverts commit f867e6af94239a04ec23aeec2fcda5aa58e41db7.\n\nBased upon discussions between Jarek and Patrick McHardy\nthis is field being set is more a config parameter than a\nstatistic.  And we should add a true statistic to provide\nthis information if we really want it.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "547b792cac0a038b9dbf958d3c120df3740b5572",
      "tree": "08554d083b0ca7d65739dc1ce12f9b12a9b8e1f8",
      "parents": [
        "53e5e96ec18da6f65e89f05674711e1c93d8df67"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Jul 25 21:43:18 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 25 21:43:18 2008 -0700"
      },
      "message": "net: convert BUG_TRAP to generic WARN_ON\n\nRemoves legacy reinvent-the-wheel type thing. The generic\nmachinery integrates much better to automated debugging aids\nsuch as kerneloops.org (and others), and is unambiguous due to\nbetter naming. Non-intuively BUG_TRAP() is actually equal to\nWARN_ON() rather than BUG_ON() though some might actually be\npromoted to BUG_ON() but I left that to future.\n\nI could make at least one BUILD_BUG_ON conversion.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cffe1c5d7a5a1e54f7c2c6d0510f651a965bccc3",
      "tree": "8d016589486306d406f12ed6b8d85f4be59e460d",
      "parents": [
        "f867e6af94239a04ec23aeec2fcda5aa58e41db7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 25 01:25:04 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 25 01:25:04 2008 -0700"
      },
      "message": "pkt_sched: Fix locking in shutdown_scheduler_queue()\n\nQdisc locks need to be held with BH disabled.\n\nTested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f867e6af94239a04ec23aeec2fcda5aa58e41db7",
      "tree": "aba94e6be14429ab8a6556c8d10c11a04914568c",
      "parents": [
        "6f75a9b6426e686649ac440c37ec7c249501f9a5"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Wed Jul 23 21:34:27 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 23 21:34:27 2008 -0700"
      },
      "message": "pkt_sched: sch_sfq: dump a real number of flows\n\nDump the \"flows\" number according to the number of active flows\ninstead of repeating the \"limit\".\n\nReported-by: Denys Fedoryshchenko \u003cdenys@visp.net.lb\u003e\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a94f779f9d82eb2d758a8715eaae5df98e8dcb21",
      "tree": "0ea45807ecf0f6788ec226000b4ff69b0c0bd2a1",
      "parents": [
        "8086cd451f08f4c0f9693fc66d87754bbd18cfba"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Jul 22 14:20:11 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 22 14:20:11 2008 -0700"
      },
      "message": "pkt_sched: make qdisc_class_hash_alloc() static\n\nThis patch makes the needlessly global qdisc_class_hash_alloc() static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6579e57b31d79d31d9b806e41ba48774e73257dc",
      "tree": "03ba72024a1982ee76b8a891a443b0fdfb6d7c93",
      "parents": [
        "7943986ca1138ac99597b1aa4dc893012dcfdc08"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Jul 21 13:31:48 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 13:31:48 2008 -0700"
      },
      "message": "net: Print the module name as part of the watchdog message\n\nAs suggested by Dave:\n\nThis patch adds a function to get the driver name from a struct net_device,\nand consequently uses this in the watchdog timeout handler to print as \npart of the message. \n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d3678b463df73f5060d7420915080e19baeb379b",
      "tree": "4f4fc3e49bb0a9d21b9280f1c1a990eb03651564",
      "parents": [
        "867d79fb9a4d5929ad8335c896fcfe11c3b2ef14"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 09:56:13 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 10:10:50 2008 -0700"
      },
      "message": "Revert \"pkt_sched: Make default qdisc nonshared-multiqueue safe.\"\n\nThis reverts commit a0c80b80e0fb48129e4e9d6a9ede914f9ff1850d.\n\nAfter discussions with Jamal and Herbert on netdev, we should\nprovide at least minimal prioritization at the qdisc level\neven in multiqueue situations.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c3ee84163e5bc0dc2e1ccf1d3fc412debca73bab",
      "tree": "9b6319d2abab9ab6e4692dfd71ff4c38dfe7f997",
      "parents": [
        "fd24c4af6e82231391fa09875ae6378fa1399f0f"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Mon Jul 21 09:18:07 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 09:18:07 2008 -0700"
      },
      "message": "pkt_sched: Remove unused variable skb in dev_deactivate_queue function.\n\nRemoved unused variable \u0027skb\u0027 in the dev_deactivate_queue function\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3a682fbd732d3d27bec722a923952b0938e8a404",
      "tree": "715ca6472e7c3d9b354cb8bfa18db74dabcdaeff",
      "parents": [
        "fb65a7c091529bfffb1262515252c0d0f6241c5c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 20 18:13:01 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 20 18:13:01 2008 -0700"
      },
      "message": "pkt_sched: Fix build with NET_SCHED disabled.\n\nThe stab bits can\u0027t be referenced uniless the full\npacket scheduler layer is enabled.\n\nReported by Stephen Rothwell.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "175f9c1bba9b825d22b142d183c9e175488b260c",
      "tree": "6b9cdb2e3802e7fc8422dc0d0cc200f6d4d1d0a5",
      "parents": [
        "0abf77e55a2459aa9905be4b226e4729d5b4f0cb"
      ],
      "author": {
        "name": "Jussi Kivilinna",
        "email": "jussi.kivilinna@mbnet.fi",
        "time": "Sun Jul 20 00:08:47 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 20 00:08:47 2008 -0700"
      },
      "message": "net_sched: Add size table for qdiscs\n\nAdd size table functions for qdiscs and calculate packet size in\nqdisc_enqueue().\n\nBased on patch by Patrick McHardy\n http://marc.info/?l\u003dlinux-netdev\u0026m\u003d115201979221729\u0026w\u003d2\n\nSigned-off-by: Jussi Kivilinna \u003cjussi.kivilinna@mbnet.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0abf77e55a2459aa9905be4b226e4729d5b4f0cb",
      "tree": "0224961150c0c2c65b5ad407b1af8cf84266e919",
      "parents": [
        "5f86173bdf15981ca49d0434f638b68f70a35644"
      ],
      "author": {
        "name": "Jussi Kivilinna",
        "email": "jussi.kivilinna@mbnet.fi",
        "time": "Sun Jul 20 00:08:27 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 20 00:08:27 2008 -0700"
      },
      "message": "net_sched: Add accessor function for packet length for qdiscs\n\nSigned-off-by: Jussi Kivilinna \u003cjussi.kivilinna@mbnet.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5f86173bdf15981ca49d0434f638b68f70a35644",
      "tree": "e6792339e577ed4a8261358e56df9f1a2b87f655",
      "parents": [
        "db7a94d60f871ce6a52e97d82dea476cee0c4ea0"
      ],
      "author": {
        "name": "Jussi Kivilinna",
        "email": "jussi.kivilinna@mbnet.fi",
        "time": "Sun Jul 20 00:08:04 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 20 00:08:04 2008 -0700"
      },
      "message": "net_sched: Add qdisc_enqueue wrapper\n\nSigned-off-by: Jussi Kivilinna \u003cjussi.kivilinna@mbnet.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "30ee42be00b7a50929a73cb617f70b1d3219eb69",
      "tree": "d2da673ab69eb897dd558be4df90a938f15afba8",
      "parents": [
        "3072367300aa8c779e3a14ee8e89de079e90f3ad"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 23:00:11 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 23:00:11 2008 -0700"
      },
      "message": "pkt_sched: Fix noqueue_qdisc initialization.\n\nLike noop_qdisc, it needs a dummy backpointer and\nexplicit qdisc-\u003eq.lock initialization.\n\nBased upon a report by Stephen Hemminger.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3072367300aa8c779e3a14ee8e89de079e90f3ad",
      "tree": "7f74c5b8fdb300532fbbc83ba00d6d1d17af020e",
      "parents": [
        "72b25a913ed9b1ab49c7022adaf3f271a65ea219"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 22:50:15 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 22:50:15 2008 -0700"
      },
      "message": "pkt_sched: Manage qdisc list inside of root qdisc.\n\nIdea is from Patrick McHardy.\n\nInstead of managing the list of qdiscs on the device level, manage it\nin the root qdisc of a netdev_queue.  This solves all kinds of\nvisibility issues during qdisc destruction.\n\nThe way to iterate over all qdiscs of a netdev_queue is to visit\nthe netdev_queue-\u003eqdisc, and then traverse it\u0027s list.\n\nThe only special case is to ignore builting qdiscs at the root when\ndumping or doing a qdisc_lookup().  That was not needed previously\nbecause builtin qdiscs were not added to the device\u0027s qdisc_list.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "72b25a913ed9b1ab49c7022adaf3f271a65ea219",
      "tree": "89931a19264c79090ea3043d92f04e7727e37f1c",
      "parents": [
        "8913336a7e8d56e984109a3137d6c0e3362596a4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 20:54:17 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 20:54:17 2008 -0700"
      },
      "message": "pkt_sched: Get rid of u32_list.\n\nThe u32_list is just an indirect way of maintaining a reference\nto a U32 node on a per-qdisc basis.\n\nJust add an explicit node pointer for u32 to struct Qdisc an do\naway with this global list.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a0c80b80e0fb48129e4e9d6a9ede914f9ff1850d",
      "tree": "db2364cff1fad40b56cae6770ed73945b42e6e85",
      "parents": [
        "93245dd6d356b864f6676396a9f3edecbd378ed0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 01:46:06 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:33 2008 -0700"
      },
      "message": "pkt_sched: Make default qdisc nonshared-multiqueue safe.\n\nInstead of \u0027pfifo_fast\u0027 we have just plain \u0027fifo_fast\u0027.\nNo priority queues, just a straight FIFO.\n\nThis is necessary in order to legally have a seperate\nqdisc per queue in multi-TX-queue setups, and thus get\nfull parallelization.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "99194cff398d056e5ee469647c294466c246c88a",
      "tree": "24d85fffc71915a61bcc062deb32a4fa82dc7b9a",
      "parents": [
        "83874000929ed63aef30b44083a9f713135ff040"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 04:54:10 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:30 2008 -0700"
      },
      "message": "pkt_sched: Add multiqueue handling to qdisc_graft().\n\nMove the destruction of the old queue into qdisc_graft().\n\nWhen operating on a root qdisc (ie. \"parent \u003d\u003d NULL\"), apply\nthe operation to all queues.  The caller has grabbed a single\nimplicit reference for this graft, therefore when we apply the\nchange to more than one queue we must grab additional qdisc\nreferences.\n\nOtherwise, we are operating on a class of a specific parent qdisc, and\ntherefore no multiqueue handling is necessary.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "83874000929ed63aef30b44083a9f713135ff040",
      "tree": "7646fd185751cad8665eca19aa3f87d13c37eade",
      "parents": [
        "c7e4f3bbb4ba4e48ab3b529d5016e454cee1ccd6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 00:53:03 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:30 2008 -0700"
      },
      "message": "pkt_sched: Kill netdev_queue lock.\n\nWe can simply use the qdisc-\u003eq.lock for all of the\nqdisc tree synchronization.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c7e4f3bbb4ba4e48ab3b529d5016e454cee1ccd6",
      "tree": "76975288fd9448ee522867e3681978804431e736",
      "parents": [
        "78a5b30b7324b2d66bcf7d2e3935877d3c26497c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 03:22:39 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:29 2008 -0700"
      },
      "message": "pkt_sched: Kill qdisc_lock_tree and qdisc_unlock_tree.\n\nNo longer used.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "53049978df1d9ae55bf397c9879e6b33218352db",
      "tree": "18369747279ef1c0b807fe19e80d5d6c96d099bb",
      "parents": [
        "ead81cc5fc6d996db6afb20f211241612610a07a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 03:00:19 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:27 2008 -0700"
      },
      "message": "pkt_sched: Make qdisc grafting locking more specific.\n\nLock the root of the qdisc being operated upon.\n\nAll explicit references to qdisc_tree_lock() are now gone.\nThe only remaining uses are via the sch_tree_{lock,unlock}()\nand tcf_tree_{lock,unlock}() macros.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ead81cc5fc6d996db6afb20f211241612610a07a",
      "tree": "5ffc3c7960f6ba755fe6e44eda0b82cdb8209180",
      "parents": [
        "15b458fa65cbba395724a99ab1b7d3785ca76c1c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 00:50:32 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:26 2008 -0700"
      },
      "message": "netdevice: Move qdisc_list back into net_device proper.\n\nAnd give it it\u0027s own lock.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "15b458fa65cbba395724a99ab1b7d3785ca76c1c",
      "tree": "7759eee59d6eb7c324732e89fa7007d49c0965df",
      "parents": [
        "55dbc640c31db373fa07eb1e3af9b8eadbdf80db"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 02:42:51 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:25 2008 -0700"
      },
      "message": "pkt_sched: Kill qdisc_lock_tree usage in cls_route.c\n\nIt just wants the qdisc tree to be synchronized, so grabbing\nqdisc_root_lock() is sufficient.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "55dbc640c31db373fa07eb1e3af9b8eadbdf80db",
      "tree": "6a1ae2d8c1ab68a8e631bba21cc2a273c6982d2b",
      "parents": [
        "17715e62a5e5c7224e5f906a4b8f9e5084100118"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 02:40:45 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:24 2008 -0700"
      },
      "message": "pkt_sched: Remove qdisc_lock_tree usage in cls_api.c\n\nIt just wants the qdisc tree for the filter to be synchronized.\nSo just BH lock qdisc_root_lock(q) instead.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "17715e62a5e5c7224e5f906a4b8f9e5084100118",
      "tree": "83958bfcb21886df0a827614482acbbcc3a453f9",
      "parents": [
        "8a34c5dc3a7c6431f1cd94c0904be81b296e08ca"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 02:36:04 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:23 2008 -0700"
      },
      "message": "pkt_sched: Use per-queue locking in shutdown_scheduler_queue.\n\nThis eliminates another qdisc_lock_tree user.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8a34c5dc3a7c6431f1cd94c0904be81b296e08ca",
      "tree": "fd4f5f3872ab0470622d49d02c58334f5c24adec",
      "parents": [
        "16361127ebed0fb8f9d7cc94c6e137eaf710f676"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 00:47:45 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:22 2008 -0700"
      },
      "message": "pkt_sched: Perform bulk of qdisc destruction in RCU.\n\nThis allows less strict control of access to the qdisc attached to a\nnetdev_queue.  It is even allowed to enqueue into a qdisc which is\nin the process of being destroyed.  The RCU handler will toss out\nthose packets.\n\nWe will need this to handle sharing of a qdisc amongst multiple\nTX queues.  In such a setup the lock has to be shared, so will\nbe inside of the qdisc itself.  At which point the netdev_queue\nlock cannot be used to hard synchronize access to the -\u003eqdisc\npointer.\n\nOne operation we have to keep inside of qdisc_destroy() is the list\ndeletion.  It is the only piece of state visible after the RCU quiesce\nperiod, so we have to undo it early and under the appropriate locking.\n\nThe operations in the RCU handler do not need any looking because the\nqdisc tree is no longer visible to anything at that point.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "16361127ebed0fb8f9d7cc94c6e137eaf710f676",
      "tree": "09488bb81ecaeed1bbccef13eacdbe8d8a71b07d",
      "parents": [
        "37437bb2e1ae8af470dfcd5b4ff454110894ccaf"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 02:23:17 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:21 2008 -0700"
      },
      "message": "pkt_sched: dev_init_scheduler() does not need to lock qdisc tree.\n\nWe are registering the device, there is no way anyone can get\nat this object\u0027s qdiscs yet in any meaningful way.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "37437bb2e1ae8af470dfcd5b4ff454110894ccaf",
      "tree": "1795e78a7648252b0c92c972df12b776a28437d7",
      "parents": [
        "7698b4fcabcd790efc4f226bada1e7b5870653af"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 02:15:04 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:20 2008 -0700"
      },
      "message": "pkt_sched: Schedule qdiscs instead of netdev_queue.\n\nWhen we have shared qdiscs, packets come out of the qdiscs\nfor multiple transmit queues.\n\nTherefore it doesn\u0027t make any sense to schedule the transmit\nqueue when logically we cannot know ahead of time the TX\nqueue of the SKB that the qdisc-\u003edequeue() will give us.\n\nJust for sanity I added a BUG check to make sure we never\nget into a state where the noop_qdisc is scheduled.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7698b4fcabcd790efc4f226bada1e7b5870653af",
      "tree": "031ce7a911fc5bff995421a5615d9ab25416a479",
      "parents": [
        "e2627c8c2241bce45e368e150654d076b58a4595"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 01:42:40 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:19 2008 -0700"
      },
      "message": "pkt_sched: Add and use qdisc_root() and qdisc_root_lock().\n\nWhen code wants to lock the qdisc tree state, the logic\noperation it\u0027s doing is locking the top-level qdisc that\nsits of the root of the netdev_queue.\n\nAdd qdisc_root_lock() to represent this and convert the\neasiest cases.\n\nIn order for this to work out in all cases, we have to\nhook up the noop_qdisc to a dummy netdev_queue.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e2627c8c2241bce45e368e150654d076b58a4595",
      "tree": "e3ad7d1867339f254a324ba1acd5d8bdac1aca76",
      "parents": [
        "d3b753db7c4f1f37a98b51974d484fda5d86dab5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 00:56:32 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:18 2008 -0700"
      },
      "message": "pkt_sched: Make QDISC_RUNNING a qdisc state.\n\nCurrently it is associated with a netdev_queue, but when we have\nqdisc sharing that no longer makes any sense.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d3b753db7c4f1f37a98b51974d484fda5d86dab5",
      "tree": "6596288854d9626f935ddf9c014471a4c38b5c74",
      "parents": [
        "b4c21639ab0f6df07ab7624a8c2f974936708ae5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 15 20:14:35 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:18 2008 -0700"
      },
      "message": "pkt_sched: Move gso_skb into Qdisc.\n\nWe liberate any dangling gso_skb during qdisc destruction.\n\nIt really only matters for the root qdisc.  But when qdiscs\ncan be shared by multiple netdev_queue objects, we can\u0027t\nhave the gso_skb in the netdev_queue any more.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fd2ea0a79faad824258af5dcec1927aa24d81c16",
      "tree": "644fd4ce92227cc319c7a54c63ea07a96b8c6b8d",
      "parents": [
        "24344d2600108b9b79a60c0e4c43b3c499856d14"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 01:56:23 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:07 2008 -0700"
      },
      "message": "net: Use queue aware tests throughout.\n\nThis effectively \"flips the switch\" by making the core networking\nand multiqueue-aware drivers use the new TX multiqueue structures.\n\nNon-multiqueue drivers need no changes.  The interfaces they use such\nas netif_stop_queue() degenerate into an operation on TX queue zero.\nSo everything \"just works\" for them.\n\nCode that really wants to do \"X\" to all TX queues now invokes a\nroutine that does so, such as netif_tx_wake_all_queues(),\nnetif_tx_stop_all_queues(), etc.\n\npktgen and netpoll required a little bit more surgery than the others.\n\nIn particular the pktgen changes, whilst functional, could be largely\nimproved.  The initial check in pktgen_xmit() will sometimes check the\nwrong queue, which is mostly harmless.  The thing to do is probably to\ninvoke fill_packet() earlier.\n\nThe bulk of the netpoll changes is to make the code operate solely on\nthe TX queue indicated by by the SKB queue mapping.\n\nSetting of the SKB queue mapping is entirely confined inside of\nnet/core/dev.c:dev_pick_tx().  If we end up needing any kind of\nspecial semantics (drops, for example) it will be implemented here.\n\nFinally, we now have a \"real_num_tx_queues\" which is where the driver\nindicates how many TX queues are actually active.\n\nWith IGB changes from Jeff Kirsher.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1d8ae3fdeb001b8f534a6782c261aba6ec1779f5",
      "tree": "5c488f59f674ba2c42755a6c34f69ac80824f213",
      "parents": [
        "09e83b5d7d1878065e2453239b49b684cd0fe4e5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 15 02:52:19 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:04 2008 -0700"
      },
      "message": "pkt_sched: Remove RR scheduler.\n\nThis actually fixes a bug added by the RR scheduler changes.  The\n-\u003ebands and -\u003eprio2band parameters were being set outside of the\nsch_tree_lock() and thus could result in strange behavior and\ninconsistencies.\n\nIt might be possible, in the new design (where there will be one qdisc\nper device TX queue) to allow similar functionality via a TX hash\nalgorithm for RR but I really see no reason to export this aspect of\nhow these multiqueue cards actually implement the scheduling of the\nthe individual DMA TX rings and the single physical MAC/PHY port.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e8a0464cc950972824e2e128028ae3db666ec1ed",
      "tree": "5022b95396c0f3b313531bc39b19543c03551b9a",
      "parents": [
        "070825b3840a743e21ebcc44f8279708a4fed977"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 00:34:19 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:00 2008 -0700"
      },
      "message": "netdev: Allocate multiple queues for TX.\n\nalloc_netdev_mq() now allocates an array of netdev_queue\nstructures for TX, based upon the queue_count argument.\n\nFurthermore, all accesses to the TX queues are now vectored\nthrough the netdev_get_tx_queue() and netdev_for_each_tx_queue()\ninterfaces.  This makes it easy to grep the tree for all\nthings that want to get to a TX queue of a net device.\n\nProblem spots which are not really multiqueue aware yet, and\nonly work with one queue, can easily be spotted by grepping\nfor all netdev_get_tx_queue() calls that pass in a zero index.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "72d9794f444734af56ef12833b496326643e2964",
      "tree": "af0e5654cf7fc9a4801edd97fab3f2d6e5039b30",
      "parents": [
        "0c4c8cae44e9d71afd3031c1e8739bd398a831a8"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jul 14 20:36:32 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 20:36:32 2008 -0700"
      },
      "message": "net-sched: cls_flow: add perturbation support\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "79d16385c7f287a33ea771c4dbe60ae43f791b49",
      "tree": "858bfe84e52d88356d5d0b49efc5148a0870ccf9",
      "parents": [
        "b19fa1fa91845234961c64dbd564671aa7c0fd27"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 23:14:46 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 23:14:46 2008 -0700"
      },
      "message": "netdev: Move atomic queue state bits into netdev_queue.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c773e847ea8f6812804e40f52399c6921a00eab1",
      "tree": "952e0e262cc0b0f2136bc2a62938ae1d186f896a",
      "parents": [
        "eb6aafe3f843cb0e939546c03540a3b4911b6964"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 23:13:53 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 23:13:53 2008 -0700"
      },
      "message": "netdev: Move _xmit_lock and xmit_lock_owner into netdev_queue.\n\nAccesses are mostly structured such that when there are multiple TX\nqueues the code transformations will be a little bit simpler.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eb6aafe3f843cb0e939546c03540a3b4911b6964",
      "tree": "550cfba4baadcb64f98ce6e77fe6f9b44b5bb142",
      "parents": [
        "86d804e10a37cd86f16bf72386c37e843a98a74b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 23:12:38 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 23:12:38 2008 -0700"
      },
      "message": "pkt_sched: Make qdisc_run take a netdev_queue.\n\nThis allows us to use this calling convention all the way down into\nqdisc_restart().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "86d804e10a37cd86f16bf72386c37e843a98a74b",
      "tree": "04483a937f11c752aea998298a27fc79e6851b2d",
      "parents": [
        "970565bbad0c7b98db0d14131a69e5a0f4445d49"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 23:11:25 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 23:11:25 2008 -0700"
      },
      "message": "netdev: Make netif_schedule() routines work with netdev_queue objects.\n\nOnly plain netif_schedule() remains taking a net_device, mostly as a\ncompatability item while we transition the rest of these interfaces.\n\nEverything else calls netif_schedule_queue() or __netif_schedule(),\nboth of which take a netdev_queue pointer.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "970565bbad0c7b98db0d14131a69e5a0f4445d49",
      "tree": "59ac641da5b22bb5ea6a0a333ceaa907f9959d10",
      "parents": [
        "c2aa288548a29d909ec875e81137fb0dbbb420b7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 23:10:33 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 23:10:33 2008 -0700"
      },
      "message": "netdev: Move gso_skb into netdev_queue.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "74d58a0c1d5b348a8d4ea9643b573a6ab455a3f3",
      "tree": "2dc8f989cd75529c037e712ea85e7148c1150c86",
      "parents": [
        "68dfb42798e1eb2d42acbf872925cc75f1487d9b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 22:57:51 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 22:57:51 2008 -0700"
      },
      "message": "pkt_sched: Make netem queue agnostic.\n\nIt just wants the root qdisc given an arbitrary qdisc,\nand that is simply qdisc-\u003edev_queue-\u003eqdisc\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\n"
    },
    {
      "commit": "68dfb42798e1eb2d42acbf872925cc75f1487d9b",
      "tree": "dc56b348077ca5f4e9a78f50fa04b198556f0abf",
      "parents": [
        "816f3258e70db38d6d92c8d871377179fd69160f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 22:57:31 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 22:57:31 2008 -0700"
      },
      "message": "pkt_sched: Kill stats_lock member of struct Qdisc.\n\nIt is always equal to qdisc-\u003edev_queue-\u003elock\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "816f3258e70db38d6d92c8d871377179fd69160f",
      "tree": "7ab28132592c82e2ac40317733ea1dd7d6f4e5b5",
      "parents": [
        "b0e1e6462df3c5944010b3328a546d8fe5d932cd"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 22:49:00 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 22:49:00 2008 -0700"
      },
      "message": "netdev: Kill qdisc_ingress, use netdev-\u003erx_queue.qdisc instead.\n\nNow that our qdisc management is bi-directional, per-queue, and fully\northogonal, there is no reason to have a special ingress qdisc pointer\nin struct net_device.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b0e1e6462df3c5944010b3328a546d8fe5d932cd",
      "tree": "37e3f86d09d8b37deb06cf1c142baeb8246bbf97",
      "parents": [
        "555353cfa1aee293de445bfa6de43276138ddd82"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 17:42:10 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 17:42:10 2008 -0700"
      },
      "message": "netdev: Move rest of qdisc state into struct netdev_queue\n\nNow qdisc, qdisc_sleeping, and qdisc_list also live there.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "555353cfa1aee293de445bfa6de43276138ddd82",
      "tree": "b5daba85806b8e36731c4a474aac97f1a0140a51",
      "parents": [
        "dc2b48475a0a36f8b3bbb2da60d3a006dc5c2c84"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 17:33:13 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 17:33:13 2008 -0700"
      },
      "message": "netdev: The ingress_lock member is no longer needed.\n\nEvery qdisc is assosciated with a queue, and in the case of ingress\nqdiscs that will now be netdev-\u003erx_queue so using that queue\u0027s lock is\nthe thing to do.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dc2b48475a0a36f8b3bbb2da60d3a006dc5c2c84",
      "tree": "b2421a338840bd1c675f4f91de7c7cf03863fb78",
      "parents": [
        "5ce2d488fe039ddd86a638496cf704df86c74eeb"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 17:18:23 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 17:18:23 2008 -0700"
      },
      "message": "netdev: Move queue_lock into struct netdev_queue.\n\nThe lock is now an attribute of the device queue.\n\nOne thing to notice is that \"suspicious\" places\nemerge which will need specific training about\nmultiple queue handling.  They are so marked with\nexplicit \"netdev-\u003erx_queue\" and \"netdev-\u003etx_queue\"\nreferences.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5ce2d488fe039ddd86a638496cf704df86c74eeb",
      "tree": "71b4d982bfa8bd457bb41c0693c0e70d75b524b4",
      "parents": [
        "bb949fbd1878973c3539d9aecff52f284482a937"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 17:06:30 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 17:06:30 2008 -0700"
      },
      "message": "pkt_sched: Remove \u0027dev\u0027 member of struct Qdisc.\n\nIt can be obtained via the netdev_queue.  So create a helper routine,\nqdisc_dev(), to make the transformations nicer looking.\n\nNow, qdisc_alloc() now no longer needs a net_device pointer argument.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bb949fbd1878973c3539d9aecff52f284482a937",
      "tree": "e8bde854b18be79723502167c16e2131914a75b7",
      "parents": [
        "e65d22e18038eed7307276e46810d884c402d57d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 16:55:56 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 16:55:56 2008 -0700"
      },
      "message": "netdev: Create netdev_queue abstraction.\n\nA netdev_queue is an entity managed by a qdisc.\n\nCurrently there is one RX and one TX queue, and a netdev_queue merely\ncontains a backpointer to the net_device.\n\nThe Qdisc struct is augmented with a netdev_queue pointer as well.\n\nEventually the \u0027dev\u0027 Qdisc member will go away and we will have the\nresulting hierarchy:\n\n\tnet_device --\u003e netdev_queue --\u003e Qdisc\n\nAlso, qdisc_alloc() and qdisc_create_dflt() now take a netdev_queue\npointer argument.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e65d22e18038eed7307276e46810d884c402d57d",
      "tree": "8f0be904c8bba72d0357e6e2938241a4060c91a1",
      "parents": [
        "7c3ceb4a409e2b838700edf081d61a8a4c921e79"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 16:46:01 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 16:46:01 2008 -0700"
      },
      "message": "pkt_sched: Remove comment reference to old style TX locking.\n\nWe haven\u0027t had netdev-\u003etbusy in many years :)\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fb0305ce1b03f6ff17f84f2c63daccecb45f2805",
      "tree": "cd0a024459000123cd45b6862b8eb5c7789a72a0",
      "parents": [
        "aee18a8cf28808b7302ef698d77fa73883e60f1b"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jul 05 23:40:21 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 23:40:21 2008 -0700"
      },
      "message": "net-sched: consolidate default fifo qdisc setup\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aee18a8cf28808b7302ef698d77fa73883e60f1b",
      "tree": "588722b785cea394c13997dfa1502ed041588d8c",
      "parents": [
        "4207759939c208f24d7e09596753e67b6bc188f9"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jul 05 23:23:27 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 23:23:27 2008 -0700"
      },
      "message": "net-sched: sch_htb: remove write-only qdisc filter_cnt\n\nThe filter_cnt is supposed to count filter references to a class.\nSince the qdisc can\u0027t be the target of a filter, it doesn\u0027t need\na filter_cnt. In fact the counter is never decreased since cls_api\nconsiders a return value of zero a failure and doesn\u0027t unbind again.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4207759939c208f24d7e09596753e67b6bc188f9",
      "tree": "90b2cb3e740100a947f40a916b862eae099299ce",
      "parents": [
        "f4c1f3e0c59be0e6566d9c00b1d8b204ffb861a2"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jul 05 23:22:53 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 23:22:53 2008 -0700"
      },
      "message": "net-sched: sch_htb: remove child and sibling lists\n\nNow that the qdisc isn\u0027t destroyed in hierarchical order anymore,\nthe only user of the child lists left is htb_parent_last_child().\nThis can be easily changed to use a counter of children to save\na few bytes.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f4c1f3e0c59be0e6566d9c00b1d8b204ffb861a2",
      "tree": "6dffffa3a06bf252fd23c681b19063693174bdb8",
      "parents": [
        "fbd8f1379aeeb3e44a59302a6b2850636130bb2a"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jul 05 23:22:35 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 23:22:35 2008 -0700"
      },
      "message": "net-sched: sch_htb: use dynamic class hash helpers\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fbd8f1379aeeb3e44a59302a6b2850636130bb2a",
      "tree": "aa3c73e765d983f91f6509753c35a019bae19fd8",
      "parents": [
        "d77fea2eb9206833c7aa1b013044ddeb5225b92c"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jul 05 23:22:19 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 23:22:19 2008 -0700"
      },
      "message": "net-sched: sch_htb: move hash and sibling list removal to htb_delete\n\nHash list removal currently happens twice (once in htb_delete, once\nin htb_destroy_class), which makes it harder to use the dynamically\nsized class hash without adding special cases for HTB. The reason is\nthat qdisc destruction destroys classes in hierarchical order, which\nis not necessary if filters are destroyed in a separate iteration\nduring qdisc destruction.\n\nAdjust qdisc destruction to follow the same scheme as other hierarchical\nqdiscs by first performing a filter destruction pass, then destroying\nall classes in hash order.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d77fea2eb9206833c7aa1b013044ddeb5225b92c",
      "tree": "716d9994e60b8ed0cf395e98dde7414a8324f161",
      "parents": [
        "be0d39d52ce35554e856de7e9ea37ac1fa4a7f91"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jul 05 23:22:05 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 23:22:05 2008 -0700"
      },
      "message": "net-sched: sch_cbq: use dynamic class hash helpers\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "be0d39d52ce35554e856de7e9ea37ac1fa4a7f91",
      "tree": "bc76beba534507e921d4eafdf615d19d012437e4",
      "parents": [
        "6fe1c7a5556807e9d7154a2d2fb938d8a9e47e5f"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jul 05 23:21:47 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 23:21:47 2008 -0700"
      },
      "message": "net-sched: sch_hfsc: use dynamic class hash helpers\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6fe1c7a5556807e9d7154a2d2fb938d8a9e47e5f",
      "tree": "27758ea169b402aba70ef68bde8e554e7f135031",
      "parents": [
        "ea2aca084ba82aaf7c148d04914ceed8758ce08a"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jul 05 23:21:31 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 23:21:31 2008 -0700"
      },
      "message": "net-sched: add dynamically sized qdisc class hash helpers\n\nCurrently all qdiscs which allow to create classes uses a fixed sized hash\ntable with size 16 to hash the classes. This causes a large bottleneck\nwhen using thousands of classes and unbound filters.\n\nAdd helpers for dynamically sized class hashes to fix this. The following\npatches will convert the qdiscs to use them.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ea2aca084ba82aaf7c148d04914ceed8758ce08a",
      "tree": "dcb3f4f849cf48deac2dd3bafd5c2cd2f0e7dc79",
      "parents": [
        "f3032be921cd126615ce3bfd7084e3d319f3f892",
        "c5a78ac00c400df29645e59938700301efb371d0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 23:08:07 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 23:08:07 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tDocumentation/feature-removal-schedule.txt\n\tdrivers/net/wan/hdlc_fr.c\n\tdrivers/net/wireless/iwlwifi/iwl-4965.c\n\tdrivers/net/wireless/iwlwifi/iwl3945-base.c\n"
    },
    {
      "commit": "a4aebb83cf0da0363684f1c339f7e6149a3e74c1",
      "tree": "b009adf7577ff4822ede398b1a162374ce32fb81",
      "parents": [
        "ff31ab56c0e900235f653e375fc3b01ba2d8d6a3"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jul 01 19:53:09 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 01 19:53:09 2008 -0700"
      },
      "message": "net-sched: fix filter destruction in atm/hfsc qdisc destruction\n\nFilters need to be destroyed before beginning to destroy classes\nsince the destination class needs to still be alive to unbind the\nfilter.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ff31ab56c0e900235f653e375fc3b01ba2d8d6a3",
      "tree": "e35bab914ce853527e1531dc7681a13a08720ed6",
      "parents": [
        "77a538d5aa25a8866606a1faa4300c9aa2a59dfc"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jul 01 19:52:38 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 01 19:52:38 2008 -0700"
      },
      "message": "net-sched: change tcf_destroy_chain() to clear start of filter list\n\nPass double tcf_proto pointers to tcf_destroy_chain() to make it\nclear the start of the filter list for more consistency.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1b63ba8a86c85524a8d7e5953b314ce71ebcb9c9",
      "tree": "fe3dc41cbb47ae12b7c3faf6a88b097349e50d5a",
      "parents": [
        "e35c3269edba151e1c703d87068a28ce2cd65bb0",
        "d420895efb259a78dda50f95289571faa6e10e41"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 28 01:19:40 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 28 01:19:40 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/wireless/iwlwifi/iwl4965-base.c\n"
    },
    {
      "commit": "ede16af4cdbd21fa15d4178beb7c6fcbcccd07e9",
      "tree": "905f5151fa1f36f9eb946ddc36e13574cab6d7df",
      "parents": [
        "01e123d79a23000f85c4cfb12a957908c0b2c3d8"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Jun 27 19:54:05 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 27 19:54:05 2008 -0700"
      },
      "message": "pkt_sched: Remove CONFIG_NET_SCH_RR\n\nCommit d62733c8e437fdb58325617c4b3331769ba82d70\n([SCHED]: Qdisc changes and sch_rr added for multiqueue)\nadded a NET_SCH_RR option that was unused since the code\nwent unconditionally into sch_prio.\n\nReported-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "01e123d79a23000f85c4cfb12a957908c0b2c3d8",
      "tree": "bcce410625a8cca323dd02b153df785272f65ed7",
      "parents": [
        "5dbaec5dc6a4895db8bf9765a867418481ed7311"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "wcong@critical-links.com",
        "time": "Fri Jun 27 19:51:35 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 27 19:51:35 2008 -0700"
      },
      "message": "pkt_sched: ERR_PTR() ususally encodes an negative errno, not positive.\n\nNote, in the following patch, \u0027err\u0027 is initialized as:\n\nint err \u003d -ENOBUFS;\n\nSigned-off-by: WANG Cong \u003cwcong@critical-links.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "caea902f72b053fd0c76d0d3b6b2e057beb3fc64",
      "tree": "74e8d476b2c51480420e2ef7c9bbae249b6edbc9",
      "parents": [
        "0b4419162aa6c4204843f3a13b48d9ab821d3167",
        "65c3e4715b1b934f8dcc002d9f46b4371ca7a9b1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 16 18:25:48 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 16 18:25:48 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/wireless/rt2x00/Kconfig\n\tdrivers/net/wireless/rt2x00/rt2x00usb.c\n\tnet/sctp/protocol.c\n"
    },
    {
      "commit": "47083fc0735f5145b72fc31236d07339dc52b908",
      "tree": "a9113482b6edf7cfd865d8f7b9c28e7731513583",
      "parents": [
        "f9ffcedddba5b2fc5ab16ef08bca55af8be2717e"
      ],
      "author": {
        "name": "Jesper Dangaard Brouer",
        "email": "hawk@comx.dk",
        "time": "Mon Jun 16 16:39:32 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 16 16:39:32 2008 -0700"
      },
      "message": "pkt_sched: Change HTB_HYSTERESIS to a runtime parameter htb_hysteresis.\n\nAdd a htb_hysteresis parameter to htb_sch.ko and by sysfs magic make\nit runtime adjustable via\n/sys/module/sch_htb/parameters/htb_hysteresis mode 640.\n\nSigned-off-by: Jesper Dangaard Brouer \u003chawk@comx.dk\u003e\nAcked-by: Martin Devera \u003cdevik@cdi.cz\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "f9ffcedddba5b2fc5ab16ef08bca55af8be2717e"
}
