)]}'
{
  "log": [
    {
      "commit": "99acaeb92fc2d52900f00b8e926d9ad81b6e93bb",
      "tree": "89c843d460e9dfb6f976dcf02c7d5ac920dc3bac",
      "parents": [
        "bd0bf0765ea1fba80d7085e1f0375ec045631dc1"
      ],
      "author": {
        "name": "Gabriel Craciunescu",
        "email": "nix.or.die@googlemail.com",
        "time": "Wed Jul 18 02:00:04 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 18 02:00:04 2007 -0700"
      },
      "message": "[PKT_SCHED]: Some typo fixes in net/sched/Kconfig\n\nSigned-off-by: Gabriel Craciunescu \u003cnix.or.die@googlemail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "782f7956891c95e54c5b008b24ebf9e82fd84796",
      "tree": "cdc8bdad63ce56e7e6fec091127e65d0f7882831",
      "parents": [
        "0929c2dd83317813425b937fbc0041013b8685ff"
      ],
      "author": {
        "name": "vignesh babu",
        "email": "vignesh.babu@wipro.com",
        "time": "Mon Jul 16 18:30:36 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Jul 18 01:46:51 2007 -0700"
      },
      "message": "[ATM]: Replacing kmalloc/memset combination with kzalloc.\n\nSigned-off-by: vignesh babu \u003cvignesh.babu@wipro.com\u003e\nSigned-off-by: chas williams \u003cchas@cmf.nrl.navy.mil\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c3bc7cff8fddb6ff9715be8bfc3d911378c4d69d",
      "tree": "e23946fb3583ee17e95c07f6e04b5dcc498fa581",
      "parents": [
        "73ca4918fbb98311421259d82ef4ab44feeace43"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sun Jul 15 00:03:05 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 15 00:03:05 2007 -0700"
      },
      "message": "[NET_SCHED]: Kill CONFIG_NET_CLS_POLICE\n\nThe NET_CLS_ACT option is now a full replacement for NET_CLS_POLICE,\nremove the old code. The config option will be kept around to select\nthe equivalent NET_CLS_ACT options for a short time to allow easier\nupgrades.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "73ca4918fbb98311421259d82ef4ab44feeace43",
      "tree": "a5ae62e5474b3d28d7205ab3170aa73ff6d5f8ac",
      "parents": [
        "f6853e2df3de82c1dac8f62ddcf3a8dfa302419e"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sun Jul 15 00:02:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 15 00:02:31 2007 -0700"
      },
      "message": "[NET_SCHED]: act_api: qdisc internal reclassify support\n\nThe behaviour of NET_CLS_POLICE for TC_POLICE_RECLASSIFY was to return\nit to the qdisc, which could handle it internally or ignore it. With\nNET_CLS_ACT however, tc_classify starts over at the first classifier\nand never returns it to the qdisc. This makes it impossible to support\nqdisc-internal reclassification, which in turn makes it impossible to\nremove the old NET_CLS_POLICE code without breaking compatibility since\nwe have two qdiscs (CBQ and ATM) that support this.\n\nThis patch adds a tc_classify_compat function that handles\nreclassification the old way and changes CBQ and ATM to use it.\n\nThis again is of course not fully backwards compatible with the previous\nNET_CLS_ACT behaviour. Unfortunately there is no way to fully maintain\ncompatibility *and* support qdisc internal reclassification with\nNET_CLS_ACT, but this seems like the better choice over keeping the two\nincompatible options around forever.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f6853e2df3de82c1dac8f62ddcf3a8dfa302419e",
      "tree": "acc1e2c17cc794f7e91fcce6459a3ab6b1ac7768",
      "parents": [
        "9210080445b0c51a73b488750a26eb17177d8684"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sun Jul 15 00:02:10 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 15 00:02:10 2007 -0700"
      },
      "message": "[NET_SCHED]: sch_dsmark: act_api support\n\nHandle act_api classification results.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9210080445b0c51a73b488750a26eb17177d8684",
      "tree": "96f339cde62a77c58f88b4a5fe6c9b1deca29b15",
      "parents": [
        "b0188d4dbe5f4285372dd033acf7c92a97006629"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sun Jul 15 00:01:49 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 15 00:01:49 2007 -0700"
      },
      "message": "[NET_SCHED]: sch_atm: act_api support\n\nHandle act_api classification results.\n\nThe ATM scheduler behaves slightly different than other schedulers\nin that it only handles policer results for successful classifications,\nthis behaviour is retained for the act_api case.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b0188d4dbe5f4285372dd033acf7c92a97006629",
      "tree": "f02f3af38e4d4373bb7948a58ec04eb05db40ece",
      "parents": [
        "f13ec93fba60d339dc1663eb47b2fb801225d2d2"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sun Jul 15 00:01:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 15 00:01:25 2007 -0700"
      },
      "message": "[NET_SCHED]: sch_atm: Lindent\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0621ed2e4edbe2f6f83dafbf85eecefae7aaf2e8",
      "tree": "30e005117719da029a238b88c742b0a7e516ad50",
      "parents": [
        "59eecdfb166f6846ae356ddc744abed5820ad965"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jul 14 20:49:26 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 20:49:26 2007 -0700"
      },
      "message": "[NET_SCHED]: Revert \"avoid transmit softirq on watchdog wakeup\" optimization\n\nAs noticed by Ranko Zivojnovic \u003cranko@spidernet.net\u003e, calling qdisc_run\nfrom the timer handler can result in deadlock:\n\n\u003e CPU#0\n\u003e\n\u003e qdisc_watchdog() fires and gets dev-\u003equeue_lock\n\u003e qdisc_run()...qdisc_restart()...\n\u003e -\u003e releases dev-\u003equeue_lock and enters dev_hard_start_xmit()\n\u003e\n\u003e CPU#1\n\u003e\n\u003e tc del qdisc dev ...\n\u003e qdisc_graft()...dev_graft_qdisc()...dev_deactivate()...\n\u003e -\u003e grabs dev-\u003equeue_lock ...\n\u003e\n\u003e qdisc_reset()...{cbq,hfsc,htb,netem,tbf}_reset()...qdisc_watchdog_cancel()...\n\u003e -\u003e hrtimer_cancel() - waiting for the qdisc_watchdog() to exit, while still\n\u003e\t\t        holding dev-\u003equeue_lock\n\u003e\n\u003e CPU#0\n\u003e\n\u003e dev_hard_start_xmit() returns ...\n\u003e -\u003e wants to get dev-\u003equeue_lock(!)\n\u003e\n\u003e DEADLOCK!\n\nThe entire optimization is a bit questionable IMO, it moves potentially\nlarge parts of NET_TX_SOFTIRQ work to TIMER_SOFTIRQ/HRTIMER_SOFTIRQ,\nwhich kind of defeats the separation of them.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nAcked-by: Ranko Zivojnovic \u003cranko@spidernet.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "db3d99c090e0cdb34b1274767e062bfddbb384bc",
      "tree": "9130391307ac77b7f458db5d3994309df6c9877b",
      "parents": [
        "662ad4f8efd3ba2ed710d36003f968b500e6f123"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Jul 11 19:46:26 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 11 19:46:26 2007 -0700"
      },
      "message": "[NET_SCHED]: ematch: module autoloading\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c9726d6890f7f3a892c879e067c3ed839f61e745",
      "tree": "aaae7b138f7c409d62a1223742df38d79130acb4",
      "parents": [
        "c6c6e3e05c0b4349824efcdd36650e7be9d5c7c3"
      ],
      "author": {
        "name": "Ranjit Manomohan",
        "email": "ranjitm@google.com",
        "time": "Tue Jul 10 22:43:16 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 10 22:43:16 2007 -0700"
      },
      "message": "[NET_SCHED]: Make HTB scheduler work with TSO.\n\nCurrently the HTB scheduler does not correctly account for TSO packets\nwhich causes large inaccuracies in the bandwidth control when using TSO.\nThis patch allows the HTB scheduler to work with TSO enabled devices.\n\nSigned-off-by: Ranjit Manomohan \u003cranjitm@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0ba48053831d5b89ee2afaefaae1c06eae80cb05",
      "tree": "4da20f12b2d4e69cfa22ee74d0319141ddc39801",
      "parents": [
        "ee39e10c27ca5293c72addb95bff864095e19904"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jul 02 22:49:07 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:16:41 2007 -0700"
      },
      "message": "[NET_SCHED]: Remove unnecessary includes\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ee39e10c27ca5293c72addb95bff864095e19904",
      "tree": "ab88b149b0aee405933e55a1bdb3806b3253a481",
      "parents": [
        "4bdf39911e7a887c4499161422423cbaf16684e8"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jul 02 22:48:13 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:16:39 2007 -0700"
      },
      "message": "[NET_SCHED]: sch_htb: use generic estimator\n\nUse the generic estimator instead of reimplementing (parts of) it.\nFor compatibility always create a default estimator for new classes.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4bdf39911e7a887c4499161422423cbaf16684e8",
      "tree": "3bf1ac8b4ee1e2682d7aff722d41175a694d41dc",
      "parents": [
        "876d48aabf30e4981653f1a0a7ae1e262b8c8b6f"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jul 02 22:47:37 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:16:38 2007 -0700"
      },
      "message": "[NET_SCHED]: Remove unnecessary stats_lock pointers\n\nRemove stats_lock pointers from qdisc-internal structures, in all cases\nit points to dev-\u003equeue_lock. The only case where it is necessary is for\ntop-level qdiscs, where it might also point to dev-\u003eingress_lock in case\nof the ingress qdisc. Also remove it from actions completely, it always\npoints to the actions internal lock.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "876d48aabf30e4981653f1a0a7ae1e262b8c8b6f",
      "tree": "49dace46f70bc243605ecf73af4a3f06e607a2be",
      "parents": [
        "a553e4a6317b2cfc7659542c10fe43184ffe53da"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jul 02 22:46:07 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:16:37 2007 -0700"
      },
      "message": "[NET_SCHED]: Remove CONFIG_NET_ESTIMATOR option\n\nThe generic estimator is always built in anways and all the config options\ndoes is prevent including a minimal amount of code for setting it up.\nAdditionally the option is already automatically selected for most cases.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d62733c8e437fdb58325617c4b3331769ba82d70",
      "tree": "fcbef07b66cda79b047092e7d53dfd005046838a",
      "parents": [
        "f25f4e44808f0f6c9875d94ef1c41ef86c288eb2"
      ],
      "author": {
        "name": "Peter P Waskiewicz Jr",
        "email": "peter.p.waskiewicz.jr@intel.com",
        "time": "Thu Jun 28 21:04:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:16:22 2007 -0700"
      },
      "message": "[SCHED]: Qdisc changes and sch_rr added for multiqueue\n\nAdd the new sch_rr qdisc for multiqueue network device support.  Allow\nsch_prio and sch_rr to be compiled with or without multiqueue hardware\nsupport.\n\nsch_rr is part of sch_prio, and is referenced from MODULE_ALIAS.  This\nwas done since sch_prio and sch_rr only differ in their dequeue\nroutine.\n\nSigned-off-by: Peter P Waskiewicz Jr \u003cpeter.p.waskiewicz.jr@intel.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f25f4e44808f0f6c9875d94ef1c41ef86c288eb2",
      "tree": "d7809dd5e957f1626185326d0c3438ff9a04d350",
      "parents": [
        "a093bf006e09a305e95ff0938c0a18b7520aef67"
      ],
      "author": {
        "name": "Peter P Waskiewicz Jr",
        "email": "peter.p.waskiewicz.jr@intel.com",
        "time": "Fri Jul 06 13:36:20 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:16:21 2007 -0700"
      },
      "message": "[CORE] Stack changes to add multiqueue hardware support API\n\nAdd the multiqueue hardware device support API to the core network\nstack.  Allow drivers to allocate multiple queues and manage them at\nthe netdev level if they choose to do so.\n\nAdded a new field to sk_buff, namely queue_mapping, for drivers to\nknow which tx_ring to select based on OS classification of the flow.\n\nSigned-off-by: Peter P Waskiewicz Jr \u003cpeter.p.waskiewicz.jr@intel.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e50c41b53d7aa48152dd9c633b04fc7abd536f1f",
      "tree": "3f9ecdbf7a685820ad06321dadc73441e850ba10",
      "parents": [
        "6c1361a6f285bf3df4b502651c0dd38d0eedc044"
      ],
      "author": {
        "name": "Krishna Kumar",
        "email": "krkumar2@in.ibm.com",
        "time": "Sun Jun 24 19:57:27 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:15:36 2007 -0700"
      },
      "message": "[NET]: qdisc_restart - couple of optimizations.\n\nChanges :\n\n- netif_queue_stopped need not be called inside qdisc_restart as\n  it has been called already in qdisc_run() before the first skb\n  is sent, and in __qdisc_run() after each intermediate skb is\n  sent (note : we are the only sender, so the queue cannot get\n  stopped while the tx lock was got in the ~LLTX case).\n\n- BUG_ON((int) q-\u003eq.qlen \u003c 0) was a relic from old times when -1\n  meant more packets are available, and __qdisc_run used to loop\n  when qdisc_restart() returned -1. During those days, it was\n  necessary to make sure that qlen is never less than zero, since\n  __qdisc_run would get into an infinite loop if no packets are on\n  the queue and this bug in qdisc was there (and worse - no more\n  skbs could ever get queue\u0027d as we hold the queue lock too). With\n  Herbert\u0027s recent change to return values, this check is not\n  required.  Hopefully Herbert can validate this change. If at all\n  this is required, it should be added to skb_dequeue (in failure\n  case), and not to qdisc_qlen.\n\nSigned-off-by: Krishna Kumar \u003ckrkumar2@in.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6c1361a6f285bf3df4b502651c0dd38d0eedc044",
      "tree": "b0a89bc11d04bd32451b6b0637da6396fa1c8549",
      "parents": [
        "49d66a70cf9fd94057aacd6055334299ab3a5eac"
      ],
      "author": {
        "name": "Krishna Kumar",
        "email": "krkumar2@in.ibm.com",
        "time": "Sun Jun 24 19:56:09 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:15:35 2007 -0700"
      },
      "message": "[NET]: qdisc_restart - readability changes plus one bug fix.\n\nNew changes :\n\n- Incorporated Peter Waskiewicz\u0027s comments.\n- Re-added back one warning message (on driver returning wrong value).\n\nPrevious changes :\n\n- Converted to use switch/case code which looks neater.\n\n- \"if (ret \u003d\u003d NETDEV_TX_LOCKED \u0026\u0026 lockless)\" is buggy, and the lockless\n  check should be removed, since driver will return NETDEV_TX_LOCKED only\n  if lockless is true and driver has to do the locking. In the original\n  code as well as the latest code, this code can result in a bug where\n  if LLTX is not set for a driver (lockless \u003d\u003d 0) but the driver is written\n  wrongly to do a trylock (despite LLTX being set), the driver returns\n  LOCKED. But since lockless is zero, the packet is requeue\u0027d instead of\n  calling collision code which will issue warning and free up the skb.\n  Instead this skb will be retried with this driver next time, and the same\n  result will ensue. Removing this check will catch these driver bugs instead\n  of hiding the problem. I am keeping this change to readability section\n  since :\n  \ta. it is confusing to check two things as it is; and\n  \tb. it is difficult to keep this check in the changed \u0027switch\u0027 code.\n\n- Changed some names, like try_get_tx_pkt to dev_dequeue_skb (as that is\n  the work being done and easier to understand) and do_dev_requeue to\n  dev_requeue_skb, merged handle_dev_cpu_collision and tx_islocked to\n  dev_handle_collision (handle_dev_cpu_collision is a small routine with only\n  one caller, so there is no need to have two separate routines which also\n  results in getting rid of two macros, etc.\n\n- Removed an XXX comment as it should never fail (I suspect this was related\n  to batch skb WIP, Jamal ?). Converted some functions to original coding\n  style of having the return values and the function name on same line, eg\n  prio2list.\n\nSigned-off-by: Krishna Kumar \u003ckrkumar2@in.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c716a81ab946c68a8d84022ee32eb14674e72650",
      "tree": "be9e428265d85a605ee0fe003fab7c14d516ef61",
      "parents": [
        "05646c91109bfd129361d57dc5d98464ab6f6578"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "hadi@cyberus.ca",
        "time": "Sun Jun 10 17:31:24 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:06:16 2007 -0700"
      },
      "message": "[NET_SCHED]: Cleanup readability of qdisc restart\n\nOver the years this code has gotten hairier. Resulting in many long\ndiscussions over long summer days and patches that get it wrong.\nThis patch helps tame that code so normal people will understand it.\n\nThanks to Thomas Graf, Peter J. waskiewicz Jr, and Patrick McHardy\nfor their valuable reviews.\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b00b4bf94edb42852d55619af453588b2de2dc5e",
      "tree": "01f79f50daf04a1f73a5d93365307711907b3169",
      "parents": [
        "7c355f532dd43036622e1880c114773463bafd23"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jun 05 16:06:59 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Jun 07 13:41:05 2007 -0700"
      },
      "message": "[NET_SCHED]: Fix filter double free\n\ncbq and atm destroy their filters twice when destroying inner classes\nduring qdisc destruction.\n\nReported-and-tested-by: Strobl Anton \u003ca.strobl@aws-it.at\u003e\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "75202e76893c11ce7f8bcc9a07f994d71e3d5113",
      "tree": "71d9e0aaabb6b3904c477f8ee253484245e38d49",
      "parents": [
        "60468d5b5b6931b4d4d704e26b5f17a6e476e6f8"
      ],
      "author": {
        "name": "Bill Nottingham",
        "email": "notting@redhat.com",
        "time": "Thu May 31 21:33:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Jun 03 18:08:47 2007 -0700"
      },
      "message": "[NET]: Fix comparisons of unsigned \u003c 0.\n\nRecent gcc versions emit warnings when unsigned variables are\ncompared \u003c 0 or \u003e\u003d 0.\n\nSigned-off-by: Bill Nottingham \u003cnotting@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "60468d5b5b6931b4d4d704e26b5f17a6e476e6f8",
      "tree": "24fefe03c24fadd0cefa2ef192a98ae80567514d",
      "parents": [
        "b206a65d671d359d0947f0b6da9d418c49a9b28a"
      ],
      "author": {
        "name": "Venkatesh Pallipadi",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Thu May 31 21:28:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Jun 03 18:08:46 2007 -0700"
      },
      "message": "[NET]: Make net watchdog timers 1 sec jiffy aligned.\n\nround_jiffies for net dev watchdog timer.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2e4b3b0e8734d1173c96c6f5d8a8dd6728950b56",
      "tree": "0fbdf481ad4ef35c1bb99ac16c7db0fd240f86ed",
      "parents": [
        "1b07a95a5be77dc1291de12b216f930aee04eb4f"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed May 23 23:39:54 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu May 24 16:36:56 2007 -0700"
      },
      "message": "[NET_SCHED]: sch_htb: fix event cache time calculation\n\nThe event cache time must be an absolute value, when no event exists\nit is incorrectly set to 1s instead of 1s in the future.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "36247f5421015eab0bdd96789b24790598934db9",
      "tree": "fb047cd1ba998962d1e7fee72519d4234fa8c63a",
      "parents": [
        "d333fc8d3006296f2893d17817bc0f67cf87f353"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed May 23 14:30:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu May 24 16:36:43 2007 -0700"
      },
      "message": "[NET_SCHED]: Fix qdisc_restart return value when dequeue is empty\n\nMy previous patch that changed the return value of qdisc_restart\nincorrectly made the case where dequeue returns empty continue\nprocessing packets.\n\nThis patch is based on diagnosis and fix by Patrick McHardy.\n\nReported-and-debugged-by: Anant Nitya \u003ckernel@prachanda.info\u003e\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3e5c2d3bdbe2c047b9853c4248f881f5ac645c89",
      "tree": "c49dee3d5a8151a21434408cc25913d021aa1f15",
      "parents": [
        "6253db055eb62a1bd0a18a1d8489565303b2b1dd"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "hadi@cyberus.ca",
        "time": "Mon May 14 02:57:19 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 14 02:57:19 2007 -0700"
      },
      "message": "[NET_SCHED]: prio qdisc boundary condition\n\nThis fixes an out-of-boundary condition when the classified\nband equals q-\u003ebands. Caught by Alexey\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "41a23b0788610b27ecb4c4ee857f3fe7168f1070",
      "tree": "8f239d889253a7d7d9dd9f12bf4c76f7ff184274",
      "parents": [
        "cce1fa36a8ed36e8a3f64455e2a830f48e904c64"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu May 10 14:12:47 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu May 10 23:47:42 2007 -0700"
      },
      "message": "[NET_SCHED]: Avoid requeue warning on dev_deactivate\n\nWhen we relinquish queue_lock in qdisc_restart and then retake it for\nrequeueing, we might race against dev_deactivate and end up requeueing\nonto noop_qdisc.  This causes a warning to be printed.\n\nThis patch fixes this by checking this before we requeue.  As an added\nbonus, we can remove the same check in __qdisc_run which was added to\nprevent dev-\u003egso_skb from being requeued when we\u0027re shutting down.\n\nEven though we\u0027ve had to add a new conditional in its place, it\u0027s better\nbecause it only happens on requeues rather than every single time that\nqdisc_run is called.\n\nFor this to work we also need to move the clearing of gso_skb up in\ndev_deactivate as now qdisc_restart can occur even after we wait for\n__LINK_STATE_QDISC_RUNNING to clear (but it won\u0027t do anything as long\nas the queue and gso_skb is already clear).\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cce1fa36a8ed36e8a3f64455e2a830f48e904c64",
      "tree": "a392228b6b8d88a339cf9645548e31188ca4fb74",
      "parents": [
        "d90df3ad07a20cd93921e05ff2b12ca7030b4fd7"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu May 10 14:11:16 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu May 10 23:47:41 2007 -0700"
      },
      "message": "[NET_SCHED]: Reread dev-\u003eqdisc for NETDEV_TX_OK\n\nNow that we return the queue length after NETDEV_TX_OK we better\nmake sure that we have the right queue.  Otherwise we can cause a\nstall after a really quick dev_deactive/dev_activate.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d90df3ad07a20cd93921e05ff2b12ca7030b4fd7",
      "tree": "5af931c25932cfad852acb8ddc2ad16a7fa45525",
      "parents": [
        "5830725f8a36908111ecccf2899d06d6dcf54d45"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu May 10 04:55:14 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu May 10 23:47:40 2007 -0700"
      },
      "message": "[NET_SCHED]: Rationalise return value of qdisc_restart\n\nThe current return value scheme and associated comment was invented\nback in the 20th century when we still had that tbusy flag.  Things\nhave changed quite a bit since then (even Tony Blair is moving on\nnow, not to mention the new French president).\n\nAll we need to indicate now is whether the caller should continue\nprocessing the queue.  Therefore it\u0027s sufficient if we return 0 if\nwe want to stop and non-zero otherwise.\n\nThis is based on a patch by Krishna Kumar.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5830725f8a36908111ecccf2899d06d6dcf54d45",
      "tree": "5f06185bf908327f51e027ae35391215e6d80253",
      "parents": [
        "fc038410b4b1643766f8033f4940bcdb1dace633"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu May 10 04:02:41 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu May 10 23:47:39 2007 -0700"
      },
      "message": "[NET]: Fix dev-\u003eqdisc race for NETDEV_TX_LOCKED case\n\nWhen transmit fails with NETDEV_TX_LOCKED the skb is requeued\nto dev-\u003eqdisc again. The dev-\u003eqdisc pointer is protected by\nthe queue lock which needs to be dropped when attempting to\ntransmit and acquired again before requeing. The problem is\nthat qdisc_restart() fetches the dev-\u003eqdisc pointer once and\nstores it in the `q\u0027 variable which is invalidated when\ndropping the queue_lock, therefore the variable needs to be\nrefreshed before requeueing.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4cd8c9e87be7ea891050ff1bebbf767a837eb5cf",
      "tree": "2ade61b3b9c0cdc88f49cd854d799475b3298475",
      "parents": [
        "5b323edbf9daf287fed50dcc63a85589ba24887b"
      ],
      "author": {
        "name": "Krishna Kumar",
        "email": "krkumar2@in.ibm.com",
        "time": "Tue May 08 18:57:50 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu May 10 23:45:10 2007 -0700"
      },
      "message": "[NET_SCHED]: teql_enqueue can check limits before skb enqueue\n\nOptimize teql_enqueue so that it first checks limits before enqueing.\n\nSigned-off-by: Krishna Kumar \u003ckrkumar2@in.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7562f876cd93800f2f8c89445f2a563590b24e09",
      "tree": "78a34c011af275efa0d55ba59c3bd49b771dd533",
      "parents": [
        "03fba0479600114f32d29eee74ca3eaa364606bf"
      ],
      "author": {
        "name": "Pavel Emelianov",
        "email": "xemul@openvz.org",
        "time": "Thu May 03 15:13:45 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 03 15:13:45 2007 -0700"
      },
      "message": "[NET]: Rework dev_base via list_head (v3)\n\nCleanup of dev_base list use, with the aim to simplify making device\nlist per-namespace. In almost every occasion, use of dev_base variable\nand dev-\u003enext pointer could be easily replaced by for_each_netdev\nloop. A few most complicated places were converted to using\nfirst_netdev()/next_netdev().\n\nSigned-off-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nAcked-by: Kirill Korotaev \u003cdev@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3ff50b7997fe06cd5d276b229967bb52d6b3b6c1",
      "tree": "4f0f57123a945c3e6c39759456b6187bb78c4b1f",
      "parents": [
        "c462238d6a6d8ee855bda10f9fff442971540ed2"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Fri Apr 20 17:09:22 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:24 2007 -0700"
      },
      "message": "[NET]: cleanup extra semicolons\n\nSpring cleaning time...\n\nThere seems to be a lot of places in the network code that have\nextra bogus semicolons after conditionals.  Most commonly is a\nbogus semicolon after: switch() { }\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fd44de7cc1d430caef91ad9aecec9ff000fe86f8",
      "tree": "7b86a2e8623400c290c886ef83c573cdf49da3e8",
      "parents": [
        "0463d4ae25771aaf3379bb6b2392f6edf23c2828"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 16 17:07:08 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:08 2007 -0700"
      },
      "message": "[NET_SCHED]: ingress: switch back to using ingress_lock\n\nSwitch ingress queueing back to use ingress_lock. qdisc_lock_tree now locks\nboth the ingress and egress qdiscs on the device. All changes to data that\nmight be used on both ingress and egress needs to be protected by using\nqdisc_lock_tree instead of manually taking dev-\u003equeue_lock. Additionally\nthe qdisc stats_lock needs to be initialized to ingress_lock for ingress\nqdiscs.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0463d4ae25771aaf3379bb6b2392f6edf23c2828",
      "tree": "5c820b718abfe086a7b1d91814cb99d721439a46",
      "parents": [
        "ffa4d7216e848fbfdcb8e6f0bb66abeaa1888964"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 16 17:02:10 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:07 2007 -0700"
      },
      "message": "[NET_SCHED]: Eliminate qdisc_tree_lock\n\nSince we\u0027re now holding the rtnl during the entire dump operation, we\ncan remove qdisc_tree_lock, whose only purpose is to protect dump\ncallbacks from concurrent changes to the qdisc tree.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c95e939508e64863a1c5c73a9e1a908784e06820",
      "tree": "35fb733cfa18f36379d0f88b1fbe8f860b40f902",
      "parents": [
        "a48b5a61448899040dfbd2e0cd55b06a2bd2466c"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 23 11:30:04 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:58 2007 -0700"
      },
      "message": "[NET_SCHED]: qdisc: remove unnecessary memory barriers\n\nWe\u0027re holding dev-\u003equeue_lock in qdisc_watchdog_schedule and\nqdisc_watchdog_cancel, no need for the barriers.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a48b5a61448899040dfbd2e0cd55b06a2bd2466c",
      "tree": "b7efde642bde0eec3cb7171fdda38de349e409ff",
      "parents": [
        "3bebcda28077375470dd60545b71bba2f83335fd"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 23 11:29:43 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:56 2007 -0700"
      },
      "message": "[NET_SCHED]: Unline tcf_destroy\n\nUninline tcf_destroy and add a helper function to destroy an entire filter\nchain.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3bebcda28077375470dd60545b71bba2f83335fd",
      "tree": "a0d610788ccfe8d3b50d6ebf3df014e98f6387bc",
      "parents": [
        "03cc45c0a5b9b7f74768feb43b9a2525d203bbdb"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 23 11:29:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:55 2007 -0700"
      },
      "message": "[NET_SCHED]: turn PSCHED_GET_TIME into inline function\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "03cc45c0a5b9b7f74768feb43b9a2525d203bbdb",
      "tree": "acb5b1d692c9fdf526863f641547744b0a2d38a0",
      "parents": [
        "8edc0c31d6b7849b0fb50db86824830769241939"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 23 11:29:11 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:54 2007 -0700"
      },
      "message": "[NET_SCHED]: turn PSCHED_TDIFF_SAFE into inline function\n\nAlso rename to psched_tdiff_bounded.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8edc0c31d6b7849b0fb50db86824830769241939",
      "tree": "103cc1cf516e6317abad41579d5dd3af5a523d6e",
      "parents": [
        "a084980dcbf56c896e4b6c19aff2b082d5db7006"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 23 11:28:55 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:53 2007 -0700"
      },
      "message": "[NET_SCHED]: kill PSCHED_TDIFF\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a084980dcbf56c896e4b6c19aff2b082d5db7006",
      "tree": "2bdecde658ff928eff6e0f12ccba63217692d8de",
      "parents": [
        "104e0878984bb467e3f54d61105d8903babb4ec1"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 23 11:28:30 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:51 2007 -0700"
      },
      "message": "[NET_SCHED]: kill PSCHED_SET_PASTPERFECT/PSCHED_IS_PASTPERFECT\n\nUse direct assignment and comparison instead.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "104e0878984bb467e3f54d61105d8903babb4ec1",
      "tree": "796a0b5d189582255c3510817491428671921d5c",
      "parents": [
        "7c59e25f3186f26e85b13a318dbc4482d1d363e9"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 23 11:28:07 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:50 2007 -0700"
      },
      "message": "[NET_SCHED]: kill PSCHED_TLESS\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7c59e25f3186f26e85b13a318dbc4482d1d363e9",
      "tree": "b6cfda6d2e14879e3f4373d261b65b80d156d1c1",
      "parents": [
        "26e252df1e6e5b68eb790e4a4baf745aa3870038"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 23 11:27:45 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:49 2007 -0700"
      },
      "message": "[NET_SCHED]: kill PSCHED_TADD/PSCHED_TADD2\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "26e252df1e6e5b68eb790e4a4baf745aa3870038",
      "tree": "e6895ca3ca0351efc9c7ae90a377cafc9fed5112",
      "parents": [
        "76d643cd3bd2b4a1e27e3eafee8e37be9c681792"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 23 11:27:29 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:48 2007 -0700"
      },
      "message": "[NET_SCHED]: kill PSCHED_AUDIT_TDIFF\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "76d643cd3bd2b4a1e27e3eafee8e37be9c681792",
      "tree": "de8ede0c0700755caf16ca9d3dc4dba06075984d",
      "parents": [
        "c7bf5f9dc2f78ae8ebbfffc5f17becd0d9e6ba9e"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 23 11:27:04 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:47 2007 -0700"
      },
      "message": "[NET_SCHED]: sch_netem: fix off-by-one in send time comparison\n\nnetem checks PSCHED_TLESS(cb-\u003etime_to_send, now) to find out whether it is\nallowed to send a packet, which is equivalent to cb-\u003etime_to_send \u003c now.\nUse !PSCHED_TLESS(now, cb-\u003etime_to_send) instead to properly handle\ncb-\u003etime_to_send \u003d\u003d now.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bb2f8cc0ecf025d6d3947e0389434650023f432e",
      "tree": "61be3ceb6857051dc33c367ab761c350fc10786a",
      "parents": [
        "c702e8047fe74648f7852a9c1de781b0d5a98402"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Fri Mar 23 00:12:09 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:33 2007 -0700"
      },
      "message": "[NETEM]: spelling errors\n\nGet rid of some of my creative spelling.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1936502d00ae6c2aa3931c42f6cf54afaba094f2",
      "tree": "2870f51b8b5a91c39295fe092dd042b774825bf4",
      "parents": [
        "11274e5a43266d531140530adebead6903380caf"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Thu Mar 22 12:18:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:23 2007 -0700"
      },
      "message": "[NET_SCHED] qdisc: avoid transmit softirq on watchdog wakeup\n\nIf possible, avoid having to do a transmit softirq when a qdisc\nwatchdog decides to re-enable.  The watchdog routine runs off\na timer, so it is already in the same effective context as\nthe softirq.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "11274e5a43266d531140530adebead6903380caf",
      "tree": "38c365a3835c9e5973fb1941a31dde8cc4856724",
      "parents": [
        "075aa573b74a732aeff487ab77d3fbd627c10856"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Thu Mar 22 12:17:42 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:22 2007 -0700"
      },
      "message": "[NETEM]: avoid excessive requeues\n\nThe netem code would call getnstimeofday() and dequeue/requeue after\nevery packet, even if it was waiting. Avoid this overhead by using\nthe throttled flag.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "075aa573b74a732aeff487ab77d3fbd627c10856",
      "tree": "ba787170f860875318a13e4c934dc02a0304a18f",
      "parents": [
        "b407621c35ed5f9a0734e57472e9539117963768"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Thu Mar 22 12:17:05 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:21 2007 -0700"
      },
      "message": "[NETEM]: Optimize tfifo\n\nIn most cases, the next packet will be sent after the\nlast one. So optimize that case.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b407621c35ed5f9a0734e57472e9539117963768",
      "tree": "ff38bcb206b20ebbc3c3f289bdce8ff7eb42f2f4",
      "parents": [
        "a362e0a7890c735a3ef63aab12d71ecfc6e6f4a5"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Thu Mar 22 12:16:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:20 2007 -0700"
      },
      "message": "[NETEM]: use better types for time values\n\nThe random number generator always generates 32 bit values.\nThe time values are limited by psched_tdiff_t\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a362e0a7890c735a3ef63aab12d71ecfc6e6f4a5",
      "tree": "a92d9d1fc25bc03f0c3d465e40519ea63ce2878f",
      "parents": [
        "7e58886b45bc4a309aeaa8178ef89ff767daaf7f"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Thu Mar 22 12:15:45 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:20 2007 -0700"
      },
      "message": "[NETEM]: report reorder percent correctly.\n\nIf you setup netem to just delay packets; \"tc qdisc ls\" will report\nthe reordering as 100%. Well it\u0027s a lie, reorder isn\u0027t used unless\ngap is set, so just set value to 0 so the output of utility\nis correct.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "708914cc5e1657eb1a1f9eefc6333dfd2df8c73a",
      "tree": "15ee9900cc96684c957d364f617d882f918fb8b5",
      "parents": [
        "82623c0d73bd111cad26e501e509966b2455b0e0"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 22 11:56:59 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:11 2007 -0700"
      },
      "message": "[PKT_SCHED] act: Use rtnl registration interface\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "82623c0d73bd111cad26e501e509966b2455b0e0",
      "tree": "9b7b125e4c6a26720826de4bfe593199ee71bc93",
      "parents": [
        "be577ddc2b4aca0849f701222f5bc13cf1b79c9a"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 22 11:56:22 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:10 2007 -0700"
      },
      "message": "[PKT_SCHED] cls: Use rtnl registration interface\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "be577ddc2b4aca0849f701222f5bc13cf1b79c9a",
      "tree": "39ea6dcd40885a79cb1e3172b3299069156993f4",
      "parents": [
        "63f3444fb9a54c024d55f1205f8b94e7d2786595"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 22 11:55:50 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:09 2007 -0700"
      },
      "message": "[PKT_SCHED] qdisc: Use rtnl registration interface\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dc5fc579b90ed0a9a4e55b0218cdbaf0a8cf2e67",
      "tree": "673dbb425c2b09b4256ef71f89dfc5cc01944386",
      "parents": [
        "a36ca733375860b389c15ffdf6a5f92df64a33b6"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sun Mar 25 23:06:12 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:37 2007 -0700"
      },
      "message": "[NETLINK]: Use nlmsg_trim() where appropriate\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "27a884dc3cb63b93c2b3b643f5b31eed5f8a4d26",
      "tree": "5a267e40f9b94014be38dad5de0a52b6628834e0",
      "parents": [
        "be8bd86321fa7f06359d866ef61fb4d2f3e9dce9"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Apr 19 20:29:13 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:28 2007 -0700"
      },
      "message": "[SK_BUFF]: Convert skb-\u003etail to sk_buff_data_t\n\nSo that it is also an offset from skb-\u003ehead, reduces its size from 8 to 4 bytes\non 64bit architectures, allowing us to combine the 4 bytes hole left by the\nlayer headers conversion, reducing struct sk_buff size to 256 bytes, i.e. 4\n64byte cachelines, and since the sk_buff slab cache is SLAB_HWCACHE_ALIGN...\n:-)\n\nMany calculations that previously required that skb-\u003e{transport,network,\nmac}_header be first converted to a pointer now can be done directly, being\nmeaningful as offsets or pointers.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "514bca322cb9220308d22691ac1e74038bfabac3",
      "tree": "04f46e4fa9dcc6f8467888fcc9a161215700d4a4",
      "parents": [
        "bb239acf5679ee1936f6b1b034ad260c4fec89c8"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 16 12:34:52 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:17 2007 -0700"
      },
      "message": "[NET_SCHED]: Fix warning\n\nnet/sched/sch_api.c: In function \u0027psched_show\u0027:\nnet/sched/sch_api.c:1219: warning: format \u0027%08x\u0027 expects type \u0027unsigned int\u0027, but argument 6 has type \u0027s64\u0027\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bb239acf5679ee1936f6b1b034ad260c4fec89c8",
      "tree": "3c52cd966844e708ac0c4da5a08956a943be6bd7",
      "parents": [
        "4361cb17f0df5491fe6e2c3ae1defc98e9a64a79"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 16 12:31:28 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:16 2007 -0700"
      },
      "message": "[NET_SCHED]: sch_cbq: fix watchdog scheduled too late\n\nq-\u003enow is increased during dequeue and doesn\u0027t contain the current time\nafterwards, resulting in a too large timeout value for the qdisc watchdog.\nUse \"now\" instead, which still contains the current time.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4361cb17f0df5491fe6e2c3ae1defc98e9a64a79",
      "tree": "9574cea69126dc020eeaaf6da4e3dee75df5612d",
      "parents": [
        "00c04af9df3d26e5a8093da850e982a7b6aeada7"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 16 01:23:28 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:15 2007 -0700"
      },
      "message": "[NET_SCHED]: Export real timer resolution in /proc/net/psched\n\nThe timer resolution exported in /proc/net/psched is used by userspace to\ncalculate HTB\u0027s burst values. Currently it is set to HZ, since we\u0027re now\nusing hrtimers, use KTIME_MONOTONIC_RES, which makes HTB use smaller burst\nvalues.\n\nThis patch also affects libnl, which incorrectly uses this value for\nthe SFQ perturbation parameter, which is always in seconds, and some\nrouting cache values, which are in USER_HZ, so both cases are broken\nanyway.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "00c04af9df3d26e5a8093da850e982a7b6aeada7",
      "tree": "4764d2dd26f672f707fe513815a7745d03f46f43",
      "parents": [
        "fb983d4578e238b7f483b4f8f39f3a0f35d34d16"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 16 01:23:02 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:14 2007 -0700"
      },
      "message": "[NET_SCHED]: kill jiffie conversion macros\n\nNow that all packet schedulers have been converted to hrtimers most users\nof PSCHED_JIFFIE2US and PSCHED_US2JIFFIE are gone. The remaining users use\nit to convert external time units to packet scheduler clock ticks, so use\nPSCHED_TICKS_PER_SEC instead.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fb983d4578e238b7f483b4f8f39f3a0f35d34d16",
      "tree": "b168e567f24db119b2bee301036e08dc6289743a",
      "parents": [
        "1a13cb63d679da328cfa339c89b8b2d0eba3b81e"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 16 01:22:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:13 2007 -0700"
      },
      "message": "[NET_SCHED]: sch_htb: use hrtimer based watchdog\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1a13cb63d679da328cfa339c89b8b2d0eba3b81e",
      "tree": "0de208583285cb470ca6ff9bd351e8054e5a68d2",
      "parents": [
        "e9054a339eb275c756efeeaee42af484ac72a3f4"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 16 01:22:20 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:12 2007 -0700"
      },
      "message": "[NET_SCHED]: sch_cbq: use hrtimer for delay_timer\n\nSwitch delay_timer to hrtimer.\n\nThe class penalty parameter is changed to use psched ticks as units.\nSince iproute never supported using this and the only existing user\n(libnl) incorrectly assumes psched ticks as units anyway, this\nshouldn\u0027t break anything.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e9054a339eb275c756efeeaee42af484ac72a3f4",
      "tree": "2751aa5f3338e48acb421dc7c772fd7e9a908f5e",
      "parents": [
        "88a993540a65c38865f83961520494b4ad5d0363"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 16 01:21:40 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:11 2007 -0700"
      },
      "message": "[NET_SCHED]: sch_cbq: fix cbq_undelay_prio for non-active priorites\n\ncbq_undelay_prio is supposed to return a time delta, but returns the\ncurrent time for non-active priorities, causing cbq_undelay to mark\nthe priority as active and schedule a timer for twice the current\ntime.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "88a993540a65c38865f83961520494b4ad5d0363",
      "tree": "0cb5d41b58cd9de8d1ecee4d27a1ef74b069b72b",
      "parents": [
        "59cb5c6734021acc68590c7c2e0e92ad9a4952c6"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 16 01:21:11 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:09 2007 -0700"
      },
      "message": "[NET_SCHED]: sch_cbq: use hrtimer based watchdog\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "59cb5c6734021acc68590c7c2e0e92ad9a4952c6",
      "tree": "d2c35a5a7f8c6766f825a6b7684fe8e526dbd3d7",
      "parents": [
        "f7f593e383145931cb2a65df62c31ce1bcc0cffc"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 16 01:20:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:08 2007 -0700"
      },
      "message": "[NET_SCHED]: sch_netem: use hrtimer based watchdog\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f7f593e383145931cb2a65df62c31ce1bcc0cffc",
      "tree": "7e6245fdc41bd0361995aacec96ac3b3cb84e2cf",
      "parents": [
        "ed2b229a97fd537857ad8441ab8b5996b15eadfd"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 16 01:20:07 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:07 2007 -0700"
      },
      "message": "[NET_SCHED]: sch_tbf: use hrtimer based watchdog\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ed2b229a97fd537857ad8441ab8b5996b15eadfd",
      "tree": "a0f6722307b8e3cbd350da0e4b8e4a66803a9c46",
      "parents": [
        "4179477f637caa730626bd597fdf28c5bad73565"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 16 01:19:33 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:06 2007 -0700"
      },
      "message": "[NET_SCHED]: sch_hfsc: use hrtimer based watchdog\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4179477f637caa730626bd597fdf28c5bad73565",
      "tree": "cdaeaf817b34ee03b0f4b4203d675272f152947a",
      "parents": [
        "641b9e0e8b7f96425da6ce98f3361e3af0baee29"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 16 01:19:15 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:05 2007 -0700"
      },
      "message": "[NET_SCHED]: Add hrtimer based qdisc watchdog\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "641b9e0e8b7f96425da6ce98f3361e3af0baee29",
      "tree": "2315fed3b4fd9df52a52464b9b1ce1561d403a87",
      "parents": [
        "ddc7b8e32b22fe8b45d306b7d99472d4b560add6"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 16 01:18:42 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:04 2007 -0700"
      },
      "message": "[NET_SCHED]: Use ktime as clocksource\n\nGet rid of the manual clock source selection mess and use ktime. Also\nuse a scalar representation, which allows to clean up pkt_sched.h a bit\nmore and results in less ktime_to_ns() calls in most cases.\n\nThe PSCHED_US2JIFFIE/PSCHED_JIFFIE2US macros are implemented quite\ninefficient by this patch, following patches will convert all qdiscs\nto hrtimers and get rid of them entirely.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0660e03f6b18f19b6bbafe7583265a51b90daf36",
      "tree": "82cc819ead5ab7858ba211ee8719a3e6d2bb984f",
      "parents": [
        "d0a92be05ed4aea7d35c2b257e3f9173565fe4eb"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 25 17:54:47 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:14 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce ipv6_hdr(), remove skb-\u003enh.ipv6h\n\nNow the skb-\u003enh union has just one member, .raw, i.e. it is just like the\nskb-\u003emac union, strange, no? I\u0027m just leaving it like that till the transport\nlayer is done with, when we\u0027ll rename skb-\u003emac.raw to skb-\u003emac_header (or\n-\u003emac_header_offset?), ditto for -\u003e{h,nh}.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eddc9ec53be2ecdbf4efe0efd4a83052594f0ac0",
      "tree": "4a38ab4dbd9d61fdf5a5ea6ed61463e0b9e33ba7",
      "parents": [
        "e023dd643798c4f06c16466af90b4d250e4b8bd7"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Apr 20 22:47:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:10 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce ip_hdr(), remove skb-\u003enh.iph\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d56f90a7c96da5187f0cdf07ee7434fe6aa78bbc",
      "tree": "3b9073cecfbb3b6a1e25ab2b5dd2a22a43aef238",
      "parents": [
        "bbe735e4247dba32568a305553b010081c8dea99"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 10 20:50:43 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:59 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_network_header()\n\nFor the places where we need a pointer to the network header, it is still legal\nto touch skb-\u003enh.raw directly if just adding to, subtracting from or setting it\nto another layer header.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bbe735e4247dba32568a305553b010081c8dea99",
      "tree": "95d96619c85785a47ccee48965b68d99cf946854",
      "parents": [
        "e7dd65dafda5737a983c04d652a69ab8da78ee3f"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Mar 10 22:16:10 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:58 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_network_offset()\n\nFor the quite common \u0027skb-\u003enh.raw - skb-\u003edata\u0027 sequence.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b6d9bcb0697e60d5424e2f395fe950f0e22f4418",
      "tree": "1b918fe0a8507214cd6e0eecfb07d956d7e34c49",
      "parents": [
        "8f05ce91c8b801af106611ad83b1d8d7429b9b46"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 07 14:21:20 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:00 2007 -0700"
      },
      "message": "[NET] SCHED: Use htons() where appropriate.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bb8a954f27ed8fb8f57e80e6b63d837cfdcad689",
      "tree": "3b001cd05b981c38ccd31f088fb434b492301e56",
      "parents": [
        "90f30eccf41302a2542f5d374af243061902bd98"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 09 11:42:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Apr 09 13:31:13 2007 -0700"
      },
      "message": "[NET_SCHED]: cls_tcindex: fix compatibility breakage\n\nUserspace uses an integer for TCA_TCINDEX_SHIFT, the kernel was changed\nto expect and use a u16 value in 2.6.11, which broke compatibility on\nbig endian machines. Change back to use int.\n\nReported by Ole Reinartz \u003cole.reinartz@gmx.de\u003e\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "31ba548f9683c5c5809567549b404404b6017088",
      "tree": "b1362760bfe47476bf487aacde9da2a27971e1af",
      "parents": [
        "83886b6b636173b206f475929e58fac75c6f2446"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 30 13:36:23 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Apr 02 13:30:52 2007 -0700"
      },
      "message": "[NET_SCHED]: cls_basic: fix memory leak in basic_destroy\n\ntp-\u003eroot is not freed on destruction.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c01003c20563d1e75ec9828d21743919d2b43977",
      "tree": "21cae8933e8a4908d8e8c24244a627bf0c997e77",
      "parents": [
        "db8b22550d4b83f0910d27a34d05aa16f7f7159f"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Mar 29 11:46:52 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 29 11:46:52 2007 -0700"
      },
      "message": "[IFB]: Fix crash on input device removal\n\nThe input_device pointer is not refcounted, which means the device may\ndisappear while packets are queued, causing a crash when ifb passes packets\nwith a stale skb-\u003edev pointer to netif_rx().\n\nFix by storing the interface index instead and do a lookup where neccessary.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nAcked-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c38c83cb705a41e30a99545ae2314c00e3b9bf1c",
      "tree": "1d91f9303661f75c2104dd6db1d78f55445fc22c",
      "parents": [
        "9b2f7bcf0efea98666da56073448647e2b373b67"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Mar 27 14:04:24 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 27 14:04:24 2007 -0700"
      },
      "message": "[NET_SCHED]: sch_htb/sch_hfsc: fix oops in qlen_notify\n\nDuring both HTB and HFSC class deletion the class is removed from the\nclass hash before calling qdisc_tree_decrease_qlen. This makes the\n-\u003eget operation in qdisc_tree_decrease_qlen fail, so it passes a NULL\npointer to -\u003eqlen_notify, causing an oops.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9b2f7bcf0efea98666da56073448647e2b373b67",
      "tree": "f2e4719d070aab492236d9878a7fda70e9b84bf7",
      "parents": [
        "703071b5b93d88d5acb0edd5b9dd86c69ad970f2"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Mon Mar 26 16:20:34 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 26 16:20:34 2007 -0700"
      },
      "message": "[NET]: Remove dead net/sched/Makefile entry for sch_hpfq.o.\n\nRemove the worthless net/sched/Makefile entry for the non-existent\nsource file sch_hpfq.c.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d3fa76ee6b4a8dd0efda4e78e96f5b19533b3dea",
      "tree": "f960e24f323770fd3f26b0b14107cf3b0c0c0024",
      "parents": [
        "c93a882ebe673b5e6da0a70fd433f7517e032d23"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Mar 24 22:13:06 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Mar 25 18:48:11 2007 -0700"
      },
      "message": "[NET_SCHED]: cls_basic: fix NULL pointer dereference\n\ncls_basic doesn\u0027t allocate tp-\u003eroot before it is linked into the\nactive classifier list, resulting in a NULL pointer dereference\nwhen packets hit the classifier before its -\u003echange function is\ncalled.\n\nReported by Chris Madden \u003cchris@reflexsecurity.com\u003e\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b6f99a211957910a07437f46ce54dcfb1755cf84",
      "tree": "0ae2ffc1982d445318363fb94d656b9a483c0c7a",
      "parents": [
        "289f42492c0958871b6045050474c752ec99704f"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Thu Mar 22 12:27:49 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 22 12:27:49 2007 -0700"
      },
      "message": "[NET]: fix up misplaced inlines.\n\nTurning up the warnings on gcc makes it emit warnings\nabout the placement of \u0027inline\u0027 in function declarations.\nHere\u0027s everything that was under net/\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cd354f1ae75e6466a7e31b727faede57a1f89ca5",
      "tree": "09a2da1672465fefbc7fe06ff4e6084f1dd14c6b",
      "parents": [
        "3fc605a2aa38899c12180ca311f1eeb61a6d867e"
      ],
      "author": {
        "name": "Tim Schmielau",
        "email": "tim@physik3.uni-rostock.de",
        "time": "Wed Feb 14 00:33:14 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:54 2007 -0800"
      },
      "message": "[PATCH] remove many unneeded #includes of sched.h\n\nAfter Al Viro (finally) succeeded in removing the sched.h #include in module.h\nrecently, it makes sense again to remove other superfluous sched.h includes.\nThere are quite a lot of files which include it but don\u0027t actually need\nanything defined in there.  Presumably these includes were once needed for\nmacros that used to live in sched.h, but moved to other header files in the\ncourse of cleaning it up.\n\nTo ease the pain, this time I did not fiddle with any header files and only\nremoved #includes from .c-files, which tend to cause less trouble.\n\nCompile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,\narm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,\nallmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all\nconfigs in arch/arm/configs on arm.  I also checked that no new warnings were\nintroduced by the patch (actually, some warnings are removed that were emitted\nby unnecessarily included header files).\n\nSigned-off-by: Tim Schmielau \u003ctim@physik3.uni-rostock.de\u003e\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3d50f23108ff01457d1ca6fb2b5f2da8214e83e4",
      "tree": "b5b4c4a4b4be94b16c7975997b8c54682897c235",
      "parents": [
        "a10d567c89dfba90dde2e0515e25760fd74cde06"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Feb 13 12:36:57 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 13 12:36:57 2007 -0800"
      },
      "message": "[NET_SCHED]: sch_hfsc: replace ASSERT macro by WARN_ON\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "da7071d7e32d15149cc513f096a3638097b66387",
      "tree": "f56fb200090ad55b2e2a72c379b1eeea29795670",
      "parents": [
        "9a32144e9d7b4e21341174b1a83b82a82353be86"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:36 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:46 2007 -0800"
      },
      "message": "[PATCH] mark struct file_operations const 8\n\nMany struct file_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "10297b99315e5e08fe623ba56da35db1fee69ba9",
      "tree": "06cfd5434ad5d4cb9dd8e0715716da0abd52849c",
      "parents": [
        "7612713fb69a17b79ca7d757df4446700f4afe6c"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Feb 09 23:25:16 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Feb 10 23:20:08 2007 -0800"
      },
      "message": "[NET] SCHED: Fix whitespace errors.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e60a13e030867078f3c9fef8dca6cd8a5b883478",
      "tree": "773c26ade3f4d3f88fb83cc8044d35cbe0a01cbe",
      "parents": [
        "6709dbbb1978abe039ea4b76c364bf003bf40de5"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@gmx.de",
        "time": "Wed Feb 07 15:12:33 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Feb 08 12:39:20 2007 -0800"
      },
      "message": "[NETFILTER]: {ip,ip6}_tables: use struct xt_table instead of redefined structure names\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@gmx.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a8d0f9526ff8510d6fa5e708ef5386af19503299",
      "tree": "bb88ab76ac8364ee257dc3aeeabbb8c3148d633f",
      "parents": [
        "5eb87f456ebdc983164f0913b53c199ca9673887"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Feb 07 15:07:43 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Feb 08 12:39:14 2007 -0800"
      },
      "message": "[NET]: Add UDPLITE support in a few missing spots\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f5a6e01c093ca60c0cab15c47c8e7e199fbbc9e6",
      "tree": "6d7a09c26917bebf6faeb13f90eaec230c4311e0",
      "parents": [
        "104439a8876a98eac1b6593907a3c7bc51e362fe"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 05 17:59:51 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Feb 08 12:38:52 2007 -0800"
      },
      "message": "[NET]: user of the jiffies rounding code: Networking\n\nThis patch introduces users of the round_jiffies() function in the\nnetworking code.\n\nThese timers all were of the \"about once a second\" or \"about once\nevery X seconds\" variety and several showed up in the \"what wakes the\ncpu up\" profiles that the tickless patches provide.  Some timers are\nhighly dynamic based on network load; but even on low activity systems\nthey still show up so the rounding is done only in cases of low\nactivity, allowing higher frequency timers in the high activity case.\n\nThe various hardware watchdogs are an obvious case; they run every 2\nseconds but aren\u0027t otherwise specific of exactly when they need to\nrun.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2cf6c36cb46d69057db2ebae0d8ec352e065f48b",
      "tree": "05e735e5d2bd0e2d95e091cd3328a632f48450cb",
      "parents": [
        "5986a2ec35836a878350c54af4bd91b1de6abc59"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@o2.pl",
        "time": "Wed Jan 31 12:21:24 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Feb 08 12:38:40 2007 -0800"
      },
      "message": "[NET_SCHED] sch_prio: class statistics printing enabled\n\nThis patch adds a dump_stats callback to enable\nprinting of basic statistics of prio classes.\n(With help of Patrick McHardy).\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@o2.pl\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "239a87c87660d3b97a467a661eec927f0dfa9891",
      "tree": "105c2ef26a16c75ad36cb04a28b6bdeb317c8810",
      "parents": [
        "e34efe3b100d0fbdf053128956c3dd0bc68754d6"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Feb 02 00:40:36 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 02 00:40:36 2007 -0800"
      },
      "message": "[NET_SCHED]: act_ipt: fix regression in ipt action\n\nThe x_tables patch broke target module autoloading in the ipt action\nby replacing the ipt_find_target call (which does autoloading) by\nxt_find_target (which doesn\u0027t do autoloading). Additionally xt_find_target\nmay return ERR_PTR values in case of an error, which are not handled.\n\nUse xt_request_find_target, which does both autoloading and ERR_PTR\nhandling properly. Also don\u0027t forget to drop the target module reference\nagain when xt_check_target fails.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "160d5e10f87b1dc88fd9b84b31b1718e0fd76398",
      "tree": "ea217c1de9670e4fd4407b6f267d6236b0d3d54a",
      "parents": [
        "a37ef2e3258d65e43ec876233bba0b288a9d3260"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@o2.pl",
        "time": "Fri Dec 08 00:26:56 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Dec 08 17:19:32 2006 -0800"
      },
      "message": "[NET_SCHED] sch_htb: turn intermediate classes into leaves\n\n- turn intermediate classes into leaves again when their\n  last child is deleted (struct htb_class changed)\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@o2.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a37ef2e3258d65e43ec876233bba0b288a9d3260",
      "tree": "121a4bfc31c94c5f1c09d964247f37112b4c3017",
      "parents": [
        "93366c537b3426261cac4db27acc10a99cd91b06"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@o2.pl",
        "time": "Fri Dec 08 00:25:55 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Dec 08 17:19:31 2006 -0800"
      },
      "message": "[NET_SCHED] sch_cbq: deactivating when grafting, purging etc.\n\n- deactivating of active classes when q.qlen drops to zero\n  (cbq_drop)\n\n- a redundant instruction removed from cbq_deactivate_class\n\nPS: probably htb_deactivate in htb_delete and\ncbq_deactivate_class in cbq_delete are also\nredundant now.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@o2.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5c804bfdcca2593422dd6edc2d7db4dba645543c",
      "tree": "b8b0993a2855372b037f6bbef2f4b67908b16ce8",
      "parents": [
        "f216f082b2b37c4943f1e7c393e2786648d48f6f"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Dec 05 13:46:13 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Dec 06 18:39:07 2006 -0800"
      },
      "message": "[NET_SCHED]: cls_fw: fix NULL pointer dereference\n\nWhen the first fw classifier is initialized, there is a small window\nbetween the -\u003einit() and -\u003echange() calls, during which the classifier\nis active but not entirely set up and tp-\u003eroot is still NULL (-\u003einit()\ndoes nothing).\n\nWhen a packet is queued during this window a NULL pointer dereference\noccurs in fw_classify() when trying to dereference head-\u003emask;\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a163148c1bec895c1332ea5be497bcda8ce110df",
      "tree": "8fbcb7c863c6ee4d422aaba0c496f945d6b45755",
      "parents": [
        "0b251df1039f560ef88a9180a80023e4f82596bd"
      ],
      "author": {
        "name": "Kim Nordlund",
        "email": "kim.nordlund@nokia.com",
        "time": "Fri Dec 01 20:21:44 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:32:11 2006 -0800"
      },
      "message": "[PKT_SCHED] act_gact: division by zero\n\nNot returning -EINVAL, because someone might want to use the value\nzero in some future gact_prob algorithm?\n\nSigned-off-by: Kim Nordlund \u003ckim.nordlund@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1e9b3d5339d2afd6348e8211f0db695b00261e17",
      "tree": "0dd54ad172b0bfb2e905168913a199cab69e9ab1",
      "parents": [
        "5f68e4c07c7b97a5b06f0b5e313528d36415a60d"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Nov 30 19:54:05 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:32:07 2006 -0800"
      },
      "message": "[NET_SCHED]: policer: restore compatibility with old iproute binaries\n\nThe tc actions increased the size of struct tc_police, which broke\ncompatibility with old iproute binaries since both the act_police\nand the old NET_CLS_POLICE code check for an exact size match.\n\nSince the new members are not even used, the simple fix is to also\naccept the size of the old structure. Dumping is not affected since\nold userspace will receive a bigger structure, which is handled fine.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nAcked-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5f68e4c07c7b97a5b06f0b5e313528d36415a60d",
      "tree": "0c6e91dfea10e46f128a1a6d978ef2f438be571f",
      "parents": [
        "1e419cd9953f59d06d7b88d0e2911a68a0044f33"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Thu Nov 30 19:50:36 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:32:06 2006 -0800"
      },
      "message": "[PKT_SCHED]: Remove unused exports.\n\nThis patch removes the following unused EXPORT_SYMBOL\u0027s:\n- sch_api.c: qdisc_lookup\n- sch_generic.c: __netdev_watchdog_up\n- sch_generic.c: noop_qdisc_ops\n- sch_generic.c: qdisc_alloc\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e488eafcc50be296f0d1e1fd67c6b5d865183011",
      "tree": "792549530bf6d6e36cf48c9192194bccad158e2d",
      "parents": [
        "256d61b87b2c2ac6fc333c1654d1abea61979006"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Nov 29 17:37:42 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:31:46 2006 -0800"
      },
      "message": "[NET_SCHED]: Fix endless loops (part 5): netem/tbf/hfsc -\u003erequeue failures\n\nWhen peeking at the next packet in a child qdisc by calling dequeue/requeue,\nthe upper qdisc qlen counter may get out of sync in case the requeue fails.\nThe qdisc and the child qdisc both have their counter decremented, but since\nno packet is given to the upper qdisc it won\u0027t decrement its counter itself.\n\nrequeue should not fail, so this is mostly for \"correctness\".\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "256d61b87b2c2ac6fc333c1654d1abea61979006",
      "tree": "6c84f11bfc4e3179eabb21d445fe9252c5fc1b76",
      "parents": [
        "f973b913e18ab5a4795738ddf8a8666ac306ee12"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Nov 29 17:37:05 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:31:45 2006 -0800"
      },
      "message": "[NET_SCHED]: Fix endless loops (part 4): HTB\n\nConvert HTB to use qdisc_tree_decrease_len() and add a callback\nfor deactivating a class when its child queue becomes empty.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f973b913e18ab5a4795738ddf8a8666ac306ee12",
      "tree": "6162ce2896e1a7139f019c09dc37f09d213a211b",
      "parents": [
        "5e50da01d0ce7ef0ba3ed6cfabd62f327da0aca6"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Nov 29 17:36:43 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:31:44 2006 -0800"
      },
      "message": "[NET_SCHED]: Fix endless loops (part 3): HFSC\n\nConvert HFSC to use qdisc_tree_decrease_len() and add a callback\nfor deactivating a class when its child queue becomes empty.\n\nAll queue purging goes through hfsc_purge_queue(), which is used in\nthree cases: grafting, class creation (when a leaf class is turned\ninto an intermediate class by attaching a new class) and class\ndeletion. In all cases qdisc_tree_decrease_len() is needed.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5e50da01d0ce7ef0ba3ed6cfabd62f327da0aca6",
      "tree": "6f2205ceae40a7fd5b498e94c60b65140740a027",
      "parents": [
        "43effa1e57fc4635e0301b27d78f9d83afe78974"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Nov 29 17:36:20 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:31:43 2006 -0800"
      },
      "message": "[NET_SCHED]: Fix endless loops (part 2): \"simple\" qdiscs\n\nConvert the \"simple\" qdiscs to use qdisc_tree_decrease_qlen() where\nnecessary:\n\n- all graft operations\n- destruction of old child qdiscs in prio, red and tbf change operation\n- purging of queue in sfq change operation\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "43effa1e57fc4635e0301b27d78f9d83afe78974",
      "tree": "dc4a22fdaad074a547438050fb428f32b1cb2ded",
      "parents": [
        "9f9afec48221fe4a19f84a9341f5b304bf7d7783"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Nov 29 17:35:48 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:31:42 2006 -0800"
      },
      "message": "[NET_SCHED]: Fix endless loops caused by inaccurate qlen counters (part 1)\n\nThere are multiple problems related to qlen adjustment that can lead\nto an upper qdisc getting out of sync with the real number of packets\nqueued, leading to endless dequeueing attempts by the upper layer code.\n\nAll qdiscs must maintain an accurate q.qlen counter. There are basically\ntwo groups of operations affecting the qlen: operations that propagate\ndown the tree (enqueue, dequeue, requeue, drop, reset) beginning at the\nroot qdisc and operations only affecting a subtree or single qdisc\n(change, graft, delete class). Since qlen changes during operations from\nthe second group don\u0027t propagate to ancestor qdiscs, their qlen values\nbecome desynchronized.\n\nThis patch adds a function to propagate qlen changes up the qdisc tree,\noptionally calling a callback function to perform qdisc-internal\nmaintenance when the child qdisc becomes empty. The follow-up patches\nwill convert all qdiscs to use this function where necessary.\n\nNoticed by Timo Steinbach \u003ctsteinbach@astaro.com\u003e.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "9f9afec48221fe4a19f84a9341f5b304bf7d7783"
}
