)]}'
{
  "log": [
    {
      "commit": "d58367515f47371f7202d8b258ee0614a8955a6a",
      "tree": "7ca457e5c9518ea9b597cf5e6678e78ff1c41326",
      "parents": [
        "17d1587f553dbdc9a55fe253903437f7e3e3448e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Apr 19 18:17:15 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 01 10:37:18 2012 -0400"
      },
      "message": "sch_atm.c: get rid of poinless extern\n\nsockfd_lookup() is declared in linux/net.h, which is pulled by\nlinux/skbuff.h (and needed for a lot of other stuff in sch_atm.c\nanyway).\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "88d6ae8dc33af12fe1c7941b1fae2767374046fd",
      "tree": "8f17415c0722b0a4d7511ac170cfb4e3802e1ad2",
      "parents": [
        "f5c101892fbd3d2f6d2729bc7eb7b3f6c31dbddd",
        "0d4dde1ac9a5af74ac76c6ab90557d1ae7b8f5d8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 17:40:19 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 17:40:19 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup\n\nPull cgroup updates from Tejun Heo:\n \"cgroup file type addition / removal is updated so that file types are\n  added and removed instead of individual files so that dynamic file\n  type addition / removal can be implemented by cgroup and used by\n  controllers.  blkio controller changes which will come through block\n  tree are dependent on this.  Other changes include res_counter cleanup\n  and disallowing kthread / PF_THREAD_BOUND threads to be attached to\n  non-root cgroups.\n\n  There\u0027s a reported bug with the file type addition / removal handling\n  which can lead to oops on cgroup umount.  The issue is being looked\n  into.  It shouldn\u0027t cause problems for most setups and isn\u0027t a\n  security concern.\"\n\nFix up trivial conflict in Documentation/feature-removal-schedule.txt\n\n* \u0027for-3.5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: (21 commits)\n  res_counter: Account max_usage when calling res_counter_charge_nofail()\n  res_counter: Merge res_counter_charge and res_counter_charge_nofail\n  cgroups: disallow attaching kthreadd or PF_THREAD_BOUND threads\n  cgroup: remove cgroup_subsys-\u003epopulate()\n  cgroup: get rid of populate for memcg\n  cgroup: pass struct mem_cgroup instead of struct cgroup to socket memcg\n  cgroup: make css-\u003erefcnt clearing on cgroup removal optional\n  cgroup: use negative bias on css-\u003erefcnt to block css_tryget()\n  cgroup: implement cgroup_rm_cftypes()\n  cgroup: introduce struct cfent\n  cgroup: relocate __d_cgrp() and __d_cft()\n  cgroup: remove cgroup_add_file[s]()\n  cgroup: convert memcg controller to the new cftype interface\n  memcg: always create memsw files if CONFIG_CGROUP_MEM_RES_CTLR_SWAP\n  cgroup: convert all non-memcg controllers to the new cftype interface\n  cgroup: relocate cftype and cgroup_subsys definitions in controllers\n  cgroup: merge cft_release_agent cftype array into the base files array\n  cgroup: implement cgroup_add_cftypes() and friends\n  cgroup: build list of all cgroups under a given cgroupfs_root\n  cgroup: move cgroup_clear_directory() call out of cgroup_populate_dir()\n  ...\n"
    },
    {
      "commit": "1de5a71c3e6eae2fbf15e9a9e13a8fc269bb82bc",
      "tree": "b28a39f932993a61855be0ffbd8844a7bddb645c",
      "parents": [
        "048b899ce38c3e1db88cb4464547090ef28630f8"
      ],
      "author": {
        "name": "Eldad Zack",
        "email": "eldad@fogrefinery.com",
        "time": "Thu May 17 06:00:25 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 17 15:49:51 2012 -0400"
      },
      "message": "ipv6: correct the ipv6 option name - Pad0 to Pad1\n\nThe padding destination or hop-by-hop option is called Pad1 and not Pad0.\n\nSee RFC2460 (4.2) or the IANA ipv6-parameters registry:\nhttp://www.iana.org/assignments/ipv6-parameters/ipv6-parameters.xml\n\nSigned-off-by: Eldad Zack \u003celdad@fogrefinery.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "865ec5523dadbedefbc5710a68969f686a28d928",
      "tree": "b9f056cdea6922d5fc3ed035764660bb6fb152b3",
      "parents": [
        "c27b46e7f1cbf3be95a4cf5840c76a7b7d54b26f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Wed May 16 04:39:09 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 16 15:30:26 2012 -0400"
      },
      "message": "fq_codel: should use qdisc backlog as threshold\n\ncodel_should_drop() logic allows a packet being not dropped if queue\nsize is under max packet size.\n\nIn fq_codel, we have two possible backlogs : The qdisc global one, and\nthe flow local one.\n\nThe meaningful one for codel_should_drop() should be the global backlog,\nnot the per flow one, so that thin flows can have a non zero drop/mark\nprobability.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Dave Taht \u003cdave.taht@bufferbloat.net\u003e\nCc: Kathleen Nichols \u003cnichols@pollere.com\u003e\nCc: Van Jacobson \u003cvan@pollere.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e87cc4728f0e2fb663e592a1141742b1d6c63256",
      "tree": "b8219696d37f0c8d0521d5853560b97fc96dc667",
      "parents": [
        "3a3bfb61e64476ff1e4ac3122cb6dec9c79b795c"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun May 13 21:56:26 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 15 13:45:03 2012 -0400"
      },
      "message": "net: Convert net_ratelimit uses to net_\u003clevel\u003e_ratelimited\n\nStandardize the net core ratelimited logging functions.\n\nCoalesce formats, align arguments.\nChange a printk then vprintk sequence to use printf extension %pV.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "669d67bf777def468970f2dcba1537edf3b2d329",
      "tree": "468a34d094f0bdf875440dc07ada461aa04d27f1",
      "parents": [
        "ce5b4b977127ee20c3f9c3fd3637cd3796f649f5"
      ],
      "author": {
        "name": "Sasha Levin",
        "email": "levinsasha928@gmail.com",
        "time": "Mon May 14 11:57:06 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 14 17:57:58 2012 -0400"
      },
      "message": "net: codel: fix build errors\n\nFix the following build error:\n\nnet/sched/sch_fq_codel.c: In function \u0027fq_codel_dump_stats\u0027:\nnet/sched/sch_fq_codel.c:464:3: error: unknown field \u0027qdisc_stats\u0027 specified in initializer\nnet/sched/sch_fq_codel.c:464:3: warning: missing braces around initializer\nnet/sched/sch_fq_codel.c:464:3: warning: (near initialization for \u0027st.\u003canonymous\u003e\u0027)\nnet/sched/sch_fq_codel.c:465:3: error: unknown field \u0027qdisc_stats\u0027 specified in initializer\nnet/sched/sch_fq_codel.c:465:3: warning: excess elements in struct initializer\nnet/sched/sch_fq_codel.c:465:3: warning: (near initialization for \u0027st\u0027)\nnet/sched/sch_fq_codel.c:466:3: error: unknown field \u0027qdisc_stats\u0027 specified in initializer\nnet/sched/sch_fq_codel.c:466:3: warning: excess elements in struct initializer\nnet/sched/sch_fq_codel.c:466:3: warning: (near initialization for \u0027st\u0027)\nnet/sched/sch_fq_codel.c:467:3: error: unknown field \u0027qdisc_stats\u0027 specified in initializer\nnet/sched/sch_fq_codel.c:467:3: warning: excess elements in struct initializer\nnet/sched/sch_fq_codel.c:467:3: warning: (near initialization for \u0027st\u0027)\nmake[1]: *** [net/sched/sch_fq_codel.o] Error 1\n\nSigned-off-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ce5b4b977127ee20c3f9c3fd3637cd3796f649f5",
      "tree": "6ca5c56ba4e2044d99237d98530de894e55b4cb1",
      "parents": [
        "e550ba1af9e7008ca8e22d85943cbdf0748c765c"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Mon May 14 09:47:05 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 14 17:57:58 2012 -0400"
      },
      "message": "net/codel: Add missing #include \u003clinux/prefetch.h\u003e\n\nm68k allmodconfig:\n\nnet/sched/sch_codel.c: In function ‘dequeue’:\nnet/sched/sch_codel.c:70: error: implicit declaration of function ‘prefetch’\nmake[1]: *** [net/sched/sch_codel.o] Error 1\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nAcked-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4b549a2ef4bef9965d97cbd992ba67930cd3e0fe",
      "tree": "2b30a5af713817396ca0c259cddbb2e0972a03e7",
      "parents": [
        "536edd67109df5e0cdb2c4ee759e9bade7976367"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Fri May 11 09:30:50 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 12 15:53:42 2012 -0400"
      },
      "message": "fq_codel: Fair Queue Codel AQM\n\nFair Queue Codel packet scheduler\n\nPrinciples :\n\n- Packets are classified (internal classifier or external) on flows.\n- This is a Stochastic model (as we use a hash, several flows might\n                              be hashed on same slot)\n- Each flow has a CoDel managed queue.\n- Flows are linked onto two (Round Robin) lists,\n  so that new flows have priority on old ones.\n\n- For a given flow, packets are not reordered (CoDel uses a FIFO)\n- head drops only.\n- ECN capability is on by default.\n- Very low memory footprint (64 bytes per flow)\n\ntc qdisc ... fq_codel [ limit PACKETS ] [ flows number ]\n                      [ target TIME ] [ interval TIME ] [ noecn ]\n                      [ quantum BYTES ]\n\ndefaults : 1024 flows, 10240 packets limit, quantum : device MTU\n           target : 5ms (CoDel default)\n           interval : 100ms (CoDel default)\n\nImpressive results on load :\n\nclass htb 1:1 root leaf 10: prio 0 quantum 1514 rate 200000Kbit ceil 200000Kbit burst 1475b/8 mpu 0b overhead 0b cburst 1475b/8 mpu 0b overhead 0b level 0\n Sent 43304920109 bytes 33063109 pkt (dropped 0, overlimits 0 requeues 0)\n rate 201691Kbit 28595pps backlog 0b 312p requeues 0\n lended: 33063109 borrowed: 0 giants: 0\n tokens: -912 ctokens: -912\n\nclass fq_codel 10:1735 parent 10:\n (dropped 1292, overlimits 0 requeues 0)\n backlog 15140b 10p requeues 0\n  deficit 1514 count 1 lastcount 1 ldelay 7.1ms\nclass fq_codel 10:4524 parent 10:\n (dropped 1291, overlimits 0 requeues 0)\n backlog 16654b 11p requeues 0\n  deficit 1514 count 1 lastcount 1 ldelay 7.1ms\nclass fq_codel 10:4e74 parent 10:\n (dropped 1290, overlimits 0 requeues 0)\n backlog 6056b 4p requeues 0\n  deficit 1514 count 1 lastcount 1 ldelay 6.4ms dropping drop_next 92.0ms\nclass fq_codel 10:628a parent 10:\n (dropped 1289, overlimits 0 requeues 0)\n backlog 7570b 5p requeues 0\n  deficit 1514 count 1 lastcount 1 ldelay 5.4ms dropping drop_next 90.9ms\nclass fq_codel 10:a4b3 parent 10:\n (dropped 302, overlimits 0 requeues 0)\n backlog 16654b 11p requeues 0\n  deficit 1514 count 1 lastcount 1 ldelay 7.1ms\nclass fq_codel 10:c3c2 parent 10:\n (dropped 1284, overlimits 0 requeues 0)\n backlog 13626b 9p requeues 0\n  deficit 1514 count 1 lastcount 1 ldelay 5.9ms\nclass fq_codel 10:d331 parent 10:\n (dropped 299, overlimits 0 requeues 0)\n backlog 15140b 10p requeues 0\n  deficit 1514 count 1 lastcount 1 ldelay 7.0ms\nclass fq_codel 10:d526 parent 10:\n (dropped 12160, overlimits 0 requeues 0)\n backlog 35870b 211p requeues 0\n  deficit 1508 count 12160 lastcount 1 ldelay 15.3ms dropping drop_next 247us\nclass fq_codel 10:e2c6 parent 10:\n (dropped 1288, overlimits 0 requeues 0)\n backlog 15140b 10p requeues 0\n  deficit 1514 count 1 lastcount 1 ldelay 7.1ms\nclass fq_codel 10:eab5 parent 10:\n (dropped 1285, overlimits 0 requeues 0)\n backlog 16654b 11p requeues 0\n  deficit 1514 count 1 lastcount 1 ldelay 5.9ms\nclass fq_codel 10:f220 parent 10:\n (dropped 1289, overlimits 0 requeues 0)\n backlog 15140b 10p requeues 0\n  deficit 1514 count 1 lastcount 1 ldelay 7.1ms\n\nqdisc htb 1: root refcnt 6 r2q 10 default 1 direct_packets_stat 0 ver 3.17\n Sent 43331086547 bytes 33092812 pkt (dropped 0, overlimits 66063544 requeues 71)\n rate 201697Kbit 28602pps backlog 0b 260p requeues 71\nqdisc fq_codel 10: parent 1:1 limit 10240p flows 65536 target 5.0ms interval 100.0ms ecn\n Sent 43331086547 bytes 33092812 pkt (dropped 949359, overlimits 0 requeues 0)\n rate 201697Kbit 28602pps backlog 189352b 260p requeues 0\n  maxpacket 1514 drop_overlimit 0 new_flow_count 5582 ecn_mark 125593\n  new_flows_len 0 old_flows_len 11\n\nPING 172.30.42.18 (172.30.42.18) 56(84) bytes of data.\n64 bytes from 172.30.42.18: icmp_req\u003d1 ttl\u003d64 time\u003d0.227 ms\n64 bytes from 172.30.42.18: icmp_req\u003d2 ttl\u003d64 time\u003d0.165 ms\n64 bytes from 172.30.42.18: icmp_req\u003d3 ttl\u003d64 time\u003d0.166 ms\n64 bytes from 172.30.42.18: icmp_req\u003d4 ttl\u003d64 time\u003d0.151 ms\n64 bytes from 172.30.42.18: icmp_req\u003d5 ttl\u003d64 time\u003d0.164 ms\n64 bytes from 172.30.42.18: icmp_req\u003d6 ttl\u003d64 time\u003d0.172 ms\n64 bytes from 172.30.42.18: icmp_req\u003d7 ttl\u003d64 time\u003d0.175 ms\n64 bytes from 172.30.42.18: icmp_req\u003d8 ttl\u003d64 time\u003d0.183 ms\n64 bytes from 172.30.42.18: icmp_req\u003d9 ttl\u003d64 time\u003d0.158 ms\n64 bytes from 172.30.42.18: icmp_req\u003d10 ttl\u003d64 time\u003d0.200 ms\n\n10 packets transmitted, 10 received, 0% packet loss, time 8999ms\nrtt min/avg/max/mdev \u003d 0.151/0.176/0.227/0.022 ms\n\nMuch better than SFQ because of priority given to new flows, and fast\npath dirtying less cache lines.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "76e3cc126bb223013a6b9a0e2a51238d1ef2e409",
      "tree": "37d1c2a3c4f4ebf68e9849262c7d75115652313f",
      "parents": [
        "2dd875ff31ac7ff42d6fc7d7f78ac6c0635439f5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Thu May 10 07:51:25 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 10 23:35:02 2012 -0400"
      },
      "message": "codel: Controlled Delay AQM\n\nAn implementation of CoDel AQM, from Kathleen Nichols and Van Jacobson.\n\nhttp://queue.acm.org/detail.cfm?id\u003d2209336\n\nThis AQM main input is no longer queue size in bytes or packets, but the\ndelay packets stay in (FIFO) queue.\n\nAs we don\u0027t have infinite memory, we still can drop packets in enqueue()\nin case of massive load, but mean of CoDel is to drop packets in\ndequeue(), using a control law based on two simple parameters :\n\ntarget : target sojourn time (default 5ms)\ninterval : width of moving time window (default 100ms)\n\nBased on initial work from Dave Taht.\n\nRefactored to help future codel inclusion as a plugin for other linux\nqdisc (FQ_CODEL, ...), like RED.\n\ninclude/net/codel.h contains codel algorithm as close as possible than\nKathleen reference.\n\nnet/sched/sch_codel.c contains the linux qdisc specific glue.\n\nSeparate structures permit a memory efficient implementation of fq_codel\n(to be sent as a separate work) : Each flow has its own struct\ncodel_vars.\n\ntimestamps are taken at enqueue() time with 1024 ns precision, allowing\na range of 2199 seconds in queue, and 100Gb links support. iproute2 uses\nusec as base unit.\n\nSelected packets are dropped, unless ECN is enabled and packets can get\nECN mark instead.\n\nTested from 2Mb to 10Gb speeds with no particular problems, on ixgbe and\ntg3 drivers (BQL enabled).\n\nUsage: tc qdisc ... codel [ limit PACKETS ] [ target TIME ]\n                          [ interval TIME ] [ ecn ]\n\nqdisc codel 10: parent 1:1 limit 2000p target 3.0ms interval 60.0ms ecn\n Sent 13347099587 bytes 8815805 pkt (dropped 0, overlimits 0 requeues 0)\n rate 202365Kbit 16708pps backlog 113550b 75p requeues 0\n  count 116 lastcount 98 ldelay 4.3ms dropping drop_next 816us\n  maxpacket 1514 ecn_mark 84399 drop_overlimit 0\n\nCoDel must be seen as a base module, and should be used keeping in mind\nthere is still a FIFO queue. So a typical setup will probably need a\nhierarchy of several qdiscs and packet classifiers to be able to meet\nwhatever constraints a user might have.\n\nOne possible example would be to use fq_codel, which combines Fair\nQueueing and CoDel, in replacement of sfq / sfq_red.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: Dave Taht \u003cdave.taht@bufferbloat.net\u003e\nCc: Kathleen Nichols \u003cnichols@pollere.com\u003e\nCc: Van Jacobson \u003cvan@pollere.net\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nCc: Matt Mathis \u003cmattmathis@google.com\u003e\nCc: Yuchung Cheng \u003cycheng@google.com\u003e\nCc: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2dd875ff31ac7ff42d6fc7d7f78ac6c0635439f5",
      "tree": "c75209ccd8374f9695d4ec854d5b4bfb80c5e0dc",
      "parents": [
        "a6700db17980972199e61c06be535a79e1b0b4e6"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Thu May 10 05:36:34 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 10 23:33:01 2012 -0400"
      },
      "message": "net_sched: update bstats in dequeue()\n\nClass bytes/packets stats can be misleading because they are updated in\nenqueue() while packet might be dropped later.\n\nWe already fixed all qdiscs but sch_atm.\n\nThis patch makes the final cleanup.\n\nclass rate estimators can now match qdisc ones.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0d6c4a2e4641bbc556dd74d3aa158c413a972492",
      "tree": "da944af17682659bb433dc2282dcb48380c14cd1",
      "parents": [
        "6e06c0e2347ec79d0bd5702b2438fe883f784545",
        "1c430a727fa512500a422ffe4712166c550ea06a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 07 23:35:40 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 07 23:35:40 2012 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tdrivers/net/ethernet/intel/e1000e/param.c\n\tdrivers/net/wireless/iwlwifi/iwl-agn-rx.c\n\tdrivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c\n\tdrivers/net/wireless/iwlwifi/iwl-trans.h\n\nResolved the iwlwifi conflict with mainline using 3-way diff posted\nby John Linville and Stephen Rothwell.  In \u0027net\u0027 we added a bug\nfix to make iwlwifi report a more accurate skb-\u003etruesize but this\nconflicted with RX path changes that happened meanwhile in net-next.\n\nIn e1000e a conflict arose in the validation code for settings of\nadapter-\u003eitr.  \u0027net-next\u0027 had more sophisticated logic so that\nlogic was used.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "17045755193a93fbd2d97db9aad5e726fc8c2a6d",
      "tree": "c12afe250c532626d752f4d894f9537e9d292d0c",
      "parents": [
        "041441d0f0d885619d48f8f7682825ace523cf59"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Fri May 04 04:37:21 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 04 11:50:05 2012 -0400"
      },
      "message": "net: sched: factorize code (qdisc_drop())\n\nUse qdisc_drop() helper where possible.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "116a0fc31c6c9b8fc821be5a96e5bf0b43260131",
      "tree": "f4b8561387b34fd4eec9b8a2d599937b2375d741",
      "parents": [
        "e072b3fad5f3915102c94628b4971f52ff99dd05"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Sun Apr 29 09:08:22 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 01 13:40:48 2012 -0400"
      },
      "message": "netem: fix possible skb leak\n\nskb_checksum_help(skb) can return an error, we must free skb in this\ncase. qdisc_drop(skb, sch) can also be feeded with a NULL skb (if\nskb_unshare() failed), so lets use this generic helper.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e4ae004b84b315dd4b762e474f97403eac70f76a",
      "tree": "c1f514987070e02c4792a84d0d5417dfa288a8cb",
      "parents": [
        "18d0700024d68a075c507b845d85eda2abb5aee7"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Mon Apr 30 23:11:05 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 01 09:39:48 2012 -0400"
      },
      "message": "netem: add ECN capability\n\nAdd ECN (Explicit Congestion Notification) marking capability to netem\n\ntc qdisc add dev eth0 root netem drop 0.5 ecn\n\nInstead of dropping packets, try to ECN mark them.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Neal Cardwell \u003cncardwell@google.com\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nCc: Hagen Paul Pfeifer \u003chagen@jauu.net\u003e\nCc: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Hagen Paul Pfeifer \u003chagen@jauu.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f24001941c99776f41bd3f09c07d91205c2ad9d4",
      "tree": "0ab31480ccdf343b61db045e195d096068ef7c73",
      "parents": [
        "a108d5f35adc5c5d5cdc882dc0bb920565551bff",
        "4d634ca35a8b38530b134ae92bc9e3cc9c23c030"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 23 23:14:36 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 23 23:15:17 2012 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nFix merge between commit 3adadc08cc1e (\"net ax25: Reorder ax25_exit to\nremove races\") and commit 0ca7a4c87d27 (\"net ax25: Simplify and\ncleanup the ax25 sysctl handling\")\n\nThe former moved around the sysctl register/unregister calls, the\nlater simply removed them.\n\nWith help from Stephen Rothwell.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "244b65dbfede788f2fa3fe2463c44d0809e97c6b",
      "tree": "10d2c717d7a5e547b4451b61e35b162c0457b8b9",
      "parents": [
        "a49bcabedc18319f673319d5e71b5751e3978179"
      ],
      "author": {
        "name": "David Ward",
        "email": "david.ward@ll.mit.edu",
        "time": "Sun Apr 15 12:31:45 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 16 23:51:07 2012 -0400"
      },
      "message": "net_sched: gred: Fix oops in gred_dump() in WRED mode\n\nA parameter set exists for WRED mode, called wred_set, to hold the same\nvalues for qavg and qidlestart across all VQs. The WRED mode values had\nbeen previously held in the VQ for the default DP. After these values\nwere moved to wred_set, the VQ for the default DP was no longer created\nautomatically (so that it could be omitted on purpose, to have packets\nin the default DP enqueued directly to the device without using RED).\n\nHowever, gred_dump() was overlooked during that change; in WRED mode it\nstill reads qavg/qidlestart from the VQ for the default DP, which might\nnot even exist. As a result, this command sequence will cause an oops:\n\ntc qdisc add dev $DEV handle $HANDLE parent $PARENT gred setup \\\n    DPs 3 default 2 grio\ntc qdisc change dev $DEV handle $HANDLE gred DP 0 prio 8 $RED_OPTIONS\ntc qdisc change dev $DEV handle $HANDLE gred DP 1 prio 8 $RED_OPTIONS\n\nThis fixes gred_dump() in WRED mode to use the values held in wred_set.\n\nSigned-off-by: David Ward \u003cdavid.ward@ll.mit.edu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1b34ec43c9b3de44a5420841ab293d1b2035a94c",
      "tree": "8d6cf966c813e0e61001655179b5ef8e5f1b54b3",
      "parents": [
        "9360ffd1859720f6520cf59241909b74dae369d0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 29 05:11:39 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 01 18:11:37 2012 -0400"
      },
      "message": "pkt_sched: Stop using NLA_PUT*().\n\nThese macros contain a hidden goto, and are thus extremely error\nprone and make code hard to audit.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4baf6e33251b37f111e21289f8ee71fe4cce236e",
      "tree": "7decc386a60679fd2696041810cf331c0daf1f41",
      "parents": [
        "676f7c8f84d15e94065841529016da5ab92e901b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Apr 01 12:09:55 2012 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Apr 01 12:09:55 2012 -0700"
      },
      "message": "cgroup: convert all non-memcg controllers to the new cftype interface\n\nConvert debug, freezer, cpuset, cpu_cgroup, cpuacct, net_prio, blkio,\nnet_cls and device controllers to use the new cftype based interface.\nTermination entry is added to cftype arrays and populate callbacks are\nreplaced with cgroup_subsys-\u003ebase_cftypes initializations.\n\nThis is functionally identical transformation.  There shouldn\u0027t be any\nvisible behavior change.\n\nmemcg is rather special and will be converted separately.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cpaul@paulmenage.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Vivek Goyal \u003cvgoyal@redhat.com\u003e\n"
    },
    {
      "commit": "676f7c8f84d15e94065841529016da5ab92e901b",
      "tree": "29c267a4c5711f9eaca7fa88fd7a78d39c8c4eac",
      "parents": [
        "6e6ff25bd548a0c5bf5163e4f63e2793dcefbdcb"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Apr 01 12:09:55 2012 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Apr 01 12:09:55 2012 -0700"
      },
      "message": "cgroup: relocate cftype and cgroup_subsys definitions in controllers\n\nblk-cgroup, netprio_cgroup, cls_cgroup and tcp_memcontrol\nunnecessarily define cftype array and cgroup_subsys structures at the\ntop of the file, which is unconventional and necessiates forward\ndeclaration of methods.\n\nThis patch relocates those below the definitions of the methods and\nremoves the forward declarations.  Note that forward declaration of\ntcp_files[] is added in tcp_memcontrol.c for tcp_init_cgroup().  This\nwill be removed soon by another patch.\n\nThis patch doesn\u0027t introduce any functional change.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "3b59bf081622b6446db77ad06c93fe23677bc533",
      "tree": "3f4bb5a27c90cc86994a1f6d3c53fbf9208003cb",
      "parents": [
        "e45836fafe157df137a837093037f741ad8f4c90",
        "bbdb32cb5b73597386913d052165423b9d736145"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 21:04:47 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 21:04:47 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next\n\nPull networking merge from David Miller:\n \"1) Move ixgbe driver over to purely page based buffering on receive.\n     From Alexander Duyck.\n\n  2) Add receive packet steering support to e1000e, from Bruce Allan.\n\n  3) Convert TCP MD5 support over to RCU, from Eric Dumazet.\n\n  4) Reduce cpu usage in handling out-of-order TCP packets on modern\n     systems, also from Eric Dumazet.\n\n  5) Support the IP{,V6}_UNICAST_IF socket options, making the wine\n     folks happy, from Erich Hoover.\n\n  6) Support VLAN trunking from guests in hyperv driver, from Haiyang\n     Zhang.\n\n  7) Support byte-queue-limtis in r8169, from Igor Maravic.\n\n  8) Outline code intended for IP_RECVTOS in IP_PKTOPTIONS existed but\n     was never properly implemented, Jiri Benc fixed that.\n\n  9) 64-bit statistics support in r8169 and 8139too, from Junchang Wang.\n\n  10) Support kernel side dump filtering by ctmark in netfilter\n      ctnetlink, from Pablo Neira Ayuso.\n\n  11) Support byte-queue-limits in gianfar driver, from Paul Gortmaker.\n\n  12) Add new peek socket options to assist with socket migration, from\n      Pavel Emelyanov.\n\n  13) Add sch_plug packet scheduler whose queue is controlled by\n      userland daemons using explicit freeze and release commands.  From\n      Shriram Rajagopalan.\n\n  14) Fix FCOE checksum offload handling on transmit, from Yi Zou.\"\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1846 commits)\n  Fix pppol2tp getsockname()\n  Remove printk from rds_sendmsg\n  ipv6: fix incorrent ipv6 ipsec packet fragment\n  cpsw: Hook up default ndo_change_mtu.\n  net: qmi_wwan: fix build error due to cdc-wdm dependecy\n  netdev: driver: ethernet: Add TI CPSW driver\n  netdev: driver: ethernet: add cpsw address lookup engine support\n  phy: add am79c874 PHY support\n  mlx4_core: fix race on comm channel\n  bonding: send igmp report for its master\n  fs_enet: Add MPC5125 FEC support and PHY interface selection\n  net: bpf_jit: fix BPF_S_LDX_B_MSH compilation\n  net: update the usage of CHECKSUM_UNNECESSARY\n  fcoe: use CHECKSUM_UNNECESSARY instead of CHECKSUM_PARTIAL on tx\n  net: do not do gso for CHECKSUM_UNNECESSARY in netif_needs_gso\n  ixgbe: Fix issues with SR-IOV loopback when flow control is disabled\n  net/hyperv: Fix the code handling tx busy\n  ixgbe: fix namespace issues when FCoE/DCB is not enabled\n  rtlwifi: Remove unused ETH_ADDR_LEN defines\n  igbvf: Use ETH_ALEN\n  ...\n\nFix up fairly trivial conflicts in drivers/isdn/gigaset/interface.c and\ndrivers/net/usb/{Kconfig,qmi_wwan.c} as per David.\n"
    },
    {
      "commit": "0d9cabdccedb79ee5f27b77ff51f29a9e7d23275",
      "tree": "8bfb64c3672d058eb90aec3c3a9c4f61cef9097c",
      "parents": [
        "701085b219016d38f105b031381b9cee6200253a",
        "3ce3230a0cff484e5130153f244d4fb8a56b3a8b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 18:11:21 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 18:11:21 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup\n\nPull cgroup changes from Tejun Heo:\n \"Out of the 8 commits, one fixes a long-standing locking issue around\n  tasklist walking and others are cleanups.\"\n\n* \u0027for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:\n  cgroup: Walk task list under tasklist_lock in cgroup_enable_task_cg_list\n  cgroup: Remove wrong comment on cgroup_enable_task_cg_list()\n  cgroup: remove cgroup_subsys argument from callbacks\n  cgroup: remove extra calls to find_existing_css_set\n  cgroup: replace tasklist_lock with rcu_read_lock\n  cgroup: simplify double-check locking in cgroup_attach_proc\n  cgroup: move struct cgroup_pidlist out from the header file\n  cgroup: remove cgroup_attach_task_current_cg()\n"
    },
    {
      "commit": "4da0bd736552e6377b407b3c3d3ae518ebbdd269",
      "tree": "f0da9f843b8033565c3ca4103fccb17a60688326",
      "parents": [
        "81a430ac1b88b0702c57d2513e247317e810e04d",
        "c16fa4f2ad19908a47c63d8fa436a1178438c7e7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 18 23:29:41 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 18 23:29:41 2012 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "cc34eb672eedb5ff248ac3bf9971a76f141fd141",
      "tree": "c3bb99022ba73eb31440f5774e4c9e635be6721d",
      "parents": [
        "122bdf67f15a22bcabf6c2cab3a545d17ccf68dc"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Mar 13 18:04:25 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 16 01:55:25 2012 -0700"
      },
      "message": "sch_sfq: revert dont put new flow at the end of flows\n\nThis reverts commit d47a0ac7b6 (sch_sfq: dont put new flow at the end of\nflows)\n\nAs Jesper found out, patch sounded great but has bad side effects.\n\nIn stress situation, pushing new flows in front of the queue can prevent\nold flows doing any progress. Packets can stay in SFQ queue for\nunlimited amount of time.\n\nIt\u0027s possible to add heuristics to limit this problem, but this would\nadd complexity outside of SFQ scope.\n\nA more sensible answer to Dave Taht concerns (who reported the issued I\ntried to solve in original commit) is probably to use a qdisc hierarchy\nso that high prio packets dont enter a potentially crowded SFQ qdisc.\n\nReported-by: Jesper Dangaard Brouer \u003cjdb@comx.dk\u003e\nCc: Dave Taht \u003cdave.taht@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ff4783ce78c08d2990126ce1874250ae8e72bbd2",
      "tree": "5c95885a4ab768101dd72942b57c238d452a7565",
      "parents": [
        "622121719934f60378279eb440d3cec2fc3176d2",
        "203738e548cefc3fc3c2f73a9063176c9f3583d5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 26 21:55:51 2012 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 26 21:55:51 2012 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tdrivers/net/ethernet/sfc/rx.c\n\nOverlapping changes in drivers/net/ethernet/sfc/rx.c, one to change\nthe rx_buf-\u003eis_page boolean into a set of u16 flags, and another to\nadjust how -\u003eip_summed is initialized.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cd961c2ca98efbe7d738ca8720673fc03538b2b1",
      "tree": "f53abc9d2ac6bdd0659c46e30ac44e2cbdf74f01",
      "parents": [
        "b01543dfe67bb1d191998e90d20534dc354de059"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Feb 15 20:28:25 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 19 18:57:50 2012 -0500"
      },
      "message": "netem: fix dequeue\n\ncommit 50612537e9 (netem: fix classful handling) added two errors in\nnetem_dequeue()\n\n1) After checking skb at the head of tfifo queue for time constraints,\n   it dequeues tail skb, thus adding unwanted reordering.\n\n2) qdisc stats are updated twice per packet\n   (one when packet dequeued from tfifo, once when delivered)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2132cf64371a20f5c427da42f9f9e7e99bc5fb88",
      "tree": "69cf90a2e20290e9d6b1536c4cf5353cda23e887",
      "parents": [
        "19c6c8f58b5840fd4757233b4849f42687d2ef3a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Feb 13 05:40:45 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 13 16:04:40 2012 -0500"
      },
      "message": "net_sched: sch_plug: plug_qdisc_ops is static\n\nnet/sched/sch_plug.c:211:18: warning: symbol \u0027plug_qdisc_ops\u0027 was not\ndeclared. Should it be static?\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "16bda13d90c8d5da243e2cfa1677e62ecce26860",
      "tree": "d10c9e0f9b043170c5bba4599ab1dc006d2a76eb",
      "parents": [
        "9cc00b51a3cbb3b933065a55eaa9bfc306411b7a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 06 15:14:37 2012 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 09 13:50:34 2012 -0500"
      },
      "message": "net: Make qdisc_skb_cb upper size bound explicit.\n\nJust like skb-\u003ecb[], so that qdisc_skb_cb can be encapsulated inside\nof other data structures.\n\nThis is intended to be used by IPoIB so that it can remember\naddressing information stored at hard_header_ops-\u003ecreate() time that\nit can fetch when the packet gets to the transmit routine.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c3059be16c9ef29c05f0876a9df5fea21f29724f",
      "tree": "18e5635982b69c7d8369e441d3233c437d2262df",
      "parents": [
        "17b8a74f00474fb4fe6154aa426a80bcf1220997"
      ],
      "author": {
        "name": "Shriram Rajagopalan",
        "email": "rshriram@cs.ubc.ca",
        "time": "Sun Feb 05 13:51:32 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 07 12:54:56 2012 -0500"
      },
      "message": "net/sched: sch_plug - Queue traffic until an explicit release command\n\nThe qdisc supports two operations - plug and unplug. When the\nqdisc receives a plug command via netlink request, packets arriving\nhenceforth are buffered until a corresponding unplug command is received.\nDepending on the type of unplug command, the queue can be unplugged\nindefinitely or selectively.\n\nThis qdisc can be used to implement output buffering, an essential\nfunctionality required for consistent recovery in checkpoint based\nfault-tolerance systems. Output buffering enables speculative execution\nby allowing generated network traffic to be rolled back. It is used to\nprovide network protection for Xen Guests in the Remus high availability\nproject, available as part of Xen.\n\nThis module is generic enough to be used by any other system that wishes\nto add speculative execution and output buffering to its applications.\n\nThis module was originally available in the linux 2.6.32 PV-OPS tree,\nused as dom0 for Xen.\n\nFor more information, please refer to http://nss.cs.ubc.ca/remus/\nand http://wiki.xensource.com/xenwiki/Remus\n\nChanges in V3:\n  * Removed debug output (printk) on queue overflow\n  * Added TCQ_PLUG_RELEASE_INDEFINITE - that allows the user to\n    use this qdisc, for simple plug/unplug operations.\n  * Use of packet counts instead of pointers to keep track of\n    the buffers in the queue.\n\nSigned-off-by: Shriram Rajagopalan \u003crshriram@cs.ubc.ca\u003e\nSigned-off-by: Brendan Cully \u003cbrendan@cs.ubc.ca\u003e\n[author of the code in the linux 2.6.32 pvops tree]\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a0417fa3a18a14be1f4d9cffcf378a7c42d92a91",
      "tree": "4606685ea5ab5ebe33ad4335dc004c66ea31bdc2",
      "parents": [
        "c056b734e54e12f38f34a2583a4824e6cecc16c1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 06 15:14:37 2012 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 06 15:14:37 2012 -0500"
      },
      "message": "net: Make qdisc_skb_cb upper size bound explicit.\n\nJust like skb-\u003ecb[], so that qdisc_skb_cb can be encapsulated inside\nof other data structures.\n\nThis is intended to be used by IPoIB so that it can remember\naddressing information stored at hard_header_ops-\u003ecreate() time that\nit can fetch when the packet gets to the transmit routine.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "761b3ef50e1c2649cffbfa67a4dcb2dcdb7982ed",
      "tree": "67ab6a9a2520811c9c0b4d70d1c19b4bfca16237",
      "parents": [
        "61d1d219c4c0761059236a46867bc49943c4d29d"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Jan 31 13:47:36 2012 +0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Feb 02 09:20:22 2012 -0800"
      },
      "message": "cgroup: remove cgroup_subsys argument from callbacks\n\nThe argument is not used at all, and it\u0027s not necessary, because\na specific callback handler of course knows which subsys it\nbelongs to.\n\nNow only -\u003epupulate() takes this argument, because the handlers of\nthis callback always call cgroup_add_file()/cgroup_add_files().\n\nSo we reduce a few lines of code, though the shrinking of object size\nis minimal.\n\n 16 files changed, 113 insertions(+), 162 deletions(-)\n\n   text    data     bss     dec     hex filename\n5486240  656987 7039960 13183187         c928d3 vmlinux.o.orig\n5486170  656987 7039960 13183117         c9288d vmlinux.o\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "a42b4799c683723e8c464de4026af085b2ebd5fa",
      "tree": "303ebae69ea9f9db0a5bdf7020dc26c01af14afd",
      "parents": [
        "803143fbda719106017309d551d082e4b4e7c8c3"
      ],
      "author": {
        "name": "Vijay Subramanian",
        "email": "subramanian.vijay@gmail.com",
        "time": "Thu Jan 19 10:20:59 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 22 15:08:44 2012 -0500"
      },
      "message": "netem: Fix off-by-one bug in reordering\n\nWith netem reordering, a gap of N is supposed to reorder every Nth packet with\ngiven reorder probability.  However, the code currently skips N packets and\nreorders every (N+1)th packet.\n\nSigned-off-by: Vijay Subramanian \u003csubramanian.vijay@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ddecf0f4db44ef94847a62d6ecf74456b4dcc66f",
      "tree": "48c49b70f83d713c7e3f594e067ee726bb70777e",
      "parents": [
        "72092cc45378176ba700034c91b7af2db524df26"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Jan 06 06:31:44 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 12 20:05:28 2012 -0800"
      },
      "message": "net_sched: sfq: add optional RED on top of SFQ\n\nAdds an optional Random Early Detection on each SFQ flow queue.\n\nTraditional SFQ limits count of packets, while RED permits to also\ncontrol number of bytes per flow, and adds ECN capability as well.\n\n1) We dont handle the idle time management in this RED implementation,\nsince each \u0027new flow\u0027 begins with a null qavg. We really want to address\nbacklogged flows.\n\n2) if headdrop is selected, we try to ecn mark first packet instead of\ncurrently enqueued packet. This gives faster feedback for tcp flows\ncompared to traditional RED [ marking the last packet in queue ]\n\nExample of use :\n\ntc qdisc add dev $DEV parent 1:1 handle 10: est 1sec 4sec sfq \\\n\tlimit 3000 headdrop flows 512 divisor 16384 \\\n\tredflowlimit 100000 min 8000 max 60000 probability 0.20 ecn\n\nqdisc sfq 10: parent 1:1 limit 3000p quantum 1514b depth 127 headdrop\nflows 512/16384 divisor 16384\n ewma 6 min 8000b max 60000b probability 0.2 ecn\n prob_mark 0 prob_mark_head 4876 prob_drop 6131\n forced_mark 0 forced_mark_head 0 forced_drop 0\n Sent 1175211782 bytes 777537 pkt (dropped 6131, overlimits 11007\nrequeues 0)\n rate 99483Kbit 8219pps backlog 689392b 456p requeues 0\n\nIn this test, with 64 netperf TCP_STREAM sessions, 50% using ECN enabled\nflows, we can see number of packets CE marked is smaller than number of\ndrops (for non ECN flows)\n\nIf same test is run, without RED, we can check backlog is much bigger.\n\nqdisc sfq 10: parent 1:1 limit 3000p quantum 1514b depth 127 headdrop\nflows 512/16384 divisor 16384\n Sent 1148683617 bytes 795006 pkt (dropped 0, overlimits 0 requeues 0)\n rate 98429Kbit 8521pps backlog 1221290b 841p requeues 0\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nCC: Dave Taht \u003cdave.taht@gmail.com\u003e\nTested-by: Dave Taht \u003cdave.taht@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eeca6688d6599c28bc449a45facb67d7f203be74",
      "tree": "5cabbf24a3c1ee2d7757c873ba6449296a8ef7b7",
      "parents": [
        "18cb809850fb499ad9bf288696a95f4071f73931"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Jan 05 02:25:16 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 05 14:01:21 2012 -0500"
      },
      "message": "net_sched: red: split red_parms into parms and vars\n\nThis patch splits the red_parms structure into two components.\n\nOne holding the RED \u0027constant\u0027 parameters, and one containing the\nvariables.\n\nThis permits a size reduction of GRED qdisc, and is a preliminary step\nto add an optional RED unit to SFQ.\n\nSFQRED will have a single red_parms structure shared by all flows, and a\nprivate red_vars per flow.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Dave Taht \u003cdave.taht@gmail.com\u003e\nCC: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "18cb809850fb499ad9bf288696a95f4071f73931",
      "tree": "6f6c7c836176385baf0f185b6f5b4092e9ac1fdf",
      "parents": [
        "23021c21055f88a428b6deb6f803fa0d659e023f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Jan 04 14:18:38 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 05 14:01:21 2012 -0500"
      },
      "message": "net_sched: sfq: extend limits\n\nSFQ as implemented in Linux is very limited, with at most 127 flows\nand limit of 127 packets. [ So if 127 flows are active, we have one\npacket per flow ]\n\nThis patch brings to SFQ following features to cope with modern needs.\n\n- Ability to specify a smaller per flow limit of inflight packets.\n    (default value being at 127 packets)\n\n- Ability to have up to 65408 active flows (instead of 127)\n\n- Ability to have head drops instead of tail drops\n  (to drop old packets from a flow)\n\nExample of use : No more than 20 packets per flow, max 8000 flows, max\n20000 packets in SFQ qdisc, hash table of 65536 slots.\n\ntc qdisc add ... sfq \\\n        flows 8000 \\\n        depth 20 \\\n        headdrop \\\n        limit 20000 \\\n\tdivisor 65536\n\nRam usage :\n\n2 bytes per hash table entry (instead of previous 1 byte/entry)\n32 bytes per flow on 64bit arches, instead of 384 for QFQ, so much\nbetter cache hit ratio.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Dave Taht \u003cdave.taht@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eb10192447370f19a215a8c2749332afa1199d46",
      "tree": "3c29d462ed3bc3b6c7af1492ca66395d2f0c5d42",
      "parents": [
        "e1e0918fcaea7b8100ed9f96f3ecd9eb9b867102"
      ],
      "author": {
        "name": "Hagen Paul Pfeifer",
        "email": "hagen@jauu.net",
        "time": "Wed Jan 04 17:35:26 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 05 13:27:39 2012 -0500"
      },
      "message": "net_sched: Bug in netem reordering\n\nNot now, but it looks you are correct. q-\u003eqdisc is NULL until another\nadditional qdisc is attached (beside tfifo). See 50612537e9ab2969312.\nThe following patch should work.\n\nFrom: Hagen Paul Pfeifer \u003chagen@jauu.net\u003e\n\nnetem: catch NULL pointer by updating the real qdisc statistic\n\nReported-by: Vijay Subramanian \u003csubramanian.vijay@gmail.com\u003e\nSigned-off-by: Hagen Paul Pfeifer \u003chagen@jauu.net\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "117ff42fd43e92d24c6aa6f3e4f0f1e1edada140",
      "tree": "c08e1c0357fde481a16489b77feb8f6073faf538",
      "parents": [
        "1d5783030a14d1b6ee763f63c8136e581f48b365",
        "805a6af8dba5dfdd35ec35dc52ec0122400b2610"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 04 21:35:43 2012 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 04 21:35:43 2012 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "02a9098ede0dc7e28c16a03fa7fba86a05219478",
      "tree": "689df90e53168b72b8f2f418853830747bba8e90",
      "parents": [
        "bd16a6cce2a7f169b559abc5672fd2c66e91fb36"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Jan 04 06:23:01 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 04 14:12:48 2012 -0500"
      },
      "message": "net_sched: sfq: always randomize hash perturbation\n\nSFQ q-\u003eperturbation is used in sfq_hash() as an input to Jenkins hash.\n\nWe currently randomize this 32bit value only if a perturbation timer is\nsetup.\n\nIts much better to always initialize it to defeat attackers, or else\nthey can predict very well what kind of packets they have to forge to\nhit a particular flow.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bd16a6cce2a7f169b559abc5672fd2c66e91fb36",
      "tree": "a4407fbec170a8ed06bf52a6667d26c4fdd2a124",
      "parents": [
        "6cfb5e759d47f037cbd0953ec2c3ceb220ed9e96"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Jan 04 06:22:24 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 04 14:12:48 2012 -0500"
      },
      "message": "net_sched: sfq: fix mem alloc error recovery\n\nSince commit 817fb15dfd98 (net_sched: sfq: allow divisor to be a\nparameter), we can leave perturbation timer armed if a memory allocation\nerror aborts sfq_init().\n\nMemory containing active struct timer_list is freed and kernel can\ncrash.\n\nCall sfq_destroy() from sfq_init() to properly dismantle qdisc.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fa0f5aa74316c636427ac92dad0bc5714c34ca17",
      "tree": "64fcb6a7f4043cdaea4a13b730a1ca651190e314",
      "parents": [
        "d32ae76f2b776347051cf821ebe690602e38dfc7"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jan 03 00:00:11 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 03 13:03:20 2012 -0500"
      },
      "message": "net_sched: qdisc_alloc_handle() can be too slow\n\nWhen trying to allocate ~32768 qdiscs using autohandle mechanism, we can\nfill the space managed by kernel (handles in [8000-FFFF]:0000 range)\n\nBut O(N^2) qdisc_alloc_handle() loops 0x10000 times instead of 0x8000\n\ntime tc add qdisc add dev eth0 parent 10:7fff pfifo limit 10\nRTNETLINK answers: Cannot allocate memory\nreal    1m54.826s\nuser    0m0.000s\nsys     0m0.004s\n\nINFO: rcu_sched_state detected stall on CPU 0 (t\u003d60000 jiffies)\n\nHalf number of loops, and add a cond_resched() call.\nWe hold rtnl at this point.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Dave Taht \u003cdave.taht@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d32ae76f2b776347051cf821ebe690602e38dfc7",
      "tree": "3f17a0c00e2ac7cc982c47e442661517ae010d5c",
      "parents": [
        "d47a0ac7b66883987275598d6039f902f4410ca9"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Jan 02 11:47:50 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 03 13:02:19 2012 -0500"
      },
      "message": "sch_qfq: accurate wsum handling\n\nWe can underestimate q-\u003ewsum in case of \"tc class replace ... qfq\"\nand/or qdisc_create_dflt() error.\n\nwsum is not really used in fast path, only at qfq qdisc/class setup,\nto catch user error.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6bafcac3238758203703bdd4abe9c1f38d259584",
      "tree": "b5413ecd31f0fa3229b04bd415c870041fe30d95",
      "parents": [
        "115e8e705e4be071b9e06ff72578e3b603f2ba65"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Jan 02 05:47:57 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 03 12:58:23 2012 -0500"
      },
      "message": "sch_qfq: fix overflow in qfq_update_start()\n\ngrp-\u003eslot_shift is between 22 and 41, so using 32bit wide variables is\nprobably a typo.\n\nThis could explain QFQ hangs Dave reported to me, after 2^23 packets ?\n\n(23 \u003d 64 - 41)\n\nReported-by: Dave Taht \u003cdave.taht@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nCC: Dave Taht \u003cdave.taht@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d47a0ac7b66883987275598d6039f902f4410ca9",
      "tree": "d70709d26a3833e2747126d221bbb2aa3f28ebd7",
      "parents": [
        "1c015b3b82c92fad375ce7dfff54799cfdfb7a15"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Jan 01 18:33:31 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 03 12:52:09 2012 -0500"
      },
      "message": "sch_sfq: dont put new flow at the end of flows\n\nSFQ enqueue algo puts a new flow _behind_ all pre-existing flows in the\ncircular list. In fact this is probably an old SFQ implementation bug.\n\n100 Mbits \u003d ~8333 full frames per second, or ~8 frames per ms.\n\nWith 50 flows, it means your \"new flow\" will have to wait 50 packets\nbeing sent before its own packet. Thats the ~6ms.\n\nWe certainly can change SFQ to give a priority advantage to new flows,\nso that next dequeued packet is taken from a new flow, not an old one.\n\nReported-by: Dave Taht \u003cdave.taht@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "50612537e9ab29693122fab20fc1eed235054ffe",
      "tree": "389279a18e07ce046ef694b37f44ccbc7fe796a1",
      "parents": [
        "32b293a53deeb220769f9a29357cb151cfb8ee26"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Dec 28 23:12:02 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 30 17:12:23 2011 -0500"
      },
      "message": "netem: fix classful handling\n\nCommit 10f6dfcfde (Revert \"sch_netem: Remove classful functionality\")\nreintroduced classful functionality to netem, but broke basic netem\nbehavior :\n\nnetem uses an t(ime)fifo queue, and store timestamps in skb-\u003ecb[]\n\nIf qdisc is changed, time constraints are not respected and other qdisc\ncan destroy skb-\u003ecb[] and block netem at dequeue time.\n\nFix this by always using internal tfifo, and optionally attach a child\nqdisc to netem (or a tree of qdiscs)\n\nExample of use :\n\nDEV\u003deth3\ntc qdisc del dev $DEV root\ntc qdisc add dev $DEV root handle 30: est 1sec 8sec netem delay 20ms 10ms\ntc qdisc add dev $DEV handle 40:0 parent 30:0 tbf \\\n\tburst 20480 limit 20480 mtu 1514 rate 32000bps\n\nqdisc netem 30: root refcnt 18 limit 1000 delay 20.0ms  10.0ms\n Sent 190792 bytes 413 pkt (dropped 0, overlimits 0 requeues 0)\n rate 18416bit 3pps backlog 0b 0p requeues 0\nqdisc tbf 40: parent 30: rate 256000bit burst 20Kb/8 mpu 0b lat 0us\n Sent 190792 bytes 413 pkt (dropped 6, overlimits 10 requeues 0)\n backlog 0b 5p requeues 0\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7f8e3234c5f7fbdb06be050c8a1907e9c36d7c61",
      "tree": "d6e9edb2087fa4a97b2cc3d585a0189672a14cf4",
      "parents": [
        "8ade06c616b34b4237c0ed77d1ff0ce04ad7d056",
        "89307babf966165171547f105e2253dec261cfa5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 30 13:04:14 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 30 13:04:14 2011 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "b0460e4484f9e990caa817230204f9e3800cf955",
      "tree": "3c8d3bf4448a4b99ffa6445a949abe1bee85c34c",
      "parents": [
        "bc94b52167596e4f9c0a020c10e2f49b04a2e48b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Dec 28 23:27:44 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 29 15:07:21 2011 -0500"
      },
      "message": "sch_tbf: report backlog information\n\nProvide child qdisc backlog (byte count) information so that \"tc -s\nqdisc\" can report it to user.\n\nqdisc netem 30: root refcnt 18 limit 1000 delay 20.0ms  10.0ms\n Sent 948517 bytes 898 pkt (dropped 0, overlimits 0 requeues 1)\n rate 175056bit 16pps backlog 114b 1p requeues 1\nqdisc tbf 40: parent 30: rate 256000bit burst 20Kb/8 mpu 0b lat 0us\n Sent 948517 bytes 898 pkt (dropped 15, overlimits 611 requeues 0)\n backlog 18168b 12p requeues 0\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bb52c7acf871537a468433775151339f783d2e8c",
      "tree": "d31943c70571f28ff241234a2bffa765a1d4ef92",
      "parents": [
        "5f0a6e2d503896062f641639dacfe5055c2f593b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Dec 23 19:28:51 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Dec 24 16:08:50 2011 -0500"
      },
      "message": "netem: dont call vfree() under spinlock and BH disabled\n\ncommit 6373a9a286 (netem: use vmalloc for distribution table) added a\nregression, since vfree() is called while holding a spinlock and BH\nbeing disabled.\n\nFix this by doing the pointers swap in critical section, and freeing\nafter spinlock release.\n\nAlso add __GFP_NOWARN to the kmalloc() try, since we fallback to\nvmalloc().\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "abb434cb0539fb355c1c921f8fd761efbbac3462",
      "tree": "24a7d99ec161f8fd4dc9ff03c9c4cc93be883ce6",
      "parents": [
        "2494654d4890316e7340fb8b3458daad0474a1b9",
        "6350323ad8def2ac00d77cdee3b79c9b9fba75c4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 17:13:56 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 17:13:56 2011 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tnet/bluetooth/l2cap_core.c\n\nJust two overlapping changes, one added an initialization of\na local variable, and another change added a new local variable.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2494654d4890316e7340fb8b3458daad0474a1b9",
      "tree": "dcd0fcc707457b56b14b37053c288488872dd8f2",
      "parents": [
        "f5a59b73321d9c6e6a9f0be4c8b563668f12c625"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Fri Dec 23 09:16:30 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 16:51:18 2011 -0500"
      },
      "message": "netem: loss model API sizes\n\nThe new netem loss model is configured with nested netlink messages.\nThis code is being overly strict about sizes, and is easily confused\nby padding (or possible future expansion). Also message\nfor gemodel is incorrect.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f5a59b73321d9c6e6a9f0be4c8b563668f12c625",
      "tree": "908fe184cc39e76bd37940d5de0c5fecc472c4a1",
      "parents": [
        "681f16232c49de06fb3683a8b128a95dbda9413c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Dec 23 05:19:20 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 16:51:18 2011 -0500"
      },
      "message": "sch_hfsc: report backlog information\n\nAdd backlog (byte count) information in hfsc classes and qdisc, so that\n\"tc -s\" can report it to user, instead of 0 values :\n\nqdisc hfsc 1: root refcnt 6 default 20\n Sent 45141660 bytes 30545 pkt (dropped 0, overlimits 91751 requeues 0)\n rate 1492Kbit 126pps backlog 103226b 74p requeues 0\n...\nclass hfsc 1:20 parent 1:1 leaf 1201: rt m1 0bit d 0us m2 400000bit ls m1 0bit d 0us m2 200000bit\n Sent 49534912 bytes 33519 pkt (dropped 0, overlimits 0 requeues 0)\n backlog 81822b 56p requeues 0\n period 23 work 49451576 bytes rtwork 13277552 bytes level 0\n...\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: John A. Sullivan III \u003cjsullivan@opensourcedevel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7838f2ce36b6ab5c13ef20b1857e3bbd567f1759",
      "tree": "4a84e53445817547adb299b25c54e613f76a8980",
      "parents": [
        "a13861a28b90541aa207532d237e7a940f1b1c7b"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@redhat.com",
        "time": "Thu Dec 22 02:05:07 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 22 22:34:56 2011 -0500"
      },
      "message": "mqprio: Avoid panic if no options are provided\n\nUserspace may not provide TCA_OPTIONS, in fact tc currently does\nso not do so if no arguments are specified on the command line.\nReturn EINVAL instead of panicing.\n\nSigned-off-by: Thomas Graf \u003ctgraf@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "225d9b89c937633dfeec502741a174fe0bab5b9f",
      "tree": "d9a25ffaa6b4f14c0f3d624d3c654e9b0f7ec3bd",
      "parents": [
        "4e68ea26e76273cc62a981a414a8319a7f4c1077"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Dec 21 03:30:11 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 21 15:44:34 2011 -0500"
      },
      "message": "sch_sfq: rehash queues in perturb timer\n\nA known Out Of Order (OOO) problem hurts SFQ when timer changes\nperturbation value, since all new packets delivered to SFQ enqueue might\nend on different slots than previous in-flight packets.\n\nWith round robin delivery, we can thus deliver packets in a different\norder.\n\nSince SFQ is limited to small amount of in-flight packets, we can rehash\npackets so that this OOO problem is fixed.\n\nThis rehashing is performed only if internal flow classifier is in use.\n\nWe now store in skb-\u003ecb[] the \"struct flow_keys\" so that we dont call\nskb_flow_dissect() again while rehashing.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "869aa41044b04964e27822124b88f799e46f01b9",
      "tree": "740c289a40c1ffc9ec23d9369cdb9389b1edb8ca",
      "parents": [
        "c607b2ed84929e143d9fb5653c4b5d0109147cde"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Dec 15 22:09:45 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 16 15:40:33 2011 -0500"
      },
      "message": "sch_gred: prefer GFP_KERNEL allocations\n\nIn control path, its better to use GFP_KERNEL allocations where\npossible.\n\nBefore taking qdisc spinlock, we preallocate memory just in case we\u0027ll\nneed it in gred_change_vq()\n\nThis is a followup to commit 3f1e6d3fd37b (sch_gred: should not use\nGFP_KERNEL while holding a spinlock)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b26e478f8fd5b575684f021b05a5c6236ebb911a",
      "tree": "27d3b3eaf3fe10d05319ad3395b2569ad5f8f6d0",
      "parents": [
        "bcebcc468a6bcd3820fe9ad36b34220563efc93a",
        "bb3c36863e8001fc21a88bebfdead4da4c23e848"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 16 02:11:14 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 16 02:11:14 2011 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tdrivers/net/ethernet/freescale/fsl_pq_mdio.c\n\tnet/batman-adv/translation-table.c\n\tnet/ipv6/route.c\n"
    },
    {
      "commit": "3a53943b5ae8b61913e2d61e98cbeedf67861c92",
      "tree": "a3edab0ac31a74f722e066529df76b03ef8b96f7",
      "parents": [
        "fcdf95cb293603acdff910715c8aa2b19ed29df4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Dec 14 02:30:00 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 14 13:34:55 2011 -0500"
      },
      "message": "cls_flow: remove one dynamic array\n\nIts better to use a predefined size for this small automatic variable.\n\nRemoves a sparse error as well :\n\nnet/sched/cls_flow.c:288:13: error: bad constant expression\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "90b41a1cd44cc4e507b554ae5a36562a1ba9a4e8",
      "tree": "4206cd6caab2dcec1d3937d5c0eed04085a153a4",
      "parents": [
        "c7c6575f254e5621a8408c29bdab0d704c3fab6e"
      ],
      "author": {
        "name": "Hagen Paul Pfeifer",
        "email": "hagen@jauu.net",
        "time": "Mon Dec 12 14:30:00 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 12 19:44:48 2011 -0500"
      },
      "message": "netem: add cell concept to simulate special MAC behavior\n\nThis extension can be used to simulate special link layer\ncharacteristics. Simulate because packet data is not modified, only the\ncalculation base is changed to delay a packet based on the original\npacket size and artificial cell information.\n\npacket_overhead can be used to simulate a link layer header compression\nscheme (e.g. set packet_overhead to -20) or with a positive\npacket_overhead value an additional MAC header can be simulated. It is\nalso possible to \"replace\" the 14 byte Ethernet header with something\nelse.\n\ncell_size and cell_overhead can be used to simulate link layer schemes,\nbased on cells, like some TDMA schemes. Another application area are MAC\nschemes using a link layer fragmentation with a (small) header each.\nCell size is the maximum amount of data bytes within one cell. Cell\noverhead is an additional variable to change the per-cell-overhead\n(e.g.  5 byte header per fragment).\n\nExample (5 kbit/s, 20 byte per packet overhead, cell-size 100 byte, per\ncell overhead 5 byte):\n\n  tc qdisc add dev eth0 root netem rate 5kbit 20 100 5\n\nSigned-off-by: Hagen Paul Pfeifer \u003chagen@jauu.net\u003e\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3f1e6d3fd37bd4f25e5b19f1c7ca21850426c33f",
      "tree": "4a4c3e784973d34e3689e3fc6789ae3503db576c",
      "parents": [
        "72b36015ba43a3cca5303f5534d2c3e1899eae29"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Dec 11 23:42:53 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 12 19:08:54 2011 -0500"
      },
      "message": "sch_gred: should not use GFP_KERNEL while holding a spinlock\n\ngred_change_vq() is called under sch_tree_lock(sch).\n\nThis means a spinlock is held, and we are not allowed to sleep in this\ncontext.\n\nWe might pre-allocate memory using GFP_KERNEL before taking spinlock,\nbut this is not suitable for stable material.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a73ed26bbae7327370c5bd298f07de78df9e3466",
      "tree": "3c7a04e638261cdd16c324ecd07e303e72fac3b9",
      "parents": [
        "0221cd51543972782af558c527e4ac58b32049fa"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Dec 09 02:46:45 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 09 13:46:15 2011 -0500"
      },
      "message": "sch_red: generalize accurate MAX_P support to RED/GRED/CHOKE\n\nNow RED uses a Q0.32 number to store max_p (max probability), allow\nRED/GRED/CHOKE to use/report full resolution at config/dump time.\n\nOld tc binaries are non aware of new attributes, and still set/get Plog.\n\nNew tc binary set/get both Plog and max_p for backward compatibility,\nthey display \"probability value\" if they get max_p from new kernels.\n\n# tc -d  qdisc show dev ...\n...\nqdisc red 10: parent 1:1 limit 360Kb min 30Kb max 90Kb ecn ewma 5\nprobability 0.09 Scell_log 15\n\nMake sure we avoid potential divides by 0 in reciprocal_value(), if\n(max_th - min_th) is big.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8af2a218de38f51ea4b4fa48cac1273319ae260c",
      "tree": "07a4557322b79878096172355fb02ab2bae3f432",
      "parents": [
        "57459185a19b0246866479522b77cbb9732201d1"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Dec 08 06:06:03 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 08 19:52:43 2011 -0500"
      },
      "message": "sch_red: Adaptative RED AQM\n\nAdaptative RED AQM for linux, based on paper from Sally FLoyd,\nRamakrishna Gummadi, and Scott Shenker, August 2001 :\n\nhttp://icir.org/floyd/papers/adaptiveRed.pdf\n\nGoal of Adaptative RED is to make max_p a dynamic value between 1% and\n50% to reach the target average queue : (max_th - min_th) / 2\n\nEvery 500 ms:\n if (avg \u003e target and max_p \u003c\u003d 0.5)\n  increase max_p : max_p +\u003d alpha;\n else if (avg \u003c target and max_p \u003e\u003d 0.01)\n  decrease max_p : max_p *\u003d beta;\n\ntarget :[min_th + 0.4*(min_th - max_th),\n          min_th + 0.6*(min_th - max_th)].\nalpha : min(0.01, max_p / 4)\nbeta : 0.9\nmax_P is a Q0.32 fixed point number (unsigned, with 32 bits mantissa)\n\nChanges against our RED implementation are :\n\nmax_p is no longer a negative power of two (1/(2^Plog)), but a Q0.32\nfixed point number, to allow full range described in Adatative paper.\n\nTo deliver a random number, we now use a reciprocal divide (thats really\na multiply), but this operation is done once per marked/droped packet\nwhen in RED_BETWEEN_TRESH window, so added cost (compared to previous\nAND operation) is near zero.\n\ndump operation gives current max_p value in a new TCA_RED_MAX_P\nattribute.\n\nExample on a 10Mbit link :\n\ntc qdisc add dev $DEV parent 1:1 handle 10: est 1sec 8sec red \\\n   limit 400000 min 30000 max 90000 avpkt 1000 \\\n   burst 55 ecn adaptative bandwidth 10Mbit\n\n# tc -s -d qdisc show dev eth3\n...\nqdisc red 10: parent 1:1 limit 400000b min 30000b max 90000b ecn\nadaptative ewma 5 max_p\u003d0.113335 Scell_log 15\n Sent 50414282 bytes 34504 pkt (dropped 35, overlimits 1392 requeues 0)\n rate 9749Kbit 831pps backlog 72056b 16p requeues 0\n  marked 1357 early 35 pdrop 0 other 0\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2721745501a26d0dc3b88c0d2f3aa11471891388",
      "tree": "e9c09622b11ad7d9317b4b01824374a852867c28",
      "parents": [
        "761965eab38d2cbc59c36e355c59609e3a04705a"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 02 16:52:08 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 05 15:20:19 2011 -0500"
      },
      "message": "net: Rename dst_get_neighbour{, _raw} to dst_get_neighbour_noref{, _raw}.\n\nTo reflect the fact that a refrence is not obtained to the\nresulting neighbour entry.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "b3613118eb30a589d971e4eccbbb2a1314f5dfd4",
      "tree": "868c1ee59e1b5c19a4f2e43716400d0001a994e5",
      "parents": [
        "7505afe28c16a8d386624930a018d0052c75d687",
        "5983fe2b29df5885880d7fa3b91aca306c7564ef"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 02 13:49:21 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 02 13:49:21 2011 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "1ee5fa1e9970a16036e37c7b9d5ce81c778252fc",
      "tree": "8f8b414130339eb15d398ace18c7e061d477329d",
      "parents": [
        "59c2cdae2791c0b2ee13d148edc6b771e7e7953f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Dec 01 11:06:34 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 01 19:24:38 2011 -0500"
      },
      "message": "sch_red: fix red_change\n\nLe mercredi 30 novembre 2011 à 14:36 -0800, Stephen Hemminger a écrit :\n\n\u003e (Almost) nobody uses RED because they can\u0027t figure it out.\n\u003e According to Wikipedia, VJ says that:\n\u003e  \"there are not one, but two bugs in classic RED.\"\n\nRED is useful for high throughput routers, I doubt many linux machines\nact as such devices.\n\nI was considering adding Adaptative RED (Sally Floyd, Ramakrishna\nGummadi, Scott Shender), August 2001\n\nIn this version, maxp is dynamic (from 1% to 50%), and user only have to\nsetup min_th (target average queue size)\n(max_th and wq (burst in linux RED) are automatically setup)\n\nBy the way it seems we have a small bug in red_change()\n\nif (skb_queue_empty(\u0026sch-\u003eq))\n\tred_end_of_idle_period(\u0026q-\u003eparms);\n\nFirst, if queue is empty, we should call\nred_start_of_idle_period(\u0026q-\u003eparms);\n\nSecond, since we dont use anymore sch-\u003eq, but q-\u003eqdisc, the test is\nmeaningless.\n\nOh well...\n\n[PATCH] sch_red: fix red_change()\n\nNow RED is classful, we must check q-\u003eqdisc-\u003eq.qlen, and if queue is empty,\nwe start an idle period, not end it.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fc33cc72423ed3474cd51bc8bd7c1cdc22a78e1a",
      "tree": "55aa0076a9716d848ce3eefcea1c7375f526cd71",
      "parents": [
        "8aa953d03eea1190fdde03089947bba09e5399fe"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Nov 30 23:32:14 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 01 11:40:19 2011 -0500"
      },
      "message": "netem: fix build error on 32bit arches\n\nERROR: \"__udivdi3\" [net/sched/sch_netem.ko] undefined!\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Hagen Paul Pfeifer \u003chagen@jauu.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7bc0f28c7a0cd19f40e5a6e4d0a117db9a4e4cd5",
      "tree": "4cdbf530b8ed94f73907327dd21f8303085cfc09",
      "parents": [
        "99d2f47aa9d3ad40daa6ee0770e91b95b71082f0"
      ],
      "author": {
        "name": "Hagen Paul Pfeifer",
        "email": "hagen@jauu.net",
        "time": "Wed Nov 30 12:20:26 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@drr.davemloft.net",
        "time": "Wed Nov 30 23:18:35 2011 -0500"
      },
      "message": "netem: rate extension\n\nCurrently netem is not in the ability to emulate channel bandwidth. Only static\ndelay (and optional random jitter) can be configured.\n\nTo emulate the channel rate the token bucket filter (sch_tbf) can be used.  But\nTBF has some major emulation flaws. The buffer (token bucket depth/rate) cannot\nbe 0. Also the idea behind TBF is that the credit (token in buckets) fills if\nno packet is transmitted. So that there is always a \"positive\" credit for new\npackets. In real life this behavior contradicts the law of nature where\nnothing can travel faster as speed of light. E.g.: on an emulated 1000 byte/s\nlink a small IPv4/TCP SYN packet with ~50 byte require ~0.05 seconds - not 0\nseconds.\n\nNetem is an excellent place to implement a rate limiting feature: static\ndelay is already implemented, tfifo already has time information and the\nuser can skip TBF configuration completely.\n\nThis patch implement rate feature which can be configured via tc. e.g:\n\n\ttc qdisc add dev eth0 root netem rate 10kbit\n\nTo emulate a link of 5000byte/s and add an additional static delay of 10ms:\n\n\ttc qdisc add dev eth0 root netem delay 10ms rate 5KBps\n\nNote: similar to TBF the rate extension is bounded to the kernel timing\nsystem. Depending on the architecture timer granularity, higher rates (e.g.\n10mbit/s and higher) tend to transmission bursts. Also note: further queues\nliving in network adaptors; see ethtool(8).\n\nSigned-off-by: Hagen Paul Pfeifer \u003chagen@jauu.net\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@drr.davemloft.net\u003e\n"
    },
    {
      "commit": "f7e57044eeb1841847c24aa06766c8290c202583",
      "tree": "86167b7760363d85731d05a802aa8da1b29b7e29",
      "parents": [
        "15fc1f3617edea50fa58703d59f73e726377bc63"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Nov 30 04:08:58 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 30 17:10:49 2011 -0500"
      },
      "message": "sch_teql: fix lockdep splat\n\nWe need rcu_read_lock() protection before using dst_get_neighbour(), and\nwe must cache its value (pass it to __teql_resolve())\n\nteql_master_xmit() is called under rcu_read_lock_bh() protection, its\nnot enough.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2bcc34bb987e07abcf6bc30b7f92fbf22b59d4ef",
      "tree": "52d5f76d4821e9cf6a6fb08f8680febf6708bf43",
      "parents": [
        "11fca931d35a34d01ce209eb8d51ff667c9f5e7c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Nov 29 04:22:15 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 29 13:17:03 2011 -0500"
      },
      "message": "sch_choke: use skb_flow_dissect()\n\nInstead of using a custom flow dissector, use skb_flow_dissect() and\nbenefit from tunnelling support.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "11fca931d35a34d01ce209eb8d51ff667c9f5e7c",
      "tree": "540b10f69a7a6c5249674cc1c67f231443fb6c47",
      "parents": [
        "f07d960df33c5aef8f513efce0fd201f962f94a1"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Nov 29 03:40:45 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 29 13:17:03 2011 -0500"
      },
      "message": "sch_sfq: use skb_flow_dissect()\n\nInstead of using a custom flow dissector, use skb_flow_dissect() and\nbenefit from tunnelling support.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7346649826382b769cfadf4a2fe8a84d060c55e9",
      "tree": "0241cce453992881f61d3fbc4f9baf7eb0578135",
      "parents": [
        "75957ba36c05b979701e9ec64b37819adc12f830"
      ],
      "author": {
        "name": "Tom Herbert",
        "email": "therbert@google.com",
        "time": "Mon Nov 28 16:32:44 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 29 12:46:19 2011 -0500"
      },
      "message": "net: Add queue state xoff flag for stack\n\nCreate separate queue state flags so that either the stack or drivers\ncan turn on XOFF.  Added a set of functions used in the stack to determine\nif a queue is really stopped (either by stack or driver)\n\nSigned-off-by: Tom Herbert \u003ctherbert@google.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a00bd469b6604aa5f165dcc4d07dc07499439a6b",
      "tree": "0b77d5fc46189223b18d5519586d6d1294ad8b96",
      "parents": [
        "6bd2a9af17cc3b153de45390b54c7d64a773beee"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Nov 28 05:25:02 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 28 19:09:28 2011 -0500"
      },
      "message": "sch_sfb: use skb_flow_dissect()\n\nCurrent SFB double hashing is not fulfilling SFB theory, if two flows\nshare same rxhash value.\n\nUsing skb_flow_dissect() permits to really have better hash dispersion,\nand get tunnelling support as well.\n\nDouble hashing point was mentioned by Florian Westphal\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6bd2a9af17cc3b153de45390b54c7d64a773beee",
      "tree": "08ca6fafec7181b54bfc2c50ca4706dd7400ccbb",
      "parents": [
        "4504b8613b6c65d7787a434f8dcf7901bfe3983d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Nov 28 05:24:18 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 28 19:09:28 2011 -0500"
      },
      "message": "cls_flow: use skb_flow_dissect()\n\nInstead of using a custom flow dissector, use skb_flow_dissect() and\nbenefit from tunnelling support.\n\nThis lack of tunnelling support was mentioned by Dan Siemon.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ccf5ff69fbbd8d877377f5786369cf5aa78a15fc",
      "tree": "2c9a7ca29d9b3052fb952ac52445cfb05742a32c",
      "parents": [
        "19b05f811341aaef3e5e22d2832aa2d8e0bad5ab"
      ],
      "author": {
        "name": "david decotigny",
        "email": "david.decotigny@google.com",
        "time": "Wed Nov 16 12:15:10 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 16 23:14:02 2011 -0500"
      },
      "message": "net: new counter for tx_timeout errors in sysfs\n\nThis adds the /sys/class/net/DEV/queues/Q/tx_timeout attribute\ncontaining the total number of timeout events on the given queue. It\nis always available with CONFIG_SYSFS, independently of\nCONFIG_RPS/XPS.\n\nCredits to Stephen Hemminger for a preliminary version of this patch.\n\nTested:\n  without CONFIG_SYSFS (compilation only)\n  with sysfs and without CONFIG_RPS \u0026 CONFIG_XPS\n  with sysfs and without CONFIG_RPS\n  with sysfs and without CONFIG_XPS\n  with defaults\n\nSigned-off-by: David Decotigny \u003cdavid.decotigny@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9ecd04bc04af7df98b3a93c571e31b6ef6a90681",
      "tree": "3850ea9ffad64f46cfa20ac7b9a2c8e0f4b56517",
      "parents": [
        "8d8bdfe8034399357df58b5f3e4da638a9e9a257"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Nov 08 10:45:04 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 08 16:41:31 2011 -0500"
      },
      "message": "sch_choke: use skb_header_pointer()\n\nRemove the assumption that skb_get_rxhash() makes IP header and ports\nlinear, and use skb_header_pointer() instead in choke_match_flow()\n\nThis permits __skb_get_rxhash() to use skb_header_pointer() eventually.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bc3b2d7fb9b014d75ebb79ba371a763dbab5e8cf",
      "tree": "b0fd4e724bdb1c0a1783616614ae5a9dec1cfa5c",
      "parents": [
        "d9b9384215e17c68d7b6bd05d6fa409e5d4140d7"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Fri Jul 15 11:47:34 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:30:30 2011 -0400"
      },
      "message": "net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules\n\nThese files are non modular, but need to export symbols using\nthe macros now living in export.h -- call out the include so\nthat things won\u0027t break when we remove the implicit presence\nof module.h from everywhere.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "3a9a231d977222eea36eae091df2c358e03ac839",
      "tree": "d2df117cf336a29fddddb000f972b5f333f40f6d",
      "parents": [
        "6e5fdeedca610df600aabc393c4b1f44b128fe49"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Fri May 27 09:12:25 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:30:28 2011 -0400"
      },
      "message": "net: Fix files explicitly needing to include module.h\n\nWith calls to modular infrastructure, these files really\nneeds the full module.h header.  Call it out so some of the\ncleanups of implicit and unrequired includes elsewhere can be\ncleaned up.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "859c20123a6f4bac3fad6506f224908834fe3f68",
      "tree": "61c166abfc00e492e94a0e877c819c8b91fdc846",
      "parents": [
        "59445b6b1f90b97c4e28062b96306bacfa4fb170"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Oct 23 17:59:41 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 24 18:40:14 2011 -0400"
      },
      "message": "net_sched: cls_flow: use skb_header_pointer()\n\nDan Siemon would like to add tunnelling support to cls_flow\n\nThis preliminary patch introduces use of skb_header_pointer() to help\nthis task, while avoiding skb head reallocation because of deep packet\ninspection.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8decf868790b48a727d7e7ca164f2bcd3c1389c0",
      "tree": "b759a5f861f842af7ea76f9011b579d06e9d5508",
      "parents": [
        "3fc72370186be2f9d4d6ef06d99e1caa5d92c564",
        "d93dc5c4478c1fd5de85a3e8aece9aad7bbae044"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 22 03:23:13 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 22 03:23:13 2011 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of github.com:davem330/net\n\nConflicts:\n\tMAINTAINERS\n\tdrivers/net/Kconfig\n\tdrivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c\n\tdrivers/net/ethernet/broadcom/tg3.c\n\tdrivers/net/wireless/iwlwifi/iwl-pci.c\n\tdrivers/net/wireless/iwlwifi/iwl-trans-tx-pcie.c\n\tdrivers/net/wireless/rt2x00/rt2800usb.c\n\tdrivers/net/wireless/wl12xx/main.c\n"
    },
    {
      "commit": "27e95a8c670e0c587990ec5b9a87a7ea17873d28",
      "tree": "65da62db2ef37f59d6bece2922da1b5da77ec3b8",
      "parents": [
        "150966ad56291776a1f3fed86000a027e0794922"
      ],
      "author": {
        "name": "Igor Maravić",
        "email": "igorm@etf.rs",
        "time": "Tue Aug 30 03:12:55 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 15 14:49:43 2011 -0400"
      },
      "message": "pkt_sched: cls_rsvp.h was outdated\n\nFile cls_rsvp.h in /net/sched was outdated. I\u0027m sending you patch for this\nfile.\n\n[ tb[] array should be indexed by X not X-1 -DaveM ]\n\nSigned-off-by: Igor Maravić \u003cigorm@etf.rs\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "363437f40a23bacdead80bb80d08d8193a20cfce",
      "tree": "e5dce35d8aa3ad364dafc1274b3a4c469dbcdb88",
      "parents": [
        "18cf1248eca3f1fc38e12b314a6cadd286260e65"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Aug 25 06:21:32 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 26 12:55:18 2011 -0400"
      },
      "message": "net_sched: sfb: optimize enqueue on full queue\n\nIn case SFB queue is full (hard limit reached), there is no point\nspending time to compute hash and maximum qlen/p_mark.\n\nWe instead just early drop packet.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8919bc13e8d92c5b082c5c0321567383a071f5bc",
      "tree": "1558f718b5fb02cdd0fca1ac53d1cb8199463d2c",
      "parents": [
        "c2bceb3d7f145af5a0916bea700f2f9d380901ea"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "jhs@mojatatu.com",
        "time": "Mon Aug 15 05:25:40 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 17 20:10:20 2011 -0700"
      },
      "message": "net_sched: fix port mirror/redirect stats reporting\n\nWhen a redirected or mirrored packet is dropped by the target\ndevice we need to record statistics.\n\nSigned-off-by: Jamal Hadi Salim \u003cjhs@mojatatu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3557619f0f6f7496ed453d4825e24958ab1884e0",
      "tree": "fe66b34573509d0f4880d4f03ae5cde26ff69cb3",
      "parents": [
        "9be6dd6510fde5cfa2ab73f238754d38ee6797bc"
      ],
      "author": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Tue Aug 09 02:04:43 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 09 21:52:11 2011 -0700"
      },
      "message": "net_sched: prio: use qdisc_dequeue_peeked\n\ncommit 07bd8df5df4369487812bf85a237322ff3569b77\n(sch_sfq: fix peek() implementation) changed sfq to use generic\npeek helper.\n\nThis makes HFSC complain about a non-work-conserving child qdisc, if\nprio with sfq child is used within hfsc:\n\nhfsc peeks into prio qdisc, which will then peek into sfq.\nreturned skb is stashed in sch-\u003egso_skb.\n\nNext, hfsc tries to dequeue from prio, but prio will call sfq dequeue\ndirectly, which may return NULL instead of previously peeked-at skb.\n\nHave prio call qdisc_dequeue_peeked, so sfq-\u003edequeue() is\nnot called in this case.\n\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e1738bd9cecc5c867b0e2996470c1ff20f66ba79",
      "tree": "c69e0943a29ceb588c8ef8af19130436373d4f1e",
      "parents": [
        "956837f7c954443f426a82ba6f17b33488cf9a0c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Jul 29 19:22:42 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 01 02:27:21 2011 -0700"
      },
      "message": "sch_sfq: fix sfq_enqueue()\n\ncommit 8efa88540635 (sch_sfq: avoid giving spurious NET_XMIT_CN signals)\nforgot to call qdisc_tree_decrease_qlen() to signal upper levels that a\npacket (from another flow) was dropped, leading to various problems.\n\nWith help from Michal Soltys and Michal Pokrywka, who did a bisection.\n\nBugzilla ref: https://bugzilla.kernel.org/show_bug.cgi?id\u003d39372\nDebian ref: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug\u003d631945\n\nReported-by: Lucas Bocchi \u003clucas.bocchi@gmail.com\u003e\nReported-and-bisected-by: Michal Pokrywka \u003cwolfmoon@o2.pl\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Michal Soltys \u003csoltys@ziu.info\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "69cce1d1404968f78b177a0314f5822d5afdbbfb",
      "tree": "26223264fd69ea8078d0013fd5a76eb7aeb04c12",
      "parents": [
        "9cbb7ecbcff85077bb12301aaf4c9b5a56c5993d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 17 23:09:49 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 17 23:11:35 2011 -0700"
      },
      "message": "net: Abstract dst-\u003eneighbour accesses behind helpers.\n\ndst_{get,set}_neighbour()\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f0c50c7c9a4b0e92a9189c498e4960919fe66d45",
      "tree": "a892a0628983e819a7ee787a19fa0ed2d5ac79b9",
      "parents": [
        "2af4ba85913bb1755a06193109917c3ddc130265"
      ],
      "author": {
        "name": "Krishna Kumar",
        "email": "krkumar2@in.ibm.com",
        "time": "Thu Jul 14 23:16:21 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 15 08:08:26 2011 -0700"
      },
      "message": "Remove redundant variable/code in __qdisc_run\n\nRemove redundant variable \"work\".\n\nSigned-off-by: Krishna Kumar \u003ckrkumar2@in.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e20e6940736fb7b4dd024933f7456b9da4c44118",
      "tree": "61cf6126b92dcfa3c203ecddefdbac08f73a32c2",
      "parents": [
        "974151e6119f20d2af4acb97526c780ae0f18ccb"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Thu Jul 14 14:45:59 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 14 14:45:59 2011 -0700"
      },
      "message": "net: remove SK_ROUTE_CAPS from meta ematch\n\nRemove it, as it indirectly exposes netdev features. It\u0027s not used in\niproute2 (2.6.38) - is anything else using its interface?\n\nSigned-off-by: Michał Mirosław \u003cmirq-linux@rere.qmqm.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n\n"
    },
    {
      "commit": "dc7f9f6e8838556f226c2ebd1da7bb305cb25654",
      "tree": "c346ae8a155e187f4f88ba70788dc10ef5ff4c43",
      "parents": [
        "95ec3eb417115fbb2c73b59e2825f6dd5d2f6cf6"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jul 05 23:25:42 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 06 02:52:16 2011 -0700"
      },
      "message": "net: sched: constify tcf_proto and tc_action\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d5b8aa1d246fddfe4042be6f6eb169efa5cfbb94",
      "tree": "5c0be52e7fba52ba38c8cd606b5c15e2435e343a",
      "parents": [
        "85a43a9edaf5b541381acbf4061bace1121d6ef0"
      ],
      "author": {
        "name": "jamal",
        "email": "hadi@cyberus.ca",
        "time": "Sun Jun 26 08:13:54 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 27 00:14:10 2011 -0700"
      },
      "message": "net_sched: fix dequeuer fairness\n\nResults on dummy device can be seen in my netconf 2011\nslides. These results are for a 10Gige IXGBE intel\nnic - on another i5 machine, very similar specs to\nthe one used in the netconf2011 results.\nIt turns out - this is a hell lot worse than dummy\nand so this patch is even more beneficial for 10G.\n\nTest setup:\n----------\n\nSystem under test sending packets out.\nAdditional box connected directly dropping packets.\nInstalled prio qdisc on the eth device and default\nnetdev default length of 1000 used as is.\nThe 3 prio bands each were set to 100 (didnt factor in\nthe results).\n\n5 packet runs were made and the middle 3 picked.\n\nresults\n-------\n\nThe \"cpu\" column indicates the which cpu the sample\nwas taken on,\nThe \"Pkt runx\" carries the number of packets a cpu\ndequeued when forced to be in the \"dequeuer\" role.\nThe \"avg\" for each run is the number of times each\ncpu should be a \"dequeuer\" if the system was fair.\n\n3.0-rc4      (plain)\ncpu         Pkt run1        Pkt run2        Pkt run3\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\ncpu0        21853354        21598183        22199900\ncpu1          431058          473476          393159\ncpu2          481975          477529          458466\ncpu3        23261406        23412299        22894315\navg         11506948        11490372        11486460\n\n3.0-rc4 with patch and default weight 64\ncpu \t     Pkt run1        Pkt run2        Pkt run3\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\ncpu0        13205312        13109359        13132333\ncpu1        10189914        10159127        10122270\ncpu2        10213871        10124367        10168722\ncpu3        13165760        13164767        13096705\navg         11693714        11639405        11630008\n\nAs you can see the system is still not perfect but\nis a lot better than what it was before...\n\nAt the moment we use the old backlog weight, weight_p\nwhich is 64 packets. It seems to be reasonably fine\nwith that value.\nThe system could be made more fair if we reduce the\nweight_p (as per my presentation), but we are going\nto affect the shared backlog weight. Unless deemed\nnecessary, I think the default value is fine. If not\nwe could add yet another knob.\n\nSigned-off-by: Jamal Hadi Salim \u003cjhs@mojatatu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "56f8a75c17abb854b5907f4a815dc4c3f186ba11",
      "tree": "6ba333b7668ce7dd04cddecf4f15a0a48b335991",
      "parents": [
        "f470e5ae34d68880a38aa79ee5c102ebc2a1aef6"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Tue Jun 21 20:33:34 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 20:33:34 2011 -0700"
      },
      "message": "ip: introduce ip_is_fragment helper inline function\n\nThere are enough instances of this:\n\n    iph-\u003efrag_off \u0026 htons(IP_MF | IP_OFFSET)\n\nthat a helper function is probably warranted.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7f080cfe223b3b7424872639d153695615a9255",
      "tree": "605390854789a6ba53e6813ffc69a948a0466530",
      "parents": [
        "4003b65871c101eb5ce8f37a325feac54aa5c681"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Jun 16 11:01:34 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 19:17:20 2011 -0700"
      },
      "message": "net: remove mm.h inclusion from netdevice.h\n\nRemove linux/mm.h inclusion from netdevice.h -- it\u0027s unused (I\u0027ve checked manually).\n\nTo prevent mm.h inclusion via other channels also extract \"enum dma_data_direction\"\ndefinition into separate header. This tiny piece is what gluing netdevice.h with mm.h\nvia \"netdevice.h \u003d\u003e dmaengine.h \u003d\u003e dma-mapping.h \u003d\u003e scatterlist.h \u003d\u003e mm.h\".\nRemoval of mm.h from scatterlist.h was tried and was found not feasible\non most archs, so the link was cutoff earlier.\n\nHope people are OK with tiny include file.\n\nNote, that mm_types.h is still dragged in, but it is a separate story.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9f6ec8d697c08963d83880ccd35c13c5ace716ea",
      "tree": "ad8d93cf6fcdd09b86ade09f5fcbbc66cdb1cca2",
      "parents": [
        "4aa3a715551c93eda32d79bd52042ce500bd5383",
        "56299378726d5f2ba8d3c8cbbd13cb280ba45e4f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 20 22:29:08 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 20 22:29:08 2011 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/wireless/iwlwifi/iwl-agn-rxon.c\n\tdrivers/net/wireless/rtlwifi/pci.c\n\tnet/netfilter/ipvs/ip_vs_core.c\n"
    },
    {
      "commit": "c7ac8679bec9397afe8918f788cbcef88c38da54",
      "tree": "c152712de4c997ea79252ef9ac72aaedb8f88c18",
      "parents": [
        "929dd047720785f099e12113780b3d7914ce6d9f"
      ],
      "author": {
        "name": "Greg Rose",
        "email": "gregory.v.rose@intel.com",
        "time": "Fri Jun 10 01:27:09 2011 +0000"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Thu Jun 09 20:38:07 2011 -0700"
      },
      "message": "rtnetlink: Compute and store minimum ifinfo dump size\n\nThe message size allocated for rtnl ifinfo dumps was limited to\na single page.  This is not enough for additional interface info\navailable with devices that support SR-IOV and caused a bug in\nwhich VF info would not be displayed if more than approximately\n40 VFs were created per interface.\n\nImplement a new function pointer for the rtnl_register service that will\ncalculate the amount of data required for the ifinfo dump and allocate\nenough data to satisfy the request.\n\nSigned-off-by: Greg Rose \u003cgregory.v.rose@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "a6b7a407865aab9f849dd99a71072b7cd1175116",
      "tree": "42995f2e25b777e8930b5ac180599f8d4e655df6",
      "parents": [
        "aedfebbaa7a4883dc568d8d32b7b32a0f9833f41"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Jun 06 10:43:46 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 06 22:55:11 2011 -0700"
      },
      "message": "net: remove interrupt.h inclusion from netdevice.h\n\n* remove interrupt.g inclusion from netdevice.h -- not needed\n* fixup fallout, add interrupt.h and hardirq.h back where needed.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3019de124b9f5b1526cb3668b74af14371e21795",
      "tree": "3b4fd5843b61f3a860824ec38827cf0256620eed",
      "parents": [
        "5a079c305ad4dda9708b7a29db4a8bd38e21c3a6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 06 16:41:33 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 06 16:41:33 2011 -0700"
      },
      "message": "net: Rework netdev_drivername() to avoid warning.\n\nThis interface uses a temporary buffer, but for no real reason.\nAnd now can generate warnings like:\n\nnet/sched/sch_generic.c: In function dev_watchdog\nnet/sched/sch_generic.c:254:10: warning: unused variable drivername\n\nJust return driver-\u003ename directly or \"\".\n\nReported-by: Connor Hansen \u003ccmdkhh@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "07bd8df5df4369487812bf85a237322ff3569b77",
      "tree": "d610d0a326c63551f98ed50821f6603b506527b1",
      "parents": [
        "367bbf2aa1654c12ab5d6dbf4428b043b425be29"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed May 25 04:40:11 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 25 17:55:32 2011 -0400"
      },
      "message": "sch_sfq: fix peek() implementation\n\nSince commit eeaeb068f139 (sch_sfq: allow big packets and be fair),\nsfq_peek() can return a different skb that would be normally dequeued by\nsfq_dequeue() [ if current slot-\u003eallot is negative ]\n\nUse generic qdisc_peek_dequeued() instead of custom implementation, to\nget consistent result.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nCC: Patrick McHardy \u003ckaber@trash.net\u003e\nCC: Jesper Dangaard Brouer \u003chawk@diku.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8efa885406359af300d46910642b50ca82c0fe47",
      "tree": "1eecc0b8152d775b5c261a2a1749a2f711f81f13",
      "parents": [
        "a4910b744486254cfa61995954c118fb2283c4fd"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon May 23 11:02:42 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 23 17:36:00 2011 -0400"
      },
      "message": "sch_sfq: avoid giving spurious NET_XMIT_CN signals\n\nWhile chasing a possible net_sched bug, I found that IP fragments have\nlitle chance to pass a congestioned SFQ qdisc :\n\n- Say SFQ qdisc is full because one flow is non responsive.\n- ip_fragment() wants to send two fragments belonging to an idle flow.\n- sfq_enqueue() queues first packet, but see queue limit reached :\n- sfq_enqueue() drops one packet from \u0027big consumer\u0027, and returns\nNET_XMIT_CN.\n- ip_fragment() cancel remaining fragments.\n\nThis patch restores fairness, making sure we return NET_XMIT_CN only if\nwe dropped a packet from the same flow.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Patrick McHardy \u003ckaber@trash.net\u003e\nCC: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nCC: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nCC: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3137663dfb43bb3e3174e9da81db0c05f395fc1b",
      "tree": "d3a09e8eb8655215c9a730da6798e9623f7f0d03",
      "parents": [
        "6df427fe8c481d3be437cbe8bd366bdac82b73c4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu May 19 23:42:09 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 22 21:01:20 2011 -0400"
      },
      "message": "net: avoid synchronize_rcu() in dev_deactivate_many\n\ndev_deactivate_many() issues one synchronize_rcu() call after qdiscs set\nto noop_qdisc.\n\nThis call is here to make sure they are no outstanding qdisc-less\ndev_queue_xmit calls before returning to caller.\n\nBut in dismantle phase, we dont have to wait, because we wont activate\nagain the device, and we are going to wait one rcu grace period later in\nrollback_registered_many().\n\nAfter this patch, device dismantle uses one synchronize_net() and one\nrcu_barrier() call only, so we have a ~30% speedup and a smaller RTNL\nlatency.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Patrick McHardy \u003ckaber@trash.net\u003e,\nCC: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "06f4e926d256d902dd9a53dcb400fd74974ce087",
      "tree": "0b438b67f5f0eff6fd617bc497a9dace6164a488",
      "parents": [
        "8e7bfcbab3825d1b404d615cb1b54f44ff81f981",
        "d93515611bbc70c2fe4db232e5feb448ed8e4cc9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 13:43:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 13:43:21 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1446 commits)\n  macvlan: fix panic if lowerdev in a bond\n  tg3: Add braces around 5906 workaround.\n  tg3: Fix NETIF_F_LOOPBACK error\n  macvlan: remove one synchronize_rcu() call\n  networking: NET_CLS_ROUTE4 depends on INET\n  irda: Fix error propagation in ircomm_lmp_connect_response()\n  irda: Kill set but unused variable \u0027bytes\u0027 in irlan_check_command_param()\n  irda: Kill set but unused variable \u0027clen\u0027 in ircomm_connect_indication()\n  rxrpc: Fix set but unused variable \u0027usage\u0027 in rxrpc_get_transport()\n  be2net: Kill set but unused variable \u0027req\u0027 in lancer_fw_download()\n  irda: Kill set but unused vars \u0027saddr\u0027 and \u0027daddr\u0027 in irlan_provider_connect_indication()\n  atl1c: atl1c_resume() is only used when CONFIG_PM_SLEEP is defined.\n  rxrpc: Fix set but unused variable \u0027usage\u0027 in rxrpc_get_peer().\n  rxrpc: Kill set but unused variable \u0027local\u0027 in rxrpc_UDP_error_handler()\n  rxrpc: Kill set but unused variable \u0027sp\u0027 in rxrpc_process_connection()\n  rxrpc: Kill set but unused variable \u0027sp\u0027 in rxrpc_rotate_tx_window()\n  pkt_sched: Kill set but unused variable \u0027protocol\u0027 in tc_classify()\n  isdn: capi: Use pr_debug() instead of ifdefs.\n  tg3: Update version to 3.119\n  tg3: Apply rx_discards fix to 5719/5720\n  ...\n\nFix up trivial conflicts in arch/x86/Kconfig and net/mac80211/agg-tx.c\nas per Davem.\n"
    },
    {
      "commit": "034cfe48d0efc248ba4b725e3a94b95e76fbc5d3",
      "tree": "e5a9079bd3b40f1ef4dd9f88d75a79b862f073a0",
      "parents": [
        "8ce6eb1a4a4bc46820f23e927377d386d3ec5404"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Thu May 19 19:23:28 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 19 19:23:28 2011 -0400"
      },
      "message": "networking: NET_CLS_ROUTE4 depends on INET\n\nIP_ROUTE_CLASSID depends on INET and NET_CLS_ROUTE4 selects\nIP_ROUTE_CLASSID, but when INET is not enabled, this kconfig warning\nis produced, so fix it by making NET_CLS_ROUTE4 depend on INET.\n\nwarning: (NET_CLS_ROUTE4) selects IP_ROUTE_CLASSID which has unmet direct dependencies (NET \u0026\u0026 INET)\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f06cd54f555a4ceca4de39160c68c7e3da657e89",
      "tree": "f05c7617954ad5c8420d4c422dda50285a6e6e36",
      "parents": [
        "8fb53b959bd9e503b646a3d68c7b1759667b6a19"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 19 18:32:55 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 19 18:32:55 2011 -0400"
      },
      "message": "pkt_sched: Kill set but unused variable \u0027protocol\u0027 in tc_classify()\n\nI checked the history and this has been like this since the\nbeginning of time.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "75ef0368d182785c7c5c06ac11081e31257a313e",
      "tree": "4be6d4ae5c872e77f685e4b33ee1956a779dc581",
      "parents": [
        "1e547757eca3c30eeeac526716e4ae833c2a9a2f"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Mar 15 18:11:46 2011 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat May 07 22:50:54 2011 -0700"
      },
      "message": "net,act_police,rcu: remove rcu_barrier()\n\nThere is no callback of this module maybe queued\nsince we use kfree_rcu(), we can safely remove the rcu_barrier().\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "5957b1ac52c5fde2afe5d80abe2a1cb82a9b4f20",
      "tree": "1b0a04a440d272fe925afd9cfe597bbc509c57bd",
      "parents": [
        "f5c8593c107500979909bd51c85e74bb2eaffbaa"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Mar 15 17:58:00 2011 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat May 07 22:50:48 2011 -0700"
      },
      "message": "net,rcu: convert call_rcu(tcf_police_free_rcu) to kfree_rcu()\n\n[PATCH 05/17] net,rcu: convert call_rcu(tcf_police_free_rcu) to kfree_rcu()\n\nThe rcu callback tcf_police_free_rcu() just calls a kfree(),\nso we use kfree_rcu() instead of the call_rcu(tcf_police_free_rcu).\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "f5c8593c107500979909bd51c85e74bb2eaffbaa",
      "tree": "af8a93c758fa2de9eaa8eed7110fe835efe62d23",
      "parents": [
        "025cea99db3fb110ebc8ede5ff647833fab9574f"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Mar 15 17:57:04 2011 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat May 07 22:50:48 2011 -0700"
      },
      "message": "net,rcu: convert call_rcu(tcf_common_free_rcu) to kfree_rcu()\n\nThe rcu callback tcf_common_free_rcu() just calls a kfree(),\nso we use kfree_rcu() instead of the call_rcu(tcf_common_free_rcu).\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    }
  ],
  "next": "b71d1d426d263b0b6cb5760322efebbfc89d4463"
}
