)]}'
{
  "log": [
    {
      "commit": "adfcf0b27e87d16a6a8c364daa724653d4d8930b",
      "tree": "568da73362373cf293e94eceddbfc4bebe43d2bb",
      "parents": [
        "0331b1f383e1fa4049f8e75cafeea8f006171c64"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:22:11 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:22:11 2008 -0800"
      },
      "message": "netns xfrm: per-netns policy list\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0331b1f383e1fa4049f8e75cafeea8f006171c64",
      "tree": "69409ab7c17e1527ed063bb4f2eda440e2cb4ea2",
      "parents": [
        "50a30657fd7ee77a94a6bf0ad86eba7c37c3032e"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:21:45 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:21:45 2008 -0800"
      },
      "message": "netns xfrm: add struct xfrm_policy::xp_net\n\nAgain, to avoid complications with passing netns when not necessary.\nAgain, -\u003exp_net is set-once field, once set it never changes.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "50a30657fd7ee77a94a6bf0ad86eba7c37c3032e",
      "tree": "7eb9165881b9082588eb2c373e9ed2ebc013321e",
      "parents": [
        "c78371441c0d957f54c9f8a35b3ee5a378d14808"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:21:01 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:21:01 2008 -0800"
      },
      "message": "netns xfrm: per-netns km_waitq\n\nDisallow spurious wakeups in __xfrm_lookup().\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c78371441c0d957f54c9f8a35b3ee5a378d14808",
      "tree": "660b55bc3d85aa04a72bbff6c7d357f82dc5494d",
      "parents": [
        "b8a0ae20b0eecd4b86a113d2abe2fa5a582b30a6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:20:36 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:20:36 2008 -0800"
      },
      "message": "netns xfrm: per-netns state GC work\n\nState GC is per-netns, and this is part of it.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b8a0ae20b0eecd4b86a113d2abe2fa5a582b30a6",
      "tree": "7425a504250c79c86c69293772a4a4271ed74237",
      "parents": [
        "630827338585022b851ec0a6335df8e436c900e4"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:20:11 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:20:11 2008 -0800"
      },
      "message": "netns xfrm: per-netns state GC list\n\nkm_waitq is going to be made per-netns to disallow spurious wakeups\nin __xfrm_lookup().\n\nTo not wakeup after every garbage-collected xfrm_state (which potentially\ncan be from different netns) make state GC list per-netns.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "630827338585022b851ec0a6335df8e436c900e4",
      "tree": "d40fcd9a94157171f14b481e7571ae255c6aab8f",
      "parents": [
        "0bf7c5b019518d3fe9cb96b9c97bf44d251472c3"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:19:07 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:19:07 2008 -0800"
      },
      "message": "netns xfrm: per-netns xfrm_hash_work\n\nAll of this is implicit passing which netns\u0027s hashes should be resized.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0bf7c5b019518d3fe9cb96b9c97bf44d251472c3",
      "tree": "9deba01a0f6a5e3bbe88f568be2d984e08254af3",
      "parents": [
        "529983ecabeae3d8e61c9e27079154b1b8544dcd"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:18:39 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:18:39 2008 -0800"
      },
      "message": "netns xfrm: per-netns xfrm_state counts\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "529983ecabeae3d8e61c9e27079154b1b8544dcd",
      "tree": "eb440806ba098ed3abf629bcb57c53e5a61e7b17",
      "parents": [
        "b754a4fd8f58d245c9b5e92914cce09c4309cb67"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:18:12 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:18:12 2008 -0800"
      },
      "message": "netns xfrm: per-netns xfrm_state_hmask\n\nSince hashtables are per-netns, they can be independently resized.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b754a4fd8f58d245c9b5e92914cce09c4309cb67",
      "tree": "b4b98f60c8be664723106a6ef91cdab669c29657",
      "parents": [
        "d320bbb306f2085892bc958781e8fcaf5d491589"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:17:47 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:17:47 2008 -0800"
      },
      "message": "netns xfrm: per-netns xfrm_state_byspi hash\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d320bbb306f2085892bc958781e8fcaf5d491589",
      "tree": "b86290122569b7201be6df4632eeca4fd4483ef9",
      "parents": [
        "73d189dce486cd6693fa29169b1aac0872efbcea"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:17:24 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:17:24 2008 -0800"
      },
      "message": "netns xfrm: per-netns xfrm_state_bysrc hash\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "73d189dce486cd6693fa29169b1aac0872efbcea",
      "tree": "1c82e87feef2d99d3644f98b66bc90006259d86e",
      "parents": [
        "9d4139c76905833afcb77fe8ccc17f302a0eb9ab"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:16:58 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:16:58 2008 -0800"
      },
      "message": "netns xfrm: per-netns xfrm_state_bydst hash\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9d4139c76905833afcb77fe8ccc17f302a0eb9ab",
      "tree": "40cb6b05eeffd0478f6d767effaa5d346aa3df82",
      "parents": [
        "673c09be457bb23aa0eaaa79804cbb342210d195"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:16:11 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:16:11 2008 -0800"
      },
      "message": "netns xfrm: per-netns xfrm_state_all list\n\nThis is done to get\na) simple \"something leaked\" check\nb) cover possible DoSes when other netns puts many, many xfrm_states\n   onto a list.\nc) not miss \"alien xfrm_state\" check in some of list iterators in future.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "673c09be457bb23aa0eaaa79804cbb342210d195",
      "tree": "9948d1859bbcd07316f5cea239b86845d6061570",
      "parents": [
        "d62ddc21b674b5ac1466091ff3fbf7baa53bc92c"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:15:16 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:15:16 2008 -0800"
      },
      "message": "netns xfrm: add struct xfrm_state::xs_net\n\nTo avoid unnecessary complications with passing netns around.\n\n* set once, very early after allocating\n* once set, never changes\n\nFor a while create every xfrm_state in init_net.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d62ddc21b674b5ac1466091ff3fbf7baa53bc92c",
      "tree": "13e57abe023b5258b168e7f9108015a78493e481",
      "parents": [
        "c95839693d2a6612af7f75ad877012eba2f69757"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:14:31 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:14:31 2008 -0800"
      },
      "message": "netns xfrm: add netns boilerplate\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c95839693d2a6612af7f75ad877012eba2f69757",
      "tree": "44b7ec37fa12e8824e527840c9e68994d415a659",
      "parents": [
        "46a8494a9de6b88a126993e6012322752f997b88"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:13:59 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:13:59 2008 -0800"
      },
      "message": "xfrm: initialise xfrm_policy_gc_work statically\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "45555c0ed436b8b06eeaa5c524a3377e6d24fb45",
      "tree": "b339a04dbcb47cfaf3c3a489624b7b404e229be5",
      "parents": [
        "ff0db0490a2eb6db4f03870987c5c8e3dd81e747"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 25 16:59:21 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 16:59:21 2008 -0800"
      },
      "message": "bluetooth: fix warning in net/bluetooth/rfcomm/sock.c\n\nfix this warning:\n\n  net/bluetooth/rfcomm/sock.c: In function ‘rfcomm_sock_ioctl’:\n  net/bluetooth/rfcomm/sock.c:795: warning: unused variable ‘sk’\n\nperhaps BT_DEBUG() should be improved to do printf format checking\ninstead of the #ifdef, but that looks quite intrusive: each bluetooth\n.c file undefines the macro.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ff0db0490a2eb6db4f03870987c5c8e3dd81e747",
      "tree": "8ca1dbcb1ed367d3c6ee482a1dfa049ca351e94e",
      "parents": [
        "e14bec2e2b59a6180f04544a867b7e52cd414455"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 25 16:58:42 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 16:58:42 2008 -0800"
      },
      "message": "sunrpc: fix warning in net/sunrpc/xprtrdma/verbs.c\n\nfix this warning:\n\n  net/sunrpc/xprtrdma/verbs.c: In function ‘rpcrdma_conn_upcall’:\n  net/sunrpc/xprtrdma/verbs.c:279: warning: unused variable ‘addr’\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e14bec2e2b59a6180f04544a867b7e52cd414455",
      "tree": "03203824ffb39b1758cf78325401935f6f35fa31",
      "parents": [
        "e6a176228a38d74c0360ca586146bd45a2ac2d60"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 25 16:58:19 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 16:58:19 2008 -0800"
      },
      "message": "ax25: fix warning in net/ax25/sysctl_net_ax25.c\n\nfix this warning:\n\n  net/ax25/sysctl_net_ax25.c:27: warning: ‘min_ds_timeout’ defined but not used\n  net/ax25/sysctl_net_ax25.c:27: warning: ‘max_ds_timeout’ defined but not used\n\nThese are only used in the CONFIG_AX25_DAMA_SLAVE case.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3ed7cc0f8b29da4304825a7bcef25fc83f84c1ae",
      "tree": "ee7dcfc216faa1668b763b25af55ad569e920f28",
      "parents": [
        "b71e839f9a33abf8634b1eea4875bc8057fe39e2"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 25 16:57:30 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 16:57:30 2008 -0800"
      },
      "message": "dccp: fix warning in net/dccp/options.c\n\nthis warning:\n\n  net/dccp/options.c: In function ‘dccp_parse_options’:\n  net/dccp/options.c:67: warning: ‘value’ may be used uninitialized in this function\n\nis a bogus GCC warning. The compiler does not recognize the relation\nbetween \"value\" and \"mandatory\" variables: the code flow can ever reach\nthe \"out_invalid_option:\" label if \u0027mandatory\u0027 is set to 1, and when\n\u0027mandatory\u0027 is non-zero, we\u0027ll always have \u0027value\u0027 initialized.\n\nHelp out the compiler by annotating the variable.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d3f644da909549a4cf0ad27541df342f75158cc0",
      "tree": "af627eccd250a06e714cfdb604c9fffb47c3f60c",
      "parents": [
        "2a9e79782d99160cad7d834eef9bb77b446e8532"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 25 16:51:13 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 16:51:13 2008 -0800"
      },
      "message": "dsa: fix warning in net/dsa/mv88e6060.c\n\nthis warning:\n\n  net/dsa/mv88e6060.c: In function ‘mv88e6060_poll_link’:\n  net/dsa/mv88e6060.c:225: warning: ‘port_status’ may be used uninitialized in this function\n\ntriggers because GCC does not recognize the (correct) error flow\nbetween \u0027link\u0027 and \u0027port_status\u0027.\n\nAnnotate it.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2a9e79782d99160cad7d834eef9bb77b446e8532",
      "tree": "97ef43ce1635e8837539ffb3dec18411f1a2a703",
      "parents": [
        "55205d400efe3260e29ad26dd64c992cec2efafd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 25 16:50:49 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 16:50:49 2008 -0800"
      },
      "message": "dsa: fix warning in net/dsa/mv88e6xxx.c\n\nthis warning:\n\n  net/dsa/mv88e6xxx.c: In function ‘mv88e6xxx_poll_link’:\n  net/dsa/mv88e6xxx.c:361: warning: ‘port_status’ may be used uninitialized in this function\n\ntriggers because GCC does not recognize the (correct) error flow\nbetween \u0027link\u0027 and \u0027port_status\u0027.\n\nAnnotate it.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "55205d400efe3260e29ad26dd64c992cec2efafd",
      "tree": "753b7a7a12ed1dba60399f6b6f7793873ed68788",
      "parents": [
        "dc0a0011cfa8ff01b86859006f4db3656c9a896b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 25 16:50:30 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 16:50:30 2008 -0800"
      },
      "message": "ipv6: fix warning in net/ipv6/ip6_flowlabel.c\n\nthis warning:\n\n  net/ipv6/ip6_flowlabel.c: In function ‘ipv6_flowlabel_opt’:\n  net/ipv6/ip6_flowlabel.c:467: warning: ‘err’ may be used uninitialized in this function\n\ntriggers because GCC does not recognize the (correct) error flow\nbetween fl_create() and \u0027err\u0027.\n\nAnnotate it.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dc0a0011cfa8ff01b86859006f4db3656c9a896b",
      "tree": "cd77c3bff690a8126ce5a1581d7205365a2d56fb",
      "parents": [
        "ed72b9c6e0ec4e66dd16b7ca212845e1eb985d65"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 25 16:50:02 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 16:50:02 2008 -0800"
      },
      "message": "pkt_sched: fix warning in net/sched/sch_hfsc.c\n\nthis warning:\n\n  net/sched/sch_hfsc.c: In function ‘hfsc_enqueue’:\n  net/sched/sch_hfsc.c:1577: warning: ‘err’ may be used uninitialized in this function\n\ntriggers because GCC does not recognize the (correct) error flow\nbetween hfsc_classify(), \u0027cl\u0027 and \u0027err\u0027.\n\nAnnotate it.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ed72b9c6e0ec4e66dd16b7ca212845e1eb985d65",
      "tree": "731d4865ab1b2c3acbc8077b6a03f33b87017a53",
      "parents": [
        "be5a3c62c805878d67036b4683f09118cab4c9fd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 25 16:49:37 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 16:49:37 2008 -0800"
      },
      "message": "sunrpc: fix warning in net/sunrpc/xprtrdma/svc_rdma_transport.c\n\nthis warning:\n\n  net/sunrpc/xprtrdma/svc_rdma_transport.c: In function ‘svc_rdma_accept’:\n  net/sunrpc/xprtrdma/svc_rdma_transport.c:830: warning: ‘dma_mr_acc’ may be used uninitialized in this function\n\ntriggers because GCC does not recognize the (correct) flow connection\nbetween need_dma_mr and dma_mr_acc.\n\nAnnotate it.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "09bb52175bf4d6a46fc8502e76be29206d9a677a",
      "tree": "93053a60197f03f66a7089fbf88f64ee93a955b8",
      "parents": [
        "cb13fc209f5c9394713319323166f74b01759ead"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Tue Nov 25 16:46:37 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 16:46:37 2008 -0800"
      },
      "message": "netns: filter out uevent not belonging to init_net\n\nThis patch will filter out the uevent not related to the init_net.\nWithout this patch if a network device is created in a network\nnamespace with the same name as one network device belonging to the\ninitial network namespace (eg. eth0), when the network namespace\nwill die and the network device will be destroyed, an event will\nbe sent and catched by the udevd daemon. That will result to have\nthe real network device to be shutdown because the udevd/uevent are\nnot namespace aware.\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9f782db3f5ceee9aa8de6f853969fbec1b8c6e65",
      "tree": "b798a8186941e5e95796862e3f2520f253791bf4",
      "parents": [
        "f6486d40b33d1ac2c44c7c55db7edf022d9f4329"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Tue Nov 25 13:57:01 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 13:57:01 2008 -0800"
      },
      "message": "tcp: skb_shift cannot cache frag ptrs past pskb_expand_head\n\nSince pskb_expand_head creates copy of the shared area we\ncannot keep any frag ptr past de-cloning. This fixes the\ntcpdump recvfrom -EFAULT problem.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f6486d40b33d1ac2c44c7c55db7edf022d9f4329",
      "tree": "d3ad09264b9074cc70a3c7ec4229273f4779d8ed",
      "parents": [
        "723b46108f8ee75b61ce703d0c9225e4f537bc46"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Tue Nov 25 13:56:06 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 13:56:06 2008 -0800"
      },
      "message": "pkt_sched: sch_api: Remove qdisc_list_lock\n\nAfter implementing qdisc-\u003eops-\u003epeek() there is no more calling\nqdisc_tree_decrease_qlen() without rtnl_lock(), so qdisc_list_lock\nadded by commit: f6e0b239a2657ea8cb67f0d83d0bfdbfd19a481b \"pkt_sched:\nFix qdisc list locking\" can be removed.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "723b46108f8ee75b61ce703d0c9225e4f537bc46",
      "tree": "f33c3d2b0e4f204a6b3f97ed198e1431a10ca448",
      "parents": [
        "5bc0b3bfa758e4ae49c94e31c1edb9a5f10a8060"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Nov 25 13:55:15 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 13:55:15 2008 -0800"
      },
      "message": "net: udp_unhash() can test if sk is hashed\n\nImpact: Optimization\n\nLike done in inet_unhash(), we can avoid taking a chain lock if\nsocket is not hashed in udp_unhash()\n\nTriggered by close(socket(AF_INET, SOCK_DGRAM, 0));\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5bc0b3bfa758e4ae49c94e31c1edb9a5f10a8060",
      "tree": "229c10e9c3db1b0e6b1dc0ac2b3964340d2f1732",
      "parents": [
        "8eecaba900e89643029fd2c253ad8ebb60761165"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Nov 25 13:53:27 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 13:53:27 2008 -0800"
      },
      "message": "net: Make sure BHs are disabled in sock_prot_inuse_add()\n\nprot-\u003edestroy is not called with BH disabled. So we must add\nexplicit BH disable around call to sock_prot_inuse_add()\nin sctp_destroy_sock()\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8eecaba900e89643029fd2c253ad8ebb60761165",
      "tree": "0b26268a6e0e97e9e859c25d2367cec0bff837f1",
      "parents": [
        "2f9889a20cd2854bc6305198255c617b0b4eb719"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Tue Nov 25 13:45:29 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 13:45:29 2008 -0800"
      },
      "message": "tcp: tcp_limit_reno_sacked can become static\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fb7e06748c29c08a9f5ca057a780b65acbb91c27",
      "tree": "9f55582d2e12561fc8930d50f4ab3a6f802b2156",
      "parents": [
        "6daad37230ab02bb593d179d704079d4b5912bd7"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 01:05:54 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 01:05:54 2008 -0800"
      },
      "message": "xfrm: remove useless forward declarations\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6daad37230ab02bb593d179d704079d4b5912bd7",
      "tree": "42b08ba70a788dea44af80c49584f23d08e12a44",
      "parents": [
        "69d728baf620839d1a3c874eecac316729f89de4"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 01:05:09 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 01:05:09 2008 -0800"
      },
      "message": "ah4/ah6: remove useless NULL assignments\n\nstruct will be kfreed in a moment, so...\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7a6b6f515f77d1c62a2f383b6dce18cb0af0cf4f",
      "tree": "eed74f9344c3f65beb5386b93eca05526be8a914",
      "parents": [
        "411c41eea58bd3500cf897e2c27dd5330935a3a8"
      ],
      "author": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Tue Nov 25 01:02:08 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 01:02:08 2008 -0800"
      },
      "message": "DCB: fix kconfig option\n\nSince the netlink option for DCB is necessary to actually be useful,\nsimplified the Kconfig option.  In addition, added useful help text for the\nKconfig option.\n\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0ace285605314c54339710484b54814945a60df8",
      "tree": "1bdfab683c0baea4827f0ee465ab9bc2e5833ba9",
      "parents": [
        "111cc8b913b42ef07793648b1699288332f273e1"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Nov 24 21:30:21 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 24 21:30:21 2008 -0800"
      },
      "message": "tcp: handle shift/merge of cloned skbs too\n\nThis caused me to get repeatably:\n\n  tcpdump: pcap_loop: recvfrom: Bad address\n\nHappens occassionally when I tcpdump my for-looped test xfers:\n  while [ : ]; do echo -n \"$(date \u0027+%s.%N\u0027) \"; ./sendfile; sleep 20; done\n\nRest of the relevant commands:\n  ethtool -K eth0 tso off\n  tc qdisc add dev eth0 root netem drop 4%\n  tcpdump -n -s0 -i eth0 -w sacklog.all\n\nRunning net-next under kvm, connection goes to the same host\n(basically just out of kvm). The connection itself works ok\nand data gets sent without corruption even with a large\nnumber of tests while tcpdump fails usually within less than\n5 tests.\n\nWhether it only happens because of this change or not, I\ndon\u0027t know for sure but it\u0027s the only thing with which\nI\u0027ve seen that error. The non-cloned variant works w/o it\nfor much longer time. I\u0027m yet to debug where the error\nactually comes from.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "111cc8b913b42ef07793648b1699288332f273e1",
      "tree": "f74fb48630319113247b5ee0c660b24f2af160d9",
      "parents": [
        "92ee76b6d99bfcdab6162816c9025541ef7248eb"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Nov 24 21:27:22 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 24 21:27:22 2008 -0800"
      },
      "message": "tcp: add some mibs to track collapsing\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "92ee76b6d99bfcdab6162816c9025541ef7248eb",
      "tree": "84ff34e13792073b32e8e767f47598e373d2689d",
      "parents": [
        "832d11c5cd076abc0aa1eaf7be96c81d1a59ce41"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Nov 24 21:26:56 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 24 21:26:56 2008 -0800"
      },
      "message": "tcp: Make shifting not clear the hints\n\nThe earlier version was just very basic one which is \"playing\nsafe\" by always clearing the hints. However, clearing of a hint\nis extremely costly operation with large windows, so it must be\navoided at all cost whenever possible, there is a way with\nshifting too achieve not-clearing.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "832d11c5cd076abc0aa1eaf7be96c81d1a59ce41",
      "tree": "95b22ad16d1ff414cab39578ed8c927c2ce08723",
      "parents": [
        "f58b22fd3c16444edc393a217a74208f1894b601"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Nov 24 21:20:15 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 24 21:20:15 2008 -0800"
      },
      "message": "tcp: Try to restore large SKBs while SACK processing\n\nDuring SACK processing, most of the benefits of TSO are eaten by\nthe SACK blocks that one-by-one fragment SKBs to MSS sized chunks.\nThen we\u0027re in problems when cleanup work for them has to be done\nwhen a large cumulative ACK comes. Try to return back to pre-split\nstate already while more and more SACK info gets discovered by\ncombining newly discovered SACK areas with the previous skb if\nthat\u0027s SACKed as well.\n\nThis approach has a number of benefits:\n\n1) The processing overhead is spread more equally over the RTT\n2) Write queue has less skbs to process (affect everything\n   which has to walk in the queue past the sacked areas)\n3) Write queue is consistent whole the time, so no other parts\n   of TCP has to be aware of this (this was not the case with\n   some other approach that was, well, quite intrusive all\n   around).\n4) Clean_rtx_queue can release most of the pages using single\n   put_page instead of previous PAGE_SIZE/mss+1 calls\n\nIn case a hole is fully filled by the new SACK block, we attempt\nto combine the next skb too which allows construction of skbs\nthat are even larger than what tso split them to and it handles\nhole per on every nth patterns that often occur during slow start\novershoot pretty nicely. Though this to be really useful also\na retransmission would have to get lost since cumulative ACKs\nadvance one hole at a time in the most typical case.\n\nTODO: handle upwards only merging. That should be rather easy\nwhen segment is fully sacked but I\u0027m leaving that as future\nwork item (it won\u0027t make very large difference anyway since\nthis current approach already covers quite a lot of normal\ncases).\n\nI was earlier thinking of some sophisticated way of tracking\ntimestamps of the first and the last segment but later on\nrealized that it won\u0027t be that necessary at all to store the\ntimestamp of the last segment. The cases that can occur are\nbasically either:\n  1) ambiguous \u003d\u003e no sensible measurement can be taken anyway\n  2) non-ambiguous is due to reordering \u003d\u003e having the timestamp\n     of the last segment there is just skewing things more off\n     than does some good since the ack got triggered by one of\n     the holes (besides some substle issues that would make\n     determining right hole/skb even harder problem). Anyway,\n     it has nothing to do with this change then.\n\nI choose to route some abnormal looking cases with goto noop,\nsome could be handled differently (eg., by stopping the\nwalking at that skb but again). In general, they either\nshouldn\u0027t happen at all or are rare enough to make no difference\nin practice.\n\nIn theory this change (as whole) could cause some macroscale\nregression (global) because of cache misses that are taken over\nthe round-trip time but it gets very likely better because of much\nless (local) cache misses per other write queue walkers and the\nbig recovery clearing cumulative ack.\n\nWorth to note that these benefits would be very easy to get also\nwithout TSO/GSO being on as long as the data is in pages so that\nwe can merge them. Currently I won\u0027t let that happen because\nDSACK splitting at fragment that would mess up pcounts due to\nsk_can_gso in tcp_set_skb_tso_segs. Once DSACKs fragments gets\navoided, we have some conditions that can be made less strict.\n\nTODO: I will probably have to convert the excessive pointer\npassing to struct sacktag_state... :-)\n\nMy testing revealed that considerable amount of skbs couldn\u0027t\nbe shifted because they were cloned (most likely still awaiting\ntx reclaim)...\n\n[The rest is considering future work instead since I got\nrepeatably EFAULT to tcpdump\u0027s recvfrom when I added\npskb_expand_head to deal with clones, so I separated that\ninto another, later patch]\n\n...To counter that, I gave up on the fifth advantage:\n\n5) When growing previous SACK block, less allocs for new skbs\n   are done, basically a new alloc is needed only when new hole\n   is detected and when the previous skb runs out of frags space\n\n...which now only happens of if reclaim is fast enough to dispose\nthe clone before the SACK block comes in (the window is RTT long),\notherwise we\u0027ll have to alloc some.\n\nWith clones being handled I got these numbers (will be somewhat\nworse without that), taken with fine-grained mibs:\n\n                  TCPSackShifted 398\n                   TCPSackMerged 877\n            TCPSackShiftFallback 320\n      TCPSACKCOLLAPSEFALLBACKGSO 0\n  TCPSACKCOLLAPSEFALLBACKSKBBITS 0\n  TCPSACKCOLLAPSEFALLBACKSKBDATA 0\n    TCPSACKCOLLAPSEFALLBACKBELOW 0\n    TCPSACKCOLLAPSEFALLBACKFIRST 1\n TCPSACKCOLLAPSEFALLBACKPREVBITS 318\n      TCPSACKCOLLAPSEFALLBACKMSS 1\n   TCPSACKCOLLAPSEFALLBACKNOHEAD 0\n    TCPSACKCOLLAPSEFALLBACKSHIFT 0\n          TCPSACKCOLLAPSENOOPSEQ 0\n  TCPSACKCOLLAPSENOOPSMALLPCOUNT 0\n     TCPSACKCOLLAPSENOOPSMALLLEN 0\n             TCPSACKCOLLAPSEHOLE 12\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f58b22fd3c16444edc393a217a74208f1894b601",
      "tree": "df0c59de99d337c001703295d6d02919940dafc3",
      "parents": [
        "adb92db857ee2a0a2b925ccfbd560203c3f88aae"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Nov 24 21:14:43 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 24 21:14:43 2008 -0800"
      },
      "message": "tcp: make tcp_sacktag_one able to handle partial skb too\n\nThis is preparatory work for SACK combiner patch which may\nhave to count TCP state changes for only a part of the skb\nbecause it will intentionally avoids splitting skb to SACKed\nand not sacked parts.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "adb92db857ee2a0a2b925ccfbd560203c3f88aae",
      "tree": "fac842e439d3a6bcd54aef5ab72a53fa831119a9",
      "parents": [
        "e8bae275d9354104f7ae24a48a90d1a6286e7bd9"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Nov 24 21:13:50 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 24 21:13:50 2008 -0800"
      },
      "message": "tcp: Make SACK code to split only at mss boundaries\n\nSadly enough, this adds possible divide though we try to avoid\nit by checking one mss as common case.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e8bae275d9354104f7ae24a48a90d1a6286e7bd9",
      "tree": "90f4bb2abd9eb31b3faa6393f1e164ac48b57238",
      "parents": [
        "e1aa680fa40e7492260a09cb57d94002245cc8fe"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Nov 24 21:12:28 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 24 21:12:28 2008 -0800"
      },
      "message": "tcp: more aggressive skipping\n\nI knew already when rewriting the sacktag that this condition\nwas too conservative, change it now since it prevent lot of\nuseless work (especially in the sack shifter decision code\nthat is being added by a later patch). This shouldn\u0027t change\nanything really, just save some processing regardless of the\nshifter.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e1aa680fa40e7492260a09cb57d94002245cc8fe",
      "tree": "67afc8d71c9de6f76036942cd442d628ae26a4f3",
      "parents": [
        "4a17fc3add594fcc1c778e93a95b6ecf47f630e5"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Nov 24 21:11:55 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 24 21:11:55 2008 -0800"
      },
      "message": "tcp: move tcp_simple_retransmit to tcp_input\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4a17fc3add594fcc1c778e93a95b6ecf47f630e5",
      "tree": "b82a594e347812c130765bcc85194a7ef96766df",
      "parents": [
        "a21bba945430f3f5e00c349665f88cdacdb32a8d"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Nov 24 21:03:43 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 24 21:03:43 2008 -0800"
      },
      "message": "tcp: collapse more than two on retransmission\n\nI always had thought that collapsing up to two at a time was\nintentional decision to avoid excessive processing if 1 byte\nsized skbs are to be combined for a full mtu, and consecutive\nretransmissions would make the size of the retransmittee\ndouble each round anyway, but some recent discussion made me\nto understand that was not the case. Thus make collapse work\nmore and wait less.\n\nIt would be possible to take advantage of the shifting\nmachinery (added in the later patch) in the case of paged\ndata but that can be implemented on top of this change.\n\ntcp_skb_is_last check is now provided by the loop.\n\nI tested a bit (ss-after-idle-off, fill 4096x4096B xfer,\n10s sleep + 4096 x 1byte writes while dropping them for\nsome a while with netem):\n\n. 16774097:16775545(1448) ack 1 win 46\n. 16775545:16776993(1448) ack 1 win 46\n. ack 16759617 win 2399\nP 16776993:16777217(224) ack 1 win 46\n. ack 16762513 win 2399\n. ack 16765409 win 2399\n. ack 16768305 win 2399\n. ack 16771201 win 2399\n. ack 16774097 win 2399\n. ack 16776993 win 2399\n. ack 16777217 win 2399\nP 16777217:16777257(40) ack 1 win 46\n. ack 16777257 win 2399\nP 16777257:16778705(1448) ack 1 win 46\nP 16778705:16780153(1448) ack 1 win 46\nFP 16780153:16781313(1160) ack 1 win 46\n. ack 16778705 win 2399\n. ack 16780153 win 2399\nF 1:1(0) ack 16781314 win 2399\n\nWhile without drop-all period I get this:\n\n. 16773585:16775033(1448) ack 1 win 46\n. ack 16764897 win 9367\n. ack 16767793 win 9367\n. ack 16770689 win 9367\n. ack 16773585 win 9367\n. 16775033:16776481(1448) ack 1 win 46\nP 16776481:16777217(736) ack 1 win 46\n. ack 16776481 win 9367\n. ack 16777217 win 9367\nP 16777217:16777218(1) ack 1 win 46\nP 16777218:16777219(1) ack 1 win 46\nP 16777219:16777220(1) ack 1 win 46\n  ...\nP 16777247:16777248(1) ack 1 win 46\n. ack 16777218 win 9367\n. ack 16777219 win 9367\n  ...\n. ack 16777233 win 9367\n. ack 16777248 win 9367\nP 16777248:16778696(1448) ack 1 win 46\nP 16778696:16780144(1448) ack 1 win 46\nFP 16780144:16781313(1169) ack 1 win 46\n. ack 16780144 win 9367\nF 1:1(0) ack 16781314 win 9367\n\nThe window seems to be 30-40 segments, which were successfully\ncombined into: P 16777217:16777257(40) ack 1 win 46\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a21bba945430f3f5e00c349665f88cdacdb32a8d",
      "tree": "9ff6a910b16925d2ee3c02b7221f3984ad5cd949",
      "parents": [
        "2e77d89b2fa8e3f8325b8ce7893ec3645f41aff5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Nov 24 16:07:50 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 24 16:07:50 2008 -0800"
      },
      "message": "net: avoid a pair of dst_hold()/dst_release() in ip_push_pending_frames()\n\nWe can reduce pressure on dst entry refcount that slowdown UDP transmit\npath on SMP machines. This pressure is visible on RTP servers when\ndelivering content to mediagateways, especially big ones, handling\nthousand of streams. Several cpus send UDP frames to the same\ndestination, hence use the same dst entry.\n\nThis patch makes ip_push_pending_frames() steal the refcount its\ncallers had to take when filling inet-\u003ecork.dst.\n\nThis doesnt avoid all refcounting, but still gives speedups on SMP,\non UDP/RAW transmit path.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2e77d89b2fa8e3f8325b8ce7893ec3645f41aff5",
      "tree": "ae40aa75449f705bd166630f9bcb5f41373d8248",
      "parents": [
        "4db0acf3c0afbbbb2ae35a65f8896ca6655a47ec"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Nov 24 15:52:46 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 24 15:52:46 2008 -0800"
      },
      "message": "net: avoid a pair of dst_hold()/dst_release() in ip_append_data()\n\nWe can reduce pressure on dst entry refcount that slowdown UDP transmit\npath on SMP machines. This pressure is visible on RTP servers when\ndelivering content to mediagateways, especially big ones, handling\nthousand of streams. Several cpus send UDP frames to the same\ndestination, hence use the same dst entry.\n\nThis patch makes ip_append_data() eventually steal the refcount its\ncallers had to take on the dst entry.\n\nThis doesnt avoid all refcounting, but still gives speedups on SMP,\non UDP/RAW transmit path\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4db0acf3c0afbbbb2ae35a65f8896ca6655a47ec",
      "tree": "e13b52665a811f9c5ad3621a2408be1b4f70c78c",
      "parents": [
        "3f0947c3ffaed33c1c38b79e4b17f75ba072d3e9"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Mon Nov 24 15:48:05 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 24 15:48:05 2008 -0800"
      },
      "message": "net: gen_estimator: Fix gen_kill_estimator() lookups\n\ngen_kill_estimator() linear lists lookups are very slow, and e.g. while\ndeleting a large number of HTB classes soft lockups were reported. Here\nis another try to fix this problem: this time internally, with rbtree,\nso similarly to Jamal\u0027s hashing idea IIRC. (Looking for next hits could\nbe still optimized, but it\u0027s really fast as it is.)\n\nReported-by: Badalian Vyacheslav \u003cslavon@bigtelecom.ru\u003e\nReported-by: Denys Fedoryshchenko \u003cdenys@visp.net.lb\u003e\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nAcked-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3f0947c3ffaed33c1c38b79e4b17f75ba072d3e9",
      "tree": "aabc1d3fadbfbfb97b2fe56884fad70197e50d47",
      "parents": [
        "4b40eed73e3787d60160beed1352ceadd24f6be1"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Nov 24 15:46:08 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 24 15:46:08 2008 -0800"
      },
      "message": "pkt_sched: sch_drr: fix drr_dequeue loop()\n\nJarek Poplawski points out:\n\nIf all child qdiscs of sch_drr are non-work-conserving (e.g. sch_tbf)\ndrr_dequeue() will busy-loop waiting for skbs instead of leaving the\njob for a watchdog. Checking for list_empty() in each loop isn\u0027t\nnecessary either, because this can never be true except the first time.\n\nUsing non-work-conserving qdiscs as children of DRR makes no sense,\nsimply bail out in that case.\n\nReported-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3755810cebf7f9902b05c7ba9baeac0fc44881be",
      "tree": "e4bee0e33103781034fdf6144898a67b21778ad7",
      "parents": [
        "920de804bca61f88643bc9171bcd06f1a56c6258"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Nov 24 14:05:22 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 24 14:05:22 2008 -0800"
      },
      "message": "net: Make sure BHs are disabled in sock_prot_inuse_add()\n\nThere is still a call to sock_prot_inuse_add() in af_netlink\nwhile in a preemptable section. Add explicit BH disable around\nthis call.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "920de804bca61f88643bc9171bcd06f1a56c6258",
      "tree": "fb4c90b4b167a4b7518ea888e99bfd18a7d301fb",
      "parents": [
        "1f87e235e6fb92c2968b52b9191de04f1aff8e77"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Nov 24 00:09:29 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 24 00:09:29 2008 -0800"
      },
      "message": "net: Make sure BHs are disabled in sock_prot_inuse_add()\n\nThe rule of calling sock_prot_inuse_add() is that BHs must\nbe disabled.  Some new calls were added where this was not\ntrue and this tiggers warnings as reported by Ilpo.\n\nFix this by adding explicit BH disabling around those call sites,\nor moving sock_prot_inuse_add() call inside an existing BH disabled\nsection.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1f87e235e6fb92c2968b52b9191de04f1aff8e77",
      "tree": "ab774d239c61b6c206ef07398828533cdd01915e",
      "parents": [
        "70eb1bfd52e97120eddf9b5aaabfe1ecdf4eb663"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Nov 23 23:24:32 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 23 23:24:32 2008 -0800"
      },
      "message": "eth: Declare an optimized compare_ether_addr_64bits() function\n\nLinus mentioned we could try to perform long word operations, even\non potentially unaligned addresses, on x86 at least. David mentioned\nthe HAVE_EFFICIENT_UNALIGNED_ACCESS test to handle this on all\narches that have efficient unailgned accesses.\n\nI tried this idea and got nice assembly on 32 bits:\n\n158:   33 82 38 01 00 00       xor    0x138(%edx),%eax\n15e:   33 8a 34 01 00 00       xor    0x134(%edx),%ecx\n164:   c1 e0 10                shl    $0x10,%eax\n167:   09 c1                   or     %eax,%ecx\n169:   74 0b                   je     176 \u003ceth_type_trans+0x87\u003e\n\nAnd very nice assembly on 64 bits of course (one xor, one shl)\n\nNice oprofile improvement in eth_type_trans(), 0.17 % instead of 0.41 %,\nexpected since we remove 8 instructions on a fast path.\n\nThis patch implements a compare_ether_addr_64bits() function, that\nuses the CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS ifdef to efficiently\nperform the 6 bytes comparison on all capable arches.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6f756a8c36bf54d0afb1d457082b3e3033d951a7",
      "tree": "33efc99e3df9edf1d777a00913852d24d19b930b",
      "parents": [
        "be77e5930725c3e77bcc0fb1def28e016080d0a1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 23 17:34:03 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 23 17:34:03 2008 -0800"
      },
      "message": "net: Make sure BHs are disabled in sock_prot_inuse_add()\n\nThe rule of calling sock_prot_inuse_add() is that BHs must\nbe disabled.  Some new calls were added where this was not\ntrue and this tiggers warnings as reported by Ilpo.\n\nFix this by adding explicit BH disabling around those call sites.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "be77e5930725c3e77bcc0fb1def28e016080d0a1",
      "tree": "f0bfe670f5ef785567db3b65afc244b7664200c1",
      "parents": [
        "c25eb3bfb97294d0543a81230fbc237046b4b84c"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun Nov 23 17:26:26 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 23 17:26:26 2008 -0800"
      },
      "message": "net: fix tunnels in netns after ndo_ changes\n\ndev_net_set() should be the very first thing after alloc_netdev().\n\n\"ndo_\" changes turned simple assignment (which is OK to do before netns\nassignment) into quite non-trivial operation (which is not OK, init_net was\nused). This leads to incomplete initialisation of tunnel device in netns.\n\nBUG: unable to handle kernel NULL pointer dereference at 00000004\nIP: [\u003cc02efdb5\u003e] ip6_tnl_exit_net+0x37/0x4f\n*pde \u003d 00000000 \nOops: 0000 [#1] PREEMPT DEBUG_PAGEALLOC\nlast sysfs file: /sys/class/net/lo/operstate\n\nPid: 10, comm: netns Not tainted (2.6.28-rc6 #1) \nEIP: 0060:[\u003cc02efdb5\u003e] EFLAGS: 00010246 CPU: 0\nEIP is at ip6_tnl_exit_net+0x37/0x4f\nEAX: 00000000 EBX: 00000020 ECX: 00000000 EDX: 00000003\nESI: c5caef30 EDI: c782bbe8 EBP: c7909f50 ESP: c7909f48\n DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068\nProcess netns (pid: 10, ti\u003dc7908000 task\u003dc7905780 task.ti\u003dc7908000)\nStack:\n c03e75e0 c7390bc8 c7909f60 c0245448 c7390bd8 c7390bf0 c7909fa8 c012577a\n 00000000 00000002 00000000 c0125736 c782bbe8 c7909f90 c0308fe3 c782bc04\n c7390bd4 c0245406 c084b718 c04f0770 c03ad785 c782bbe8 c782bc04 c782bc0c\nCall Trace:\n [\u003cc0245448\u003e] ? cleanup_net+0x42/0x82\n [\u003cc012577a\u003e] ? run_workqueue+0xd6/0x1ae\n [\u003cc0125736\u003e] ? run_workqueue+0x92/0x1ae\n [\u003cc0308fe3\u003e] ? schedule+0x275/0x285\n [\u003cc0245406\u003e] ? cleanup_net+0x0/0x82\n [\u003cc0125ae1\u003e] ? worker_thread+0x81/0x8d\n [\u003cc0128344\u003e] ? autoremove_wake_function+0x0/0x33\n [\u003cc0125a60\u003e] ? worker_thread+0x0/0x8d\n [\u003cc012815c\u003e] ? kthread+0x39/0x5e\n [\u003cc0128123\u003e] ? kthread+0x0/0x5e\n [\u003cc0103b9f\u003e] ? kernel_thread_helper+0x7/0x10\nCode: db e8 05 ff ff ff 89 c6 e8 dc 04 f6 ff eb 08 8b 40 04 e8 38 89 f5 ff 8b 44 9e 04 85 c0 75 f0 43 83 fb 20 75 f2 8b 86 84 00 00 00 \u003c8b\u003e 40 04 e8 1c 89 f5 ff e8 98 04 f6 ff 89 f0 e8 f8 63 e6 ff 5b \nEIP: [\u003cc02efdb5\u003e] ip6_tnl_exit_net+0x37/0x4f SS:ESP 0068:c7909f48\n---[ end trace 6c2f2328fccd3e0c ]---\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c25eb3bfb97294d0543a81230fbc237046b4b84c",
      "tree": "6c9deabfb12f4d31f280cfcfe7e7580a2089931c",
      "parents": [
        "8c862c23e2563e6aedfc6c4aa6827cadb83f2414"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Nov 23 17:22:55 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 23 17:22:55 2008 -0800"
      },
      "message": "net: Convert TCP/DCCP listening hash tables to use RCU\n\nThis is the last step to be able to perform full RCU lookups\nin __inet_lookup() : After established/timewait tables, we\nadd RCU lookups to listening hash table.\n\nThe only trick here is that a socket of a given type (TCP ipv4,\nTCP ipv6, ...) can now flight between two different tables\n(established and listening) during a RCU grace period, so we\nmust use different \u0027nulls\u0027 end-of-chain values for two tables.\n\nWe define a large value :\n\n#define LISTENING_NULLS_BASE (1U \u003c\u003c 29)\n\nSo that slots in listening table are guaranteed to have different\nend-of-chain values than slots in established table. A reader can\nstill detect it finished its lookup in the right chain.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8c862c23e2563e6aedfc6c4aa6827cadb83f2414",
      "tree": "55550ae7c2b62e5b93a09487278db91c334d615a",
      "parents": [
        "d371056695ef993d36c57b73d654e66080377a9c"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Nov 23 16:10:23 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 23 16:10:23 2008 -0800"
      },
      "message": "dccp: Header option insertion routine for feature-negotiation\n\nThe patch extends existing code:\n * Confirm options divide into the confirmed value plus an optional preference\n   list for SP values. Previously only the preference list was echoed for SP\n   values, now the confirmed value is added as per RFC 4340, 6.1;\n * length and sanity checks are added to avoid illegal memory (or NULL) access.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d371056695ef993d36c57b73d654e66080377a9c",
      "tree": "85e587e5558cf00232d8b24b4e28a390d3856d2a",
      "parents": [
        "02fa460ef553faabc7e0b15ff9f607f028739808"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Nov 23 16:09:11 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 23 16:09:11 2008 -0800"
      },
      "message": "dccp: Support for Mandatory options\n\nSupport for Mandatory options is provided by this patch, which will\nbe used by subsequent feature-negotiation patches.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "02fa460ef553faabc7e0b15ff9f607f028739808",
      "tree": "04342d781df0b0a1953cfcc6c52cbca7e172896a",
      "parents": [
        "71c262a3dd42dea73700646d969b0af7a4102edf"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Nov 23 16:07:53 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 23 16:07:53 2008 -0800"
      },
      "message": "dccp: Increase the scope of variable-length htonl/ntohl functions\n\nThis extends the scope of two available functions,\nencode|decode_value_var, to work up to 6 (8) bytes, to match maximum\nrequirements in the RFC.\n\nThese functions are going to be used both by general option processing\nand feature negotiation code, hence declarations have been put into\nfeat.h.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "71c262a3dd42dea73700646d969b0af7a4102edf",
      "tree": "7586f62639805bc6b6854b71294e53be66490f2c",
      "parents": [
        "b20a9c24d5c5d466d7e4a25c6f1bedbd2d16ad4f"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Nov 23 16:04:59 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 23 16:04:59 2008 -0800"
      },
      "message": "dccp: API to query the current TX/RX CCID\n\nThis provides function to query the current TX/RX CCID dynamically,\nwithout reliance on the minisock value, using dynamic information\navailable in the currently loaded CCID module.\n\nThis query function is then used to\n (a) provide the getsockopt part for getting/setting CCIDs via sockopts;\n (b) replace the current test for \"which CCID is in use\" in probe.c.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b20a9c24d5c5d466d7e4a25c6f1bedbd2d16ad4f",
      "tree": "17789215657f693caf36e22d3e724cc1b1e07ba6",
      "parents": [
        "2c62ad7b56fa8e2658253c0256ef4c4de228a0b9"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Nov 23 16:02:31 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 23 16:02:31 2008 -0800"
      },
      "message": "dccp: Set per-connection CCIDs via socket options\n\nWith this patch, TX/RX CCIDs can now be changed on a per-connection\nbasis, which overrides the defaults set by the global sysctl variables\nfor TX/RX CCIDs.\n\nTo make full use of this facility, the remaining patches of this patch\nset are needed, which track dependencies and activate negotiated\nfeature values.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c1fd3b9455a977057f73534324d4e07a3d9fe502",
      "tree": "d145a2db2a6195666cf89ff92563de5613847ec9",
      "parents": [
        "04f258ce7f085dd69422fa01d41c8f0194a0e270"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Nov 23 15:48:22 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 23 15:48:22 2008 -0800"
      },
      "message": "net: af_netlink should update its inuse counter\n\nIn order to have relevant information for NETLINK protocol, in\n/proc/net/protocols, we should use sock_prot_inuse_add() to\nupdate a (percpu and pernamespace) counter of inuse sockets.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "04f258ce7f085dd69422fa01d41c8f0194a0e270",
      "tree": "948bf0a108717265df6228bcac2126ec423cb988",
      "parents": [
        "c46920dadba65856eb1a1f1ffa1b350875db1228"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Nov 23 15:42:23 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 23 15:42:23 2008 -0800"
      },
      "message": "net: some optimizations in af_inet\n\n1) Use eq_net() in inet_netns_ok() to speedup socket creation if\n   !CONFIG_NET_NS\n\n2) Reorder the tests about inet_ehash_secret generation (once only)\n   Use the unlikely() macro when testing if inet_ehash_secret already\n   generated.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf005b1d0e34d8c964347331c43de089c674a5a1",
      "tree": "c766e3fec0fa742ec38c2419bce4035e03424425",
      "parents": [
        "6c0bce37ffc8f000a516fadf6dee84579c4c8f9b"
      ],
      "author": {
        "name": "Qinghuang Feng",
        "email": "qhfeng.kernel@gmail.com",
        "time": "Fri Nov 21 17:15:03 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 21 17:15:03 2008 -0800"
      },
      "message": "net: remove redundant argument comments\n\nRemove redundant argument comments in files of net/*\n\nSigned-off-by: Qinghuang Feng \u003cqhfeng.kernel@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6c0bce37ffc8f000a516fadf6dee84579c4c8f9b",
      "tree": "273af34d6f777b1ecb0fce7b2685e868064e6cf9",
      "parents": [
        "e243455d345ef62751723671bc2605a2f6032ceb",
        "a1eb5fe319beb9e181aa52c8adf75ad9aab56a89"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 21 17:05:11 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 21 17:05:11 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "7e3aab4a9cd7d37f80eee75bebb6a71347f82476",
      "tree": "78019d607b6e72ca83c65695ee017262e471ef81",
      "parents": [
        "176301e82190adb70f9bdf37cd5cb08fcfcb25fb"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 21 16:39:19 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 21 16:39:19 2008 -0800"
      },
      "message": "inet_diag: Missed conversion after changing inet ehash lockl to spinlocks.\n\nThey are no longer a rwlocks.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4f6d4d1e36f30ac05bc39bcbfdba09e64e0f918c",
      "tree": "8a19adc28972d45ce9353b205c62303526bf1a6d",
      "parents": [
        "96dd603f3817c5289a906539cb85bddae9536868"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Oct 28 14:00:54 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Nov 21 11:08:19 2008 -0500"
      },
      "message": "wireless: clean up sysfs code using %pM\n\nRemove converting the MAC address to a string by a direct byte\nconversion and use %pM instead, since the code is now boilerplate\nuse a macro to define the show functions, and also use the shorter\n__ATTR_RO macro to define the attributes.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "beb2a7f331361bfe81e71acdb0739eae570475a2",
      "tree": "de7ee004296ae3bd5aeb85c19c82d419074f4f29",
      "parents": [
        "0795cd29b6fe05107b40080cb1fccadb96320c96"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Nov 11 16:45:38 2008 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Nov 21 11:08:18 2008 -0500"
      },
      "message": "net/ieee80211 -\u003e drivers/net/ipw2x00/libipw_* rename\n\nThe old ieee80211 code only remains as a support library for the ipw2100\nand ipw2200 drivers.  So, move the code and rename it appropriately to\nreflects it\u0027s true purpose and status.\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2ba4b32ecf748d5f45f298fc9677fa46d1dd9aff",
      "tree": "ebdf68be060014d9f5c799cf1cb54462bc896140",
      "parents": [
        "274bfb8dc5ffa16cb073801bebe76ab7f4e2e73d"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Nov 11 16:00:06 2008 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Nov 21 11:08:17 2008 -0500"
      },
      "message": "lib80211: consolidate crypt init routines\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "274bfb8dc5ffa16cb073801bebe76ab7f4e2e73d",
      "tree": "04cd3f6a062496911b56737daa6a0858b769ccd6",
      "parents": [
        "dfe1bafdbac1c7b48b636fb7ace799e78170e0d6"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Oct 29 11:35:05 2008 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Nov 21 11:08:17 2008 -0500"
      },
      "message": "lib80211: absorb crypto bits from net/ieee80211\n\nThese bits are shared already between ipw2x00 and hostap, and could\nprobably be shared both more cleanly and with other drivers.  This\ncommit simply relocates the code to lib80211 and adjusts the drivers\nappropriately.\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1d047def6d19106a91f7756f970ac8429033a4d8",
      "tree": "2e04d5c89ee1d624b50c1f38354315bfd2e334d0",
      "parents": [
        "8ff48a8bbe4a1ba29dea2836dfce74660f97c1be"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "ramirose@gmail.com",
        "time": "Mon Nov 10 09:01:09 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Nov 21 11:08:17 2008 -0500"
      },
      "message": "mac80211: remove unnecessary include.\n\nThis patch removes unnecessary #include \u003clinux/netdevice.h\u003e from\n/net/mac80211/mlme.c.\n\nSigned-off-by: Rami Rosen \u003cramirose@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9902b1843ff460d08a40d6c99ad8f5362296c3d4",
      "tree": "4bbf698805470770c3f8658ae964070968d77c38",
      "parents": [
        "798b7adb4ed3533ab1282f51d16892034cfd8aae"
      ],
      "author": {
        "name": "Tomas Winkler",
        "email": "tomas.winkler@intel.com",
        "time": "Sat Nov 08 23:50:55 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Nov 21 11:08:16 2008 -0500"
      },
      "message": "mac80211: rc80211_pid eliminate sparse warnings\n\nThis patch eliminates sparse warnings in pid rate scale algorithm\n\u0027debugfs: allow access to signed values\u0027 patch hit the dead end\nyear ago w/o much echo so I guess there is no real need to address this\nproperly.\n\nSigned-off-by: Tomas Winkler \u003ctomas.winkler@intel.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0ed94eaaed618634f68197161203aac9f849471e",
      "tree": "daa650a6f9272f21c2dd5f3e6ed33fbd1a2e639c",
      "parents": [
        "e4e58cf8cc646d93de852f32f972448a95387c60"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Nov 07 19:50:42 2008 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Nov 21 11:08:15 2008 -0500"
      },
      "message": "mac80211: remove more excess kernel-doc\n\nDelete kernel-doc struct descriptions for fields that don\u0027t exist:\n\nWarning(include/net/mac80211.h:1263): Excess struct/union/enum/typedef member \u0027conf_ht\u0027 description in \u0027ieee80211_ops\u0027\nWarning(net/mac80211/sta_info.h:309): Excess struct/union/enum/typedef member \u0027addr\u0027 description in \u0027sta_info\u0027\nWarning(net/mac80211/sta_info.h:309): Excess struct/union/enum/typedef member \u0027aid\u0027 description in \u0027sta_info\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\ncc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\ncc: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a3c9aa512945aa5552d03c7d6d6c3b826a3f9e28",
      "tree": "7115dde22db957f1b8c75966614a5fe921788db7",
      "parents": [
        "b7b05fe7f92e21e933caa529fd8d78bbbbfbd293"
      ],
      "author": {
        "name": "Andrey Yurovsky",
        "email": "andrey@cozybit.com",
        "time": "Fri Oct 31 14:50:12 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Nov 21 11:06:03 2008 -0500"
      },
      "message": "mac80211: disable BSSID filtering for mesh interfaces\n\nMesh interfaces are currently opened with the FIF_ALLMULTI rx filter flag set,\nhowever there is no BSSID in mesh so BSSID filtering should be disabled by\nsetting the FIF_OTHER_BSS flag as well.  Also explicitly call\nieee80211_configure_filter for mesh.\n\nSigned-off-by: Andrey Yurovsky \u003candrey@cozybit.com\u003e\nSigned-off-by: Javier Cardona \u003cjavier@cozbit.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "98aa9c80f1fee01e98dfdc484ab7316af45f8f17",
      "tree": "4b5597a5fe9b9d6267f774a6da0be519e6097129",
      "parents": [
        "9d2f4720971c00852a3fc8278a76f1a5e9add5c7"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Fri Nov 21 04:37:27 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 21 04:37:27 2008 -0800"
      },
      "message": "pkt_sched: sch_drr: Fix qlen in drr_drop()\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "859ee3c43812051e21816c6d6d4cc04fb7ce9b2e",
      "tree": "ef3c3717038b5d4600065550f422fd8abf72de35",
      "parents": [
        "0eb3aa9bab20217fb42244ccdcb5bf8a002f504c"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Thu Nov 20 21:10:23 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 21:10:23 2008 -0800"
      },
      "message": "DCB: Add support for DCB BCN\n\nAdds an interface to configure the Backward Congestion Notification\n(BCN) feature.  In a BCN capabale network, congestion notifications\nfrom congested points out in the network can cause the end station\nlimit the rate of a given traffic flow.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: Peter P Waskiewicz Jr \u003cpeter.p.waskiewicz.jr@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0eb3aa9bab20217fb42244ccdcb5bf8a002f504c",
      "tree": "b7d5a846b674a4f26ce4c1aa3b90f72fe9ce83d0",
      "parents": [
        "33dbabc4a7f7bd72313c73a3c199f31f3900336f"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Thu Nov 20 21:09:23 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 21:09:23 2008 -0800"
      },
      "message": "DCB: Add interface to query the state of PFC feature.\n\nAdds a netlink interface for Data Center Bridging (DCB) to get and set\nthe enable state of the Priority Flow Control (PFC) feature.\nPrimarily, this is a way to turn off PFC in the driver while DCB\nremains enabled.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: Peter P Waskiewicz Jr \u003cpeter.p.waskiewicz.jr@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "33dbabc4a7f7bd72313c73a3c199f31f3900336f",
      "tree": "f56e24fec9369ca1d1ef12eb18e4000a09fb5c3e",
      "parents": [
        "46132188bf72e22ef097f16ed5c969ee8cea1e8b"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Thu Nov 20 21:08:19 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 21:08:19 2008 -0800"
      },
      "message": "DCB: Add interface to query # of TCs supported by device\n\nAdds interface for Data Center Bridging (DCB) to query (and set if\nsupported) the number of traffic classes currently supported by the\ndevice for the two (DCB) features: priority groups (PG) and priority\nflow control (PFC).\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: Peter P Waskiewicz Jr \u003cpeter.p.waskiewicz.jr@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "46132188bf72e22ef097f16ed5c969ee8cea1e8b",
      "tree": "e776ed8011b8314ff08abf4f3467c07d037fec4f",
      "parents": [
        "2f90b8657ec942d1880f720e0177ee71df7c8e3c"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Thu Nov 20 21:05:08 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 21:05:08 2008 -0800"
      },
      "message": "DCB: Add interface to query for the DCB capabilities of an device.\n\nAdds to the netlink interface for Data Center Bridging (DCB), allowing\nthe DCB capabilities supported by a device to be queried.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: Peter P Waskiewicz Jr \u003cpeter.p.waskiewicz.jr@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2f90b8657ec942d1880f720e0177ee71df7c8e3c",
      "tree": "844114b22c548fedbab67e53b09b2efcf170563a",
      "parents": [
        "9db66bdcc83749affe61c61eb8ff3cf08f42afec"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Thu Nov 20 20:52:10 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 20:52:10 2008 -0800"
      },
      "message": "ixgbe: this patch adds support for DCB to the kernel and ixgbe driver\n\nThis adds support for Data Center Bridging (DCB) features in the ixgbe\ndriver and adds an rtnetlink interface for configuring DCB to the\nkernel.  The DCB feature support included are Priority Grouping (PG) -\nwhich allows bandwidth guarantees to be allocated to groups to traffic\nbased on the 802.1q priority, and Priority Based Flow Control (PFC) -\nwhich introduces a new MAC control PAUSE frame which works at\ngranularity of the 802.1p priority instead of the link (IEEE 802.3x).\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: Peter P Waskiewicz Jr \u003cpeter.p.waskiewicz.jr@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9db66bdcc83749affe61c61eb8ff3cf08f42afec",
      "tree": "81bb20e4f569d3b44731498428277db9d77fa7a9",
      "parents": [
        "b8c26a33c8b6f0a150e9cb38ed80b890be55395c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu Nov 20 20:39:09 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 20:39:09 2008 -0800"
      },
      "message": "net: convert TCP/DCCP ehash rwlocks to spinlocks\n\nNow TCP \u0026 DCCP use RCU lookups, we can convert ehash rwlocks to spinlocks.\n\n/proc/net/tcp and other seq_file \u0027readers\u0027 can safely be converted to \u0027writers\u0027.\n\nThis should speedup writers, since spin_lock()/spin_unlock()\nonly use one atomic operation instead of two for write_lock()/write_unlock()\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b8c26a33c8b6f0a150e9cb38ed80b890be55395c",
      "tree": "cc370525dab23ecbf131fa9a6a6b49fc8fa6af25",
      "parents": [
        "1326c3d5a4b792a2b15877feb7fb691f8945d203"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Nov 20 20:34:29 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 20:34:29 2008 -0800"
      },
      "message": "ipgre: convert to netdevice_ops\n\nConvert ipgre tunnel to netdevice ops.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1326c3d5a4b792a2b15877feb7fb691f8945d203",
      "tree": "ec87c30b83541f2f96c864e4fc7096fcec9490b3",
      "parents": [
        "23a12b14715e2dcd34dc8002927263ad3437344c"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Nov 20 20:33:56 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 20:33:56 2008 -0800"
      },
      "message": "ipv6: convert tunnels to net_device_ops\n\nLike IPV4, convert the tunnel virtual devices to use net_device_ops.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "23a12b14715e2dcd34dc8002927263ad3437344c",
      "tree": "b35e56dc098e97153a8541ae43d90d50f0a155ea",
      "parents": [
        "748ff68fad9600593c6abe47856037602bd5d133"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Nov 20 20:33:21 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 20:33:21 2008 -0800"
      },
      "message": "ipip: convert to net_device_ops\n\nConvert to network device ops. Needed to change to directly call\nthe init routine since two sides share same ops.  In the process\nfound by inspection a device ref count leak if register_netdevice failed.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "748ff68fad9600593c6abe47856037602bd5d133",
      "tree": "96bc5e90ba9f66932562a7061f7403d17b316b61",
      "parents": [
        "fd8f4997e35f2c9a8bfc4d797ec09a6ae7858e04"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Nov 20 20:32:15 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 20:32:15 2008 -0800"
      },
      "message": "hippi: convert driver to net_device_ops\n\nConvert the HIPPI infrastructure for use with net_device_ops.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "145186a39570244aead77dc2efc559e5cac90548",
      "tree": "fbb9797afeccbc27578d43fcc51737e273f10027",
      "parents": [
        "007c3838d9fdcc8fdaea87e4879ec3759f016ed5"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Nov 20 20:29:48 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 20:29:48 2008 -0800"
      },
      "message": "fddi: convert to new network device ops\n\nSimilar to ethernet. Convert infrastructure and the one lone FDDI\ndriver (for the one lone user of that hardware??). Compile tested only.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "007c3838d9fdcc8fdaea87e4879ec3759f016ed5",
      "tree": "67f09220e48797dc2799a7db6b0b4f5cc8a99ac3",
      "parents": [
        "aa18e9e88c863a58f6ea63eeee0e740be071fdcf"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Nov 20 20:28:35 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 20:28:35 2008 -0800"
      },
      "message": "ipmr: convert ipmr virtual interface to net_device_ops\n\nConvert to new network device ops interface.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "008298231abbeb91bc7be9e8b078607b816d1a4a",
      "tree": "8cb0c17720086ef97c614b96241f06aa63ce8511",
      "parents": [
        "6ab33d51713d6d60c7677c0d020910a8cb37e513"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Nov 20 20:14:53 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 20:14:53 2008 -0800"
      },
      "message": "netdev: add more functions to netdevice ops\n\nThis patch moves neigh_setup and hard_start_xmit into the network device ops\nstructure. For bisection, fix all the previously converted drivers as well.\nBonding driver took the biggest hit on this.\n\nAdded a prefetch of the hard_start_xmit in the fast path to try and reduce\nany impact this would have.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6ab33d51713d6d60c7677c0d020910a8cb37e513",
      "tree": "546c2ff099b2757e75cf34ddace874f1220f740e",
      "parents": [
        "7be6065b39c3f1cfa796667eac1a2170465acc91",
        "13d428afc007fcfcd6deeb215618f54cf9c0cae6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 16:44:00 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 16:44:00 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/ixgbe/ixgbe_main.c\n\tinclude/net/mac80211.h\n\tnet/phonet/af_phonet.c\n"
    },
    {
      "commit": "23918b03060f6e572168fdde1798a905679d2e06",
      "tree": "4e95edb5030e461a1eb82e2f1fb9cb90a3b46013",
      "parents": [
        "0cb39aa0ac3a9dc64171b43a85d17e539d82f2d6"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Nov 20 16:06:21 2008 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 20 13:17:40 2008 -0800"
      },
      "message": "SUNRPC: Fix a performance regression in the RPC authentication code\n\nFix a regression reported by Max Kellermann whereby kernel profiling\nshowed that his clients were spending 45% of their time in\nrpcauth_lookup_credcache.\n\nIt turns out that although his processes had identical uid/gid/groups,\ngeneric_match() was failing to detect this, because the task-\u003egroup_info\npointers were not shared. This again lead to the creation of a huge number\nof identical credentials at the RPC layer.\n\nThe regression is fixed by comparing the contents of task-\u003egroup_info\nif the actual pointers are not identical.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4dd61d92d7204788b93b064a679c9068fc5b8a5f",
      "tree": "90dc522b71d06a336773f919def0fd99d59156c9",
      "parents": [
        "95763dd52b4b9b3578d3428001ece1e11b016ffc",
        "5ece6c2ddd6f7da9e95dc325c742c0f5afbcecbe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 20 13:12:14 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 20 13:12:14 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (23 commits)\n  net: fix tiny output corruption of /proc/net/snmp6\n  atl2: don\u0027t request irq on resume if netif running\n  ipv6: use seq_release_private for ip6mr.c /proc entries\n  pkt_sched: fix missing check for packet overrun in qdisc_dump_stab()\n  smc911x: Fix printf format typo in smc911x driver.\n  asix: Fix asix-based cards connecting to 10/100Mbs LAN.\n  mv643xx_eth: fix recycle check bound\n  mv643xx_eth: fix the order of mdiobus_{unregister, free}() calls\n  sh: sh_eth: Update to change of mii_bus\n  TPROXY: supply a struct flowi-\u003eflags argument in inet_sk_rebuild_header()\n  TPROXY: fill struct flowi-\u003eflags in udp_sendmsg()\n  net: ipg.c fix bracing on endian swapping\n  phylib: Fix auto-negotiation restart avoidance\n  net: jme.c rxdesc.flags is __le16, other missing endian swaps\n  phylib: fix phy name example in documentation\n  net: Do not fire linkwatch events until the device is registered.\n  phonet: fix compilation with gcc-3.4\n  ixgbe: fix compilation with gcc-3.4\n  pktgen: fix multiple queue warning\n  net: fix ip_mr_init() error path\n  ...\n"
    },
    {
      "commit": "7be6065b39c3f1cfa796667eac1a2170465acc91",
      "tree": "973a5d4bc0782e25a29d96ecf99b216ab6175446",
      "parents": [
        "826dd0e1e3c83ce0cd8c295cd0f6e72b8b527809"
      ],
      "author": {
        "name": "Wang Chen",
        "email": "wangchen@cn.fujitsu.com",
        "time": "Thu Nov 20 04:26:21 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 04:26:21 2008 -0800"
      },
      "message": "netdevice wanrouter: Convert directly reference of netdev-\u003epriv\n\n1. Make device driver to allocate memory for netdev.\n2. Convert all directly reference of netdev-\u003epriv to netdev_priv().\n\nSigned-off-by: Wang Chen \u003cwangchen@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5ece6c2ddd6f7da9e95dc325c742c0f5afbcecbe",
      "tree": "cf8ebb119403f92df8a296002b9316c9fa38a8a6",
      "parents": [
        "a849854fc7e200d5e5a437dec9c1d0e8b105e50f"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Nov 20 04:20:10 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 04:20:10 2008 -0800"
      },
      "message": "net: fix tiny output corruption of /proc/net/snmp6\n\nBecause \"name\" is static, it can be occasionally be filled with\nsomewhat garbage if two processes read /proc/net/snmp6.\n\nAlso, remove useless casts and \"-1\" -- snprintf() correctly terminates it\u0027s\noutput.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eedd726efbc439dbed94fb8577e5533a986b341f",
      "tree": "5980fdeb7ad34e2cd3623fe8d3a477121c1e8dbb",
      "parents": [
        "3aa4614da741f10b09559a5675c79e2eff5cccd8"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Thu Nov 20 04:16:12 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 04:16:12 2008 -0800"
      },
      "message": "ipv6: use seq_release_private for ip6mr.c /proc entries\n\nIn ip6mr.c, /proc entries /proc/net/ip6_mr_cache and /proc/net/ip6_mr_vif\nare opened with seq_open_private(), thus seq_release_private() should be \nused to release them.\nShould fix a small memory leak.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "47a1a1d4be2910b13a8e90f75c17e253c39531ff",
      "tree": "c900f283bd96f0b26236152ada24f9a113f65e2b",
      "parents": [
        "b94c8afcba3ae6584653b98e315446ea83be6ea5"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Nov 19 08:03:09 2008 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 04:14:28 2008 -0800"
      },
      "message": "pkt_sched: remove unnecessary xchg() in packet classifiers\n\nThe use of xchg() hasn\u0027t been necessary since 2.2.something when proper\nlocking was added to packet schedulers. In the case of classifiers they\nmostly weren\u0027t even necessary before that since they\u0027re mainly used\nto assign a NULL pointer to the filter root in the -\u003edestroy path;\nthe root is destroyed immediately after that.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b94c8afcba3ae6584653b98e315446ea83be6ea5",
      "tree": "377fcfaf74e3aa38243c736a440e45b378355d8e",
      "parents": [
        "c19d0369d4c791d90fe0b84d6040a897fe25cc14"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Nov 20 04:11:36 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 04:11:36 2008 -0800"
      },
      "message": "pkt_sched: remove unnecessary xchg() in packet schedulers\n\nThe use of xchg() hasn\u0027t been necessary since 2.2.something when proper\nlocking was added to packet schedulers.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n\n"
    },
    {
      "commit": "13d2a1d2b032de08d7dcab6a1edcd47802681f96",
      "tree": "a60915e015f1dc7a9b5681ef5c5135c59167edb3",
      "parents": [
        "0c19b0adb8dd33dbd10ff48e41971231c486855c"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Nov 20 04:10:00 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 04:10:00 2008 -0800"
      },
      "message": "pkt_sched: add DRR scheduler\n\nAdd classful DRR scheduler as a more flexible replacement for SFQ.\n\nThe main difference to the algorithm described in \"Efficient Fair Queueing\nusing Deficit Round Robin\" is that this implementation doesn\u0027t drop packets\nfrom the longest queue on overrun because its classful and limits are\nhandled by each individual child qdisc.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3aa4614da741f10b09559a5675c79e2eff5cccd8",
      "tree": "0181c697123716bf574e7819854d373dc6ee18b8",
      "parents": [
        "f7f65d1e8bfaa92c1a419c2a52faeca835659295"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Nov 20 04:07:14 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 04:07:14 2008 -0800"
      },
      "message": "pkt_sched: fix missing check for packet overrun in qdisc_dump_stab()\n\nnla_nest_start() might return NULL, causing a NULL pointer dereference.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f7f65d1e8bfaa92c1a419c2a52faeca835659295",
      "tree": "b616a113bddb2728fca89ef3062c16b220cee620",
      "parents": [
        "eafdcb433f854c8cb06747a80fa3df7c72147be6",
        "4018517a1a69a85c3d61b20fa02f187b80773137"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 04:01:29 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 04:01:29 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "21d1a161f6b1fff154e3614a6b5a2111fa7a4191",
      "tree": "dac48eb0f355ec46e565577c43efa7cb9c8f8fb1",
      "parents": [
        "00b5e50549aa9da770f1161907b4ed68aa4ece3a"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Thu Nov 20 01:54:27 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 01:54:27 2008 -0800"
      },
      "message": "net: ip_sockglue.c add static, annotate ports\u0027 endianness\n\nFixes sparse warnings:\nnet/ipv4/ip_sockglue.c:146:15: warning: incorrect type in assignment (different base types)\nnet/ipv4/ip_sockglue.c:146:15:    expected restricted __be16 [assigned] [usertype] sin_port\nnet/ipv4/ip_sockglue.c:146:15:    got unsigned short [unsigned] [short] [usertype] \u003cnoident\u003e\nnet/ipv4/ip_sockglue.c:130:6: warning: symbol \u0027ip_cmsg_recv_dstaddr\u0027 was not declared. Should it be static?\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c82838458200ec4167ce7083b0a17474150c5bf7",
      "tree": "5498ee0aa72c28c8e712fe5a30cd5e48aac1b9bf",
      "parents": [
        "a134f85c131ffd56720e38af2967ec6265480757"
      ],
      "author": {
        "name": "Balazs Scheidler",
        "email": "bazsi@balabit.hu",
        "time": "Thu Nov 20 01:08:06 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 01:08:06 2008 -0800"
      },
      "message": "TPROXY: supply a struct flowi-\u003eflags argument in inet_sk_rebuild_header()\n\n    inet_sk_rebuild_header() does a new route lookup if the dst_entry\n    associated with a socket becomes stale. However inet_sk_rebuild_header()\n    didn\u0027t use struct flowi-\u003eflags, causing the route lookup to\n    fail for foreign-bound IP_TRANSPARENT sockets, causing an error\n    state to be set for the sockets in question.\n\nSigned-off-by: Balazs Scheidler \u003cbazsi@balabit.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a134f85c131ffd56720e38af2967ec6265480757",
      "tree": "855f671667da2643274af8d580e16843f4baa393",
      "parents": [
        "b88ed5cc884e4c28d787cf0912b8635376f16a87"
      ],
      "author": {
        "name": "Balazs Scheidler",
        "email": "bazsi@balabit.hu",
        "time": "Thu Nov 20 01:07:24 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 01:07:24 2008 -0800"
      },
      "message": "TPROXY: fill struct flowi-\u003eflags in udp_sendmsg()\n\n    udp_sendmsg() didn\u0027t fill struct flowi-\u003eflags, which means that\n    the route lookup would fail for non-local IPs even if the\n    IP_TRANSPARENT sockopt was set.\n\n    This prevents sendto() to work properly for UDP sockets, whereas\n    bind(foreign-ip) + connect() + send() worked fine.\n\nSigned-off-by: Balazs Scheidler \u003cbazsi@balabit.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3d3e35aa78c9498eed3209c9d82376085ed0c36f",
      "tree": "76c349b4017f63ed8e0ac7f9d96ce5b64c8118b0",
      "parents": [
        "f4bdd264b43cc60dccb617afce2859dffdd7a935"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Nov 20 01:03:08 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 01:03:08 2008 -0800"
      },
      "message": "dccp: Fix bracing in dccp_feat_list_lookup.\n\nFrom: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d214c7537bbf2f247991fb65b3420b0b3d712c67",
      "tree": "11c26aa8c7c93d0bc15f206d65b3ddac3a6a8c33",
      "parents": [
        "68fd991020fdf51bc94327d288ae4ae5d0b8dced"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Thu Nov 20 00:49:27 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 00:49:27 2008 -0800"
      },
      "message": "filter: add SKF_AD_NLATTR_NEST to look for nested attributes\n\nSKF_AD_NLATTR allows us to find the first matching attribute in a\nstream of netlink attributes from one offset to the end of the\nnetlink message. This is not suitable to look for a specific\nmatching inside a set of nested attributes.\n\nFor example, in ctnetlink messages, if we look for the CTA_V6_SRC\nattribute in a message that talks about an IPv4 connection,\nSKF_AD_NLATTR returns the offset of CTA_STATUS which has the same\nvalue of CTA_V6_SRC but outside the nest. To differenciate\nCTA_STATUS and CTA_V6_SRC, we would have to make assumptions on the\nsize of the attribute and the usual offset, resulting in horrible\nBSF code.\n\nThis patch adds SKF_AD_NLATTR_NEST, which is a variant of\nSKF_AD_NLATTR, that looks for an attribute inside the limits of\na nested attributes, but not further.\n\nThis patch validates that we have enough room to look for the\nnested attributes - based on a suggestion from Patrick McHardy.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "5caea4ea7088e80ac5410d04660346094608b909"
}
