)]}'
{
  "log": [
    {
      "commit": "3db05fea51cdb162cfa8f69e9cfb9e228919d2a9",
      "tree": "0d0e4c18cdf2dcb7321035f6614628a2ddfb502d",
      "parents": [
        "2ca7b0ac022aa0158599178fe1056b1ba9ec8b97"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Oct 15 00:53:15 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:29 2007 -0700"
      },
      "message": "[NETFILTER]: Replace sk_buff ** with sk_buff *\n\nWith all the users of the double pointers removed, this patch mops up by\nfinally replacing all occurances of sk_buff ** in the netfilter API by\nsk_buff *.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3c0cfc135829b98f7a4894938652f9ef78e24237",
      "tree": "0036bb59e5d0df59d04c22c83fa265936e36939f",
      "parents": [
        "32d1316b91424423d7b44944f18cdaca268f3db2"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Oct 10 16:32:41 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:59 2007 -0700"
      },
      "message": "[NET_SCHED]: Show timer resolution instead of clock resolution in /proc/net/psched\n\nThe fourth parameter of /proc/net/psched is supposed to show the timer\nresultion and is used by HTB userspace to calculate the necessary\nburst rate. Currently we show the clock resolution, which results in a\ntoo low burst rate when the two differ.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cfcabdcc2d5a810208e5bb3974121b7ed60119aa",
      "tree": "1aed711eeecc5a303b57f1fc47e1b5746e8a72c2",
      "parents": [
        "de83c058af25aa97ed4864abab11e90e8dead6e2"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Oct 09 01:59:42 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:48 2007 -0700"
      },
      "message": "[NET]: sparse warning fixes\n\nFix a bunch of sparse warnings. Mostly about 0 used as\nNULL pointer, and shadowed variable declarations.\nOne notable case was that hash size should have been unsigned.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b4219952356baa162368f2f5dab6421a5dbc5e15",
      "tree": "4d99027b3453853c79a32793c4ebda76c6386169",
      "parents": [
        "ce1234d299f3823ea07019c0f7b7b0bcb81ee7a0"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Sep 27 12:48:05 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:11 2007 -0700"
      },
      "message": "[PKT_SCHED]: Add stateless NAT\n\nStateless NAT is useful in controlled environments where restrictions are\nplaced on through traffic such that we don\u0027t need connection tracking to\ncorrectly NAT protocol-specific data.\n\nIn particular, this is of interest when the number of flows or the number\nof addresses being NATed is large, or if connection tracking information\nhas to be replicated and where it is not practical to do so.\n\nPreviously we had stateless NAT functionality which was integrated into\nthe IPv4 routing subsystem.  This was a great solution as long as the NAT\nworked on a subnet to subnet basis such that the number of NAT rules was\nrelatively small.  The reason is that for SNAT the routing based system\nhad to perform a linear scan through the rules.\n\nIf the number of rules is large then major renovations would have take\nplace in the routing subsystem to make this practical.\n\nFor the time being, the least intrusive way of achieving this is to use\nthe u32 classifier written by Alexey Kuznetsov along with the actions\ninfrastructure implemented by Jamal Hadi Salim.\n\nThe following patch is an attempt at this problem by creating a new nat\naction that can be invoked from u32 hash tables which would allow large\nnumber of stateless NAT rules that can be used/updated in constant time.\n\nThe actual NAT code is mostly based on the previous stateless NAT code\nwritten by Alexey.  In future we might be able to utilise the protocol\nNAT code from netfilter to improve support for other protocols.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b04ddde02cf1b6f14f2697da5c20eca5715017f",
      "tree": "9da1341a5a399a507b5ea6bf5a3047506b8d8f8f",
      "parents": [
        "b95cce3576813ac3f86bafa6b5daaaaf7574b0fe"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Oct 09 01:40:57 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:52 2007 -0700"
      },
      "message": "[NET]: Move hardware header operations out of netdevice.\n\nSince hardware header operations are part of the protocol class\nnot the device instance, make them into a separate object and\nsave memory.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c4e85813d0a94eeb8bf813397a4907bdd7bb610",
      "tree": "53ee948abc930bb1c5cd270c490f87fda5eb45b3",
      "parents": [
        "4c94f8c0c9a82fad84bc5df453aff755cfed70b7"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Oct 09 01:36:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:50 2007 -0700"
      },
      "message": "[NET]: Wrap netdevice hardware header creation.\n\nAdd inline for common usage of hardware header creation, and\nfix bug in IPV6 mcast where the assumption about negative return is\nan errno. Negative return from hard_header means not enough space\nwas available,(ie -N bytes).\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8236632fb3532188c75656421e29f5ab51b47db7",
      "tree": "e93f1c710c420fb643ddb424f0db974ac4e064f2",
      "parents": [
        "854d8363f37491c955b0edc60d37b62f3d71bb67"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "hadi@cyberus.ca",
        "time": "Tue Sep 25 19:27:13 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:15 2007 -0700"
      },
      "message": "[NET_SCHED]: explict hold dev tx lock\n\nFor N cpus, with full throttle traffic on all N CPUs, funneling traffic\nto the same ethernet device, the devices queue lock is contended by all\nN CPUs constantly. The TX lock is only contended by a max of 2 CPUS.\nIn the current mode of operation, after all the work of entering the\ndequeue region, we may endup aborting the path if we are unable to get\nthe tx lock and go back to contend for the queue lock. As N goes up,\nthis gets worse.\n\nThe changes in this patch result in a small increase in performance\nwith a 4CPU (2xdual-core) with no irq binding. Both e1000 and tg3\nshowed similar behavior;\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "10d024c1b2fd58af8362670d7d6e5ae52fc33353",
      "tree": "dbfb03c539986e2c1270385eb0083aaf0dfca8ab",
      "parents": [
        "596c5c97431eab8465739c169401ea611127b9ad"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Sep 17 13:11:17 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:13 2007 -0700"
      },
      "message": "[NET]: Nuke SET_MODULE_OWNER macro.\n\nIt\u0027s been a useless no-op for long enough in 2.6 so I figured it\u0027s time to\nremove it.  The number of people that could object because they\u0027re\nmaintaining unified 2.4 and 2.6 drivers is probably rather small.\n\n[ Handled drivers added by netdev tree and some missed IRDA cases... -DaveM ]\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e9bef55d3d062ee7a78fde2913ec87ca9305a1e0",
      "tree": "bb772650e7df49e94bd9c383b51f53bbb4e7bcab",
      "parents": [
        "b6fa1a4d746488a7de95ec16afcaf3247fedb003"
      ],
      "author": {
        "name": "Jesper Dangaard Brouer",
        "email": "hawk@comx.dk",
        "time": "Wed Sep 12 16:35:24 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:20 2007 -0700"
      },
      "message": "[NET_SCHED]: Cleanup L2T macros and handle oversized packets\n\nChange L2T (length to time) macros, in all rate based schedulers, to\ncall a common function qdisc_l2t() that does the rate table lookup.\nThis function handles if the packet size lookup is larger than the\nrate table, which often occurs with TSO enabled.\n\nSigned-off-by: Jesper Dangaard Brouer \u003chawk@comx.dk\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "881d966b48b035ab3f3aeaae0f3d3f9b584f45b2",
      "tree": "c579d59a4107cbbe9e2b85939bc0d496b815c887",
      "parents": [
        "b4b510290b056b86611757ce1175a230f1080f53"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Sep 17 11:56:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:10 2007 -0700"
      },
      "message": "[NET]: Make the device list and device lookups per namespace.\n\nThis patch makes most of the generic device layer network\nnamespace safe.  This patch makes dev_base_head a\nnetwork namespace variable, and then it picks up\na few associated variables.  The functions:\ndev_getbyhwaddr\ndev_getfirsthwbytype\ndev_get_by_flags\ndev_get_by_name\n__dev_get_by_name\ndev_get_by_index\n__dev_get_by_index\ndev_ioctl\ndev_ethtool\ndev_load\nwireless_process_ioctl\n\nwere modified to take a network namespace argument, and\ndeal with it.\n\nvlan_ioctl_set and brioctl_set were modified so their\nhooks will receive a network namespace argument.\n\nSo basically anthing in the core of the network stack that was\naffected to by the change of dev_base was modified to handle\nmultiple network namespaces.  The rest of the network stack was\nsimply modified to explicitly use \u0026init_net the initial network\nnamespace.  This can be fixed when those components of the network\nstack are modified to handle multiple network namespaces.\n\nFor now the ifindex generator is left global.\n\nFundametally ifindex numbers are per namespace, or else\nwe will have corner case problems with migration when\nwe get that far.\n\nAt the same time there are assumptions in the network stack\nthat the ifindex of a network device won\u0027t change.  Making\nthe ifindex number global seems a good compromise until\nthe network stack can cope with ifindex changes when\nyou change namespaces, and the like.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "457c4cbc5a3dde259d2a1f15d5f9785290397267",
      "tree": "a2ceee88780cbce27433b9a4434b3e9251efd81a",
      "parents": [
        "07feaebfcc10cd35e745c7073667935246494bee"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 12 12:01:34 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:06 2007 -0700"
      },
      "message": "[NET]: Make /proc/net per network namespace\n\nThis patch makes /proc/net per network namespace.  It modifies the global\nvariables proc_net and proc_net_stat to be per network namespace.\nThe proc_net file helpers are modified to take a network namespace argument,\nand all of their callers are fixed to pass \u0026init_net for that argument.\nThis ensures that all of the /proc/net files are only visible and\nusable in the initial network namespace until the code behind them\nhas been updated to be handle multiple network namespaces.\n\nMaking /proc/net per namespace is necessary as at least some files\nin /proc/net depend upon the set of network devices which is per\nnetwork namespace, and even more files in /proc/net have contents\nthat are relevant to a single network namespace.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bea3348eef27e6044b6161fd04c3152215f96411",
      "tree": "f0990b263e5ce42505d290a4c346fe990bcd4c33",
      "parents": [
        "dde4e47e8fe333a5649a3fa0e7db1fa7c08d6158"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Wed Oct 03 16:41:36 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:47:45 2007 -0700"
      },
      "message": "[NET]: Make NAPI polling independent of struct net_device objects.\n\nSeveral devices have multiple independant RX queues per net\ndevice, and some have a single interrupt doorbell for several\nqueues.\n\nIn either case, it\u0027s easier to support layouts like that if the\nstructure representing the poll is independant from the net\ndevice itself.\n\nThe signature of the -\u003epoll() call back goes from:\n\n\tint foo_poll(struct net_device *dev, int *budget)\n\nto\n\n\tint foo_poll(struct napi_struct *napi, int budget)\n\nThe caller is returned the number of RX packets processed (or\nthe number of \"NAPI credits\" consumed if you want to get\nabstract).  The callee no longer messes around bumping\ndev-\u003equota, *budget, etc. because that is all handled in the\ncaller upon return.\n\nThe napi_struct is to be embedded in the device driver private data\nstructures.\n\nFurthermore, it is the driver\u0027s responsibility to disable all NAPI\ninstances in it\u0027s -\u003estop() device close handler.  Since the\nnapi_struct is privatized into the driver\u0027s private data structures,\nonly the driver knows how to get at all of the napi_struct instances\nit may have per-device.\n\nWith lots of help and suggestions from Rusty Russell, Roland Dreier,\nMichael Chan, Jeff Garzik, and Jamal Hadi Salim.\n\nBug fixes from Thomas Graf, Roland Dreier, Peter Zijlstra,\nJoseph Fannin, Scott Wood, Hans J. Koch, and Michael Chan.\n\n[ Ported to current tree and all drivers converted.  Integrated\n  Stephen\u0027s follow-on kerneldoc additions, and restored poll_list\n  handling to the old style to fix mutual exclusion issues.  -DaveM ]\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bf1b803b01b00c3801e0aa373ba0305f8278e260",
      "tree": "9a4e2f4a33009c168b7d22ce8c9fc32a44a5b132",
      "parents": [
        "891e6a931255238dddd08a7b306871240961a27f"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Sun Oct 07 23:57:45 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 07 23:57:45 2007 -0700"
      },
      "message": "[PKT_SCHED] cls_u32: error code isn\u0027t been propogated properly\n    \nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "32740ddc1095e5e320bf961dda146bf97bc28adb",
      "tree": "613fccb815ed1c0a8e7712848a0ddea5d0d52b5e",
      "parents": [
        "3146b39c185f8a436d430132457e84fa1d8f8208"
      ],
      "author": {
        "name": "Alexey Kuznetsov",
        "email": "kaber@ms2.inr.ac.ru",
        "time": "Sun Sep 30 17:51:33 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 01 21:01:23 2007 -0700"
      },
      "message": "[SFQ]: Remove artificial limitation for queue limit.\n\nThis is followup to Patrick\u0027s patch. A little optimization to enqueue\nroutine allows to remove artificial limitation on queue length.\n\nPlus, testing showed that hash function used by SFQ is too bad or even worse.\nIt does not even sweep the whole range of hash values.\nSwitched to Jenkins\u0027 hash.\n\nSigned-off-by: Alexey Kuznetsov \u003ckaber@ms2.inr.ac.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5588b40d7c2bff75ee573ed42d1738c73ce24492",
      "tree": "ab075cd6d417054139ce9b0d90c4fff5aa59ab0a",
      "parents": [
        "1a03b81db96aeaac0276224f25c0701a1ba37318"
      ],
      "author": {
        "name": "Alexey Kuznetsov",
        "email": "kuznet@ms2.inr.ac.ru",
        "time": "Wed Sep 19 10:42:03 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 20 12:14:08 2007 -0700"
      },
      "message": "[PKT_SCHED]: Fix \u0027SFQ qdisc crashes with limit of 2 packets\u0027\n\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ddeee3ce7fbf0e800f2a26a76d6018b42b337cc2",
      "tree": "686d949a3ce1b80aa96bec276dc144cc33052f35",
      "parents": [
        "ce5d0b47f13f83dfb9fbb8ac91adad7120747aaf"
      ],
      "author": {
        "name": "Satyam Sharma",
        "email": "satyam@infradead.org",
        "time": "Sun Sep 16 14:54:05 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 16 14:54:05 2007 -0700"
      },
      "message": "[PKT_SCHED]: sch_cbq.c: Shut up uninitialized variable warning\n\nnet/sched/sch_cbq.c: In function \u0027cbq_enqueue\u0027:\nnet/sched/sch_cbq.c:383: warning: \u0027ret\u0027 may be used uninitialized in this function\n\nhas been verified to be a bogus case. So let\u0027s shut it up.\n\nSigned-off-by: Satyam Sharma \u003csatyam@infradead.org\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e1e992e52faa588667e1378a2573b4b8e3fa6670",
      "tree": "771f664db9e2d7119dfea92a117deeb89e7b55e5",
      "parents": [
        "4878809f711981a602cc562eb47994fc81ea0155"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "hadi@cyberus.ca",
        "time": "Wed Sep 12 16:32:59 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 14 16:43:05 2007 -0700"
      },
      "message": "[NET_SCHED] protect action config/dump from irqs\n\n(with no apologies to C Heston)\n\nOn Mon, 2007-10-09 at 21:00 +0800, Herbert Xu wrote:\nOn Sun, Sep 02, 2007 at 01:11:29PM +0000, Christian Kujau wrote:\n\u003e \u003e\n\u003e \u003e after upgrading to 2.6.23-rc5 (and applying davem\u0027s fix [0]), lockdep\n\u003e \u003e was quite noisy when I tried to shape my external (wireless) interface:\n\u003e \u003e\n\u003e \u003e [ 6400.534545] FahCore_78.exe/3552 just changed the state of lock:\n\u003e \u003e [ 6400.534713]  (\u0026dev-\u003eingress_lock){-+..}, at: [\u003cc038d595\u003e]\n\u003e \u003e netif_receive_skb+0x2d5/0x3c0\n\u003e \u003e [ 6400.534941] but this lock took another, soft-read-irq-unsafe lock in the\n\u003e \u003e past:\n\u003e \u003e [ 6400.535145]  (police_lock){-.--}\n\u003e\n\u003e This is a genuine dead-lock.  The police lock can be taken\n\u003e for reading with softirqs on.  If a second CPU tries to take\n\u003e the police lock for writing, while holding the ingress lock,\n\u003e then a softirq on the first CPU can dead-lock when it tries\n\u003e to get the ingress lock.\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dbaaa07a60edf71670b484a65e14400ab40c84f7",
      "tree": "2cc33dfd6509c6cac456ae0ccfe386333aaec70a",
      "parents": [
        "b4a488d1824a2cc3514f9ee1298d805bd5edc893"
      ],
      "author": {
        "name": "Lucas Nussbaum",
        "email": "lucas.nussbaum@imag.fr",
        "time": "Thu Aug 30 22:35:46 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 30 22:35:46 2007 -0700"
      },
      "message": "[NET_SCHED] sch_prio.c: remove duplicate call of tc_classify()\n\nWhen CONFIG_NET_CLS_ACT is enabled, tc_classify() is called twice in\nprio_classify(). This causes \"interesting\" behaviour: with the setup\nbelow, packets are duplicated, sent twice to ifb0, and then loop in and\nout of ifb0.\n\nThe patch uses the previously calculated return value in the switch,\nwhich is probably what Patrick had in mind in commit\nbdba91ec70fb5ccbdeb1c7068319adc6ea9e1a7d -- maybe Patrick can\ndouble-check this?\n\n-- example setup --\nifconfig ifb0 up\ntc qdisc add dev ifb0 root netem delay 2s\ntc qdisc add dev $ETH root handle 1: prio\ntc filter add dev $ETH parent 1: protocol ip prio 10 u32 \\\n match ip dst 172.24.110.6/32 flowid 1:1 \\\n action mirred egress redirect dev ifb0\nping -c1 172.24.110.6\n\nSigned-off-by: Lucas Nussbaum \u003clucas.nussbaum@imag.fr\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0a26f4cdc207db14a8e7192bac5a7c84d9e2390a",
      "tree": "70c90bec7cfe237ea8219382509872138e333f3b",
      "parents": [
        "703310e645c639a84e7f4b35d8a508acde9ef360"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Fri Aug 10 15:18:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 13 22:52:04 2007 -0700"
      },
      "message": "[PKT_SCHED]: Clean up duplicate includes in net/sched/\n\nThis patch cleans up duplicate includes in\n\tnet/sched/\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0773192b0f8914222cd27e682c49f978a6c7860a",
      "tree": "0703cbc095825c3839422347c91fa0de03d5e180",
      "parents": [
        "ffc8fefaf289fa485bc5c33e71572e6ce559d569"
      ],
      "author": {
        "name": "Peter P Waskiewicz Jr",
        "email": "peter.p.waskiewicz.jr@intel.com",
        "time": "Mon Jul 30 17:13:45 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 31 02:28:20 2007 -0700"
      },
      "message": "[NET]: Fix prio_tune() handling of root qdisc.\n\nFix the check in prio_tune() to see if sch-\u003eparent is TC_H_ROOT instead of\nsch-\u003ehandle to load or reject the qdisc for multiqueue devices.\n\nSigned-off-by: Peter P Waskiewicz Jr \u003cpeter.p.waskiewicz.jr@intel.com\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ffc8fefaf289fa485bc5c33e71572e6ce559d569",
      "tree": "d96daba747cb1da1d4b352a4572965d2788e2f0a",
      "parents": [
        "bdba91ec70fb5ccbdeb1c7068319adc6ea9e1a7d"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "trash@kaber.net",
        "time": "Mon Jul 30 17:11:50 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 31 02:28:19 2007 -0700"
      },
      "message": "[NET]: Fix sch_api to properly set sch-\u003eparent on the root.\n\nFix sch_api to correctly set sch-\u003eparent for both ingress and egress\nqdiscs in qdisc_create().\n\nSigned-off-by: Patrick McHardy \u003ctrash@kaber.net\u003e\nSigned-off-by: Peter P Waskiewicz Jr \u003cpeter.p.waskiewicz.jr@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bdba91ec70fb5ccbdeb1c7068319adc6ea9e1a7d",
      "tree": "a5897654a7a6ef6338ea15bab7d11b2315b4f19e",
      "parents": [
        "20283d84c7d922ca225b20db651d9a062716e8e3"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jul 30 17:07:14 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 31 02:28:18 2007 -0700"
      },
      "message": "[NET_SCHED]: Fix prio/ingress classification logic error\n\nFix handling of empty or completely non-matching filter chains. In\nthat case -1 is returned and tcf_result is uninitialized, the\nqdisc should fall back to default classification in that case.\n\nNoticed by PJ Waskiewicz \u003cpeter.p.waskiewicz.jr@intel.com\u003e.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "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"
    }
  ],
  "next": "d3fa76ee6b4a8dd0efda4e78e96f5b19533b3dea"
}
